@font-face{font-family:League Spartan Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/league-spartan-vietnamese-wght-normal-COdtqR7n.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:League Spartan Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/league-spartan-latin-ext-wght-normal-DdUHL39C.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:League Spartan Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/league-spartan-latin-wght-normal-0z8Zi79b.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/open-sans-cyrillic-ext-wght-normal-D8xHCTEw.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/open-sans-cyrillic-wght-normal-bOs07Rf4.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/open-sans-greek-ext-wght-normal-Bm9CHu9r.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/open-sans-greek-wght-normal-8neIfJ3r.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/open-sans-hebrew-wght-normal-BjjtG49P.woff2) format("woff2-variations");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/open-sans-math-wght-normal-C1FvUlkR.woff2) format("woff2-variations");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/open-sans-symbols-wght-normal-BAf6-sld.woff2) format("woff2-variations");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/open-sans-vietnamese-wght-normal-UygKeDyW.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/open-sans-latin-ext-wght-normal-DPNHYqvY.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Open Sans Variable;font-style:normal;font-display:swap;font-weight:300 800;src:url(/assets/open-sans-latin-wght-normal-CWNzRldh.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Open Sans Variable,Open Sans,sans-serif;color:#292d32;background:#f2f5f3;font-synthesis:none;--teal: #069898;--blue: #004aad;--amber: #e9a02b;--red: #991101;--ink: #292d32;--paper: #fffdf7;--line: #d9dfdc}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 20% 0%,#dff3ef 0,transparent 36rem),#f2f5f3}a{color:inherit}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid #e9a02b;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.48}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{min-height:76px;padding:12px clamp(18px,4vw,56px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(41,45,50,.12);background:#ffffffb8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{color:inherit;font:900 28px/1 League Spartan Variable,sans-serif;font-style:italic;letter-spacing:-.04em;text-decoration:none}.brand>span{color:var(--amber)}.brand small{display:block;margin-top:3px;font:700 8px/1 Open Sans Variable,sans-serif;letter-spacing:.2em;color:var(--teal)}.site-nav{margin-left:auto;display:flex;align-items:center;gap:6px}.site-nav a{min-height:42px;padding:0 13px;display:inline-flex;align-items:center;border-radius:999px;color:#59635e;font-size:12px;font-weight:800;text-decoration:none}.site-nav a:hover{background:#e7f3f0;color:var(--teal)}.site-nav a:focus-visible,.brand:focus-visible,footer a:focus-visible{outline:3px solid var(--amber);outline-offset:3px}.room-chip{display:flex;align-items:center;gap:10px}.room-chip{margin-left:12px}.room-chip>span{color:#68716d;font-size:12px}.room-chip b{font:800 18px/1 League Spartan Variable,sans-serif;letter-spacing:.12em}.room-chip button,.text-button{border:0;background:transparent;text-decoration:underline;color:#5b6460;font-weight:700}main{width:100%;flex:1}footer{padding:24px;text-align:center;font-size:11px;color:#727c77}footer a{color:var(--teal);font-weight:800}.welcome-grid{max-width:1180px;margin:0 auto;padding:clamp(42px,7vw,92px) 24px;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(42px,8vw,100px);align-items:center}.eyebrow,.section-title span,.finished>span{font:800 11px/1 League Spartan Variable,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--teal)}.hero-copy h1{margin:18px 0 24px;font:900 clamp(52px,7vw,94px)/.84 "League Spartan Variable",sans-serif;letter-spacing:-.055em;text-transform:uppercase}.hero-copy h1 em{color:var(--teal);font-style:normal}.hero-copy>p{max-width:620px;font-size:clamp(16px,2vw,20px);line-height:1.55;color:#4d5752}.equation-hero{display:flex;align-items:stretch;gap:8px;margin-top:32px}.equation-hero>span{flex:1;padding:13px;background:#fff;border:1px solid var(--line);border-radius:12px;font:800 14px/1.1 League Spartan Variable,sans-serif;text-transform:uppercase}.equation-hero>span b{display:block;margin-bottom:5px;font:600 9px/1 Open Sans Variable,sans-serif;text-transform:none;color:#717a76}.equation-hero>span.gold{background:#fbd27a;border-color:#e9a02b}.equation-hero>i{display:grid;place-items:center;font:700 20px/1 League Spartan Variable,sans-serif;font-style:normal}.entry-card,.lobby-panel{background:#fffffff0;border:1px solid white;border-radius:22px;padding:clamp(22px,3vw,34px);box-shadow:0 24px 70px #1938321f}.tabs{display:grid;grid-template-columns:1fr 1fr;padding:4px;margin-bottom:26px;background:#edf1ef;border-radius:12px}.tabs button{padding:11px;border:0;border-radius:9px;background:transparent;color:#65706a;font-weight:800}.tabs button.active{background:#fff;color:var(--ink);box-shadow:0 2px 8px #00000014}label,legend{display:block;font:800 12px/1.2 League Spartan Variable,sans-serif;letter-spacing:.04em;text-transform:uppercase}input{width:100%;padding:13px 14px;margin:8px 0 20px;border:1px solid #ccd4d0;border-radius:10px;background:#fff;color:var(--ink);font-size:16px}.code-input{text-transform:uppercase;font:800 22px/1 League Spartan Variable,sans-serif;letter-spacing:.18em}fieldset{padding:0;margin:0 0 22px;border:0}legend{margin-bottom:10px}.avatar-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.avatar-picker button{aspect-ratio:1;padding:4px;overflow:hidden;border:2px solid transparent;border-radius:10px;background:#edf1ef}.avatar-picker button.selected{border-color:var(--teal);background:#e0f3f0}.avatar-picker img{width:100%;height:100%;object-fit:contain}.mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mode-picker button{padding:13px;text-align:left;border:2px solid #dfe4e2;border-radius:11px;background:#fff}.mode-picker button.selected{border-color:var(--teal);background:#ecf8f6}.mode-picker b,.mode-picker span{display:block}.mode-picker b{font:800 13px/1.1 League Spartan Variable,sans-serif;text-transform:uppercase}.mode-picker span{margin-top:5px;color:#68716d;font-size:10px;line-height:1.4}.primary{width:100%;padding:15px 20px;border:0;border-radius:11px;background:var(--teal);color:#fff;font:800 15px/1 League Spartan Variable,sans-serif;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 8px 18px #06989838}.primary:hover:not(:disabled){background:#057f7f;transform:translateY(-1px)}.notice{margin:12px 0;padding:11px 13px;border-left:4px solid var(--red);border-radius:7px;background:#f9e9e7;color:#7b170c;font-size:13px}.loading-card{max-width:430px;margin:14vh auto;padding:30px;display:flex;align-items:center;gap:12px;border-radius:18px;background:#fff;box-shadow:0 15px 40px #0000001a}.spinner{width:17px;height:17px;display:inline-block;border:2px solid #c8d2ce;border-top-color:var(--teal);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.lobby{max-width:940px;margin:0 auto;padding:50px 24px}.lobby-code{display:flex;flex-direction:column;align-items:center;margin-bottom:28px}.lobby-code>span{font-size:12px;color:#6b746f}.lobby-code>button{margin:5px 0;border:0;background:none;color:var(--ink);font:900 clamp(48px,9vw,86px)/1 "League Spartan Variable",sans-serif;letter-spacing:.13em}.lobby-code small{color:var(--teal)}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start}.panel-heading span{color:#737c78;font-size:12px}.panel-heading h2,.section-title h2{margin:3px 0 0;font:800 23px/1 League Spartan Variable,sans-serif}.live-dot{padding:6px 9px;border-radius:20px;background:#e4f4ef;color:#17704f;font-size:10px;font-weight:800}.live-dot:before{content:"";width:7px;height:7px;display:inline-block;margin-right:5px;border-radius:50%;background:#20a86e}.seats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.seat{min-height:112px;position:relative;padding:13px;display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:13px;background:#fafcfb}.seat>span{position:absolute;top:8px;right:10px;color:#a0a7a4;font-size:10px}.seat img,.seat>div{width:54px;height:54px;object-fit:contain;border-radius:12px;background:#e3f2ef}.seat>div{display:grid;place-items:center;color:#adb5b1;font-size:26px}.seat b{font:800 15px/1.1 League Spartan Variable,sans-serif}.seat small{margin-left:auto;padding:3px 6px;border-radius:5px;background:#fbd27a;font-size:8px;text-transform:uppercase}.seat.empty{color:#99a19d;border-style:dashed}.lobby-rule{margin-bottom:22px;padding:14px 16px;display:flex;align-items:center;gap:15px;border-radius:10px;background:#ecf6f4}.lobby-rule b{font:800 13px/1 League Spartan Variable,sans-serif;color:var(--teal);text-transform:uppercase}.lobby-rule span{font-size:12px;color:#5f6964}.waiting{display:flex;justify-content:center;align-items:center;gap:9px;padding:16px;color:#66716b}.board{max-width:1500px;margin:0 auto;padding:22px clamp(14px,3vw,40px)}.turn-banner{padding:12px 16px;display:flex;align-items:center;gap:20px;border-radius:14px;background:var(--ink);color:#fff}.turn-banner[data-mine=true]{background:var(--teal)}.turn-banner>div:first-child{flex:1}.turn-banner span,.turn-banner b{display:block}.turn-banner span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;opacity:.72}.turn-banner b{margin-top:2px;font:800 18px/1 League Spartan Variable,sans-serif}.turn-banner button{padding:8px 12px;border:1px solid rgba(255,255,255,.35);border-radius:8px;background:#ffffff1f;color:#fff;font-size:11px;font-weight:800}.draw-count{text-align:center;font-size:9px;opacity:.8}.draw-count span{font:800 18px/1 League Spartan Variable,sans-serif;opacity:1}.score-row{margin:12px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.score-card{min-width:0;padding:9px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;background:#fff}.score-card[data-mine=true]{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}.score-card[data-active=true]{background:#e8f7f4}.score-card img{width:38px;height:38px;object-fit:contain}.score-card>div{flex:1;min-width:0}.score-card span,.score-card b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-card span{font-size:10px;color:#626c67}.score-card b{font:800 16px/1.1 League Spartan Variable,sans-serif}.score-card b small{font-size:10px;color:#8b9390}.score-card>em{color:#78817d;font-size:9px;font-style:normal}.progress{height:4px;margin-top:5px;overflow:hidden;border-radius:3px;background:#e6ebe9}.progress i{height:100%;display:block;border-radius:inherit}.equation{display:grid;grid-template-columns:1fr 28px 1fr 28px 1fr;align-items:stretch;margin:12px 0}.equation>span{min-width:0;padding:11px 14px;border:1px solid #cfd7d3;border-radius:11px;background:#fff}.equation>span.debt{border-color:#e7c2bd;background:#fff8f7}.equation>span.worth{border-color:#dfae50;background:#fff3cd}.equation>span small,.equation>span b,.equation>span em{display:block}.equation>span small{color:#747e79;font-size:9px;text-transform:uppercase;letter-spacing:.07em}.equation>span b{margin:2px 0;font:900 23px/1 League Spartan Variable,sans-serif}.equation>span em{overflow:hidden;color:#606a65;font-size:9px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.equation>i{display:grid;place-items:center;font:700 20px/1 League Spartan Variable,sans-serif;font-style:normal}.table-grid{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:14px}.hand-zone,.activity{min-width:0;padding:16px;border:1px solid var(--line);border-radius:16px;background:#ffffffd1}.section-title{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:14px}.section-title small{color:#7b8580}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(152px,1fr));gap:10px}.game-card{min-height:300px;overflow:hidden;display:flex;flex-direction:column;border:1px solid #cfd7d3;border-radius:14px;background:var(--paper);box-shadow:0 7px 16px #1f2e2a14}.card-label{padding:7px 10px;background:var(--blue);color:#fff;font:800 9px/1 League Spartan Variable,sans-serif;letter-spacing:.09em;text-transform:uppercase}.game-card[data-type=shock] .card-label{background:var(--red)}.game-card[data-type=defense] .card-label{background:var(--teal)}.card-art{height:118px;display:grid;place-items:center;background:#edf3ff}.game-card[data-type=shock] .card-art{background:#f8e8e6}.game-card[data-type=defense] .card-art{background:#e4f4f1}.card-art img{width:90%;height:100%;object-fit:contain}.card-copy{flex:1;padding:11px}.card-copy h3{margin:0;font:900 17px/.95 League Spartan Variable,sans-serif;text-transform:uppercase;letter-spacing:-.02em}.card-copy p{margin:7px 0 0;color:#66706b;font-size:10px;line-height:1.35}.card-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:8px}.card-actions button{padding:8px 4px;border:0;border-radius:7px;background:var(--blue);color:#fff;font-size:9px;font-weight:800;text-transform:uppercase}.game-card[data-type=shock] .card-actions button:first-child{background:var(--red)}.card-actions button:last-child{background:#e5eae8;color:#4f5954}.log{max-height:530px;overflow:auto;display:flex;flex-direction:column;gap:7px}.log>div{padding:9px 10px;border-left:3px solid #aab3af;background:#f4f6f5;font-size:11px;line-height:1.4}.log>div.good{border-color:var(--teal)}.log>div.bad{border-color:var(--red);background:#fff4f2}.modal-backdrop{position:fixed;inset:0;z-index:10;padding:20px;display:grid;place-items:center;background:#191f1db8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.target-modal{width:min(560px,100%);padding:28px;border-radius:18px;background:#fff;text-align:center;box-shadow:0 30px 90px #00000040}.target-modal>span{color:var(--red);font-size:11px;font-weight:800;text-transform:uppercase}.target-modal h2{margin:4px 0 20px;font:900 31px/1 League Spartan Variable,sans-serif;text-transform:uppercase}.target-modal>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.target-modal>div button{padding:12px;display:flex;flex-direction:column;align-items:center;border:1px solid var(--line);border-radius:12px;background:#f8faf9}.target-modal img{width:66px;height:66px;object-fit:contain}.target-modal b,.target-modal small{display:block}.target-modal small{margin-top:3px;color:#6c7671}.target-modal>.text-button{margin-top:18px}.finished{max-width:650px;margin:50px auto;padding:40px;border-radius:24px;background:#fff;text-align:center;box-shadow:0 24px 70px #1938321f}.finished>img{width:150px;height:150px;object-fit:contain}.finished h1{margin:8px 0 4px;font:900 56px/.9 League Spartan Variable,sans-serif;text-transform:uppercase}.finished>p{color:#626c67}.final-scores{margin-top:24px}.final-scores>div{padding:10px;display:grid;grid-template-columns:30px 1fr auto;text-align:left;border-top:1px solid var(--line)}.final-scores b{color:var(--teal)}.debrief{margin-top:24px;padding:14px;border-radius:10px;background:#fff3cd;color:#55441e!important}@media(max-width:900px){.welcome-grid{grid-template-columns:1fr;padding-top:40px}.hero-copy{text-align:center}.hero-copy>p{margin-inline:auto}.table-grid{grid-template-columns:minmax(0,1fr)}.activity{order:2}.log{max-height:180px}.room-chip+*{min-width:0}}@media(max-width:640px){.topbar{min-height:62px;padding-inline:16px;gap:8px}.brand{font-size:23px}.site-nav{gap:0}.site-nav a{min-height:44px;padding-inline:10px;font-size:11px}.room-chip{margin-left:auto;gap:7px}.room-chip~.site-nav,.topbar:has(.room-chip) .site-nav{display:none}.room-chip>span{display:none}.welcome-grid{padding:30px 16px 42px;gap:34px}.hero-copy h1{margin-block:14px 18px;font-size:clamp(42px,13vw,54px)}.hero-copy>p{font-size:16px}.equation-hero{margin-top:24px}.equation-hero{display:grid;grid-template-columns:1fr 22px 1fr}.equation-hero>span:last-child{grid-column:1 / -1}.equation-hero>i:last-of-type{display:none}.avatar-picker{grid-template-columns:repeat(3,1fr)}.seats{grid-template-columns:1fr 1fr}.lobby{padding:32px 14px}.lobby-code{margin-bottom:20px}.lobby-code>button{max-width:100%;font-size:clamp(42px,17vw,68px);letter-spacing:.06em;overflow-wrap:anywhere}.lobby-panel{padding:18px 14px}.seat{min-height:102px;padding:10px 8px;flex-direction:column;justify-content:center;gap:5px;text-align:center}.seat img,.seat>div{width:48px;height:48px}.seat small{margin-left:0}.lobby-rule{align-items:flex-start;flex-direction:column;gap:4px}.board{padding:12px 10px 24px}.turn-banner{position:sticky;top:6px;z-index:5;gap:10px;box-shadow:0 8px 24px #192d282e}.turn-banner button{min-height:40px}.draw-count{display:none}.score-row{display:flex;overflow-x:auto;padding-bottom:4px}.score-card{min-width:165px}.equation{grid-template-columns:1fr 20px 1fr}.equation>span.worth{grid-column:1 / -1;margin-top:7px}.equation>i:last-of-type{display:none}.hand-zone,.activity{padding:13px}.hand-zone{overflow:hidden}.cards{width:100%;max-width:100%;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:9px}.game-card{min-width:min(76vw,245px);scroll-snap-align:start}.card-actions button{min-height:42px;font-size:10px}.target-modal{max-height:calc(100dvh - 24px);overflow-y:auto;padding:22px 16px}.entry-card,.lobby-panel{border-radius:16px}footer{padding:20px 16px calc(20px + env(safe-area-inset-bottom));line-height:1.6}}@media(max-width:390px){.site-nav a:first-child{display:none}.mode-picker{grid-template-columns:1fr}.tabs button{padding-inline:7px;font-size:14px}.equation>span{padding-inline:10px}.equation>span b{font-size:20px}.finished{margin:24px 12px;padding:28px 18px}.finished h1{font-size:44px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
