@font-face{font-family:Chakra Petch;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/34c5fb576821249d-s.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Chakra Petch;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/53346c71725d1281-s.woff2) format("woff2");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:Chakra Petch;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/756267f274008177-s.woff2) format("woff2");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:Chakra Petch;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/e2603cbfed9d82e4-s.p.woff2) format("woff2");unicode-range:u+00??,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:Chakra Petch;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/a1b8cff38a6646ea-s.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Chakra Petch;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/73a8885aeef95b60-s.woff2) format("woff2");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:Chakra Petch;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/5bdc8e4f4a8d7f8b-s.woff2) format("woff2");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:Chakra Petch;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/bdf72b14a5a93d76-s.p.woff2) format("woff2");unicode-range:u+00??,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:Chakra Petch;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/e80b998f2b3c5a02-s.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Chakra Petch;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/a261907b1263b937-s.woff2) format("woff2");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:Chakra Petch;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/a08bbacffa98ac10-s.woff2) format("woff2");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:Chakra Petch;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/370634685c6e5111-s.p.woff2) format("woff2");unicode-range:u+00??,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:Chakra Petch;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/3926fa88ed32c251-s.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c3206c67a3393998-s.woff2) format("woff2");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:Chakra Petch;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b7d7f401753dc0c4-s.woff2) format("woff2");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:Chakra Petch;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6681946d7a6ccbb7-s.p.woff2) format("woff2");unicode-range:u+00??,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:Chakra Petch;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/1fc9a8acda3903f0-s.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/7b750d5bfef15842-s.woff2) format("woff2");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:Chakra Petch;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/2a7c45462b39533e-s.woff2) format("woff2");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:Chakra Petch;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/4c7c43bdd7a35c63-s.p.woff2) format("woff2");unicode-range:u+00??,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:Chakra Petch;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8d541ca8617572f0-s.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/3955bbd902881c26-s.woff2) format("woff2");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:Chakra Petch;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/f6d84cc3be9d6158-s.woff2) format("woff2");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:Chakra Petch;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/84f090e3b62fb9e3-s.p.woff2) format("woff2");unicode-range:u+00??,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:Chakra Petch Fallback;src:local("Arial");ascent-override:96.77%;descent-override:30.05%;line-gap-override:0.00%;size-adjust:102.51%}.__className_8c4b39{font-family:Chakra Petch,Chakra Petch Fallback}.__variable_8c4b39{--font-chakra:"Chakra Petch","Chakra Petch Fallback"}@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/88e4012f2051f8b4-s.woff2) format("woff2");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-weight:400;font-display:swap;src:url(/_next/static/media/0be08cad6fae8421-s.woff2) format("woff2");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-weight:400;font-display:swap;src:url(/_next/static/media/61d96c4884191721-s.p.woff2) format("woff2");unicode-range:u+00??,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-weight:500;font-display:swap;src:url(/_next/static/media/cd5242d34e82716d-s.woff2) format("woff2");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-weight:500;font-display:swap;src:url(/_next/static/media/6662f7f4c6f2f062-s.woff2) format("woff2");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-weight:500;font-display:swap;src:url(/_next/static/media/b0bb26939bb40fdb-s.p.woff2) format("woff2");unicode-range:u+00??,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-weight:600;font-display:swap;src:url(/_next/static/media/7816b93d847886e9-s.woff2) format("woff2");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-weight:600;font-display:swap;src:url(/_next/static/media/ea06843a6d8e9ab3-s.woff2) format("woff2");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-weight:600;font-display:swap;src:url(/_next/static/media/60c9b95e8d9e49be-s.p.woff2) format("woff2");unicode-range:u+00??,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 Fallback;src:local("Arial");ascent-override:103.43%;descent-override:20.69%;line-gap-override:0.00%;size-adjust:96.68%}.__className_2c85f0{font-family:Barlow,Barlow Fallback;font-style:normal}.__variable_2c85f0{--font-barlow:"Barlow","Barlow Fallback"}:root{--bg:#101010;--bg-deep:#070707;--surface-1:#191919;--surface-2:#1f1f1f;--surface-3:#292929;--border:rgba(255,255,255,0.09);--border-strong:rgba(255,214,0,0.45);--text:#ffffff;--text-dim:#a3a3a3;--text-faint:#6e6e6e;--host:#ffd600;--host-soft:rgba(255,214,0,0.14);--guest:#ff3d3d;--guest-soft:rgba(255,61,61,0.14);--accent:#ffd600;--accent-bright:#ffe14d;--accent-soft:rgba(255,214,0,0.13);--danger:#ff3d3d;--danger-soft:rgba(255,61,61,0.14);--success:#37d67a;--success-soft:rgba(55,214,122,0.14);--radius-s:4px;--radius:6px;--radius-l:8px;--tap:46px;--shadow-1:0 2px 10px rgba(0,0,0,0.5);--shadow-2:0 10px 30px rgba(0,0,0,0.55);--punch-shadow:4px 4px 0 rgba(255,61,61,0.9);--glow-accent:0 0 18px rgba(255,214,0,0.35);--glow-host:0 0 16px rgba(255,214,0,0.4);--glow-guest:0 0 16px rgba(255,61,61,0.4);--font-display:var(--font-chakra),"Segoe UI",system-ui,sans-serif;--font-body:var(--font-barlow),system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:repeating-linear-gradient(-45deg,transparent 0 42px,rgba(255,214,0,.024) 42px 44px),radial-gradient(70% 40% at 50% 0,rgba(255,214,0,.05),transparent 60%),var(--bg);background-attachment:fixed;color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.5;min-height:100dvh;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}main.page{max-width:480px;margin:0 auto;padding:18px 16px calc(28px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:18px;animation:page-in .28s cubic-bezier(.2,.8,.25,1)}h1,h2,h3{font-family:var(--font-display);font-style:italic;text-transform:uppercase;margin:0;letter-spacing:.035em}h1{font-size:1.35rem;font-weight:700}h2{font-size:.98rem;font-weight:600}p{margin:0;color:var(--text-dim)}a{color:var(--accent-bright);text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.brand{display:inline-flex;align-items:baseline;gap:2px;font-family:var(--font-display);font-style:italic;font-weight:700;font-size:1.5rem;letter-spacing:.045em;text-transform:uppercase}.brand .brand__duel{color:var(--host);text-shadow:3px 3px 0 rgba(255,61,61,.55)}.brand .brand__slash{color:var(--guest);font-weight:700;transform:skewX(-14deg);display:inline-block;margin:0 2px}.brand .brand__games{color:#fff}.back-link{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius);background:var(--surface-1);border:1px solid var(--border);color:var(--text);font-size:1.05rem;transition:background .14s ease,border-color .14s ease}.back-link:active{background:var(--surface-2);border-color:var(--border-strong)}.card{background:linear-gradient(180deg,var(--surface-2),var(--surface-1));border:1px solid var(--border);border-left:3px solid var(--host);border-radius:var(--radius-l);box-shadow:var(--shadow-1);padding:16px;display:flex;flex-direction:column;gap:12px}.card--hero{border-left-width:4px;box-shadow:var(--shadow-2)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;line-height:1;min-height:var(--tap);padding:0 20px;font-family:var(--font-display);font-style:italic;font-size:.98rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#101010;background:linear-gradient(180deg,var(--accent-bright),var(--accent));box-shadow:var(--punch-shadow);cursor:pointer;transition:transform 90ms ease,box-shadow .12s ease,opacity .14s ease,background .14s ease}.btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 rgba(255,61,61,.9)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn--ghost{background:transparent;border:1px solid rgba(255,255,255,.22);color:var(--text);box-shadow:none;font-style:normal;font-weight:600}.btn--ghost:active{background:var(--surface-2);transform:none}.btn--danger{background:linear-gradient(180deg,#ff6b6b,var(--danger));color:#fff;box-shadow:4px 4px 0 rgba(255,214,0,.85)}.btn--danger:active{box-shadow:2px 2px 0 rgba(255,214,0,.85)}.btn--wide{width:100%}.btn--sm{min-height:38px;padding:0 14px;font-size:.85rem}.input{min-height:var(--tap);border-radius:var(--radius);border:1px solid rgba(255,255,255,.16);background:var(--bg-deep);color:var(--text);padding:0 15px;font-size:1rem;font-family:var(--font-body);width:100%;transition:border-color .14s ease,box-shadow .14s ease}.input::placeholder{color:var(--text-faint)}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input--code{font-family:var(--font-display);font-weight:700;text-align:center;letter-spacing:.3em;text-transform:uppercase}.row{display:flex;gap:10px;align-items:center}.row--between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:10px}.muted{color:var(--text-dim);font-size:.86rem}.error-text{color:var(--danger);font-size:.9rem}.success-text{color:var(--success);font-size:.9rem}.center{text-align:center}.badge{display:inline-flex;align-items:center;gap:7px;border-radius:var(--radius);padding:5px 12px;font-family:var(--font-display);font-size:.8rem;font-weight:600;letter-spacing:.04em;background:var(--surface-1);border:1px solid var(--border);color:var(--text)}.badge--offline:before,.badge--online:before{content:"";width:8px;height:8px;border-radius:2px;flex:none}.badge--online:before{background:var(--success);box-shadow:0 0 8px var(--success)}.badge--offline:before{background:var(--danger)}.turn-pill{display:inline-flex;align-items:center;gap:8px;align-self:center;border-radius:var(--radius);padding:7px 18px;font-family:var(--font-display);font-style:italic;font-size:.9rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--border);background:var(--surface-1);color:var(--text-dim);transform:skewX(-6deg)}.turn-pill--you{color:#101010;border-color:transparent;background:linear-gradient(90deg,var(--accent),var(--accent-bright));box-shadow:var(--glow-accent);animation:pulse-soft 1.5s ease-in-out infinite}.turn-pill--done{background:var(--surface-1)}.vs-board{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:8px;gap:8px}.vs-player{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-1);min-width:0}.vs-player--you{border-color:rgba(255,255,255,.2)}.vs-player--host.vs-player--active{box-shadow:var(--glow-host);border-color:var(--host)}.vs-player--guest.vs-player--active{box-shadow:var(--glow-guest);border-color:var(--guest)}.vs-player__name{font-size:.8rem;color:var(--text-dim);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:5px}.vs-player__name .dot{width:7px;height:7px;border-radius:2px;flex:none}.dot--online{background:var(--success);box-shadow:0 0 7px var(--success)}.dot--offline{background:var(--danger)}.vs-player__score{font-family:var(--font-display);font-style:italic;font-size:2rem;font-weight:700;line-height:1}.vs-player--host .vs-player__score{color:var(--host)}.vs-player--guest .vs-player__score{color:var(--guest)}.vs-divider{font-size:1rem;color:var(--guest);transform:skewX(-12deg);padding:0 4px;text-transform:uppercase}.room-code,.vs-divider{font-family:var(--font-display);font-style:italic;font-weight:700}.room-code{font-size:1.85rem;letter-spacing:.34em;text-indent:.34em;text-align:center;padding:14px 10px;color:var(--host);background:var(--bg-deep);border-radius:var(--radius);border:1px dashed rgba(255,214,0,.4);text-shadow:3px 3px 0 rgba(255,61,61,.45)}.game-tile{display:flex;align-items:center;gap:14px;background:linear-gradient(180deg,var(--surface-2),var(--surface-1));border:1px solid var(--border);border-left:3px solid var(--host);border-radius:var(--radius-l);padding:13px 14px;color:var(--text);box-shadow:var(--shadow-1);transition:transform .11s ease,border-color .14s ease}.game-tile:active{transform:translate(1px,1px);border-color:var(--border-strong)}.game-tile strong{font-family:var(--font-display);font-style:italic;text-transform:uppercase;letter-spacing:.03em}.game-tile__badge{width:52px;height:52px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1.55rem;flex:none;background:var(--surface-3);border:1px solid var(--border)}.game-tile[data-game=tictactoe]{border-left-color:#b478ff}.game-tile[data-game=connect4]{border-left-color:#ff3d3d}.game-tile[data-game=reaction]{border-left-color:#ffd600}.game-tile[data-game=memory]{border-left-color:#37d67a}.game-tile[data-game=battleship]{border-left-color:#4dabff}.game-tile[data-game=petitbac]{border-left-color:#ff9f1a}.game-tile[data-game=drawguess]{border-left-color:#ff5eb0}.game-tile[data-game=wordduel]{border-left-color:#37d67a}.game-tile[data-game=boggle]{border-left-color:#ffd600}.game-tile__meta{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;color:var(--text-faint)}.game-tile__arrow{margin-left:auto;color:var(--text-faint);font-size:1.1rem}.board-frame{background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius-l);padding:10px;box-shadow:inset 0 2px 12px rgba(0,0,0,.6)}.grid-board{display:grid;grid-gap:6px;gap:6px;touch-action:manipulation}.grid-board :where(.cell){aspect-ratio:1;border-radius:var(--radius);background:var(--surface-1);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:var(--text);cursor:pointer;min-width:0;padding:0;transition:background .12s ease,transform 90ms ease,box-shadow .14s ease}.grid-board :where(.cell):not(:disabled):active{transform:scale(.94)}.cell--host{color:var(--host);text-shadow:0 0 12px rgba(255,214,0,.55)}.cell--guest{color:var(--guest);text-shadow:0 0 12px rgba(255,61,61,.55)}.cell--disabled{cursor:default}.token{width:72%;height:72%;border-radius:50%;animation:pop-in .2s cubic-bezier(.3,1.4,.5,1)}.token--host{background:radial-gradient(circle at 32% 28%,#fff3a6,var(--host) 55%,#c7a400);box-shadow:0 2px 8px rgba(0,0,0,.5),0 0 10px rgba(255,214,0,.3)}.token--guest{background:radial-gradient(circle at 32% 28%,#ff9d9d,var(--guest) 55%,#c72222);box-shadow:0 2px 8px rgba(0,0,0,.5),0 0 10px rgba(255,61,61,.3)}.reaction-pad{min-height:300px;border-radius:var(--radius-l);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font-family:var(--font-display);font-style:italic;font-size:1.5rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:none;color:#fff;width:100%;transition:background .11s ease}.reaction-pad--wait{background:linear-gradient(180deg,var(--surface-3),var(--surface-2));border:1px solid rgba(255,255,255,.16)}.reaction-pad--go{background:radial-gradient(circle at 50% 35%,#6ff0a8,var(--success) 70%);color:#06371c;box-shadow:0 0 38px rgba(55,214,122,.45);animation:pop-in .15s ease}.reaction-pad:disabled{opacity:.55;cursor:default}.memory-card{font-size:1.5rem;transition:transform .17s ease,opacity .2s ease}.memory-card--hidden{background:linear-gradient(145deg,#2c2c2c,#1a1a1a);border:1px solid rgba(255,214,0,.35);box-shadow:inset 0 0 0 2px rgba(0,0,0,.4)}.memory-card--hidden:not(:disabled):active{transform:scale(.92)}.memory-card--matched{opacity:.35}.naval-cell{font-size:.85rem;border-radius:var(--radius-s)}.naval-cell--ship{background:linear-gradient(180deg,#3d3d3d,#2b2b2b);border-color:rgba(255,214,0,.4)}.naval-cell--hit{background:radial-gradient(circle at 50% 40%,#ff7676,var(--danger));color:#fff;animation:pop-in .18s ease}.naval-cell--miss{background:var(--surface-1);position:relative}.naval-cell--miss:after{content:"";width:40%;height:40%;border-radius:50%;background:rgba(255,255,255,.5);box-shadow:inset 0 1px 2px rgba(0,0,0,.5)}.naval-cell--sunk{background:#641414;color:#ffb3b3}.word-row{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:6px;gap:6px}.word-tile{aspect-ratio:1;border-radius:var(--radius-s);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:1.3rem;text-transform:uppercase;background:var(--bg-deep);border:1px solid var(--border);transition:background .2s ease,transform .15s ease}.word-tile--absent{background:#232323;color:var(--text-faint);border-color:transparent}.word-tile--present{background:linear-gradient(180deg,#ffb340,#f08c00);color:#101010;border-color:transparent}.word-tile--correct{background:linear-gradient(180deg,#4be690,#23ad5c);color:#06371c;border-color:transparent}.word-tile--mini{aspect-ratio:auto;height:12px;border-radius:3px}.draw-canvas{width:100%;aspect-ratio:1;background:#fdfdfd;border-radius:var(--radius);border:1px solid rgba(255,255,255,.2);touch-action:none;box-shadow:var(--shadow-1)}.palette{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.palette .swatch{width:36px;height:36px;border-radius:var(--radius-s);border:2px solid transparent;cursor:pointer;padding:0;transition:transform .11s ease,border-color .11s ease}.palette .swatch--active{border-color:var(--host);transform:scale(1.12);box-shadow:0 0 10px rgba(255,214,0,.4)}.boggle-grid{grid-template-columns:repeat(4,1fr)}.boggle-grid .cell{text-transform:uppercase}.word-chips{display:flex;flex-wrap:wrap;gap:6px}.word-chip{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-s);padding:4px 11px;font-size:.84rem;animation:pop-in .16s ease}.word-chip--cancelled{text-decoration:line-through;opacity:.5}.countdown{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#101010;background:var(--accent);border-radius:var(--radius-s);padding:4px 12px;font-size:.9rem}.countdown,.result-banner{font-family:var(--font-display);font-style:italic;font-weight:700}.result-banner{text-align:center;padding:22px 16px;border-radius:var(--radius-l);text-transform:uppercase;font-size:1.35rem;letter-spacing:.04em;animation:pop-in .28s cubic-bezier(.3,1.35,.5,1)}.result-banner--win{background:linear-gradient(180deg,var(--surface-2),var(--surface-1));border:1px solid rgba(255,214,0,.55);border-left:4px solid var(--host);color:var(--host);box-shadow:4px 4px 0 rgba(255,61,61,.5)}.result-banner--lose{border:1px solid var(--border);border-left:4px solid var(--text-faint);color:var(--text-dim)}.result-banner--draw,.result-banner--lose{background:linear-gradient(180deg,var(--surface-2),var(--surface-1))}.result-banner--draw{border:1px solid var(--border);border-left:4px solid var(--guest);color:var(--text)}.toast{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:var(--surface-3);border:1px solid rgba(255,255,255,.18);border-left:3px solid var(--host);box-shadow:var(--shadow-2);padding:11px 18px;border-radius:var(--radius);font-size:.9rem;z-index:50;max-width:90vw;animation:slide-up .18s ease}.install-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.72);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-end;justify-content:center;z-index:100;animation:fade-in .2s ease}.install-sheet{width:100%;max-width:480px;border-radius:var(--radius-l) var(--radius-l) 0 0;padding:22px 18px calc(22px + env(safe-area-inset-bottom));animation:slide-up .24s cubic-bezier(.2,.8,.25,1)}.install-steps{margin:0;padding-left:20px;color:var(--text-dim);line-height:1.65}.history-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius-l);background:linear-gradient(180deg,var(--surface-2),var(--surface-1));border:1px solid var(--border);border-left:3px solid var(--text-faint)}.history-row__result{margin-left:auto;font-family:var(--font-display);font-style:italic;font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-s);padding:4px 11px}.history-row__result--win{color:#101010;background:var(--host)}.history-row__result--lose{color:#fff;background:var(--guest)}.history-row__result--draw{color:var(--text-dim);background:var(--surface-1);border:1px solid var(--border)}.skeleton{border-radius:var(--radius-l);background:linear-gradient(90deg,var(--surface-1) 25%,var(--surface-2) 50%,var(--surface-1) 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pop-in{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-soft{0%,to{box-shadow:0 0 12px rgba(255,214,0,.3)}50%{box-shadow:0 0 24px rgba(255,214,0,.6)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}