@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-hebrew-wght-normal-DdnsCkLr.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:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-latin-ext-wght-normal-CYrqKuxd.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:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-latin-wght-normal-DM6njrJ3.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-full-normal-7BpKI3vF.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-full-normal-YHFkNujK.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-full-normal-CFFu7zhK.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:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-ext-wght-normal-DCwSJGxG.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:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-wght-normal-D_ZTVpCC.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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2) format("woff2"),url(/assets/barlow-condensed-vietnamese-600-normal-CNlPk46_.woff) format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-ext-600-normal-18ESti3H.woff2) format("woff2"),url(/assets/barlow-condensed-latin-ext-600-normal-Clv9cIcR.woff) format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2) format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff) format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-vietnamese-700-normal-DYeBwlKR.woff2) format("woff2"),url(/assets/barlow-condensed-vietnamese-700-normal-DhIzd8Tb.woff) format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-ext-700-normal-CwuXbfVR.woff2) format("woff2"),url(/assets/barlow-condensed-latin-ext-700-normal-BIHFfxf0.woff) format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2) format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff) format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-vietnamese-400-normal-Dpl4UHAZ.woff2) format("woff2"),url(/assets/barlow-vietnamese-400-normal-BFeobeCK.woff) format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-ext-400-normal-HxX4XjxC.woff2) format("woff2"),url(/assets/barlow-latin-ext-400-normal-CvBsJvxq.woff) format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2) format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff) format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-vietnamese-500-normal-zTViEIzf.woff2) format("woff2"),url(/assets/barlow-vietnamese-500-normal-GNfB7rCE.woff) format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-ext-500-normal-DOaysfXq.woff2) format("woff2"),url(/assets/barlow-latin-ext-500-normal-CJPcKP2Q.woff) format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2) format("woff2"),url(/assets/barlow-latin-500-normal-C1h8hMer.woff) format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-vietnamese-600-normal-DcjprdFV.woff2) format("woff2"),url(/assets/barlow-vietnamese-600-normal-CA_GiK2e.woff) format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-ext-600-normal-B8NK_A3D.woff2) format("woff2"),url(/assets/barlow-latin-ext-600-normal-DMVRjfRT.woff) format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2) format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff) format("woff");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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) 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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.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{--pwg-focus: #ffd166}[data-focusable]:focus{outline:none}[data-focusable]:focus-visible,html[data-input-mode=gamepad] [data-focusable]:focus,html[data-input-mode=keyboard] [data-focusable]:focus{outline:3px solid var(--pwg-focus);outline-offset:2px;box-shadow:0 0 0 6px color-mix(in srgb,var(--pwg-focus) 25%,transparent)}.pwg-btn{font:inherit;font-weight:600;border:1px solid transparent;border-radius:10px;padding:.65rem 1.1rem;min-height:44px;cursor:pointer;color:var(--text, #fff);background:var(--surface-2, #2a2f3a);transition:background .12s ease,transform 80ms ease;touch-action:manipulation}.pwg-btn:hover:not(:disabled){filter:brightness(1.1)}.pwg-btn:active:not(:disabled){transform:translateY(1px)}.pwg-btn:disabled{opacity:.5;cursor:not-allowed}.pwg-btn-primary{background:var(--accent, #4f8cff);color:#fff}.pwg-btn-secondary{background:var(--surface-2, #2a2f3a);border-color:var(--border, #3a4150)}.pwg-btn-ghost{background:transparent;border-color:var(--border, #3a4150)}.pwg-btn-danger{background:var(--danger-strong, #b23a48);color:var(--on-danger, #fff)}.pwg-osk-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;padding:1rem .75rem calc(1rem + env(safe-area-inset-bottom));background:#05070f8c}.pwg-osk{width:min(760px,100%);background:var(--surface, #171b2e);border:1px solid var(--border-strong, #46507a);border-radius:var(--radius, 16px);box-shadow:0 -8px 40px #00000073;padding:.9rem;display:flex;flex-direction:column;gap:.6rem;color:var(--text, #f4f1ea)}.pwg-osk-head{display:flex;justify-content:space-between;font-size:.85rem;color:var(--muted, #a3a9c4);font-weight:600}.pwg-osk-preview{min-height:2.6rem;display:flex;align-items:center;padding:.4rem .8rem;border-radius:var(--radius-sm, 10px);background:var(--surface-2, #20263f);border:1px solid var(--border, #303859);font-size:1.2rem;font-weight:600;overflow:hidden;white-space:pre}.pwg-osk-placeholder{color:var(--faint, #6f7697)}.pwg-osk-caret{width:2px;height:1.3em;margin-left:1px;background:var(--pwg-focus);animation:pwg-osk-blink 1s steps(1) infinite}@keyframes pwg-osk-blink{50%{opacity:0}}.pwg-osk-keys{display:flex;flex-direction:column;gap:.35rem}.pwg-osk-row{display:flex;gap:.35rem}.pwg-osk-key{flex:1;min-width:0;min-height:46px;border-radius:10px;border:1px solid var(--border, #303859);background:var(--surface-2, #20263f);color:inherit;font:inherit;font-size:1.05rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.pwg-osk-key.wide{flex:1.6;font-size:.9rem}.pwg-osk-key.space{flex:3;font-size:.9rem}.pwg-osk-key.on{background:var(--surface-3, #2a3150);border-color:var(--pwg-focus)}.pwg-osk-key.primary{background:var(--accent, #ffb020);color:var(--accent-ink, #1d1400);border-color:transparent}.pwg-osk-key:focus{outline:3px solid var(--pwg-focus);outline-offset:1px;background:var(--surface-3, #2a3150)}.pwg-osk-key.primary:focus{background:var(--accent, #ffb020)}.pwg-osk-glyph{display:inline-grid;place-items:center;min-width:1.6em;height:1.4em;padding:0 .2em;border-radius:999px;font-size:.7rem;background:var(--muted, #a3a9c4);color:#111}.pwg-osk-glyph.x{background:#5aa9ff}.pwg-osk-glyph.y{background:#ffd84d}.pwg-osk-glyph.b{background:#ff6b6b}@media(max-width:480px){.pwg-osk-key{min-height:40px;font-size:.95rem}.pwg-osk-glyph{display:none}}:root{--bg: #0f1220;--bg-glow: #1b2140;--page-bg: radial-gradient(1200px 600px at 50% -200px, var(--bg-glow), transparent 70%), radial-gradient(800px 400px at 100% 100%, color-mix(in srgb, var(--accent-2) 6%, transparent), transparent 70%), var(--bg);--surface: #171b2e;--surface-2: #20263f;--surface-3: #2a3150;--card-bg: linear-gradient(180deg, var(--surface-2), var(--surface));--field-bg: var(--bg);--border: #303859;--border-strong: #46507a;--overlay: rgba(5, 7, 15, .65);--chrome: color-mix(in srgb, var(--bg) 92%, transparent);--text: #f4f1ea;--muted: #a3a9c4;--faint: #6f7697;--selection: color-mix(in srgb, var(--accent) 35%, transparent);--accent: #ffb020;--on-accent: #1d1400;--accent-edge: #b97700;--accent-2: #2ed3b7;--on-accent-2: #00261f;--accent-2-edge: #13907b;--danger: #ff5d6c;--danger-strong: #b23a48;--on-danger: #fff;--danger-surface: #3a1a24;--on-danger-surface: #ffdfe3;--warn: #ffcf5c;--pwg-focus: #ffd166;--radius: 16px;--radius-sm: 10px;--radius-control: 12px;--radius-pill: 999px;--shadow: 0 12px 32px rgba(0, 0, 0, .35);--border-width: 1px;--btn-lip: 4px;--display: "Fredoka Variable", "Fredoka", ui-rounded, "SF Pro Rounded", system-ui, sans-serif;--body: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "Cascadia Mono", Consolas, monospace;--display-weight: 600;--display-tracking: .01em;--display-case: none;--button-font: var(--display);--button-case: none;--button-tracking: .02em;--pad-a: #6ee07a;--pad-b: #ff6b6b;--pad-x: #5aa9ff;--pad-y: #ffd84d;--pad-ink: #111;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0;color:var(--text);font-family:var(--body);font-size:16px;line-height:1.45;-webkit-text-size-adjust:100%;overscroll-behavior:none}body{background:var(--page-bg);background-attachment:fixed;min-height:100dvh}h1,h2,h3{margin:0;line-height:1.15;font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);text-transform:var(--display-case);text-wrap:balance}h1{font-size:clamp(2rem,6vw,3rem)}h2{font-size:1.3rem}h3{font-size:1.05rem}p{margin:0}a{color:inherit;text-decoration:none}button{font-family:inherit}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important}}::selection{background:var(--selection);color:var(--text)}:root{scrollbar-color:var(--border-strong) transparent;caret-color:var(--accent)}.pwg-btn{font-family:var(--button-font);font-weight:600;letter-spacing:var(--button-tracking);text-transform:var(--button-case);border-radius:var(--radius-control);border-width:var(--border-width);display:inline-flex;align-items:center;justify-content:center;gap:.45rem;white-space:nowrap}.pwg-btn-primary{background:var(--accent);color:var(--on-accent);box-shadow:0 var(--btn-lip) 0 var(--accent-edge)}.pwg-btn-primary:active:not(:disabled){box-shadow:0 calc(var(--btn-lip) / 2) 0 var(--accent-edge);transform:translateY(calc(var(--btn-lip) / 2))}.pwg-btn-secondary{background:var(--surface-3);border-color:var(--border-strong)}.pwg-btn-ghost{border-color:var(--border);color:var(--muted)}.pwg-btn-ghost:hover:not(:disabled){color:var(--text)}.pwg-btn-teal{background:var(--accent-2);color:var(--on-accent-2);box-shadow:0 var(--btn-lip) 0 var(--accent-2-edge)}.small{padding:.35rem .75rem;min-height:36px;font-size:.9rem}.page{width:100%;max-width:1080px;margin:0 auto;padding:calc(.75rem + env(safe-area-inset-top)) 1rem calc(5rem + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:1.25rem;min-height:100dvh}.page.center{justify-content:center;align-items:center}.card{background:var(--card-bg);border:var(--border-width) solid var(--border);border-radius:var(--radius);padding:1.1rem;box-shadow:var(--shadow)}.stack{display:flex;flex-direction:column;gap:.75rem}.row{display:flex;gap:.6rem;align-items:center}.row.wrap{flex-wrap:wrap}.spread{justify-content:space-between}.center-row{justify-content:center}.center-text{text-align:center}.muted{color:var(--muted)}.faint{color:var(--faint)}.error{color:var(--danger);font-weight:600}.label{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.section-title{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.35rem 1rem}.pill{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .65rem;border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--border);font-size:.8rem;color:var(--muted);white-space:nowrap}.pill.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 50%,transparent)}.pill.live{color:var(--accent-2);border-color:color-mix(in srgb,var(--accent-2) 45%,transparent)}.pill.turn{color:var(--on-accent);background:var(--accent);border-color:var(--accent);font-weight:700}.input{font:inherit;font-size:1.05rem;color:var(--text);background:var(--field-bg);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-control);padding:.65rem .9rem;min-height:46px;width:100%}.input::placeholder{color:var(--faint)}.input:focus{outline:2px solid var(--accent);outline-offset:1px}.code-input{letter-spacing:.35em;text-transform:uppercase;font-family:var(--mono);font-weight:700;font-size:1.25rem;text-align:center}.dot{width:.6rem;height:.6rem;border-radius:50%;display:inline-block;flex:none}.dot.on{background:var(--accent-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-2) 18%,transparent)}.dot.off{background:var(--faint)}.segmented{display:inline-flex;background:var(--field-bg);border:var(--border-width) solid var(--border);border-radius:var(--radius-control);padding:3px;gap:3px}.segmented button{font:inherit;font-size:.9rem;font-weight:600;border:0;background:transparent;color:var(--muted);padding:.4rem .8rem;border-radius:9px;cursor:pointer;min-height:36px}.segmented button[aria-pressed=true]{background:var(--surface-3);color:var(--text)}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--border-strong);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:52px}.brand{display:flex;align-items:center;gap:.6rem;font-family:var(--display);font-weight:700;font-size:1.2rem}.brand-mark{width:38px;height:38px;flex:none}.brand small{display:block;font-family:var(--body);font-weight:500;font-size:.75rem;color:var(--muted)}.player-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .4rem .3rem .35rem;border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--border);font-weight:600;cursor:pointer;color:var(--text);min-height:44px}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-weight:700;color:var(--pad-ink);flex:none}.topbar-actions{display:flex;align-items:center;gap:.5rem}.chip-text{display:flex;flex-direction:column;line-height:1.1;text-align:left;padding-right:.5rem}.chip-text small{color:var(--muted);font-weight:500;font-size:.72rem}.password-row{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:center}.small-print{font-size:.82rem}.profile-head{display:flex;align-items:center;gap:.8rem}.upsell{background:color-mix(in srgb,var(--accent) 9%,var(--surface));border-color:color-mix(in srgb,var(--accent) 45%,transparent);box-shadow:none}.account-tabs{align-self:center}.link-btn{all:unset;cursor:pointer;color:var(--accent-2);font-weight:600;font-size:.92rem;align-self:flex-start;border-radius:6px}.link-btn:hover{text-decoration:underline}@media(max-width:480px){.brand small,.chip-text{display:none}.brand{font-size:1.05rem;white-space:nowrap}.player-chip{padding:.3rem}}.hero{display:grid;gap:1rem;padding:1.25rem 0 .25rem}.hero-copy{display:grid;gap:1rem}.hero h1 span{color:var(--accent)}.hero p{color:var(--muted);max-width:46ch}.join-card{display:grid;gap:.75rem}.join-card h2{font-size:1.05rem}.join-card h2 label{cursor:pointer}.join-hint{color:var(--faint);font-size:.85rem}.join-row{display:grid;grid-template-columns:1fr auto;gap:.6rem}.game-shelf{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem}.game-card{position:relative;display:flex;flex-direction:column;gap:.75rem;padding:.9rem;border-radius:var(--radius);background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden}.game-art{aspect-ratio:16 / 10;border-radius:12px;overflow:hidden;display:grid;place-items:center}.game-art svg{width:100%;height:100%;display:block}.game-card h3{font-size:1.25rem}.game-tagline,.game-facts{color:var(--muted);font-size:.85rem}.game-facts{display:flex;flex-wrap:wrap;gap:0 .4rem}.game-facts span+span:before{content:"·";margin-right:.4rem}.game-body{display:grid;gap:.1rem}.game-card .actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.5rem;margin-top:auto}.game-card .actions .pwg-btn{padding-inline:.4rem;font-size:.92rem;min-width:0}.room-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.room-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"game action" "meta action";align-items:center;column-gap:.75rem;padding:.65rem .1rem;border-bottom:var(--border-width) solid var(--border)}.room-row:last-child{border-bottom:none}.room-game{grid-area:game;font-weight:700}.room-row .pwg-btn{grid-area:action}.room-code-cell{display:none}.room-meta{grid-area:meta;color:var(--muted);font-size:.85rem}.room-meta>span+span:before{content:" · "}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.list-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .1rem;border-bottom:1px solid var(--border)}.list-row:last-child{border-bottom:none}.list-row .title{display:flex;flex-direction:column}.home-columns{display:grid;gap:1rem}@media(min-width:820px){.home-columns{grid-template-columns:1fr 1fr;align-items:start}.hero{grid-template-columns:1.2fr 1fr;align-items:end}}.home-footer{text-align:center;padding:1rem 0 3.5rem}.room-head{display:none}.backdrop{position:fixed;inset:0;background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:1rem;z-index:50}.dialog{width:min(420px,100%)}.result-popup{overflow:hidden;animation:fade-in .18s ease-out}@keyframes fade-in{0%{opacity:0}}.result-card{position:relative;z-index:1;text-align:center;align-items:center;padding:1.6rem 1.4rem 1.3rem;animation:pop-in .32s cubic-bezier(.2,1.4,.4,1)}@keyframes pop-in{0%{transform:scale(.7);opacity:0}}.result-popup.win .result-card{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 20%,transparent),var(--shadow)}.result-popup.loss .result-card{border-color:var(--border-strong)}.result-card h2{font-size:2rem}.result-popup.win .result-card h2{color:var(--accent)}.result-emoji{font-size:3.4rem;line-height:1;animation:bounce .9s ease-in-out .32s 2}@keyframes bounce{50%{transform:translateY(-10px)}}.result-actions{display:grid;gap:.5rem;width:100%;margin-top:.4rem}.confetti{position:absolute;inset:0;pointer-events:none}.confetti span{position:absolute;top:-20px;border-radius:2px;animation-name:confetti-fall;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes confetti-fall{0%{transform:translateY(0) rotate(var(--spin))}to{transform:translateY(110vh) rotate(calc(var(--spin) + 720deg));opacity:.6}}.room-header{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.room-title{flex:1;min-width:0;display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.room-title h1{font-size:1.5rem}.room-meta{display:flex;gap:.4rem;flex-wrap:wrap}.room-layout{display:grid;gap:1rem;align-items:start}@media(min-width:1000px){.room-layout{grid-template-columns:minmax(0,1fr) 340px}.side-panel{position:sticky;top:1rem}}.main-area{display:flex;flex-direction:column;align-items:center;gap:.75rem;min-width:0}.side-panel{display:flex;flex-direction:column;gap:1rem;min-width:0}.toast{position:fixed;left:50%;top:calc(1rem + env(safe-area-inset-top));transform:translate(-50%);background:var(--danger-surface);border:1px solid var(--danger);color:var(--on-danger-surface);padding:.6rem 1rem;border-radius:var(--radius-control);z-index:60;max-width:90vw;box-shadow:var(--shadow);animation:toast-in .16s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-8px)}}.seats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;width:100%}.seat{background:var(--card-bg);border:2px dashed var(--border-strong);border-radius:var(--radius);padding:1rem;display:flex;flex-direction:column;gap:.6rem;min-height:150px}.seat.filled{border-style:solid;border-color:var(--border)}.seat.mine{border-color:var(--accent)}.seat-head{display:flex;align-items:center;gap:.5rem}.seat-swatch{width:18px;height:18px;border-radius:50%;box-shadow:inset 0 -2px #0000004d}.seat-label{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.seat-user{display:flex;align-items:center;gap:.5rem;font-family:var(--display);font-weight:600;font-size:1.15rem;min-height:1.6em}.seat .actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:auto}.you{color:var(--muted);font-weight:500;font-family:var(--body);font-size:.85rem}.lobby-hint{text-align:center;color:var(--muted)}.player-bar{display:flex;align-items:center;gap:.55rem;padding:.35rem .5rem .35rem .4rem;border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--border);width:min(100%,520px);transition:border-color .16s ease,box-shadow .16s ease}.player-bar.active{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 15%,transparent)}.player-bar .player-name{font-family:var(--display);font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-bar .avatar{width:28px;height:28px;font-size:.9rem}.game-actions{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.result-banner{width:min(100%,520px);text-align:center;align-items:center;border-color:var(--accent)}.result-banner h2{font-size:1.8rem}.invite{display:grid;gap:.8rem}.code-row{display:flex;gap:.5rem;align-items:center}.room-code{flex:1;font-family:var(--mono);font-size:clamp(1.4rem,6vw,2rem);font-weight:800;letter-spacing:.12em;color:var(--text);background:var(--field-bg);border:var(--border-width) solid var(--border-strong);border-radius:var(--radius-control);padding:.35rem .6rem;cursor:pointer;text-align:center}.room-code.blurred span{filter:blur(9px);-webkit-user-select:none;user-select:none}.invite-grid{display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:center}.qr{position:relative;width:132px;height:132px;border-radius:12px;overflow:hidden;background:#fff}.qr img{display:block;width:100%;height:100%;transition:filter .16s ease}.qr.blurred img{filter:blur(8px)}.qr-hint{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:#111;font-weight:700;font-size:.8rem;background:#ffffff80;padding:.5rem}.invite-buttons{display:grid;gap:.45rem}.chat{display:flex;flex-direction:column;gap:.6rem}.chat-log{height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:.35rem;padding-right:.25rem;scrollbar-width:thin}.chat-line{font-size:.92rem;overflow-wrap:anywhere}.chat-line .who{font-weight:700;margin-right:.35rem}.chat-line .who.spectator{color:var(--faint)}.chat-empty{color:var(--faint);font-size:.9rem;margin:auto}.chat-form{display:grid;grid-template-columns:1fr auto;gap:.5rem}.chat-form .input{min-height:42px;font-size:.95rem}details.panel>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-family:var(--display);font-weight:600;font-size:1.05rem}details.panel>summary::-webkit-details-marker{display:none}details.panel>summary:after{content:"+";color:var(--muted);font-size:1.3rem}details.panel[open]>summary:after{content:"−"}details.panel[open]>summary{margin-bottom:.8rem}.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--border);color:var(--text);cursor:pointer}.icon-btn:hover{border-color:var(--border-strong)}.icon-btn[aria-pressed=true]{color:var(--muted)}.stack.tight{gap:.35rem}.volume-row{display:flex;align-items:center;gap:.6rem;color:var(--muted)}.volume{flex:1;accent-color:var(--accent);min-height:32px}.volume-value{min-width:3ch;text-align:right;font-variant-numeric:tabular-nums}.controller-hints{position:fixed;left:50%;bottom:calc(.75rem + env(safe-area-inset-bottom));transform:translate(-50%);display:flex;gap:1rem;align-items:center;padding:.45rem .9rem;border-radius:var(--radius-pill);background:var(--chrome);border:1px solid var(--border);font-size:.85rem;color:var(--muted);z-index:40;box-shadow:var(--shadow);white-space:nowrap}.btn-glyph{display:inline-grid;place-items:center;min-width:1.5em;height:1.5em;border-radius:var(--radius-pill);font-weight:800;font-size:.8rem;line-height:1;color:var(--pad-ink);margin-right:.35rem;background:var(--muted)}.btn-glyph.lb,.btn-glyph.rb,.btn-glyph.rs{padding:0 .35em;font-size:.68rem;border-radius:6px}.btn-glyph.x{background:var(--pad-x)}.btn-glyph.a{background:var(--pad-a)}.btn-glyph.b{background:var(--pad-b)}.btn-glyph.y{background:var(--pad-y)}.btn-glyph.view,.btn-glyph.menu{background:var(--muted);border-radius:6px}.controller-page{max-width:820px;margin:0 auto}.controller-page .tips{margin:0;padding-left:1.2rem;display:grid;gap:.3rem}.pad-buttons{display:flex;flex-wrap:wrap;gap:.4rem}.pad-button{min-width:3.2rem;padding:.35rem .5rem;border-radius:8px;text-align:center;font-weight:700;font-size:.85rem;background:color-mix(in srgb,var(--accent) calc(var(--press, 0) * 100%),var(--surface-2));border:1px solid var(--border)}.pad-button.on{color:var(--on-accent);border-color:var(--accent)}.pad-axes{display:grid;gap:.45rem}.pad-axis{display:grid;grid-template-columns:8.5rem 1fr 3.5rem;align-items:center;gap:.6rem;font-size:.85rem}.pad-axis-bar{position:relative;height:10px;border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--border)}.pad-axis-bar span{position:absolute;top:50%;width:14px;height:14px;border-radius:50%;background:var(--accent);transform:translate(-50%,-50%)}.pad-axis-value{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}.pad-log{min-height:1.5em;font-weight:600}.controller-toast{position:fixed;top:calc(.75rem + env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:.6rem;padding:.6rem 1rem;border-radius:var(--radius-pill);background:var(--chrome);border:1px solid var(--accent-2);box-shadow:var(--shadow);font-weight:600;animation:toast-in .16s ease-out;max-width:calc(100vw - 2rem)}.design-preview{position:fixed;left:.75rem;bottom:calc(.75rem + env(safe-area-inset-bottom));z-index:70;display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;max-width:calc(100vw - 1.5rem);padding:.3rem;border-radius:var(--radius-control);background:var(--chrome);border:var(--border-width) solid var(--border-strong);box-shadow:var(--shadow);font-family:var(--body);font-size:.8rem}html[data-shot] .design-preview{display:none}.design-preview-label{padding:0 .4rem;color:var(--muted);font-weight:700}.design-preview button{font:inherit;font-weight:600;min-height:32px;padding:.25rem .6rem;border:0;border-radius:calc(var(--radius-control) - 2px);background:transparent;color:var(--text);cursor:pointer}.design-preview button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}html[data-input-mode=gamepad] .design-preview{bottom:calc(3.9rem + env(safe-area-inset-bottom))}.design-preview-label{display:inline-flex;align-items:center}:root[data-design=paper]{--bg: #d8c3a0;--page-bg: #d8c3a0;--surface: #fbf7ef;--surface-2: #f3ead9;--surface-3: #e9dcc4;--card-bg: var(--surface);--field-bg: #fffdf8;--border: #d9c6a4;--border-strong: #8a7253;--overlay: rgba(43, 33, 24, .45);--chrome: #fbf7ef;--text: #2b2118;--muted: #5e4c3a;--faint: #7a6450;--selection: #f2b134;--accent: #c03a17;--on-accent: #fff;--accent-edge: #8f2c12;--accent-2: #1f7a6e;--on-accent-2: #fff;--accent-2-edge: #145249;--danger: #b3261e;--danger-strong: #b3261e;--danger-surface: #fde2dc;--on-danger-surface: #6b140e;--warn: #8a5a00;--pwg-focus: #2b2118;--mustard: #f2b134;--radius: 6px;--radius-sm: 4px;--radius-control: 8px;--shadow: 0 1px 0 rgba(43, 33, 24, .14), 0 8px 16px -8px rgba(43, 33, 24, .45);--btn-lip: 0px;--display: "Bricolage Grotesque Variable", system-ui, sans-serif;--body: "Bricolage Grotesque Variable", system-ui, sans-serif;--display-weight: 800;--display-tracking: -.02em;--button-font: var(--body);--button-tracking: 0;color-scheme:light}[data-design=paper] body{font-variation-settings:"opsz" 14}[data-design=paper] .hero h1{font-variation-settings:"opsz" 96,"wdth" 85;font-size:clamp(2.3rem,6vw,3.6rem);line-height:1}[data-design=paper] .hero h1 span{color:var(--text);background:var(--mustard);padding:0 .15em;margin-left:-.05em;box-shadow:var(--shadow);display:inline-block;transform:rotate(-1.5deg)}[data-design=paper] .hero p,[data-design=paper] .section-title .muted{color:var(--muted)}[data-design=paper] .pwg-btn{box-shadow:0 1px #2b21182e,0 3px 6px -3px #2b211866;font-weight:700}[data-design=paper] .pwg-btn-primary{box-shadow:0 1px 0 var(--accent-edge),0 4px 8px -4px #2b211880}[data-design=paper] .pwg-btn-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text)}[data-design=paper] .pwg-btn-ghost{background:transparent;box-shadow:none;border-color:var(--border-strong);color:var(--text)}[data-design=paper] .pwg-btn:active:not(:disabled){box-shadow:0 0 #2b211833;transform:translateY(1px)}[data-design=paper] .segmented button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}[data-design=paper] .link-btn{color:var(--text);text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:2px;text-decoration-color:var(--accent)}[data-design=paper] .card{border-color:transparent}[data-design=paper] .player-chip,[data-design=paper] .icon-btn{background:var(--surface);border-color:transparent;box-shadow:var(--shadow)}[data-design=paper] .game-shelf{gap:1.4rem 1.2rem;padding:.4rem .2rem}[data-design=paper] .game-card{background:var(--game-color);border:0;border-radius:var(--radius);padding:.75rem;transform:rotate(var(--tilt, -1.2deg));transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s cubic-bezier(.16,1,.3,1);overflow:visible}[data-design=paper] .game-card:nth-child(2n){--tilt: 1deg}[data-design=paper] .game-card:nth-child(3n){--tilt: -.6deg}[data-design=paper] .game-card:hover,[data-design=paper] .game-card:focus-within{transform:rotate(0) translateY(-4px);box-shadow:0 1px #2b211824,0 18px 26px -12px #2b21188c}[data-design=paper] .game-card .game-art{border-radius:3px;border:6px solid var(--surface);box-shadow:0 1px 2px #2b211840}[data-design=paper] .game-card .game-body{background:var(--surface);border-radius:3px;padding:.55rem .7rem .6rem}[data-design=paper] .game-card h3{font-size:1.35rem;font-variation-settings:"opsz" 48}[data-design=paper] .game-tagline,[data-design=paper] .game-facts{color:var(--muted)}[data-design=paper] .game-card .actions .pwg-btn-secondary{background:var(--surface)}[data-design=paper] .seat{border:2px dashed var(--border-strong);background:color-mix(in srgb,var(--surface) 55%,transparent)}[data-design=paper] .seat.filled{border:0;background:var(--surface);box-shadow:var(--shadow)}[data-design=paper] .seat.mine{outline:3px solid var(--accent);outline-offset:-3px}[data-design=paper] .player-bar{background:var(--surface);border-color:transparent;border-radius:var(--radius-sm);box-shadow:var(--shadow)}[data-design=paper] .player-bar.active{border-color:transparent;box-shadow:inset 0 -4px 0 var(--mustard),var(--shadow)}[data-design=paper] .pill.turn{background:var(--mustard);color:var(--text);border-color:transparent}[data-design=paper] .room-code{position:relative;background:var(--surface);border:2px dashed var(--border-strong);border-radius:var(--radius-sm);font-family:var(--display);font-variation-settings:"opsz" 96;letter-spacing:.14em}[data-design=paper] .room-code:before{content:"";position:absolute;top:-9px;left:50%;width:64px;height:18px;transform:translate(-50%) rotate(-3deg);background:color-mix(in srgb,var(--mustard) 70%,transparent)}[data-design=paper] .room-list .room-row{border-bottom-style:dashed;border-bottom-color:var(--border-strong)}[data-design=paper] .toast{box-shadow:var(--shadow)}html[data-design=paper][data-input-mode=gamepad] [data-focusable]:focus,html[data-design=paper][data-input-mode=keyboard] [data-focusable]:focus,[data-design=paper] [data-focusable]:focus-visible{box-shadow:0 0 0 7px var(--surface)}:root[data-design=boxlid]{--bg: #efe4cf;--page-bg: #efe4cf;--surface: #fffaf0;--surface-2: #f6ecd8;--surface-3: #ead9b8;--card-bg: var(--surface);--field-bg: #fffdf7;--border: #1b1b1b;--border-strong: #1b1b1b;--border-width: 2px;--overlay: rgba(27, 27, 27, .5);--chrome: #fffaf0;--text: #1b1b1b;--muted: #4a4237;--faint: #675d4d;--selection: #f6c333;--accent: #c8202a;--on-accent: #fff;--accent-edge: #1b1b1b;--accent-2: #1f4fa8;--on-accent-2: #fff;--accent-2-edge: #1b1b1b;--danger: #b3121a;--danger-strong: #b3121a;--danger-surface: #ffe1dd;--on-danger-surface: #5c0a0e;--warn: #8a6100;--pwg-focus: #1f4fa8;--sun: #f6c333;--radius: 14px;--radius-sm: 10px;--radius-control: 999px;--shadow: 0 2px 0 rgba(27, 27, 27, .08), 0 12px 22px -12px rgba(27, 27, 27, .45);--btn-lip: 0px;--display: "Fraunces Variable", Georgia, serif;--body: "Figtree Variable", system-ui, sans-serif;--display-weight: 900;--display-tracking: -.01em;--button-font: var(--body);--button-tracking: .01em;color-scheme:light}[data-design=boxlid] h1,[data-design=boxlid] h2,[data-design=boxlid] h3,[data-design=boxlid] .brand{font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 72}[data-design=boxlid] .hero h1{font-size:clamp(2.4rem,6vw,3.7rem);line-height:.98}[data-design=boxlid] .hero h1 span{color:var(--accent)}[data-design=boxlid] .pwg-btn{font-weight:800}[data-design=boxlid] .pwg-btn-secondary{background:var(--surface);color:var(--text)}[data-design=boxlid] .pwg-btn-ghost{border-color:var(--text);color:var(--text)}[data-design=boxlid] .pwg-btn:hover:not(:disabled){filter:none;background-image:linear-gradient(#1b1b1b0f,#1b1b1b0f)}[data-design=boxlid] .segmented{border-radius:999px}[data-design=boxlid] .segmented button{border-radius:999px;color:var(--text)}[data-design=boxlid] .segmented button[aria-pressed=true]{background:var(--sun);color:var(--text);box-shadow:inset 0 0 0 2px var(--text)}[data-design=boxlid] .link-btn{color:var(--accent-2);text-decoration:underline;text-underline-offset:.2em}[data-design=boxlid] .input{border-color:var(--text)}[data-design=boxlid] .code-input{font-family:var(--display);font-variation-settings:"SOFT" 100,"opsz" 72}[data-design=boxlid] .game-shelf{gap:1.3rem}[data-design=boxlid] .game-card{position:relative;background:var(--surface);border:2px solid var(--text);padding:0;gap:0;overflow:hidden;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1)}[data-design=boxlid] .game-card:hover,[data-design=boxlid] .game-card:focus-within{transform:translateY(-5px);box-shadow:0 2px #1b1b1b14,0 22px 28px -14px #1b1b1b8c}[data-design=boxlid] .game-card .game-art{border-radius:0;border-bottom:2px solid var(--text)}[data-design=boxlid] .game-card:before{content:"";position:absolute;z-index:1;top:18px;right:-46px;width:170px;height:22px;background:var(--game-color);border-block:2px solid var(--text);transform:rotate(38deg)}[data-design=boxlid] .game-body{padding:.8rem .95rem .2rem;gap:.2rem}[data-design=boxlid] .game-card h3{font-size:1.6rem;line-height:1}[data-design=boxlid] .game-tagline{color:var(--muted);font-size:.92rem}[data-design=boxlid] .game-facts{position:absolute;z-index:2;top:10px;left:10px;display:grid;place-items:center;align-content:center;width:5rem;height:5rem;padding:.3rem;border-radius:50%;background:var(--sun);border:2px solid var(--text);color:var(--text);text-align:center;line-height:1.05;font-weight:800;font-size:.7rem;text-transform:uppercase;letter-spacing:.02em;transform:rotate(-8deg)}[data-design=boxlid] .game-facts span+span:before{content:none}[data-design=boxlid] .game-facts span:first-child{font-family:var(--display);font-variation-settings:"SOFT" 100,"opsz" 72;font-size:1rem;line-height:.95;text-transform:none}[data-design=boxlid] .game-facts span:last-child{font-size:.62rem}[data-design=boxlid] .game-card .actions{padding:.75rem .95rem .95rem}[data-design=boxlid] .seat{border:2px dashed var(--text);background:transparent}[data-design=boxlid] .seat.filled{border-style:solid;background:var(--surface)}[data-design=boxlid] .seat.mine{box-shadow:inset 0 0 0 4px var(--sun)}[data-design=boxlid] .player-bar{background:var(--surface);border:2px solid var(--text)}[data-design=boxlid] .player-bar.active{border-color:var(--text);background:var(--sun);box-shadow:none}[data-design=boxlid] .pill{border-color:var(--text);color:var(--text);background:var(--surface)}[data-design=boxlid] .pill.turn{background:var(--accent);border-color:var(--text);color:var(--on-accent)}[data-design=boxlid] .room-code{font-family:var(--display);font-variation-settings:"SOFT" 100,"opsz" 72;font-weight:900;background:var(--sun);border:2px solid var(--text);border-radius:999px}[data-design=boxlid] .room-list .room-row{border-bottom:2px solid var(--text)}[data-design=boxlid] .room-list .room-row:last-child{border-bottom:0}:root[data-design=board]{--bg: #0b0d10;--page-bg: #0b0d10;--surface: #16191e;--surface-2: #1c2127;--surface-3: #262c34;--card-bg: var(--surface);--field-bg: #0b0d10;--border: #2b3138;--border-strong: #4a525c;--overlay: rgba(5, 6, 8, .72);--chrome: #16191e;--text: #e8e8eb;--muted: #a3a9b2;--faint: #858d97;--selection: color-mix(in srgb, #ffd400 40%, transparent);--accent: #ffd400;--on-accent: #0b0d10;--accent-edge: #ffd400;--accent-2: #9ad7b4;--on-accent-2: #0b0d10;--accent-2-edge: #9ad7b4;--danger: #ff6b6b;--danger-strong: #c9343b;--danger-surface: #2a1214;--on-danger-surface: #ffd9d9;--warn: #ffd400;--pwg-focus: #ffd400;--radius: 4px;--radius-sm: 3px;--radius-control: 3px;--radius-pill: 3px;--shadow: none;--btn-lip: 0px;--display: "Barlow Condensed", "Arial Narrow", sans-serif;--body: "Barlow", system-ui, sans-serif;--mono: "JetBrains Mono Variable", ui-monospace, monospace;--display-weight: 700;--display-tracking: .03em;--display-case: uppercase;--button-font: "Barlow Condensed", "Arial Narrow", sans-serif;--button-case: uppercase;--button-tracking: .08em;color-scheme:dark}[data-design=board] .hero h1{font-size:clamp(2.6rem,7vw,4.4rem);line-height:.95}[data-design=board] .hero h1 span{color:var(--accent)}[data-design=board] .label,[data-design=board] .seat-label{font-family:var(--display);letter-spacing:.12em}[data-design=board] .pwg-btn{font-weight:700;font-size:1rem}[data-design=board] .pwg-btn.small{font-size:.92rem}[data-design=board] .pwg-btn-primary{background:var(--text);color:var(--bg)}[data-design=board] .pwg-btn-primary:hover:not(:disabled),[data-design=board] .pwg-btn-primary:focus-visible{background:var(--accent);filter:none}[data-design=board] .pwg-btn-secondary{background:transparent;border-color:var(--border-strong)}[data-design=board] .card{border-color:var(--border)}[data-design=board] .code-input,[data-design=board] .room-code{font-family:var(--mono);font-variant-numeric:tabular-nums}[data-design=board] .segmented button[aria-pressed=true]{background:var(--text);color:var(--bg)}[data-design=board] .link-btn{color:var(--muted);font-family:var(--display);text-transform:uppercase;letter-spacing:.1em}[data-design=board] .link-btn:hover{color:var(--accent)}[data-design=board] .pill{font-family:var(--display);text-transform:uppercase;letter-spacing:.1em}[data-design=board] .pill.turn{color:var(--on-accent)}[data-design=board] .board-section{padding:0;overflow:hidden}[data-design=board] .board-section>.section-title{padding:.85rem 1rem;background:var(--surface-2);border-bottom:1px solid var(--border)}[data-design=board] .board-section>.faint{padding:.9rem 1rem 1rem}[data-design=board] .room-head{display:grid}[data-design=board] .room-row{grid-template-columns:minmax(7rem,1.4fr) 6.5rem 4.5rem minmax(5.5rem,1fr) 6rem auto;grid-template-areas:none;padding:.55rem 1rem;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums}[data-design=board] .room-row>*,[data-design=board] .room-meta>*{grid-area:auto}[data-design=board] .room-meta{display:contents;color:var(--text);font-size:1rem}[data-design=board] .room-meta>span+span:before{content:none}[data-design=board] .room-head{padding-block:.4rem;font-family:var(--display);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}[data-design=board] .room-head .room-meta{color:var(--faint);font-size:.78rem}[data-design=board] .room-head .room-status,[data-design=board] .room-head .room-when{color:var(--faint);font-size:.78rem;letter-spacing:.14em}[data-design=board] .room-head .room-game{font-size:.78rem;color:var(--faint);letter-spacing:.14em}[data-design=board] .room-head .room-code-cell{font-family:var(--display);color:var(--faint)}[data-design=board] .room-game{font-family:var(--display);font-size:1.15rem;text-transform:uppercase;letter-spacing:.04em}[data-design=board] .room-code-cell{display:block;font-family:var(--mono);font-weight:700;letter-spacing:.12em;color:var(--text)}[data-design=board] .room-seats-word{display:none}[data-design=board] .room-when{color:var(--muted);font-size:.85rem}[data-design=board] .room-status{font-family:var(--display);text-transform:uppercase;letter-spacing:.1em;font-size:.95rem;color:var(--accent-2)}[data-design=board] .room-status[data-open]{justify-self:start;padding:0 .4rem;background:var(--accent);color:var(--on-accent);border-radius:2px}[data-design=board] .room-row:has(.room-status[data-open]){background:color-mix(in srgb,var(--accent) 7%,transparent);animation:board-flash 1.6s steps(2,jump-none) 1}@keyframes board-flash{50%{background:color-mix(in srgb,var(--accent) 22%,transparent)}}@media(max-width:640px){[data-design=board] .room-row{grid-template-columns:minmax(0,1fr) 4.6rem 3rem auto}[data-design=board] .room-status,[data-design=board] .room-when{display:none}}[data-design=board] .game-card{background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--game-color);padding:0;gap:0}[data-design=board] .game-card .game-art{border-radius:0}[data-design=board] .game-body{position:relative;padding:.85rem .95rem .5rem;border-top:2px dashed var(--border-strong)}[data-design=board] .game-card h3{font-size:1.55rem}[data-design=board] .game-facts{font-family:var(--mono);font-size:.8rem;color:var(--text);text-transform:uppercase;margin-top:.3rem}[data-design=board] .game-card .actions{padding:.6rem .95rem .95rem}[data-design=board] .game-card:hover,[data-design=board] .game-card:focus-within{border-color:var(--border-strong)}[data-design=board] .room-code{background:var(--text);color:var(--bg);border:0;border-radius:var(--radius-sm);font-weight:800}[data-design=board] .qr{border-radius:2px;outline:6px solid #fff}[data-design=board] .seat{border:1px dashed var(--border-strong);background:transparent}[data-design=board] .seat.filled{border-style:solid;background:var(--surface)}[data-design=board] .seat.mine{border-color:var(--accent)}[data-design=board] .seat-user{font-family:var(--display);text-transform:uppercase;letter-spacing:.04em}[data-design=board] .player-bar{border-radius:var(--radius-sm);background:var(--surface)}[data-design=board] .player-bar .player-name{font-family:var(--display);text-transform:uppercase;letter-spacing:.05em;font-size:1.1rem}[data-design=board] .player-bar.active{border-color:var(--accent);box-shadow:none}[data-design=board] .chat-line .who{font-family:var(--display);text-transform:uppercase;letter-spacing:.05em}.checkers{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%}.checkers-hint{font-weight:600;min-height:1.5em;color:var(--text)}.board{--sq: min( calc((100vw - 2rem)/8) , calc((100dvh - 15rem)/8) , 80px);display:grid;grid-template-columns:repeat(8,var(--sq));grid-template-rows:repeat(8,var(--sq));border:6px solid #3b2a1a;border-radius:6px;box-shadow:0 10px 30px #00000073;background:#3b2a1a}.sq{position:relative;padding:0;margin:0;border:none;width:var(--sq);height:var(--sq);display:grid;place-items:center;cursor:default;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.sq.light{background:#e9d4b0}.sq.dark{background:#7a4b2a;cursor:pointer}.sq.dark:disabled{cursor:default}.sq.last{box-shadow:inset 0 0 0 100vmax #ffdc7838}.sq.movable:after{content:"";position:absolute;inset:4px;border-radius:6px;border:2px dashed rgba(255,255,255,.45);pointer-events:none}.sq.selected{background:#a86a3a}.sq.selected:after{border:3px solid #ffd166}.sq.target{background:#5c7a3a}.target-dot{width:30%;height:30%;border-radius:50%;background:#ffffffb3}.piece{width:78%;height:78%;border-radius:50%;display:grid;place-items:center;font-size:calc(var(--sq) * .45);line-height:1;box-shadow:inset 0 -4px #00000059,0 3px 6px #00000080}.piece.black{background:radial-gradient(circle at 35% 30%,#5a5f6b,#15171c 70%);color:#ffd166}.piece.red{background:radial-gradient(circle at 35% 30%,#ff7b7b,#a81c1c 70%);color:#fff3c4}.sq.target .piece{outline:3px solid #ff5c5c;outline-offset:-3px}.checkers-captured{display:flex;gap:1.5rem;color:var(--muted);font-size:.9rem}.checkers-captured .mini{display:inline-block;width:.9em;height:.9em;border-radius:50%;vertical-align:-.1em;margin-right:.3em}.checkers-captured .mini.black{background:#2a2d33}.checkers-captured .mini.red{background:#c43a3a}.sq:focus-visible,html[data-input-mode=gamepad] .sq:focus,html[data-input-mode=keyboard] .sq:focus{z-index:1;outline-offset:-3px}.c4{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%}.c4-hint{font-weight:600;min-height:1.5em}.c4-board{--cell: min(calc((100vw - 3rem) / 7), calc((100dvh - 17rem) / 6), 76px);display:grid;grid-template-columns:repeat(7,var(--cell));padding:calc(var(--cell) * .12);background:linear-gradient(180deg,#3557e0,#243fb8);border-radius:calc(var(--cell) * .25);box-shadow:0 -4px #4a6cff inset,0 14px 30px #00000073}.c4-col{all:unset;display:grid;grid-template-rows:repeat(6,var(--cell));border-radius:calc(var(--cell) * .3);cursor:default;-webkit-tap-highlight-color:transparent}.c4-board.active .c4-col:not(.full){cursor:pointer}.c4-board.active .c4-col:not(.full):hover{background:#ffffff14}.c4-col:focus-visible,html[data-input-mode=gamepad] .c4-col:focus,html[data-input-mode=keyboard] .c4-col:focus{outline:3px solid var(--pwg-focus);outline-offset:2px;background:#ffffff1a}.c4-cell{position:relative;display:grid;place-items:center}.c4-cell:before{content:"";position:absolute;width:78%;height:78%;border-radius:50%;background:#0f1220;box-shadow:inset 0 4px 6px #0009}.c4-disc{position:relative;width:78%;height:78%;border-radius:50%;box-shadow:inset 0 -5px #00000038,inset 0 3px #ffffff40}.c4-disc.red{background:radial-gradient(circle at 40% 35%,#ff7b88,#e0283b 70%)}.c4-disc.yellow{background:radial-gradient(circle at 40% 35%,#ffe680,#f0b400 70%)}.c4-disc.ghost{position:absolute;opacity:.35}.c4-disc.drop{animation:c4-drop calc(.14s + var(--rows) * 45ms) cubic-bezier(.55,0,1,.45)}@keyframes c4-drop{0%{transform:translateY(calc(var(--cell) * var(--rows) * -1))}}.c4-disc.win{animation:c4-win .9s ease-in-out infinite alternate;box-shadow:0 0 0 4px #fff,0 0 18px #fffc}@keyframes c4-win{to{transform:scale(.9)}}.chess{display:flex;flex-direction:column;align-items:center;gap:.6rem;width:100%}.chess-hint{font-weight:600;min-height:1.5em}.chess-hint.danger{color:var(--danger)}.chess-offer{border-color:var(--accent)}.chess-wrap{display:flex;flex-direction:column;gap:.6rem;align-items:center}.chess-board{--sq: min( calc((100vw - 2rem)/8) , calc((100dvh - 17rem)/8) , 72px);display:grid;grid-template-columns:repeat(8,var(--sq));grid-template-rows:repeat(8,var(--sq));border-radius:6px;overflow:hidden;box-shadow:0 0 0 6px #2b3a26,0 14px 30px #00000073}.chess-sq{all:unset;position:relative;display:grid;place-items:center;width:var(--sq);height:var(--sq);-webkit-tap-highlight-color:transparent}.chess-sq.light{background:#e8eccf}.chess-sq.dark{background:#6f8f5e}.chess-board.active .chess-sq.movable{cursor:pointer}.chess-sq.last:before{content:"";position:absolute;inset:0;background:#ffd64f6b}.chess-sq.selected:before{content:"";position:absolute;inset:0;background:#2ed3b780}.chess-sq.check:before{content:"";position:absolute;inset:0;background:radial-gradient(circle,#ff3c3cf2 0 35%,#ff3c3c00 72%)}.chess-sq.target{cursor:pointer}.chess-sq.target:after{content:"";position:absolute;width:30%;height:30%;border-radius:50%;background:#141e1459}.chess-sq.capture{cursor:pointer}.chess-sq.capture:after{content:"";position:absolute;inset:6%;border-radius:50%;border:calc(var(--sq) * .08) solid rgba(20,30,20,.35)}.chess-sq:focus-visible,html[data-input-mode=gamepad] .chess-sq:focus,html[data-input-mode=keyboard] .chess-sq:focus{outline:3px solid var(--pwg-focus);outline-offset:-3px;z-index:2}.chess-piece{position:relative;z-index:1;width:88%;height:88%;display:block;filter:drop-shadow(0 2px 1.5px rgba(0,0,0,.35));pointer-events:none}.coord{position:absolute;font-size:calc(var(--sq) * .17);font-weight:700;z-index:1;opacity:.75}.chess-sq.light .coord{color:#6f8f5e}.chess-sq.dark .coord{color:#e8eccf}.coord.rank{top:3%;left:5%}.coord.file{bottom:2%;right:6%}.chess-moves{list-style:none;margin:0;padding:.45rem .6rem;width:calc(var(--sq, 64px) * 8 + 12px);max-width:100%;max-height:4.6em;overflow-y:auto;display:flex;flex-wrap:wrap;gap:.15rem .9rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;font-family:var(--mono);font-size:.88rem;scrollbar-width:thin}.chess-board+.chess-moves{--sq: min( calc((100vw - 2rem)/8) , calc((100dvh - 17rem)/8) , 72px)}.chess-moves li{white-space:nowrap}.chess-moves li.latest{color:var(--accent)}.chess-moves .n{color:var(--faint)}.promo-btn{all:unset;width:64px;height:64px;display:grid;place-items:center;border-radius:12px;background:#e8eccf;cursor:pointer;--sq: 64px}.promo-btn:focus-visible,html[data-input-mode=gamepad] .promo-btn:focus{outline:3px solid var(--pwg-focus)}.bs{display:flex;flex-direction:column;align-items:center;gap:.6rem;width:100%}.bs-hint{font-weight:600;min-height:1.5em;text-align:center}.bs-help{max-width:44ch;font-size:.92rem}.bs-last{font-size:.92rem;color:var(--muted);padding:.25rem .75rem;border-radius:999px;background:var(--surface);border:1px solid var(--border)}.bs-last.hit{color:#ffb3a0;border-color:#ff5d3a80}.bs-grids{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;align-items:flex-start;width:100%}.bs-panel{--cell: clamp(24px, calc((100vw - 3.5rem)*.1) , 38px);display:flex;flex-direction:column;gap:.4rem}.bs-panel.small{--cell: clamp(18px, calc((100vw - 3.5rem) / 14), 28px)}@media(min-width:1000px){.bs-panel{--cell: 34px}.bs-panel.small{--cell: 26px}}.bs-panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.bs-panel-head .muted{font-size:.85rem}.bs-grid{display:grid;grid-template-columns:repeat(10,var(--cell));grid-template-rows:repeat(10,var(--cell));background:#0a2236;border:3px solid #123a5c;border-radius:10px;padding:3px;gap:0;box-shadow:var(--shadow)}.bs-panel.targeting .bs-grid{border-color:var(--accent)}.bs-cell{all:unset;box-sizing:border-box;border:1px solid rgba(94,200,255,.12);background:#123a5c99;position:relative;-webkit-tap-highlight-color:transparent}.bs-cell.open{cursor:crosshair}.bs-cell.open:hover{background:#ffb02047}.bs-cell.last{box-shadow:inset 0 0 0 2px #ffd166;z-index:3}.bs-grid.placing .bs-cell{cursor:pointer}.bs-grid.placing .bs-cell:hover{background:#2ed3b733}.bs-cell:focus-visible,html[data-input-mode=gamepad] .bs-cell:focus,html[data-input-mode=keyboard] .bs-cell:focus{outline:3px solid var(--pwg-focus);outline-offset:-2px;z-index:4}.bs-ship{pointer-events:none;margin:3px;border-radius:999px;background:linear-gradient(180deg,#a4b4c8,#6e8096);box-shadow:inset 0 -3px #00000040,0 2px 4px #0006;z-index:1}.bs-ship.v{background:linear-gradient(90deg,#a4b4c8,#6e8096)}.bs-ship.sunk{background:repeating-linear-gradient(45deg,#5a2a2a,#5a2a2a 6px,#7a3434 6px 12px);opacity:.9}.bs-ship.selected{outline:3px solid var(--accent-2);outline-offset:1px}.bs-mark{pointer-events:none;place-self:center;border-radius:50%;z-index:2}.bs-mark.miss{width:28%;height:28%;background:#cfe6ff;opacity:.75}.bs-mark.hit{width:58%;height:58%;background:radial-gradient(circle,#ffd166 0 30%,#ff5d3a 32% 100%);box-shadow:0 0 10px #ff5d3acc;animation:bs-hit .3s ease-out}@keyframes bs-hit{0%{transform:scale(1.8);opacity:0}}.bs-fleet-list{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center}.bs-fleet-chip{font:inherit;font-size:.85rem;font-weight:600;padding:.35rem .7rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;min-height:36px}.bs-fleet-chip.active{border-color:var(--accent-2);background:#2ed3b726}
