:root{font-synthesis:none}button,input{font:inherit}button:focus-visible,input:focus-visible{outline-offset:4px;outline:3px solid #ecd19b}.game-table{--panel:#172b2b;--muted:#a9bbb4;--gold:#efd49a;color:#edf3eb;grid-template-rows:auto auto 1fr;grid-template-columns:minmax(0,1fr) 310px;align-content:start;gap:0 18px;min-height:100dvh;padding:0 24px 16px;font-family:Nunito,Microsoft YaHei,system-ui,sans-serif;display:grid;background:radial-gradient(at 30% 5%,#27453d 0,#132a26 48%,#101f20 100%)!important}.table-header{border-bottom:1px solid #ffffff18;grid-column:1/-1;justify-content:space-between;align-items:center;gap:20px;min-height:64px;margin-bottom:10px;display:flex}.table-header button{color:#becfc6;min-height:40px}.turn-heading{align-items:center;gap:18px;display:flex}.table-brand{letter-spacing:2px;color:var(--gold);font-size:21px;font-weight:800}.table-brand span{letter-spacing:6px;color:#b9c8b6;font-size:10px;display:block}.turn-heading>.text-xs{border-left:1px solid #ffffff25;padding-left:18px;font-size:13px}.turn-heading>.text-sm{font-size:15px}.table-message{text-align:left;color:#d1e0d6;background:#ffffff09;border-left:3px solid #cdbb8c;border-radius:8px;grid-column:1/-1;margin-bottom:12px;font-size:13px}.table-message.bg-red-600\/80{color:#ffbcb6;border-color:#f28b82}.table-main{grid-column:1;min-width:0}.board-layout{grid-template-columns:minmax(0,1fr) 180px;align-items:start;gap:16px;display:grid}.opponents{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.opponents>div{min-width:0}.opponents>div>div:first-child{background:#ffffff06;border:1px solid #ffffff15;border-radius:12px;padding:10px 14px}.opponents .text-gray-500,.opponents .text-gray-400{color:#b5c5bb}.opponents .font-bold.text-xs{font-size:14px}.opponents .text-poke-gold{color:var(--gold)}.opponents>div>div:first-child>div:first-child{float:left;min-width:115px;margin-right:14px}.opponents img{width:21px;height:21px}.opponents .text-xs{font-size:12px}.special-market{background:#cfb57c07;border:1px solid #c9b47830;border-radius:14px;flex-direction:column;grid-area:2/2;gap:12px;padding:12px;display:flex}.section-title{letter-spacing:.5px;color:#e2e7da;font-size:14px;font-weight:800}.section-title>span{color:#9fb2a7;letter-spacing:0;margin-top:4px;font-size:11px;font-weight:400;display:block}.card-market{grid-area:2/1;gap:10px;min-width:0;display:grid}.tier-heading{color:#d6dfd1;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;font-weight:800;display:flex}.tier-heading span{color:#9bb0a2;font-size:11px;font-weight:400}.market-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.pokemon-card{perspective:1000px;background:#edf1e7;border:2px solid #d5ddd0;border-radius:12px;min-width:0;height:205px;transition:border-color .15s;position:relative;box-shadow:0 4px 10px #0003}.pokemon-card:hover{border-color:var(--card-accent)}.pokemon-card.selected-card{outline-offset:2px;outline:2px solid #efd49a}.pokemon-card.affordable-card{border-color:#8eae91}.card-flipper{width:100%;height:100%;transform-style:preserve-3d;transition:transform .4s cubic-bezier(.2,.65,.25,1);position:relative}.card-flipper.is-flipped{transform:rotateY(180deg)}.card-face,.card-back{backface-visibility:hidden;border-radius:11px;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.card-face{text-align:left;cursor:pointer;color:#253c37;background:linear-gradient(155deg, color-mix(in srgb, var(--card-accent) 38%, #fff), #f6f6ee 62%, color-mix(in srgb, var(--card-accent) 25%, #fff));display:block}.card-face:disabled{cursor:default}.card-face:focus-visible{outline-offset:-4px}.card-topline{z-index:2;background:linear-gradient(100deg, color-mix(in srgb, var(--card-accent) 83%, #273c35), var(--card-accent));justify-content:space-between;align-items:center;height:34px;padding:3px 8px;display:flex;position:absolute;inset:0 0 auto}.card-level{letter-spacing:.6px;color:#b4c3b6;font-size:10px}.card-bonus{align-items:center;gap:2px;margin-left:auto;display:flex}.card-bonus img{-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 1px 2px #0003);width:27px;height:27px}.card-points{color:#fffef5;text-shadow:0 1px 3px #0005;font-size:29px;font-weight:800;line-height:1}.card-points small{margin-left:2px;font-size:9px;font-weight:400}.card-art{justify-content:center;align-items:center;display:flex;position:absolute;inset:35px 3px 48px}.card-art>img{-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 5px 4px #304c3535);width:100%;height:100%}.card-name{text-align:center;color:#2b433a;white-space:nowrap;font-size:14px;font-weight:800;line-height:20px;position:absolute;bottom:27px;left:6px;right:6px}.can-catch{color:#b7ebc7;font-size:9px;font-weight:400}.card-cost{background:#ffffff80;border-top:1px solid #314c3910;justify-content:center;align-items:center;gap:5px;height:27px;padding:3px 4px;display:flex;position:absolute;inset:auto 0 0}.card-cost>span{align-items:center;gap:1px;font-size:14px;display:inline-flex}.card-cost img{-o-object-fit:contain;object-fit:contain;width:21px;height:21px}.card-cost b{color:#253c37;font-variant-numeric:tabular-nums}.special-card{background:#383e30;border-color:#d0b57755}.special-card .card-face{background:linear-gradient(155deg,#eee3bb,#f6f6ee 62%,#e8dfbf)}.special-market .pokemon-card{width:100%;height:225px}.card-back{text-align:left;background:#1b3029;flex-direction:column;gap:6px;padding:9px;display:flex;transform:rotateY(180deg)}.card-back-heading{justify-content:space-between;align-items:center;gap:4px;display:flex}.card-back-heading strong{font-size:13px}.card-back-heading>span{color:#cdbb8c;white-space:nowrap;font-size:10px}.card-back-content{flex:1;min-height:0;overflow-y:auto}.card-back-content .evolution-requirement{margin:0;padding:5px}.card-back-content .evolution-base{font-size:11px}.card-back-content .evolution-bonuses>span:first-child{flex-basis:100%}.card-back-content .evolution-bonuses{gap:2px 5px}.card-back-content .evolution-detail p{margin-top:3px;font-size:9px}.card-no-evolution{color:#bbcab9;justify-content:center;align-items:center;height:100%;font-size:12px;display:flex}.card-back-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.card-back-actions button{color:#ecf3e9;background:#344d42;border-radius:6px;min-height:32px;padding:4px 2px;font-size:11px;font-weight:700}.card-back-actions button:only-child{grid-column:1/-1}.card-back-actions .catch-button{color:#183c2b;background:#c9dcad}.card-back-actions button:disabled{opacity:.4;cursor:not-allowed}.flip-back{color:#cfbd91;text-align:center;background:#ffffff05;border-radius:5px;flex-shrink:0;min-height:25px;font-size:11px}.evolution-requirement{color:#d7c9e9;text-align:left;background:#b495ec0e;border:1px solid #baa0e724;border-radius:5px;flex-shrink:0;margin:0 8px 5px;padding:4px 5px}.evolution-base{font-size:10px;line-height:14px}.evolution-base strong{font-weight:700}.evolution-bonuses{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.evolution-bonuses>span{align-items:center;font-size:12px;display:inline-flex}.evolution-bonuses>span:first-child{color:#baa8d0;margin-right:2px;font-size:10px}.evolution-bonuses img{-o-object-fit:contain;object-fit:contain;width:19px;height:19px}.evolution-detail{margin:0;padding:7px}.evolution-detail .requirement-missing{color:#ffb3a2}.evolution-detail p{color:#bcb3ca;margin-top:5px;font-size:10px;line-height:1.5}.card-market .pokemon-card{height:clamp(205px,33.3333dvh - 138.333px,240px)}.empty-card{opacity:.25;border:1px dashed #63786a;border-radius:12px;height:clamp(166px,21vh,210px);overflow:hidden}.empty-card img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.token-supply{border:1px solid #ffffff17;border-radius:14px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px 14px;display:flex;background:#ffffff05!important}.token-supply>.flex{gap:16px}.token-supply button{width:55px!important;height:55px!important}.token-supply button:disabled{opacity:.75}.token-supply button>.absolute{background:#11231f;border:1px solid #ffffff20;padding:0 7px;font-size:15px}.player-dashboard{border:1px solid #ffffff1b;border-radius:16px;grid-column:2;align-self:start;min-width:0;padding:18px;position:sticky;top:16px;box-shadow:0 8px 25px #0001;background:#1d322e!important}.dashboard-content{flex-direction:column;gap:18px;display:flex}.trainer-summary{border-bottom:1px solid #ffffff15;padding-bottom:16px}.trainer-summary .section-title{justify-content:space-between;align-items:center;display:flex}.trainer-summary .section-title>span{color:#d9e4b5;border:1px solid #c6d49c40;border-radius:20px;margin:0;padding:4px 8px}.trainer-score{justify-content:space-between;align-items:center;margin:13px 0 9px;display:flex}.trainer-score>strong{overflow-wrap:anywhere;font-size:20px}.trainer-score b{color:var(--gold);font-size:38px;font-weight:800}.trainer-score span{color:#adbcad;font-size:12px}.trainer-summary progress{appearance:none;border:0;border-radius:9px;width:100%;height:5px;display:block;overflow:hidden}.trainer-summary progress::-webkit-progress-bar{background:#ffffff0d}.trainer-summary progress::-webkit-progress-value{background:#e1c386;border-radius:9px}.trainer-summary p{color:#b7c6b8;margin-top:10px;font-size:11px}.trainer-summary p span{padding:0 4px}.my-tokens{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.my-tokens>span:first-child{grid-column:1/-1;margin-bottom:3px;font-size:14px;font-weight:800}.my-tokens>span:not(:first-child):not(:last-child){background:#12241f;border:1px solid #ffffff0e;border-radius:8px;justify-content:center;align-items:center;padding:8px 4px;font-size:17px;font-weight:800;display:flex}.my-tokens img{width:30px;height:30px}.my-tokens>span:last-child{text-align:right;color:#9eb09f;grid-column:1/-1;margin:0}.my-bonuses{flex-wrap:wrap;gap:6px;font-size:13px;display:flex}.my-bonuses>span:first-child{flex-basis:100%;font-size:14px;font-weight:800}.player-dashboard .text-gray-400,.player-dashboard .text-gray-500,.player-dashboard .text-gray-600{color:#abbcaf}.player-dashboard .text-xs{font-size:12px}.player-dashboard .compact-card{flex-shrink:0;width:160px;height:200px}.player-dashboard .overflow-x-auto{padding:4px 2px 10px}.action-buttons{border-top:1px solid #ffffff15;flex-direction:column;order:2;gap:8px;padding-top:16px;display:flex}.action-buttons>button,.action-buttons>.relative>button{border-radius:8px;width:100%;min-height:43px;font-size:13px}.action-buttons>button:first-child{color:#263c2b;background:#e3c88f}.action-buttons>.flex{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;display:grid}.action-buttons>.flex button{background:#30473e;border:1px solid #ffffff10;min-height:40px;padding:8px 0;font-size:12px}.action-buttons>.relative>.absolute{max-width:100%}.turn-toast{z-index:60;position:fixed;bottom:24px;right:32px}.turn-toast>div{border-radius:12px;align-items:center;gap:10px;padding:12px 20px;display:flex}.turn-toast .text-6xl{margin:0;font-size:24px}.turn-toast .text-3xl{font-size:17px}.turn-toast .mb-2{margin:0}.game-table>.shrink-0{grid-column:1/-1}.mobile-table-nav{display:none}#card-market,#token-supply,#player-dashboard{scroll-margin-top:16px}.home-screen{min-height:100dvh;padding:64px 24px;position:relative;background:radial-gradient(at 50% 0,#365246,#142921 75%)!important}.home-title{text-align:center;margin-bottom:36px}.home-title>img{display:none}.home-eyebrow{letter-spacing:5px;color:#b9c9b2;margin-bottom:16px;font-size:11px}.home-title h1{letter-spacing:4px;color:#f2dfb1;font-size:clamp(34px,5vw,58px);font-weight:800;line-height:1.25}.home-title h1 span{color:#f0f4e6}.home-title>p{color:#adbeab;margin-top:16px}.home-pokemon{justify-content:center;align-items:center;gap:20px;margin:24px 0 8px;display:flex}.home-pokemon img{-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 12px 10px #0004);width:clamp(80px,11vw,130px);height:clamp(80px,11vw,130px)}.mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:100%;max-width:900px;display:grid}.mode-grid>button{background:#294335;border:1px solid #80977550;border-radius:16px;min-height:180px;padding:25px;box-shadow:0 8px 24px #0002}.mode-grid>button:first-child{color:#203d2a;background:#dfce9c;border-color:#f2dfaf}.mode-grid>button:hover{border-color:#f2dfaf;transform:translateY(-4px)}.mode-grid>button .text-xl{font-size:20px}.home-setup{background:#203b2e;border:1px solid #ffffff1a;border-radius:18px;padding:24px}@media (width>=1700px){.game-table{grid-template-columns:minmax(0,1fr) 340px;padding-left:max(32px,50vw - 880px);padding-right:max(32px,50vw - 880px)}.board-layout{grid-template-columns:minmax(0,1fr) 210px}.pokemon-card{height:215px}.card-name{font-size:16px}}@media (width<=1250px) and (width>=1024px){.game-table{grid-template-columns:minmax(0,1fr) 280px;gap:0 14px;padding:0 16px 20px}.board-layout{grid-template-columns:minmax(0,1fr)}.special-market{flex-direction:row;grid-area:3/1;align-items:center}.special-market .pokemon-card{width:160px;height:190px}.special-market .section-title{flex:1}.token-supply{flex-direction:column;align-items:stretch}}@media (width<=1023px){.game-table{flex-direction:column;gap:14px;padding:0 16px 20px;display:flex}.table-header{min-height:68px;margin:0}.table-message{margin:0}.player-dashboard{width:100%;position:static}.board-layout{grid-template-columns:minmax(0,1fr) 160px;gap:14px}.special-market{padding:10px}.market-row{gap:7px}.pokemon-card{height:190px}.dashboard-content{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.action-buttons{flex-flow:wrap;grid-column:1/-1;display:flex}.action-buttons>button,.action-buttons>.relative>button{width:auto;padding:10px 16px}.turn-heading{gap:10px}}@media (width<=700px){.game-table{padding:0 12px 80px}.mobile-table-nav{z-index:30;padding:10px 8px max(10px,env(safe-area-inset-bottom));background:#142b25f5;border-top:1px solid #e4cf9340;justify-content:space-around;align-items:center;display:flex;position:fixed;inset:auto 0 0;box-shadow:0 -5px 20px #0003}.mobile-table-nav a{color:#e4d8b2;padding:10px;font-size:12px;text-decoration:none}.table-header{gap:4px}.table-brand{display:none}.turn-heading{flex-direction:column;gap:2px}.turn-heading>.text-xs{border:0;padding:0;font-size:11px}.turn-heading>.text-sm{font-size:13px}.table-header>.flex{flex-direction:column;gap:0}.table-header>.flex>span{font-size:10px}.table-header button{min-height:32px;padding:4px}.board-layout{grid-template-columns:minmax(0,1fr)}.opponents{grid-template-columns:1fr}.opponents>div>div:first-child>div:first-child{min-width:90px}.card-market{grid-area:2/1;gap:16px}.market-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.pokemon-card,.card-market .pokemon-card{height:220px}.card-name{font-size:15px}.card-cost{gap:2px}.card-cost img{width:21px;height:21px}.special-market{grid-area:3/1;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;display:grid}.special-market .section-title{grid-column:1/-1}.special-market .pokemon-card{height:215px}.token-supply{flex-direction:column;align-items:stretch;padding:14px 10px 20px}.token-supply>.flex{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;display:grid}.token-supply button{aspect-ratio:1;width:100%!important;height:auto!important}.token-supply button>.absolute{font-size:13px}.dashboard-content{display:flex}.player-dashboard{padding:16px}.action-buttons{flex-direction:column}.action-buttons>button,.action-buttons>.relative>button{width:100%}.home-screen{padding:36px 20px}.home-title{margin-bottom:22px}.home-title h1{letter-spacing:1px}.mode-grid{grid-template-columns:1fr;gap:12px;max-width:430px}.mode-grid>button{min-height:120px;padding:20px}.mode-grid>button .text-3xl{float:left;margin:6px 20px 0 0}.home-setup{padding:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-page{color:#ecf2e7;background:radial-gradient(at top,#365246,#142921 80%);min-height:100dvh;padding:28px 20px}.quick-panel{background:#203b30;border:1px solid #e4d2a433;border-radius:24px;max-width:650px;margin:24px auto;padding:32px;box-shadow:0 15px 50px #0003}.quick-panel h1{color:#f2dfb1;font-size:clamp(23px,4vw,32px);font-weight:800}.quick-subtitle{color:#b8c9bd;margin:10px 0 24px;font-size:14px}.avatar-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:24px;display:grid}.avatar-options button{background:#142d24;border:2px solid #0000;border-radius:14px;padding:6px}.avatar-options button[aria-pressed=true]{background:#4b5235;border-color:#e4c88d}.avatar-options img{aspect-ratio:1;-o-object-fit:cover;object-fit:cover;border-radius:9px;width:100%}.avatar-options span{margin-top:7px;font-size:12px;display:block}.quick-label{flex-direction:column;flex:1;gap:8px;min-width:0;font-size:14px;display:flex}.quick-label input{color:#f4f4e9;background:#132b22;border:1px solid #728571;border-radius:9px;width:100%;padding:13px}.quick-join{align-items:flex-end;gap:12px;margin-top:20px;display:flex}.quick-join>button,.quick-create{color:#203b2a;background:#e4ce97;border-radius:9px;padding:14px 20px;font-weight:800}.quick-create{width:100%}.quick-panel button:disabled{opacity:.5;cursor:wait}.quick-divider{text-align:center;color:#aebfac;margin:20px 0;font-size:12px}.quick-back{color:#c6d0bc;padding:10px}.quick-error{color:#ffd0bb;background:#743e3544;border-radius:8px;margin:12px 0;padding:12px}.trainer-avatar{-o-object-fit:cover;object-fit:cover;vertical-align:middle;border-radius:50%;width:36px;height:36px;display:inline-block}.room-code{background:#142c23;border-radius:12px;flex-direction:column;align-items:center;width:100%;padding:18px;display:flex}.room-code strong{letter-spacing:8px;color:#efd7a4;font-size:38px}.quick-players{gap:12px;margin:22px 0;display:grid}.quick-players>div{align-items:center;gap:12px;display:flex}.quick-players span{color:#c2cdaa;margin-left:auto;font-size:13px}@media (width<=540px){.mode-grid{grid-template-columns:1fr}.quick-panel{margin:8px auto;padding:20px 14px}.quick-page{padding:12px}.avatar-options{gap:5px}.avatar-options span{font-size:10px}}
