@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/dm-sans-latin-400-normal.woff2) format("woff2");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:DM Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/fonts/dm-sans-latin-400-italic.woff2) format("woff2");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:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/dm-sans-latin-600-normal.woff2) format("woff2");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:Orbitron;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/orbitron-latin-500-normal.woff2) format("woff2");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:Orbitron;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/orbitron-latin-700-normal.woff2) format("woff2");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{--bg-deep: #070b14;--bg-mid: #0e1524;--bg-panel: #141c2e;--ink: #f4f7ff;--ink-muted: #9aa8c7;--neon-cyan: #00f0ff;--neon-magenta: #ff2bd6;--neon-yellow: #ffe600;--accent: var(--neon-cyan);--accent-soft: #9af8ff;--danger: #ff3d7a;--ok: var(--neon-yellow);--board-light: #7a96c4;--board-dark: #0b1424;--board-hl: color-mix(in srgb, var(--neon-cyan) 55%, #2a4060);--glow-cyan: 0 0 8px color-mix(in srgb, var(--neon-cyan) 80%, transparent), 0 0 22px color-mix(in srgb, var(--neon-cyan) 45%, transparent);--glow-magenta: 0 0 8px color-mix(in srgb, var(--neon-magenta) 80%, transparent), 0 0 22px color-mix(in srgb, var(--neon-magenta) 45%, transparent);--font-display: "Orbitron", "Segoe UI", system-ui, sans-serif;--font-body: "DM Sans", system-ui, sans-serif;color:var(--ink);background:var(--bg-deep);font-family:var(--font-body);line-height:1.45;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;min-height:100dvh}body{background:radial-gradient(ellipse 70% 50% at 15% 0%,color-mix(in srgb,var(--neon-magenta) 18%,transparent) 0%,transparent 55%),radial-gradient(ellipse 60% 45% at 90% 100%,color-mix(in srgb,var(--neon-cyan) 16%,transparent) 0%,transparent 50%),linear-gradient(180deg,transparent 0%,color-mix(in srgb,#000 55%,transparent) 100%),repeating-linear-gradient(0deg,transparent,transparent 31px,color-mix(in srgb,var(--neon-cyan) 4%,transparent) 31px,color-mix(in srgb,var(--neon-cyan) 4%,transparent) 32px),repeating-linear-gradient(90deg,transparent,transparent 31px,color-mix(in srgb,var(--neon-cyan) 4%,transparent) 31px,color-mix(in srgb,var(--neon-cyan) 4%,transparent) 32px),var(--bg-deep)}button,input{font:inherit}button{cursor:pointer;border:none;border-radius:12px;padding:.75rem 1.25rem;font-weight:700;letter-spacing:.02em;color:#041018;background:linear-gradient(180deg,#7dffff 0%,var(--neon-cyan) 42%,#00a8b8 100%);box-shadow:0 4px #007a88,0 6px color-mix(in srgb,#000 35%,transparent),inset 0 1px color-mix(in srgb,#fff 55%,transparent),0 0 12px color-mix(in srgb,var(--neon-cyan) 55%,transparent),0 0 28px color-mix(in srgb,var(--neon-magenta) 25%,transparent);text-shadow:0 1px 0 color-mix(in srgb,#fff 35%,transparent);transform:translateY(0);transition:transform .12s ease,box-shadow .18s ease,filter .18s ease;animation:buttonDisco 3.6s ease-in-out infinite}button:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 6px #007a88,0 8px color-mix(in srgb,#000 35%,transparent),inset 0 1px color-mix(in srgb,#fff 55%,transparent),0 0 18px color-mix(in srgb,var(--neon-cyan) 75%,transparent),0 0 36px color-mix(in srgb,var(--neon-magenta) 40%,transparent)}button:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #007a88,0 2px color-mix(in srgb,#000 25%,transparent),inset 0 2px 4px color-mix(in srgb,#000 25%,transparent),0 0 10px color-mix(in srgb,var(--neon-cyan) 50%,transparent);animation:none}button:focus-visible{outline:2px solid var(--neon-yellow);outline-offset:3px}button:disabled{opacity:.45;cursor:not-allowed;animation:none;filter:grayscale(.35);box-shadow:0 2px color-mix(in srgb,#000 30%,transparent),inset 0 1px color-mix(in srgb,#fff 20%,transparent)}button.ghost{color:var(--ink);background:color-mix(in srgb,var(--bg-panel) 70%,transparent);border:1px solid color-mix(in srgb,var(--neon-cyan) 35%,transparent);box-shadow:0 3px color-mix(in srgb,var(--neon-cyan) 25%,transparent),inset 0 1px color-mix(in srgb,#fff 10%,transparent),0 0 10px color-mix(in srgb,var(--neon-cyan) 15%,transparent);text-shadow:none;animation:none}button.ghost:hover:not(:disabled){border-color:var(--neon-cyan);box-shadow:0 4px color-mix(in srgb,var(--neon-cyan) 40%,transparent),0 0 16px color-mix(in srgb,var(--neon-cyan) 35%,transparent)}button.danger{color:#fff;background:linear-gradient(180deg,#ff7aad 0%,var(--danger) 45%,#c01050 100%);box-shadow:0 4px #8a0a3a,0 6px color-mix(in srgb,#000 35%,transparent),inset 0 1px color-mix(in srgb,#fff 40%,transparent),0 0 14px color-mix(in srgb,var(--neon-magenta) 55%,transparent);animation:none}button.danger:hover:not(:disabled){box-shadow:0 6px #8a0a3a,0 8px color-mix(in srgb,#000 35%,transparent),inset 0 1px color-mix(in srgb,#fff 40%,transparent),0 0 22px color-mix(in srgb,var(--neon-magenta) 70%,transparent)}button.primary-player{color:#1a1400;background:linear-gradient(180deg,#fff36a 0%,var(--neon-yellow) 45%,#c4b000 100%);box-shadow:0 4px #8a7a00,0 6px color-mix(in srgb,#000 35%,transparent),inset 0 1px color-mix(in srgb,#fff 50%,transparent),0 0 14px color-mix(in srgb,var(--neon-yellow) 55%,transparent),0 0 28px color-mix(in srgb,var(--neon-magenta) 20%,transparent)}button.primary-main{color:#041018;background:linear-gradient(180deg,#7dffff 0%,var(--neon-cyan) 40%,#ff2bd6 160%)}button.primary,button.selected{color:#1a0414;background:linear-gradient(180deg,#ff8aef 0%,var(--neon-magenta) 48%,#a01080 100%);box-shadow:0 4px #780860,0 6px color-mix(in srgb,#000 35%,transparent),inset 0 1px color-mix(in srgb,#fff 45%,transparent),0 0 16px color-mix(in srgb,var(--neon-magenta) 60%,transparent);animation:buttonDisco 2.8s ease-in-out infinite}button.square{animation:none;box-shadow:none;text-shadow:none;border-radius:0;padding:0;transform:none;filter:none;background:transparent;color:#e8f0ff}button.square:hover:not(:disabled),button.square:active:not(:disabled),button.square:focus-visible{transform:none;filter:none;box-shadow:none;outline:none}button.square.light{background:var(--board-light);color:#0a1220}button.square.dark{background:var(--board-dark);color:#e8f0ff}button.square.selected,button.square.target{background:var(--board-hl);box-shadow:inset 0 0 0 2px var(--neon-cyan),var(--glow-cyan)}button.square.last{box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--neon-yellow) 80%,transparent)}input{width:100%;padding:.75rem 1rem;border-radius:10px;border:1px solid color-mix(in srgb,var(--neon-cyan) 28%,transparent);background:color-mix(in srgb,var(--bg-deep) 80%,transparent);color:var(--ink);box-shadow:inset 0 0 12px color-mix(in srgb,var(--neon-cyan) 8%,transparent)}input:focus{outline:2px solid var(--neon-cyan);outline-offset:1px;border-color:var(--neon-cyan)}a{color:var(--accent-soft)}@keyframes buttonDisco{0%,to{box-shadow:0 4px #007a88,0 6px color-mix(in srgb,#000 35%,transparent),inset 0 1px color-mix(in srgb,#fff 55%,transparent),0 0 12px color-mix(in srgb,var(--neon-cyan) 55%,transparent),0 0 28px color-mix(in srgb,var(--neon-magenta) 22%,transparent)}50%{box-shadow:0 4px #007a88,0 6px color-mix(in srgb,#000 35%,transparent),inset 0 1px color-mix(in srgb,#fff 55%,transparent),0 0 16px color-mix(in srgb,var(--neon-magenta) 55%,transparent),0 0 32px color-mix(in srgb,var(--neon-yellow) 28%,transparent)}}@media(prefers-reduced-motion:reduce){button{animation:none}}.app-shell{min-height:100dvh;display:flex;flex-direction:column}.brand-bar{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;flex-shrink:0}.brand-bar--compact{padding:.3rem .75rem;align-items:center;border-bottom:1px solid color-mix(in srgb,var(--neon-cyan) 18%,transparent);background:color-mix(in srgb,var(--bg-mid) 70%,transparent);box-shadow:0 0 24px color-mix(in srgb,var(--neon-magenta) 8%,transparent)}.brand-bar--compact .brand{font-size:1.15rem;margin:0}.brand-bar--compact .muted,.brand-bar--compact .lang-switch select{font-size:.8rem}.brand-bar--compact .reconnect-chip{padding:.3rem .55rem;font-size:.8rem}.brand-bar-actions{display:flex;align-items:center;gap:.75rem}.fullscreen-toggle{font-size:.8rem;padding:.28rem .55rem;white-space:nowrap}.brand-bar--compact .fullscreen-toggle{font-size:.78rem;padding:.25rem .5rem}.lang-switch select{width:auto;padding:.35rem .55rem;border-radius:8px;border:1px solid color-mix(in srgb,var(--ink) 20%,transparent);background:color-mix(in srgb,var(--bg-deep) 55%,transparent);color:var(--ink);font-size:.85rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.brand-lockup{display:flex;align-items:baseline;gap:.55rem;min-width:0}.brand{font-family:var(--font-display);font-size:clamp(1.4rem,3vw,2rem);font-weight:700;letter-spacing:-.02em;margin:0}.brand span{color:var(--neon-magenta);text-shadow:0 0 12px color-mix(in srgb,var(--neon-magenta) 55%,transparent)}.beta-badge{display:inline-flex;align-items:center;flex-shrink:0;padding:.15rem .45rem;border-radius:6px;border:1px solid color-mix(in srgb,var(--neon-magenta) 45%,transparent);background:color-mix(in srgb,var(--neon-magenta) 14%,transparent);color:var(--neon-magenta);font-family:var(--font-display);font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1.2;transform:translateY(-.15em)}.brand-bar--compact .beta-badge{font-size:.55rem;padding:.1rem .35rem;transform:translateY(-.05em)}.brand-bar--play .beta-badge{font-size:.5rem;padding:.08rem .3rem}.muted{color:var(--ink-muted);font-size:.95rem}.page{flex:1;display:flex;flex-direction:column;padding:0 1.25rem 2rem;width:min(1100px,100%);margin:0 auto;min-height:0}.page--wide{width:100%;max-width:none}.reattach-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(10rem,14rem) auto;gap:1rem 1.25rem;align-items:end}.reattach-copy{display:grid;gap:.25rem;min-width:0}.reattach-copy strong{font-family:var(--font-display);letter-spacing:.03em}.reattach-copy p{margin:0;font-size:.95rem;line-height:1.35}.reattach-field{display:grid;gap:.35rem;min-width:0}.reattach-field label{font-size:.85rem}.reattach-action{white-space:nowrap;align-self:end}@media(max-width:720px){.reattach-row{grid-template-columns:1fr;align-items:stretch}.reattach-action{width:100%}}.page-top-bar{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;margin:0 0 .25rem}.page-top-bar .ghost{padding:.45rem .85rem;font-size:.9rem}.game-card-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:1rem;width:100%}.game-pick-card{display:flex;flex-direction:column;gap:.75rem;min-width:0;height:100%}.game-pick-icon{width:4.5rem;height:4.5rem;border-radius:14px;flex-shrink:0;object-fit:cover;background:color-mix(in srgb,var(--bg-mid) 70%,transparent);border:1px solid color-mix(in srgb,var(--neon-cyan) 35%,transparent);box-shadow:0 0 18px color-mix(in srgb,var(--neon-magenta) 12%,transparent)}.seo-page-icon{width:5.5rem;height:5.5rem;border-radius:16px;object-fit:cover;margin-bottom:.35rem;border:1px solid color-mix(in srgb,var(--neon-cyan) 35%,transparent);box-shadow:0 0 22px color-mix(in srgb,var(--neon-magenta) 14%,transparent)}.game-pick-body{display:grid;gap:.35rem;flex:1;min-width:0}.game-pick-body strong{font-family:var(--font-display);font-size:1.05rem;letter-spacing:.03em}.game-pick-card>button,.game-pick-card>a.ghost{margin-top:auto;align-self:stretch;text-align:center;justify-content:center}.game-pick-card>a.ghost{display:inline-flex;align-items:center;padding:.75rem 1.25rem;font-weight:700;letter-spacing:.02em;text-decoration:none;border-radius:12px;color:var(--ink);background:color-mix(in srgb,var(--bg-panel) 70%,transparent);border:1px solid color-mix(in srgb,var(--neon-cyan) 35%,transparent);box-shadow:0 3px color-mix(in srgb,var(--neon-cyan) 25%,transparent),inset 0 1px color-mix(in srgb,#fff 10%,transparent),0 0 10px color-mix(in srgb,var(--neon-cyan) 15%,transparent)}.page--boardplay,.page--lobby{width:100%;max-width:none;padding:.4rem .6rem .6rem;overflow:hidden;position:relative}.page--boardplay .reconnect-banner,.page--lobby .reconnect-banner{flex-shrink:0;margin-bottom:.35rem}.hero-role{flex:1;display:grid;align-content:center;gap:1.5rem;padding:2rem 0 3rem;animation:rise .6s ease both}.hero-role h1{font-family:var(--font-display);font-size:clamp(2.4rem,8vw,4.5rem);line-height:1.05;margin:0;max-width:12ch}.hero-role p{margin:0;max-width:36ch;color:var(--ink-muted);font-size:1.1rem}.hero-role .role-blurb{max-width:min(100%,52rem);width:100%;line-height:1.5}.role-actions{display:grid;grid-template-columns:1fr 1fr;gap:1rem;width:100%;margin-top:.5rem}.role-actions .role-card{min-width:0;width:100%;min-height:7.5rem;padding:1.5rem 1.35rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.35rem;text-align:left;font-size:1.05rem}.role-card-title{font-family:var(--font-display);font-size:clamp(1.15rem,2.8vw,1.55rem);letter-spacing:.04em;line-height:1.15}.role-card-hint{font-size:.9rem;font-weight:600;opacity:.85}.role-actions button.primary-main{background:var(--accent)}.role-actions button.primary-player{background:var(--ok);color:#0f1c14}.seo-page{gap:1.25rem;padding-bottom:3rem;animation:rise .6s ease both}.seo-page h1{font-family:var(--font-display);font-size:clamp(2rem,6vw,3.25rem);line-height:1.1;margin:0}.seo-page h2{font-family:var(--font-display);font-size:1.35rem;margin:0 0 .5rem}.seo-lead{margin:0;max-width:42ch;color:var(--ink-muted);font-size:1.1rem}.seo-free-note{margin:0;max-width:48ch;font-size:.95rem;color:var(--ink)}.seo-game-list{list-style:none;margin:0;padding:0;display:grid;gap:1rem}.seo-page.page--wide .seo-lead,.seo-page.page--wide .seo-free-note{max-width:min(100%,52rem)}.seo-game-card{display:grid;gap:.5rem;padding:1.25rem}.seo-game-card.game-pick-card{display:flex;flex-direction:column}.seo-game-card h2{margin:0}.seo-game-card h2 a,.seo-game-card h3 a{color:inherit;text-decoration:none}.seo-game-card h2 a:hover,.seo-game-card h3 a:hover{color:var(--accent-soft)}.seo-game-card h3{margin:0;font-family:var(--font-display);font-size:1.15rem}.seo-section{padding:1.25rem;max-width:48rem}.seo-section--wide{max-width:min(100%,52rem)}.seo-section p{margin:0;color:var(--ink-muted)}.seo-faq{margin:0;display:grid;gap:1rem}.seo-faq-item h3{font-family:var(--font-display);font-size:1.05rem;margin:0 0 .35rem;color:var(--ink)}.seo-faq-item dd{margin:0;color:var(--ink-muted)}.seo-steps{margin:.75rem 0 0;padding-left:1.5rem;display:grid;gap:.85rem;color:var(--ink-muted)}.seo-steps li strong{color:var(--ink)}.seo-steps a{color:var(--accent-soft);font-weight:600}.seo-platform-list{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.65rem}.seo-platform-list li{padding:.55rem .9rem;border-radius:10px;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--ink);font-weight:600;font-size:.95rem}.seo-faq--accordion{gap:.65rem}.seo-faq--accordion .seo-faq-item{border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:12px;background:color-mix(in srgb,var(--bg-panel) 80%,transparent);padding:.35rem .9rem}.seo-faq--accordion summary{cursor:pointer;list-style:none;padding:.65rem 0}.seo-faq--accordion summary::-webkit-details-marker{display:none}.seo-faq--accordion summary h3{display:inline;font-family:var(--font-display);font-size:1.05rem;margin:0;color:var(--ink)}.seo-faq--accordion summary:after{content:"+";float:right;color:var(--neon-cyan);font-weight:700}.seo-faq--accordion details[open] summary:after{content:"−"}.seo-faq--accordion .seo-faq-item>p{margin:0 0 .85rem;color:var(--ink-muted)}.seo-intro-banner{display:grid;gap:.75rem}.seo-category-block{margin-top:1.1rem;display:grid;gap:.35rem}.seo-category-block h3{margin:0;font-family:var(--font-display);font-size:1.1rem;color:var(--accent-soft)}.seo-category-block a{color:var(--neon-cyan);font-weight:600;text-decoration:none}.seo-category-block a:hover{text-decoration:underline}.seo-why-list{list-style:none;margin:.85rem 0 0;padding:0;display:grid;gap:.85rem}.seo-why-list li{display:grid;gap:.25rem}.seo-why-list strong{font-family:var(--font-display);color:var(--ink)}.seo-why-list span{color:var(--ink-muted)}.seo-compare-wrap{overflow-x:auto;margin-top:.75rem;border-radius:12px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}.seo-compare-table{width:100%;border-collapse:collapse;min-width:28rem;font-size:.95rem}.seo-compare-table th,.seo-compare-table td{padding:.85rem 1rem;text-align:left;vertical-align:top;border-bottom:1px solid color-mix(in srgb,var(--ink-muted) 25%,transparent)}.seo-compare-table thead th{font-family:var(--font-display);font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-soft);background:color-mix(in srgb,var(--accent) 12%,transparent)}.seo-compare-table tbody th{color:var(--ink);font-weight:600;width:32%}.seo-compare-table tbody td:first-of-type{color:var(--ok);font-weight:600}.seo-compare-table tbody tr:last-child th,.seo-compare-table tbody tr:last-child td{border-bottom:none}.seo-alt-game-list{margin:.75rem 0 0;padding-left:1.25rem;display:grid;gap:.65rem;color:var(--ink-muted)}.seo-alt-game-list a{color:var(--accent-soft);font-weight:600;text-decoration:none}.seo-alt-game-list a:hover{text-decoration:underline}.seo-cta-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:.25rem}.seo-cta-row a.primary-main,.seo-cta-row a.primary-player,.seo-cta-row a.ghost{display:inline-flex;align-items:center;justify-content:center;min-width:10rem;padding:1rem 1.5rem;font-size:1.05rem;text-decoration:none;border-radius:12px;border:1px solid transparent;color:inherit}.seo-cta-row a.primary-main{background:var(--accent);color:#0f1c14;font-weight:600}.seo-cta-row a.primary-player{background:var(--ok);color:#0f1c14;font-weight:600}.seo-inline-link{margin:0}.seo-inline-link a{color:var(--accent-soft)}.panel{background:color-mix(in srgb,var(--bg-panel) 88%,transparent);border:1px solid color-mix(in srgb,var(--neon-cyan) 22%,transparent);border-radius:16px;padding:1.25rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 0 0 1px color-mix(in srgb,var(--neon-magenta) 8%,transparent),0 12px 40px color-mix(in srgb,#000 35%,transparent),inset 0 0 24px color-mix(in srgb,var(--neon-cyan) 4%,transparent)}.stack{display:flex;flex-direction:column;gap:1rem}.row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.error-banner{background:color-mix(in srgb,var(--danger) 25%,transparent);border:1px solid var(--danger);color:#ffd8d2;padding:.75rem 1rem;border-radius:10px}.app-toast-host{position:fixed;top:.5rem;left:50%;transform:translate(-50%);z-index:50;width:min(520px,calc(100vw - 1rem));display:flex;flex-direction:column;gap:.4rem;pointer-events:none}.app-toast-host .error-banner,.app-toast-host .reconnect-banner{pointer-events:auto;margin:0;box-shadow:0 8px 28px color-mix(in srgb,#000 35%,transparent)}.reconnect-banner{background:color-mix(in srgb,var(--accent) 18%,transparent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent-soft);padding:.65rem 1rem;border-radius:10px;font-weight:600}.reconnect-chip{padding:.35rem .7rem;font-size:.85rem}.confirm-modal{border:none;padding:0;background:transparent;max-width:min(420px,calc(100vw - 2rem))}.confirm-modal::backdrop{background:color-mix(in srgb,#000 55%,transparent)}.confirm-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:1rem;background:color-mix(in srgb,#000 45%,transparent);pointer-events:auto}.confirm-overlay .confirm-modal-panel{max-width:min(380px,100%);width:100%}.player-play-stage>.confirm-overlay{position:absolute}.confirm-modal-panel{background:var(--bg-panel);color:var(--ink);border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:16px;padding:1.25rem;display:flex;flex-direction:column;gap:.85rem;box-shadow:0 24px 60px color-mix(in srgb,#000 45%,transparent)}.confirm-modal-panel h3{margin:0;font-family:var(--font-display);font-size:1.35rem}.confirm-modal-panel p{margin:0}.qr-wrap{display:grid;place-items:center;gap:.75rem;padding:1rem}.qr-wrap--rail{flex-shrink:0;padding:.25rem 0 .5rem;gap:.35rem;border-bottom:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}.qr-wrap--rail img{width:min(100%,112px);padding:.25rem}.qr-wrap--rail .room-code{font-size:1rem;letter-spacing:.1em;margin:0}.room-join-link{display:flex;flex-direction:row;align-items:center;gap:.35rem;width:100%;max-width:320px;text-align:left}.room-join-link--compact{max-width:none}.room-join-link-url{flex:1;min-width:0;font-size:.72rem;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:color-mix(in srgb,var(--accent) 85%,var(--ink));text-decoration:none}.room-join-link-url:hover{text-decoration:underline}.room-join-link-copy{flex-shrink:0;font-size:.75rem;padding:.2rem .55rem}.main-sound-toggle{font-size:.78rem;padding:.28rem .65rem;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:inherit;cursor:pointer;white-space:nowrap}.main-sound-toggle:hover{background:#ffffff1f}.main-sound-toggle[aria-pressed=true]{border-color:#78dca073;background:#50b47826}.main-sound-toggle--rail{width:100%;max-width:112px}.race-track-picker{flex-shrink:0;display:flex;flex-direction:column;gap:.45rem}.race-track-picker-list{display:flex;flex-wrap:wrap;gap:.35rem}.race-track-pick{flex:1 1 calc(50% - .35rem);min-width:5.5rem;padding:.4rem .55rem;font-size:.85rem;border-radius:8px;border:1px solid color-mix(in srgb,var(--neon-cyan) 28%,transparent);background:color-mix(in srgb,var(--bg-deep) 55%,transparent);color:var(--ink);box-shadow:0 0 10px color-mix(in srgb,var(--neon-cyan) 10%,transparent);animation:none}.race-track-pick.is-selected{border-color:var(--neon-cyan);background:color-mix(in srgb,var(--neon-cyan) 18%,transparent);font-weight:600;box-shadow:var(--glow-cyan)}.race-track-pick:disabled:not(.is-selected){opacity:.65}.lobby-stage{container-type:size;min-width:0;min-height:0;height:100%;display:flex;align-items:stretch;justify-content:stretch;overflow:hidden}.lobby-stage-preview{flex:1;min-width:0;min-height:0;width:100%;height:100%;display:flex;align-items:stretch;justify-content:stretch;overflow:hidden}.lobby-stage-fallback{margin:auto;width:min(360px,100%)}.lobby-preview{width:100%;height:100%;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.lobby-preview--board{container-type:size;padding:.35rem}.lobby-preview--board .chess-main--preview,.lobby-preview--board .mono-board--preview,.lobby-preview--board .scrabble-board--preview,.lobby-preview--board .pict-lobby-preview{width:min(100cqw,100cqh,100%);max-width:100%;max-height:100%}.chess-main--preview{width:100%;height:100%;min-height:0;display:flex;align-items:center;justify-content:center}.chess-main--preview .board-stage{width:min(100%,100cqh,520px);max-width:100%}.mono-board--preview{width:min(100%,100cqh,520px);animation:none}.mono-board--preview .mono-cell-name{font-size:clamp(.4rem,1.1cqi,.7rem)}.lobby-preview--screen{width:100%;height:100%;min-width:0;min-height:0;display:flex;align-items:stretch;justify-content:stretch;padding:0;box-sizing:border-box}.lobby-preview-bezel{width:100%;height:100%;min-width:0;min-height:0;border-radius:16px;padding:10px;box-sizing:border-box;display:flex;flex-direction:column;background:linear-gradient(160deg,#2a2f36,#12151a 55%,#0b0d10);box-shadow:0 12px 36px color-mix(in srgb,#000 35%,transparent),inset 0 0 0 1px color-mix(in srgb,#fff 12%,transparent)}.lobby-preview-canvas-wrap{position:relative;flex:1;min-width:0;min-height:0;display:flex;border-radius:10px;overflow:hidden}.lobby-preview-canvas{flex:1;width:100%;min-height:0;height:auto!important;border-radius:10px;overflow:hidden;box-shadow:none}.race-track-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;display:grid;place-items:center;pointer-events:none;background:color-mix(in srgb,#0a1220 72%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.race-track-loading-card{display:flex;flex-direction:column;align-items:center;gap:.85rem;padding:1.1rem 1.35rem;border-radius:14px;background:color-mix(in srgb,#121a2c 88%,transparent);border:1px solid color-mix(in srgb,#7dffff 28%,transparent);box-shadow:0 10px 28px color-mix(in srgb,#000 40%,transparent)}.race-track-loading-spinner{width:2.35rem;height:2.35rem;border-radius:50%;border:3px solid color-mix(in srgb,#7dffff 22%,transparent);border-top-color:#7dffff;animation:race-track-spin .75s linear infinite}.race-track-loading-label{font-family:var(--font-display, Orbitron, sans-serif);font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:#c8f7ff}@keyframes race-track-spin{to{transform:rotate(360deg)}}.qr-wrap img{width:min(320px,70vw);height:auto;border-radius:12px;background:#fff;padding:.75rem;animation:softPulse 3s ease-in-out infinite}.room-code{font-family:var(--font-display);font-size:clamp(2rem,6vw,3.5rem);letter-spacing:.18em;margin:0}.player-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.player-list li{display:flex;flex-direction:column;align-items:stretch;padding:.65rem .85rem;border-radius:10px;background:color-mix(in srgb,var(--bg-deep) 45%,transparent)}.room-meta{display:flex;flex-direction:column;gap:.2rem;font-size:.9rem;font-variant-numeric:tabular-nums}.player-list-main{display:flex;justify-content:space-between;gap:.5rem;width:100%}.player-split-tag{font-size:.75rem;margin-top:.15rem}.split-btn{margin-top:.35rem;padding:.35rem .65rem;font-size:.8rem;width:100%}.confirm-modal-panel input{width:100%}.turn-banner{text-align:center;padding:.85rem 1rem;border-radius:12px;font-family:var(--font-display);font-size:clamp(1.15rem,4.5vw,1.6rem);font-weight:700;background:color-mix(in srgb,var(--neon-cyan) 18%,transparent);border:1px solid color-mix(in srgb,var(--neon-cyan) 55%,transparent);color:var(--accent-soft);box-shadow:var(--glow-cyan);animation:neonPulse 1.8s ease-in-out infinite}.turn-banner.waiting{background:color-mix(in srgb,var(--bg-panel) 80%,transparent);border-color:color-mix(in srgb,var(--ink) 12%,transparent);color:var(--ink-muted);box-shadow:none;animation:none;font-size:1rem;font-family:var(--font-body);font-weight:600}.dot{width:.55rem;height:.55rem;border-radius:50%;display:inline-block;margin-right:.4rem;background:var(--neon-yellow);box-shadow:0 0 8px color-mix(in srgb,var(--neon-yellow) 70%,transparent)}.dot.off{background:var(--ink-muted);box-shadow:none}.main-layout{display:grid;gap:1.25rem}@media(min-width:900px){.main-layout{grid-template-columns:1fr 320px;align-items:start}}.main-layout--boardplay,.main-layout--lobby{flex:1;min-height:0;gap:.6rem;align-items:stretch;grid-template-columns:minmax(0,1fr) 240px}.main-layout--lobby{grid-template-columns:minmax(0,1fr) 300px}@media(min-width:800px){.main-layout--boardplay{grid-template-columns:minmax(0,1fr) 250px}.main-layout--lobby{grid-template-columns:minmax(0,1fr) 320px}}.aside--lobby{overflow:auto}@media(min-width:1600px){.main-layout--boardplay{grid-template-columns:minmax(0,1fr) 280px;gap:.75rem}.main-layout--lobby{grid-template-columns:minmax(0,1fr) 360px;gap:.75rem}.page--boardplay,.page--lobby{padding:.5rem .75rem .75rem}.brand-bar--compact{padding:.4rem .9rem}.brand-bar--compact .brand{font-size:1.3rem}.aside--rail{padding:.85rem .9rem;gap:.65rem;border-radius:16px}.rail-section-label{font-size:.8rem}.room-code-sm{font-size:1.05rem}.aside--rail .player-list{font-size:1rem}.rail-log ul{font-size:.9rem;gap:.4rem}.rail-end,.rail-actions__btn{padding:.65rem .9rem;font-size:.95rem}.status-pill{font-size:.95rem;padding:.4rem .85rem}}@media(min-width:2800px){.main-layout--boardplay{grid-template-columns:minmax(0,1fr) 320px;gap:.9rem}.main-layout--lobby{grid-template-columns:minmax(0,1fr) 400px;gap:.9rem}.page--boardplay,.page--lobby{padding:.55rem .85rem .85rem}.brand-bar--compact{padding:.45rem 1rem}.brand-bar--compact .brand{font-size:1.4rem}.aside--rail{padding:.95rem 1rem}.aside--rail .player-list{font-size:1.1rem}.rail-log ul{font-size:1rem}.status-pill{font-size:1.05rem}}.boardplay-stage{container-type:size;min-width:0;min-height:0;height:100%;display:grid;place-items:center;overflow:hidden}.aside--rail{padding:.7rem .75rem;gap:.55rem;min-width:0;min-height:0;height:100%;max-width:100%;overflow:hidden;display:flex;flex-direction:column}.rail-header{flex-shrink:0}.rail-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.room-code-sm{font-family:var(--font-display);font-size:.95rem;letter-spacing:.06em;color:var(--accent-soft)}.rail-meta{font-size:.8rem;font-variant-numeric:tabular-nums;margin-top:.15rem!important}.rail-section-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);margin-bottom:.3rem}.rail-players{flex-shrink:0;max-height:42%;overflow:auto}.aside--rail .player-list{gap:.35rem;font-size:.9rem}.aside--rail .player-list li{padding:.2rem 0}.player-list-turn{color:var(--accent-soft);font-weight:600}.rail-log{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-top:1px solid color-mix(in srgb,var(--ink) 10%,transparent);padding-top:.45rem}.rail-log ul{list-style:none;margin:0;padding:0;overflow:auto;font-size:.78rem;line-height:1.35;color:var(--ink-muted);display:flex;flex-direction:column;gap:.35rem}.rail-end{flex-shrink:0;margin-top:auto;padding:.55rem .85rem;font-size:.9rem}.rail-actions{flex-shrink:0;margin-top:auto;display:flex;flex-direction:column;gap:.4rem;width:100%}.rail-actions__btn{width:100%;margin:0;padding:.55rem .85rem;font-size:.9rem}.board-stage{width:min(100%,72vh,640px);margin:0 auto;aspect-ratio:1;animation:boardIn .5s ease both;container-type:size}.page--boardplay .board-stage{width:min(100cqw,100cqh);max-width:100%;max-height:100%;margin:0}.board-shell{position:relative;width:100%;height:100%;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px color-mix(in srgb,var(--neon-cyan) 35%,transparent),0 0 28px color-mix(in srgb,var(--neon-cyan) 25%,transparent),0 20px 50px color-mix(in srgb,#000 55%,transparent);transform-origin:50% 50%;will-change:transform}.square{position:relative;display:grid;place-items:center;-webkit-user-select:none;user-select:none;font-size:clamp(1.4rem,11cqi,5.5rem);line-height:1;border:none;border-radius:0;padding:0;color:#0a1220;transition:background .12s ease,box-shadow .12s ease;background:transparent}.square-face{position:relative;display:grid;place-items:center;width:100%;height:100%;transform-origin:50% 50%;will-change:transform}.piece-flight{position:absolute;width:12.5%;height:12.5%;display:grid;place-items:center;font-size:clamp(1.4rem,4.5vw,2.6rem);line-height:1;pointer-events:none;z-index:6;color:#e8f0ff;transition:left .4s cubic-bezier(.22,.61,.36,1),top .4s cubic-bezier(.22,.61,.36,1);transform-origin:50% 50%;filter:drop-shadow(0 0 8px var(--neon-cyan));animation:tokenTrail .4s ease-out;text-shadow:0 1px 2px #000}.piece-flight .square-face{filter:drop-shadow(0 0 10px color-mix(in srgb,var(--neon-magenta) 70%,transparent))}@media(prefers-reduced-motion:reduce){.piece-flight{transition-duration:.01ms;animation:none}}.square.light{background:var(--board-light);color:#0a1220}.square.dark{background:var(--board-dark);color:#e8f0ff}.square.selected,.square.target{background:var(--board-hl)}.square.last{box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--neon-yellow) 80%,transparent)}.square:disabled{opacity:1}.coord{position:absolute;font-size:.55rem;opacity:.55;font-family:var(--font-body);pointer-events:none}.coord.file{right:3px;bottom:2px}.coord.rank{left:3px;top:2px}.scanner-box{overflow:hidden;border-radius:12px;min-height:240px;background:#000}.scanner-box video{width:100%!important}.phone-controls{display:flex;flex-direction:column;gap:.75rem;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.page--player-play,.page--player-play *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.page--player-play input,.page--player-play textarea,.page--player-play select{-webkit-user-select:text;user-select:text}.page--player-play{width:100%;max-width:none;padding:0;gap:0;overflow:hidden}.player-play-stage{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;background:#0f1c14}.player-play-stage>.qc-root,.player-play-stage>.phone-controls{flex:1;min-height:0}.player-play-chrome{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .5rem;padding-top:max(.35rem,env(safe-area-inset-top));padding-left:max(.5rem,env(safe-area-inset-left));padding-right:max(.5rem,env(safe-area-inset-right));pointer-events:none;background:linear-gradient(to bottom,rgba(8,14,10,.55),transparent)}.player-play-meta{display:flex;align-items:center;gap:.5rem;min-width:0}.player-play-code{font-family:var(--font-display);font-size:.85rem;letter-spacing:.04em;color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.5)}.player-play-status{font-size:.75rem;color:#f5d76e}.player-play-leave{pointer-events:auto;padding:.25rem .55rem;font-size:.8rem;color:#ffffffe6;background:#0f1c148c;border-radius:6px}.player-play-loading{margin:auto;padding:1rem}.player-play-stage>.turn-banner{position:absolute;top:2.1rem;left:50%;transform:translate(-50%);z-index:5;width:auto;max-width:min(90%,22rem);padding:.35rem .7rem;font-size:.85rem;border-radius:8px;pointer-events:none}.brand-bar--play{padding:.2rem .65rem}.brand-bar--play .brand{font-size:1rem}.brand-bar--play .brand-bar-actions{gap:.45rem}@media(orientation:landscape)and (max-height:520px){.brand-bar--play{display:none}}.status-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border-radius:999px;background:color-mix(in srgb,var(--neon-cyan) 16%,transparent);border:1px solid color-mix(in srgb,var(--neon-cyan) 40%,transparent);color:var(--accent-soft);font-size:.85rem;font-weight:600;box-shadow:0 0 12px color-mix(in srgb,var(--neon-cyan) 25%,transparent)}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes boardIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes softPulse{0%,to{transform:scale(1)}50%{transform:scale(1.015)}}@keyframes neonPulse{0%,to{box-shadow:0 0 8px color-mix(in srgb,var(--neon-cyan) 45%,transparent),0 0 18px color-mix(in srgb,var(--neon-cyan) 25%,transparent)}50%{box-shadow:0 0 14px color-mix(in srgb,var(--neon-magenta) 55%,transparent),0 0 28px color-mix(in srgb,var(--neon-yellow) 30%,transparent)}}@keyframes turnSweep{0%{opacity:.15;transform:scale(.98)}40%{opacity:1}to{opacity:0;transform:scale(1.02)}}@keyframes winFanfare{0%,to{box-shadow:0 0 12px color-mix(in srgb,var(--neon-magenta) 50%,transparent),0 0 28px color-mix(in srgb,var(--neon-cyan) 35%,transparent)}50%{box-shadow:0 0 22px color-mix(in srgb,var(--neon-yellow) 70%,transparent),0 0 40px color-mix(in srgb,var(--neon-magenta) 50%,transparent)}}@keyframes tokenTrail{0%{filter:drop-shadow(0 0 2px var(--neon-cyan))}50%{filter:drop-shadow(0 0 16px var(--neon-magenta))}to{filter:drop-shadow(0 0 8px var(--neon-cyan))}}@media(prefers-reduced-motion:reduce){.turn-banner,.scorecard--active,.scorecard--winner,.broadcast-win,.chess-main-result,.chess3d-result,.mono-result,.broadcast-turn-flash,.scrabble-cell--star .scrabble-mult-label,.scrabble-cell--land,.scrabble-score-burst,.scrabble-result{animation:none!important}}.mono-main{width:100%;height:100%;min-height:0;display:grid;place-items:center}.mono-board{container-type:size;display:grid;grid-template-columns:repeat(11,minmax(0,1fr));grid-template-rows:repeat(11,minmax(0,1fr));gap:clamp(2px,.28cqi,8px);aspect-ratio:1;width:min(100cqw,100cqh);max-width:100%;max-height:100%;background:#060a14;padding:clamp(3px,.4cqi,10px);border-radius:clamp(10px,.9cqi,20px);box-shadow:0 12px 40px color-mix(in srgb,#000 50%,transparent),0 0 0 1px color-mix(in srgb,var(--neon-cyan) 35%,transparent),0 0 32px color-mix(in srgb,var(--neon-magenta) 18%,transparent);animation:boardIn .45s ease both}.mono-cell{position:relative;background:#121a2c;color:var(--ink);font-size:clamp(.5rem,1.45cqi,1.65rem);line-height:1.15;overflow:hidden;min-height:0;padding:clamp(2px,.35cqi,10px);border:1px solid color-mix(in srgb,var(--neon-cyan) 12%,transparent)}.mono-cell-go,.mono-cell-jail,.mono-cell-free,.mono-cell-gotojail{background:color-mix(in srgb,var(--neon-yellow) 22%,#121a2c);font-weight:700;font-size:clamp(.55rem,1.6cqi,1.85rem);color:var(--neon-yellow)}.mono-cell-chance{background:color-mix(in srgb,var(--neon-magenta) 28%,#121a2c)}.mono-cell-community{background:color-mix(in srgb,var(--neon-cyan) 28%,#121a2c)}.mono-cell-tax{background:color-mix(in srgb,var(--danger) 28%,#121a2c)}.mono-cell-stripe{height:clamp(14%,1.6cqi,22%);margin:calc(clamp(2px,.35cqi,10px)*-1) calc(clamp(2px,.35cqi,10px)*-1) clamp(2px,.35cqi,8px)}.mono-cell-name{font-weight:700;letter-spacing:.01em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.mono-tokens{position:absolute;right:clamp(1px,.25cqi,6px);bottom:clamp(1px,.25cqi,6px);display:flex;flex-wrap:wrap;gap:clamp(1px,.2cqi,4px);font-size:clamp(.85rem,2.6cqi,2.75rem);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--neon-cyan) 55%,transparent));z-index:2}.mono-token{display:inline-block;transform-origin:50% 80%;will-change:transform}.mono-token--hop{animation:monoTokenHop .18s ease-out,tokenTrail .18s ease-out}@keyframes monoTokenHop{0%{transform:translateY(0) scale(1)}35%{transform:translateY(-35%) scale(1.18);filter:drop-shadow(0 0 12px var(--neon-yellow))}to{transform:translateY(0) scale(1)}}.mono-houses{font-size:clamp(.55rem,1.5cqi,1.6rem);margin-top:.1em}.mono-mortgage{position:absolute;top:clamp(2px,.3cqi,8px);right:clamp(2px,.3cqi,8px);font-weight:800;font-size:clamp(.65rem,1.5cqi,1.5rem);color:var(--neon-magenta);text-shadow:0 0 8px color-mix(in srgb,var(--neon-magenta) 60%,transparent)}.mono-owner{position:absolute;left:clamp(1px,.25cqi,6px);bottom:clamp(1px,.25cqi,6px);font-size:clamp(.55rem,1.3cqi,1.35rem);opacity:.75}.mono-center{grid-column:2 / 11;grid-row:2 / 11;background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--neon-cyan) 16%,transparent),transparent 55%),radial-gradient(circle at 80% 80%,color-mix(in srgb,var(--neon-magenta) 12%,transparent),transparent 50%),color-mix(in srgb,var(--bg-panel) 92%,#000);border-radius:clamp(8px,.8cqi,18px);border:1px solid color-mix(in srgb,var(--neon-cyan) 25%,transparent);padding:clamp(.75rem,2cqi,2rem);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(.65rem,1.5cqi,1.5rem);overflow:hidden;box-shadow:inset 0 0 40px color-mix(in srgb,var(--neon-cyan) 8%,transparent)}.mono-center-status{display:flex;flex-direction:column;align-items:center;gap:clamp(.4rem,1cqi,1rem);text-align:center}.mono-center-status .status-pill{font-size:clamp(.85rem,2cqi,1.65rem);padding:clamp(.35rem,.7cqi,.7rem) clamp(.7rem,1.4cqi,1.35rem)}.mono-dice{font-variant-numeric:tabular-nums;color:var(--ink-muted);font-size:clamp(.85rem,2.2cqi,1.6rem);font-weight:600}.dice-roll{display:flex;flex-direction:column;align-items:center;gap:clamp(.35rem,.8cqi,.85rem)}.dice-pair{display:flex;gap:clamp(.55rem,1.4cqi,1.35rem);align-items:center}.die{width:clamp(2.75rem,9.5cqi,8.5rem);height:clamp(2.75rem,9.5cqi,8.5rem);display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);place-items:center;padding:9%;border-radius:clamp(10px,1.2cqi,22px);background:linear-gradient(145deg,#fff8ea,#e8dcc4);color:#1a1408;box-shadow:0 clamp(2px,.25cqi,4px) 0 #c4b498,0 clamp(6px,.9cqi,16px) clamp(12px,1.6cqi,28px) color-mix(in srgb,#000 35%,transparent);transform-origin:50% 50%}.die--rolling{animation:dieTumble .14s linear infinite}.die-pip{width:58%;aspect-ratio:1;border-radius:50%;background:transparent}.die-pip.on{background:#1a1408}.dice-caption{font-variant-numeric:tabular-nums;color:var(--ink-muted);font-size:clamp(.85rem,2.1cqi,1.55rem);font-weight:600}.dice-roll--compact .die{width:clamp(2.4rem,4.5vw,3.5rem);height:clamp(2.4rem,4.5vw,3.5rem);border-radius:8px;box-shadow:0 1px #c4b498,0 3px 8px color-mix(in srgb,#000 25%,transparent)}.dice-roll--compact .die-pip{width:62%}.dice-roll--compact .dice-caption{font-size:clamp(.85rem,1.5vw,1.15rem)}@keyframes dieTumble{0%{transform:rotate(-12deg) scale(.94)}50%{transform:rotate(14deg) scale(1.06)}to{transform:rotate(-8deg) scale(.97)}}.mono-result{text-align:center;font-size:clamp(.95rem,2.2cqi,1.75rem);max-width:28ch;line-height:1.35;color:var(--neon-yellow);text-shadow:0 0 12px color-mix(in srgb,var(--neon-yellow) 55%,transparent);animation:winFanfare 1.4s ease-in-out infinite}.chess-main-result{flex-shrink:0;padding:.55rem .75rem;font-size:.85rem;border:1px solid color-mix(in srgb,var(--neon-magenta) 40%,transparent);box-shadow:var(--glow-magenta);animation:winFanfare 1.4s ease-in-out infinite}.chess3d-result{border:1px solid color-mix(in srgb,var(--neon-magenta) 40%,transparent);box-shadow:var(--glow-magenta);animation:winFanfare 1.4s ease-in-out infinite}.mono-actions{display:flex;flex-wrap:wrap;gap:.5rem}.mono-deed-picks{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem}.mono-deed-picks button{padding:.4rem .65rem;font-size:.8rem}.mono-main select,.phone-controls select,.phone-controls input[type=number]{width:100%;padding:.55rem .7rem;border-radius:8px;border:1px solid color-mix(in srgb,var(--ink) 20%,transparent);background:color-mix(in srgb,var(--bg-deep) 70%,transparent);color:var(--ink)}.chess3d-main{width:100%;height:100%;min-height:0;display:flex;flex-direction:column;gap:.4rem}.chess3d-chrome{flex-shrink:0;padding:.35rem .55rem;border-radius:10px;border:1px solid color-mix(in srgb,var(--neon-cyan) 30%,transparent);background:color-mix(in srgb,var(--bg-panel) 70%,transparent);box-shadow:0 0 16px color-mix(in srgb,var(--neon-cyan) 15%,transparent)}.chess3d-result{flex-shrink:0;padding:.55rem .75rem;font-size:.9rem}.game-canvas3d{flex:1;min-height:0;width:100%;height:100%;border-radius:12px;overflow:hidden;background:#070b14;box-shadow:0 0 0 1px color-mix(in srgb,var(--neon-cyan) 28%,transparent),0 0 28px color-mix(in srgb,var(--neon-cyan) 18%,transparent),0 12px 40px color-mix(in srgb,#000 50%,transparent)}.game-canvas3d canvas{display:block;width:100%!important;height:100%!important}.chess-main{container-type:size;width:100%;height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem}.chess-main-status{flex-shrink:0}.chess-main .board-stage{width:min(100cqw,calc(100cqh - 2.25rem));max-width:100%;max-height:calc(100% - 2.25rem)}.race-main{position:relative;width:100%;height:100%;min-height:0;display:flex;flex-direction:column;gap:.4rem}.race-chrome{flex-shrink:0;padding:.35rem .55rem;border-radius:10px;border:1px solid color-mix(in srgb,var(--neon-cyan) 30%,transparent);background:color-mix(in srgb,var(--bg-panel) 70%,transparent);box-shadow:0 0 16px color-mix(in srgb,var(--neon-cyan) 15%,transparent)}.race-result{flex-shrink:0;padding:.55rem .75rem;font-size:.85rem}.race-summary-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:1rem;background:color-mix(in srgb,#050810 72%,transparent);pointer-events:auto}.race-finish-confetti{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.race-summary-overlay .race-summary-modal{position:relative;z-index:1}.race-countdown-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:15;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;pointer-events:none;background:radial-gradient(circle at center,rgba(8,12,20,.45) 0%,rgba(8,12,20,.15) 55%,transparent 75%)}.race-countdown-overlay--phone{border-radius:12px;background:#080c1466}.race-countdown-beat{font-family:var(--font-display);font-weight:800;line-height:1;letter-spacing:.04em;color:var(--neon-cyan);text-shadow:0 0 18px color-mix(in srgb,var(--neon-cyan) 70%,transparent),0 8px 28px rgba(0,0,0,.55);animation:raceCountdownPop .45s ease-out both;text-align:center;padding:0 1rem}.race-countdown-overlay--main .race-countdown-beat{font-size:clamp(5rem,18vw,11rem)}.race-countdown-overlay--phone .race-countdown-beat{font-size:clamp(3.2rem,22vw,5.5rem)}.race-countdown-overlay.is-prep .race-countdown-beat{font-size:clamp(1.75rem,5.5vw,3.4rem);letter-spacing:.02em;max-width:16ch;line-height:1.15}.race-countdown-overlay--phone.is-prep .race-countdown-beat{font-size:clamp(1.35rem,6vw,2rem)}.race-countdown-sub{font-family:var(--font-display);font-size:clamp(1rem,2.4vw,1.45rem);font-weight:600;color:#ffffffe0;text-align:center;text-shadow:0 4px 16px rgba(0,0,0,.45);padding:0 1.25rem}.race-countdown-overlay.is-go .race-countdown-beat{color:var(--neon-yellow);text-shadow:0 0 22px color-mix(in srgb,var(--neon-yellow) 75%,transparent),0 0 40px color-mix(in srgb,var(--neon-magenta) 40%,transparent),0 8px 28px rgba(0,0,0,.55)}@keyframes raceCountdownPop{0%{opacity:0;transform:scale(.65)}55%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.race-summary-modal{width:min(420px,100%);max-height:min(80vh,560px);overflow:auto;gap:.75rem;border:1px solid color-mix(in srgb,var(--neon-magenta) 40%,transparent);box-shadow:var(--glow-magenta),0 16px 48px color-mix(in srgb,#000 45%,transparent)}.race-summary-winner{font-size:1.15rem;font-weight:600}.race-summary-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.35rem}.race-summary-list li{display:flex;align-items:center;gap:.65rem;font-weight:600}.race-summary-place{display:inline-grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:6px;background:color-mix(in srgb,var(--neon-cyan) 22%,transparent);border:1px solid color-mix(in srgb,var(--neon-cyan) 45%,transparent);font-size:.85rem;color:var(--accent-soft);box-shadow:0 0 8px color-mix(in srgb,var(--neon-cyan) 30%,transparent)}.race-phone--results{max-width:28rem;margin:0 auto;border:1px solid color-mix(in srgb,var(--neon-magenta) 35%,transparent);box-shadow:var(--glow-magenta)}.race-vote-actions{gap:.5rem;flex-wrap:wrap}.race-vote-actions button{flex:1;min-width:6rem}.race-split-root{position:relative;flex:1;min-height:0;width:100%;border-radius:12px;overflow:hidden;background:#0b1220}.race-split-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border-radius:0;box-shadow:none}.race-split-hud{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;display:grid;gap:3px;padding:0}.race-split-hud--1{grid-template-columns:1fr;grid-template-rows:1fr}.race-split-hud--2{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.race-split-hud--3{grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr}.race-split-hud--4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.race-split-pane-hud{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.15rem;padding:.45rem .55rem;box-shadow:inset 0 0 0 3px var(--race-pane-color, var(--neon-cyan)),0 0 18px color-mix(in srgb,var(--race-pane-color, var(--neon-cyan)) 35%,transparent);background:linear-gradient(180deg,color-mix(in srgb,#000 55%,transparent) 0%,transparent 42%);border-radius:4px}.race-split-name{font-family:var(--font-display);font-size:clamp(.85rem,1.6vw,1.15rem);color:#fff;text-shadow:0 1px 4px #000}.race-split-meta{font-size:clamp(.7rem,1.2vw,.9rem);color:color-mix(in srgb,#fff 88%,transparent);text-shadow:0 1px 3px #000}.race-phone{position:relative;display:flex;flex-direction:column;gap:.85rem;width:100%;min-height:100%;padding:.75rem;box-sizing:border-box;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.race-phone *,.race-phone *:before,.race-phone *:after{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important}.race-phone button{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.race-phone--gate{justify-content:center;text-align:center;min-height:60dvh}.race-phone-hud{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:.5rem;text-align:center;align-items:start;padding:.55rem .65rem;border-radius:12px;border:1px solid color-mix(in srgb,var(--neon-cyan) 35%,transparent);background:color-mix(in srgb,var(--bg-panel) 75%,transparent);box-shadow:0 0 16px color-mix(in srgb,var(--neon-cyan) 18%,transparent),inset 0 0 20px color-mix(in srgb,var(--neon-cyan) 6%,transparent)}.race-phone-hud-lap{text-align:center}.race-phone-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;opacity:.7}.race-phone-value{font-family:var(--font-display);font-size:1.75rem;line-height:1.1}.race-phone-value--lap{font-size:clamp(2.4rem,9vw,3.4rem);line-height:1;font-weight:700}.race-phone-value--place{font-size:1.45rem}.race-phone-lap-caption{font-size:.8rem;font-weight:600;opacity:.85;margin-top:.15rem}.race-phone-value--sm{font-size:1.1rem}.race-lap-flash{position:absolute;left:50%;top:28%;transform:translate(-50%,-50%);z-index:8;pointer-events:none;font-family:var(--font-display);font-size:clamp(1.8rem,7vw,2.6rem);font-weight:700;letter-spacing:.04em;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.65);animation:raceLapFlash 1.05s ease-out forwards}.race-lap-flash--pane{top:42%;font-size:clamp(1.1rem,2.8vw,1.75rem)}@keyframes raceLapFlash{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.12)}55%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-40%) scale(1.05)}}.race-phone--color{justify-content:center;text-align:center;min-height:60dvh;touch-action:manipulation}.race-lobby-colors{margin-top:.35rem}.race-lobby-player-swatch{display:inline-block;width:.75rem;height:.75rem;border-radius:50%;margin-right:.35rem;vertical-align:-.05rem;border:1px solid rgba(0,0,0,.2)}.race-color-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.race-color-swatch{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.55rem .35rem;border-radius:12px;border:2px solid color-mix(in srgb,var(--neon-cyan) 22%,transparent);background:color-mix(in srgb,var(--bg-panel) 55%,transparent);cursor:pointer;box-shadow:0 0 10px color-mix(in srgb,var(--neon-cyan) 8%,transparent);animation:none}.race-color-swatch.is-mine{border-color:var(--race-swatch);box-shadow:0 0 0 2px color-mix(in srgb,var(--race-swatch) 45%,transparent),0 0 16px color-mix(in srgb,var(--race-swatch) 40%,transparent)}.race-color-swatch.is-taken{opacity:.85}.race-color-swatch-chip{width:2.1rem;height:2.1rem;border-radius:50%;background:var(--race-swatch);border:2px solid color-mix(in srgb,#fff 35%,transparent);box-shadow:0 0 10px color-mix(in srgb,var(--race-swatch) 55%,transparent),inset 0 -2px #00000040}.race-color-swatch-label{font-size:.68rem;line-height:1.15;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.race-color-trade{margin-top:.35rem}.race-color-trade--banner{flex-shrink:0;padding:.55rem .65rem;border-radius:12px;background:color-mix(in srgb,var(--fg, #111) 8%,transparent);text-align:center}.race-color-preview{display:inline-block;width:1.25rem;height:1.25rem;border-radius:50%;vertical-align:middle;border:2px solid rgba(0,0,0,.2)}.race-split-pane-hud{position:relative}.race-split-lap-block{display:flex;flex-direction:column;gap:.05rem;margin:.15rem 0 .1rem}.race-split-lap-num{font-family:var(--font-display);font-size:clamp(1.55rem,3.2vw,2.35rem);font-weight:700;line-height:1;color:#fff;text-shadow:0 1px 4px #000}.race-split-lap-label{font-size:clamp(.72rem,1.3vw,.95rem);font-weight:600;color:color-mix(in srgb,#fff 92%,transparent);text-shadow:0 1px 3px #000}.race-steer-meter{position:relative;height:.55rem;border-radius:999px;background:color-mix(in srgb,var(--fg, #111) 12%,transparent);overflow:hidden}.race-steer-needle{position:absolute;top:0;left:50%;width:18%;height:100%;margin-left:-9%;border-radius:999px;background:var(--accent, #2ecc71);transition:transform 60ms linear}.race-wrong-way{flex-shrink:0;text-align:center;font-family:var(--font-display);font-size:1.35rem;letter-spacing:.04em;padding:.55rem .75rem;border-radius:12px;background:linear-gradient(180deg,#ff7aad 0%,var(--danger) 50%,#c01050 100%);color:#fff;box-shadow:0 0 18px color-mix(in srgb,var(--neon-magenta) 55%,transparent),0 4px #8a0a3a;animation:raceWrongPulse .55s ease-in-out infinite alternate}@keyframes raceWrongPulse{0%{transform:scale(1);filter:brightness(1)}to{transform:scale(1.02);filter:brightness(1.12)}}.race-drive-row{margin-top:auto;display:grid;grid-template-columns:1fr auto 1.15fr;align-items:center;gap:.55rem;width:100%}.race-steer-help{display:flex;flex-direction:column;align-items:center;gap:.35rem}.race-recenter{font-size:.85rem;padding:.35rem .75rem}.race-wheel-wrap{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.15rem 0}.race-wheel-label{font-family:var(--font-display);font-size:.9rem;min-height:1.15rem;text-align:center}.race-wheel{position:relative;width:min(28vw,7.5rem);height:min(28vw,7.5rem);border-radius:50%;transition:transform 50ms linear}.race-wheel-rim{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:.55rem solid #12182a;background:radial-gradient(circle at 50% 50%,#9af8ff 0 28%,transparent 29%),repeating-conic-gradient(from 0deg,#1a2740 0,#1a2740 12deg,#0a1220 12deg,#0a1220 24deg);box-shadow:inset 0 0 0 2px #070b14,0 0 16px color-mix(in srgb,var(--neon-cyan) 35%,transparent)}.race-wheel-hub{position:absolute;top:32%;right:32%;bottom:32%;left:32%;border-radius:50%;background:#1a2030;border:2px solid var(--neon-cyan);box-shadow:0 0 10px color-mix(in srgb,var(--neon-cyan) 45%,transparent)}.race-wheel-spoke{position:absolute;background:color-mix(in srgb,var(--neon-cyan) 55%,#6a7a90);left:50%;top:50%}.race-wheel-spoke--h{width:70%;height:.28rem;transform:translate(-50%,-50%)}.race-wheel-spoke--v{width:.28rem;height:70%;transform:translate(-50%,-50%)}.race-wheel-mark{position:absolute;top:50%;font-size:.7rem;font-weight:700;color:#fff;text-shadow:0 1px 2px #000}.race-wheel-mark--l{left:10%;transform:translateY(-50%)}.race-wheel-mark--r{right:10%;transform:translateY(-50%)}.race-wheel-bar{position:relative;width:min(22vw,6.5rem);height:.4rem;border-radius:999px;background:color-mix(in srgb,var(--fg, #111) 14%,transparent);overflow:hidden}.race-wheel-bar-fill{position:absolute;top:0;left:50%;width:28%;height:100%;margin-left:-14%;border-radius:999px;background:var(--neon-cyan);transition:transform 50ms linear}.race-brake,.race-accel{min-height:5.5rem;height:100%;max-height:8rem;font-size:1.05rem;font-family:var(--font-display);border-radius:16px;border:none;color:#fff;cursor:pointer;touch-action:none;padding:.5rem .35rem;animation:none}.race-brake{color:#fff;background:linear-gradient(180deg,#ff7aad 0%,var(--danger) 45%,#c01050 100%);box-shadow:0 4px #8a0a3a,0 0 16px color-mix(in srgb,var(--neon-magenta) 50%,transparent)}.race-brake.is-down{background:linear-gradient(180deg,#c01050,#8a0a3a);transform:translateY(2px) scale(.98);box-shadow:0 1px #5a0628,0 0 10px color-mix(in srgb,var(--neon-magenta) 40%,transparent)}.race-accel{color:#041018;background:linear-gradient(180deg,#7dffff 0%,var(--neon-cyan) 45%,#00a8b8 100%);box-shadow:0 4px #007a88,0 0 16px color-mix(in srgb,var(--neon-cyan) 55%,transparent)}.race-accel.is-down{background:linear-gradient(180deg,#00a8b8,#007a88);transform:translateY(2px) scale(.98);box-shadow:0 1px #005560,0 0 10px color-mix(in srgb,var(--neon-cyan) 40%,transparent)}@media(max-width:799px){.main-layout--boardplay,.main-layout--lobby{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;overflow:auto}.boardplay-stage,.lobby-stage{min-height:min(72vw,70dvh);height:min(92vw,70dvh)}.aside--rail{height:auto;max-height:40dvh}.rail-log{max-height:8rem}}.qc-root{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;width:100%;height:100%;margin:0;border-radius:0;overflow:hidden;background:#1a2a22}.qc-viewport{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none;cursor:crosshair}.qc-viewport canvas{display:block;width:100%!important;height:100%!important}.qc-crosshair{position:absolute;left:50%;top:44%;width:18px;height:18px;margin:-9px 0 0 -9px;pointer-events:none;z-index:2}.qc-crosshair:before,.qc-crosshair:after{content:"";position:absolute;background:#ffffffeb;box-shadow:0 0 0 1px #00000073}.qc-crosshair:before{left:50%;top:0;width:2px;height:100%;margin-left:-1px}.qc-crosshair:after{top:50%;left:0;width:100%;height:2px;margin-top:-1px}.qc-hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3;padding:max(.35rem,env(safe-area-inset-top)) max(.45rem,env(safe-area-inset-right)) max(.45rem,env(safe-area-inset-bottom)) max(.45rem,env(safe-area-inset-left))}.qc-mode-pill{position:absolute;top:max(2.1rem,calc(env(safe-area-inset-top) + 1.7rem));left:max(.45rem,env(safe-area-inset-left));pointer-events:none;background:#0f1c14b8;color:#e8f5e9;font-size:.7rem;padding:.2rem .45rem;border-radius:6px}.qc-coords{position:absolute;top:max(2.1rem,calc(env(safe-area-inset-top) + 1.7rem));right:max(.45rem,env(safe-area-inset-right));margin:0;padding:.15rem .4rem;font-size:.65rem;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:#ffffffd9;background:#0f1c148c;border-radius:4px;pointer-events:none}.qc-lock-hint{position:absolute;left:50%;bottom:6.5rem;transform:translate(-50%);max-width:min(22rem,90%);padding:.3rem .65rem;font-size:.72rem;text-align:center;color:#ffffffe6;background:#0f1c14a6;border-radius:8px;pointer-events:none;z-index:4}.qc-hotbar{position:absolute;left:50%;bottom:max(.45rem,env(safe-area-inset-bottom));transform:translate(-50%);display:flex;justify-content:center;gap:.2rem;pointer-events:auto;z-index:4}.qc-slot{position:relative;width:2.2rem;height:2.2rem;padding:0;border:2px solid rgba(255,255,255,.35);border-radius:6px;background:#141e18d9}.qc-slot.selected{border-color:#f5d76e;box-shadow:0 0 0 1px #f5d76e}.qc-slot-swatch{display:block;width:100%;height:100%;border-radius:4px;background:var(--qc-slot, #666)}.qc-slot-count{position:absolute;right:2px;bottom:1px;font-size:.65rem;color:#fff;text-shadow:0 1px 2px #000}.qc-controls{position:absolute;left:max(.45rem,env(safe-area-inset-left));right:max(.45rem,env(safe-area-inset-right));bottom:max(3.1rem,calc(env(safe-area-inset-bottom) + 2.7rem));display:flex;justify-content:space-between;align-items:flex-end;gap:.75rem;pointer-events:none;z-index:4}.qc-joystick,.qc-action-btns{pointer-events:auto}.qc-joystick{width:5.75rem;height:5.75rem;border-radius:50%;background:#141e1873;border:2px solid rgba(255,255,255,.22);position:relative;touch-action:none}.qc-joystick-knob{position:absolute;left:50%;top:50%;width:2.1rem;height:2.1rem;margin:-1.05rem 0 0 -1.05rem;border-radius:50%;background:#ffffff73}.qc-action-btns{display:flex;flex-direction:column;gap:.35rem}.qc-btn{min-width:4.75rem;padding:.55rem .7rem;border:none;border-radius:10px;font-weight:600;font-size:.85rem;color:#0f1c14}.qc-btn.jump{background:#7fdbda}.qc-btn.break{background:#e74c3c;color:#fff}.qc-btn.place{background:#2ecc71}@media(pointer:fine)and (hover:hover){.qc-controls{display:none}.qc-lock-hint{bottom:3.5rem}.qc-hotbar{bottom:max(.65rem,env(safe-area-inset-bottom))}.qc-slot{width:2.45rem;height:2.45rem}}@media(orientation:landscape)and (max-height:520px){.qc-mode-pill,.qc-coords{top:max(.35rem,env(safe-area-inset-top));font-size:.6rem;padding:.12rem .35rem}.qc-hotbar{bottom:max(.3rem,env(safe-area-inset-bottom));gap:.15rem}.qc-slot{width:1.85rem;height:1.85rem}.qc-controls{bottom:max(2.35rem,calc(env(safe-area-inset-bottom) + 2rem))}.qc-joystick{width:4.6rem;height:4.6rem}.qc-joystick-knob{width:1.7rem;height:1.7rem;margin:-.85rem 0 0 -.85rem}.qc-btn{min-width:3.8rem;padding:.4rem .5rem;font-size:.75rem}.qc-lock-hint{bottom:4.5rem;font-size:.65rem}.player-play-chrome{padding:.2rem .4rem;background:none}.player-play-code{font-size:.75rem}.player-play-leave{padding:.15rem .4rem;font-size:.7rem}}@media(orientation:landscape)and (min-height:521px)and (max-height:720px){.qc-joystick{width:5.25rem;height:5.25rem}.qc-controls{bottom:max(3rem,calc(env(safe-area-inset-bottom) + 2.6rem))}}.qc-main{display:flex;flex-direction:column;gap:.5rem;height:100%;min-height:0}.qc-main-bar{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:baseline;padding:.35rem .55rem;border-radius:10px;border:1px solid color-mix(in srgb,var(--neon-cyan) 30%,transparent);background:color-mix(in srgb,var(--bg-panel) 70%,transparent);box-shadow:0 0 16px color-mix(in srgb,var(--neon-cyan) 15%,transparent)}.qc-main-canvas{flex:1;min-height:280px;border-radius:10px;overflow:hidden;background:#87b8e8}.qc-main-canvas canvas{display:block;width:100%!important;height:100%!important}.qc-main-players{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.9rem}.qc-main-players .dot{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;margin-right:.35rem;vertical-align:middle}.qc-lobby-preview{width:100%;height:100%;min-height:220px;border-radius:12px;overflow:hidden}.qc-mode-row{display:flex;gap:.5rem;flex-wrap:wrap}.qc-mode-row button.selected{outline:2px solid var(--accent)}.admin-shell{display:flex;flex-direction:column;gap:.75rem;width:min(1100px,100%);margin:0 auto;padding:0 1rem 2rem}.admin-nav{align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:.5rem}.admin-nav-brand{display:flex;flex-direction:column;gap:.15rem}.admin-nav-title{font-family:var(--font-display);font-size:1.15rem;font-weight:600}.admin-nav-email{font-size:.85rem}.admin-nav-links{align-items:center;gap:.75rem;flex-wrap:wrap}.admin-nav-links a{color:var(--accent-soft);text-decoration:none;font-weight:600}.admin-nav-links a:hover{text-decoration:underline}.admin-heading{font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.1rem);margin:0 0 .25rem}.admin-subheading{font-family:var(--font-display);font-size:1.15rem;margin:0}.admin-page-header{align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:1rem}.admin-login{max-width:420px}.admin-field span{font-size:.9rem;color:var(--ink-muted)}.admin-field input,.admin-filter select,.admin-filter input{width:100%;border-radius:10px;border:1px solid color-mix(in srgb,var(--ink) 22%,transparent);background:color-mix(in srgb,var(--bg-deep) 55%,transparent);color:var(--ink);padding:.65rem .8rem}.admin-filter{min-width:160px}.admin-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.admin-kpi{padding:1rem 1.1rem}.admin-kpi-label{margin:0;font-size:.8rem;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em}.admin-kpi-value{margin:.35rem 0 0;font-family:var(--font-display);font-size:2rem;font-weight:600;color:var(--accent-soft);line-height:1.1}.admin-kpi-value--sm{font-size:1.25rem}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.92rem}.admin-table th,.admin-table td{text-align:left;padding:.55rem .65rem;border-bottom:1px solid color-mix(in srgb,var(--ink) 12%,transparent);white-space:nowrap}.admin-table th{color:var(--ink-muted);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.admin-table code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--accent-soft)}.admin-table-action{font-size:.8rem;padding:.3rem .55rem}.admin-stats-filters{gap:.85rem}.admin-stats-filter-row{flex-wrap:wrap;gap:.85rem 1.25rem;align-items:flex-end}.admin-bars{display:flex;align-items:flex-end;gap:.35rem;min-height:180px;overflow-x:auto;padding:.5rem 0 0}.admin-bar-col{display:flex;flex-direction:column;align-items:center;gap:.3rem;min-width:2.4rem;flex:1 0 2.4rem;max-width:4.5rem}.admin-bar-track{width:100%;height:140px;display:flex;align-items:flex-end;border-radius:8px 8px 4px 4px;background:color-mix(in srgb,var(--bg-deep) 40%,transparent);overflow:hidden}.admin-bar-fill{width:100%;min-height:2px;border-radius:6px 6px 0 0;background:linear-gradient(180deg,var(--accent-soft),var(--accent));transition:height .35s ease}.admin-bar-label{font-size:.65rem;color:var(--ink-muted);text-align:center;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis}.admin-bar-count{font-size:.7rem}.admin-pagination{justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}.admin-check{display:flex;align-items:center;gap:.5rem;font-size:.95rem}.admin-ads-table select,.admin-ads-num{max-width:7rem;padding:.25rem .4rem}.admin-ads-num{width:4.5rem}.entry-banner{display:flex;justify-content:center;margin-top:1.25rem;padding:.5rem 0 .25rem;min-height:50px;width:100%}.entry-banner__slot{width:100%;max-width:728px;min-width:0;min-height:50px;flex:1 1 auto;display:block}.entry-banner__slot:not(ins){display:flex;align-items:center;justify-content:center}.ima-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;background:#000000eb;display:flex;flex-direction:column;align-items:stretch;justify-content:center}.ima-overlay__bar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;color:#fff;font-size:.9rem}.ima-overlay__content{position:relative;flex:1;width:100%;max-width:960px;margin:0 auto;min-height:0}.ima-overlay__video,.ima-overlay__slot{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.ima-overlay__video{object-fit:contain;background:#000}@media(max-width:640px){.admin-shell{padding-inline:.75rem}.admin-kpi-value{font-size:1.6rem}}.main-layout--broadcast{grid-template-columns:minmax(0,1fr)!important}.main-layout--broadcast .aside--rail{display:none}.broadcast-stage{position:relative;display:grid;grid-template-columns:minmax(120px,200px) minmax(0,1fr) minmax(140px,220px);gap:.65rem;width:100%;height:100%;min-height:0;min-width:0;padding:.15rem;box-sizing:border-box}.broadcast-stage.broadcast-turn-flash:before{content:"";pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;border-radius:12px;border:2px solid var(--neon-cyan);box-shadow:var(--glow-cyan);animation:turnSweep .7s ease-out both}.broadcast-col{display:flex;flex-direction:column;gap:.45rem;min-height:0;min-width:0}.broadcast-col--left,.broadcast-col--right{overflow:auto}.broadcast-col--center{container-type:size;display:grid;place-items:center;overflow:hidden;min-width:0;min-height:0}.broadcast-col--center>*{max-width:100%;max-height:100%}.broadcast-scorecards{display:flex;flex-direction:column;gap:.45rem}.broadcast-meta{flex-shrink:0;display:flex;flex-direction:column;gap:.2rem;padding:.45rem .55rem;border-radius:10px;border:1px solid color-mix(in srgb,var(--neon-magenta) 30%,transparent);background:color-mix(in srgb,var(--bg-panel) 75%,transparent)}.broadcast-meta .room-code-sm{color:var(--neon-cyan);text-shadow:0 0 10px color-mix(in srgb,var(--neon-cyan) 50%,transparent)}.broadcast-log{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;border-radius:10px;border:1px solid color-mix(in srgb,var(--neon-cyan) 18%,transparent);background:color-mix(in srgb,var(--bg-deep) 55%,transparent);padding:.4rem .5rem}.broadcast-log ul{list-style:none;margin:0;padding:0;overflow:auto;font-size:.72rem;line-height:1.35;color:var(--ink-muted);display:flex;flex-direction:column;gap:.3rem}.broadcast-actions{flex-shrink:0;display:flex;flex-direction:column;gap:.35rem;margin-top:auto}.broadcast-win .broadcast-col--center{animation:winFanfare 1.2s ease-in-out infinite}.scorecard{display:flex;align-items:center;gap:.55rem;padding:.55rem .65rem;border-radius:12px;border:1px solid color-mix(in srgb,var(--neon-cyan) 28%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--bg-panel) 90%,transparent),color-mix(in srgb,var(--bg-deep) 80%,transparent));box-shadow:0 0 12px color-mix(in srgb,var(--neon-cyan) 12%,transparent),inset 0 0 16px color-mix(in srgb,var(--neon-cyan) 4%,transparent);transition:border-color .2s ease,box-shadow .2s ease}.scorecard--active{border-color:var(--neon-cyan);box-shadow:var(--glow-cyan);animation:neonPulse 1.4s ease-in-out infinite}.scorecard--winner{border-color:var(--neon-yellow);animation:winFanfare 1.2s ease-in-out infinite}.scorecard--away{opacity:.55}.scorecard-avatar{position:relative;flex-shrink:0;width:2.6rem;height:2.6rem;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--ink);background:color-mix(in srgb,var(--scorecard-accent, var(--neon-magenta)) 35%,var(--bg-deep));border:2px solid var(--scorecard-accent, var(--neon-cyan));box-shadow:0 0 12px color-mix(in srgb,var(--scorecard-accent, var(--neon-cyan)) 45%,transparent)}.scorecard-dot{position:absolute;right:-1px;bottom:-1px;margin:0;width:.55rem;height:.55rem;border:2px solid var(--bg-deep)}.scorecard-body{min-width:0;flex:1}.scorecard-name{font-family:var(--font-display);font-size:.85rem;font-weight:700;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scorecard-sub{font-size:.75rem;color:var(--neon-yellow);font-variant-numeric:tabular-nums;text-shadow:0 0 8px color-mix(in srgb,var(--neon-yellow) 40%,transparent)}.player-list-turn{color:var(--accent-soft);font-weight:600;border-color:color-mix(in srgb,var(--neon-cyan) 45%,transparent)!important;box-shadow:0 0 12px color-mix(in srgb,var(--neon-cyan) 25%,transparent)}.player-list li{border:1px solid color-mix(in srgb,var(--neon-cyan) 12%,transparent)}.player-play-stage{background:var(--bg-deep)}.room-code{text-shadow:0 0 18px color-mix(in srgb,var(--neon-cyan) 45%,transparent)}@media(max-width:900px){.broadcast-stage{grid-template-columns:minmax(96px,140px) minmax(0,1fr) minmax(110px,160px);gap:.4rem}.scorecard{flex-direction:column;align-items:flex-start;padding:.4rem}.scorecard-avatar{width:2.1rem;height:2.1rem;font-size:.95rem}.scorecard-name{font-size:.72rem}}@media(max-width:640px){.main-layout--broadcast .aside--rail{display:flex}.broadcast-stage{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto}.broadcast-col--left,.broadcast-col--right{flex-direction:row;flex-wrap:wrap}.broadcast-scorecards{flex-direction:row;flex-wrap:wrap;width:100%}.broadcast-scorecards .scorecard{flex:1 1 40%}.broadcast-log,.broadcast-actions{width:100%}}.scrabble-main,.scrabble-player,.scrabble-board--preview{--scrabble-dl: #5eead4;--scrabble-tl: #3b82f6;--scrabble-dw: #fb7185;--scrabble-tw: #e879f9;--scrabble-star: #fbbf24;--scrabble-tile: #f5e6c8;--scrabble-tile-ink: #1a1520}.scrabble-main{width:100%;height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) clamp(200px,22vw,280px);gap:.75rem;padding:.35rem;background:radial-gradient(ellipse 80% 70% at 30% 20%,rgba(88,40,140,.45),transparent 55%),radial-gradient(ellipse 70% 60% at 85% 80%,rgba(30,58,120,.4),transparent 50%),radial-gradient(circle at 50% 50%,#1a1630,#0b0e18 70%);border-radius:16px;overflow:hidden}.scrabble-main-stage{position:relative;min-width:0;min-height:0;display:grid;place-items:center;container-type:size}.scrabble-board{container-type:size;display:grid;grid-template-columns:repeat(15,minmax(0,1fr));grid-template-rows:repeat(15,minmax(0,1fr));gap:clamp(1px,.2cqi,4px);aspect-ratio:1;width:min(100cqw,100cqh);max-width:100%;max-height:100%;padding:clamp(4px,.5cqi,10px);background:#080a12d9;border:1px solid rgba(168,140,220,.25);border-radius:clamp(8px,.8cqi,16px);box-shadow:inset 0 0 40px #00000073}.scrabble-board--preview{width:min(100%,100cqh,520px);animation:none}.scrabble-board--compact{width:100%;max-width:100%;gap:1px;padding:3px;border-radius:10px}.scrabble-cell{position:relative;display:grid;place-items:center;margin:0;padding:0;border:1px solid rgba(255,255,255,.06);border-radius:clamp(2px,.35cqi,6px);background:#1e2434e6;color:#c8d0e0;font-family:var(--font-display);font-size:clamp(.35rem,1.8cqi,.7rem);font-weight:700;line-height:1;cursor:default;overflow:hidden}button.scrabble-cell:not(:disabled){cursor:pointer}button.scrabble-cell:disabled{opacity:1;cursor:default}.scrabble-cell--dl{background:#2d5a648c;box-shadow:inset 0 0 8px #5eead459,0 0 6px #5eead433;color:var(--scrabble-dl)}.scrabble-cell--tl{background:#1e3778a6;box-shadow:inset 0 0 10px #3b82f673,0 0 8px #3b82f64d;color:var(--scrabble-tl)}.scrabble-cell--dw{background:#6428378c;box-shadow:inset 0 0 10px #fb718566,0 0 8px #fb718540;color:var(--scrabble-dw)}.scrabble-cell--tw{background:#5a1e64a6;box-shadow:inset 0 0 12px #e879f980,0 0 10px #e879f959;color:var(--scrabble-tw)}.scrabble-cell--star{background:#5a46148c;box-shadow:inset 0 0 12px #fbbf2473,0 0 10px #fbbf244d;color:var(--scrabble-star)}.scrabble-cell--star .scrabble-mult-label{animation:scrabbleStarPulse 1.8s ease-in-out infinite;font-size:1.15em}.scrabble-mult-label{letter-spacing:.02em;opacity:.95;text-shadow:0 0 6px currentColor}.scrabble-tile-face{display:grid;place-items:center;width:92%;height:92%;background:linear-gradient(160deg,#fff4dc,var(--scrabble-tile));color:var(--scrabble-tile-ink);border-radius:inherit;box-shadow:0 1px #ffffff80 inset,0 2px 4px #00000059}.scrabble-tile-letter{position:relative;font-size:clamp(.55rem,3.2cqi,1.35rem);font-weight:800;line-height:1}.scrabble-tile-blank-mark{position:absolute;top:-.35em;right:-.55em;font-size:.45em;opacity:.7}.scrabble-tile-pts{position:absolute;right:8%;bottom:6%;font-size:.35em}.scrabble-cell--locked .scrabble-tile-face{filter:saturate(1.05)}.scrabble-cell--pending .scrabble-tile-face{opacity:.88;outline:2px dashed rgba(251,191,36,.7);outline-offset:-2px}.scrabble-cell--land{animation:scrabbleWordLand .55s cubic-bezier(.22,1.4,.36,1);z-index:2}.scrabble-cell--land .scrabble-tile-face{box-shadow:0 0 0 2px #fbbf24f2,0 0 16px #fbbf24a6,0 2px 4px #00000059;animation:scrabbleScorePulse 1.2s ease-out}.scrabble-score-burst{position:absolute;top:8%;left:50%;transform:translate(-50%);font-family:var(--font-display);font-size:clamp(1.4rem,4vw,2.4rem);font-weight:800;color:var(--scrabble-star, #fbbf24);text-shadow:0 0 20px rgba(251,191,36,.8);animation:scrabbleScoreBurst 1.5s ease-out forwards;pointer-events:none;z-index:5}.scrabble-sidebar{display:flex;flex-direction:column;gap:.65rem;min-height:0;overflow:auto;padding:.35rem .15rem}.scrabble-sidebar-title{margin:0 0 .35rem;font-family:var(--font-display);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#c4b5fd}.scrabble-scorecards{display:flex;flex-direction:column;gap:.4rem}.scrabble-bag,.scrabble-turn-hint{margin:.15rem 0;font-size:.9rem;font-weight:600}.scrabble-turn-hint{color:var(--neon-cyan);animation:scrabbleTurnPulse 1.6s ease-in-out infinite}.scrabble-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.scrabble-history-list li{display:flex;flex-direction:column;gap:.1rem;padding:.35rem .45rem;background:#ffffff0a;border-radius:8px;border-left:3px solid #a78bfa}.scrabble-history-word{font-family:var(--font-display);font-size:.95rem;letter-spacing:.06em;color:#fde68a}.scrabble-history-meta{font-size:.75rem;color:#94a3b8}.scrabble-history-empty{margin:0;font-size:.85rem}.scrabble-result{margin-top:auto;padding:.65rem;text-align:center;font-family:var(--font-display);font-size:1rem;color:#fde68a;background:#fbbf241f;border:1px solid rgba(251,191,36,.35);border-radius:10px;animation:softPulse 2s ease-in-out infinite}.scrabble-player{display:flex;flex-direction:column;gap:.65rem;width:100%;min-height:0}.scrabble-player-meta{display:flex;justify-content:space-between;gap:.5rem;font-size:.85rem;font-weight:600;color:#cbd5e1}.scrabble-mini-wrap{width:100%;max-width:min(100%,420px);margin:0 auto}.scrabble-place-hint{margin:.35rem 0 0;text-align:center;font-size:.8rem;color:var(--neon-cyan)}.scrabble-rack{display:flex;flex-wrap:nowrap;justify-content:center;gap:.35rem;padding:.55rem .4rem;background:linear-gradient(180deg,#3d2a1a,#2a1c12);border-radius:12px;border:1px solid rgba(251,191,36,.25);box-shadow:inset 0 2px 8px #0006;overflow-x:auto;min-height:3.6rem;align-items:center}.scrabble-rack-tile{position:relative;flex:0 0 auto;width:2.65rem;height:2.85rem;margin:0;padding:0;border:none;border-radius:6px;background:linear-gradient(160deg,#fff4dc,#f5e6c8);color:#1a1520;font-family:var(--font-display);box-shadow:0 2px 4px #00000059;cursor:grab;transition:transform .12s ease,box-shadow .12s ease}.scrabble-rack-tile:active{cursor:grabbing}.scrabble-rack-tile--selected{transform:translateY(-6px) scale(1.06);box-shadow:0 0 0 2px #22c55e,0 6px 14px #22c55e73}.scrabble-rack-tile--swap{outline:2px solid #38bdf8;outline-offset:1px}.scrabble-rack-letter{font-size:1.25rem;font-weight:800;line-height:1}.scrabble-rack-pts{position:absolute;right:4px;bottom:3px;font-size:.55rem;font-weight:700}.scrabble-actions{display:flex;flex-direction:column;gap:.45rem}.scrabble-actions-row{display:flex;flex-wrap:wrap;gap:.4rem}.scrabble-actions-row>button{flex:1 1 auto}.scrabble-cta-submit{background:linear-gradient(180deg,#4ade80,#16a34a)!important;color:#052e16!important;border:none!important;font-family:var(--font-display);font-weight:800;font-size:1.05rem;letter-spacing:.04em;text-transform:uppercase;padding:.85rem 1rem!important;box-shadow:0 0 18px #22c55e73}.scrabble-cta-submit:disabled{opacity:.45;box-shadow:none}.scrabble-blank-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;background:#000000a6;padding:1rem}.scrabble-blank-panel{width:min(100%,340px);padding:1rem;background:#121826;border:1px solid rgba(167,139,250,.35);border-radius:14px;display:flex;flex-direction:column;gap:.75rem}.scrabble-blank-panel h3{margin:0;font-family:var(--font-display);font-size:1rem}.scrabble-blank-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem}.scrabble-blank-grid button{aspect-ratio:1;font-family:var(--font-display);font-weight:700}@keyframes scrabbleWordLand{0%{transform:scale(.55);opacity:.4}60%{transform:scale(1.12)}to{transform:scale(1);opacity:1}}@keyframes scrabbleScorePulse{0%{box-shadow:0 0 0 2px #fbbf24,0 0 22px #fbbf24e6}to{box-shadow:0 0 0 2px #fbbf2459,0 0 6px #fbbf2440}}@keyframes scrabbleStarPulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 2px #fbbf24)}50%{transform:scale(1.18);filter:drop-shadow(0 0 10px #fbbf24)}}@keyframes scrabbleTurnPulse{0%,to{opacity:.75}50%{opacity:1}}@keyframes scrabbleScoreBurst{0%{opacity:0;transform:translate(-50%) translateY(12px) scale(.6)}25%{opacity:1;transform:translate(-50%) translateY(0) scale(1.15)}to{opacity:0;transform:translate(-50%) translateY(-28px) scale(1)}}@media(max-width:900px){.scrabble-main{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.scrabble-sidebar{max-height:38vh}.scrabble-scorecards{flex-direction:row;flex-wrap:wrap}.scrabble-scorecards .scorecard{flex:1 1 40%}}.pict-main,.pict-player,.pict-lobby-preview{--pict-neon: #22d3ee;--pict-magenta: #c084fc;--pict-ok: #22c55e;--pict-warn: #fbbf24;--pict-danger: #f43f5e}.pict-main{width:100%;height:100%;min-height:0;display:flex;flex-direction:column;gap:.5rem;padding:.4rem;background:radial-gradient(ellipse 70% 60% at 20% 10%,rgba(88,40,140,.5),transparent 55%),radial-gradient(ellipse 60% 50% at 90% 90%,rgba(20,80,140,.35),transparent 50%),linear-gradient(160deg,#0b0e18,#16102a 50%,#0a0d16);border-radius:16px;overflow:hidden;position:relative}.pict-hud{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;padding:.35rem .5rem}.pict-hint{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;font-family:var(--font-display);font-size:clamp(1.1rem,2.4vw,1.85rem);letter-spacing:.12em}.pict-hint-slot{display:inline-grid;place-items:center;min-width:1.1em;padding:.15em .2em;border-bottom:3px solid rgba(255,255,255,.35);color:#e2e8f0}.pict-hint-slot--revealed{color:var(--pict-neon);text-shadow:0 0 12px rgba(34,211,238,.6);border-bottom-color:var(--pict-neon)}.pict-hint-slot--space{border-bottom-color:transparent;min-width:.55em}.pict-category{margin-left:.75rem;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--pict-magenta);border:1px solid rgba(192,132,252,.4);border-radius:999px;padding:.2rem .55rem}.pict-timer{position:relative;width:4.2rem;height:4.2rem;display:grid;place-items:center}.pict-timer-ring{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotate(-90deg)}.pict-timer-bg{fill:none;stroke:#ffffff1f;stroke-width:3}.pict-timer-fg{fill:none;stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .2s linear}.pict-timer--ok .pict-timer-fg{stroke:var(--pict-ok)}.pict-timer--warn .pict-timer-fg{stroke:var(--pict-warn)}.pict-timer--danger .pict-timer-fg{stroke:var(--pict-danger);animation:pictTimerPulse .6s ease-in-out infinite}.pict-timer-num{font-family:var(--font-display);font-size:1.35rem;font-weight:800;z-index:1}.pict-timer--danger .pict-timer-num{color:var(--pict-danger);animation:pictTimerPulse .6s ease-in-out infinite}.pict-round-meta{justify-self:end;text-align:right;font-family:var(--font-display);font-size:.85rem;letter-spacing:.06em;color:#cbd5e1;display:flex;flex-direction:column;gap:.25rem}.pict-drawer-tag{color:var(--pict-neon)}.pict-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) clamp(200px,24vw,300px);gap:.65rem}.pict-canvas-frame{position:relative;min-height:0;border-radius:14px;border:2px solid rgba(34,211,238,.45);box-shadow:0 0 24px #22d3ee40,inset 0 0 40px #00000059;overflow:hidden;background:#0f1420}.pict-canvas,.pict-draw-canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}.pict-phase-banner{position:absolute;inset:auto 0 0 0;padding:.75rem;text-align:center;font-family:var(--font-display);background:#0a0c18d1;color:#e9d5ff}.pict-sidebar{display:flex;flex-direction:column;gap:.65rem;min-height:0;overflow:auto}.pict-sidebar-title{margin:0 0 .35rem;font-family:var(--font-display);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:#c4b5fd}.pict-scorecards{display:flex;flex-direction:column;gap:.35rem}.pict-guess-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem;max-height:40vh;overflow:auto}.pict-guess{padding:.4rem .5rem;border-radius:8px;font-size:.88rem;background:#ffffff0a;animation:pictGuessIn .35s ease-out}.pict-guess--correct{color:#86efac;background:#22c55e2e;border-left:3px solid var(--pict-ok);font-weight:700;text-shadow:0 0 10px rgba(34,197,94,.5)}.pict-guess--close{color:#fde68a;border-left:3px solid var(--pict-warn)}.pict-guess--wrong{color:#94a3b8;opacity:.85}.pict-reveal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;background:#050810b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pict-reveal-card{position:relative;z-index:2;padding:1.5rem 2rem;border-radius:16px;background:linear-gradient(160deg,#1a1430,#0f172a);border:1px solid rgba(250,204,21,.45);box-shadow:0 0 40px #facc1540;text-align:center;min-width:min(90vw,380px);animation:pictRevealPop .5s cubic-bezier(.22,1.4,.36,1)}.pict-reveal-label{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:#94a3b8}.pict-reveal-word{margin:.4rem 0 1rem;font-family:var(--font-display);font-size:clamp(1.8rem,5vw,2.8rem);color:#fde68a;text-shadow:0 0 24px rgba(253,230,138,.55)}.pict-reveal-scores{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.pict-reveal-scores li{display:flex;justify-content:space-between;gap:1rem;font-size:.95rem}.pict-confetti{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 30%,rgba(34,211,238,.35) 0 4px,transparent 5px),radial-gradient(circle at 70% 20%,rgba(244,114,182,.4) 0 5px,transparent 6px),radial-gradient(circle at 40% 70%,rgba(250,204,21,.4) 0 4px,transparent 5px),radial-gradient(circle at 85% 65%,rgba(34,197,94,.35) 0 6px,transparent 7px),radial-gradient(circle at 55% 40%,rgba(168,85,247,.4) 0 3px,transparent 4px);background-size:180% 180%;animation:pictConfetti 1.8s ease-in-out infinite;pointer-events:none;opacity:.85}.pict-player{display:flex;flex-direction:column;gap:.65rem;width:100%;min-height:0}.pict-player--drawer{flex:1}.pict-word-choices{display:flex;flex-direction:column;gap:.55rem}.pict-word-choice{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.9rem 1rem!important;text-align:left;border:1px solid rgba(255,255,255,.12)!important}.pict-word-choice-word{font-family:var(--font-display);font-size:1.25rem;text-transform:capitalize}.pict-word-choice-meta{font-size:.8rem;opacity:.75}.pict-word-choice--easy{border-left:4px solid #22c55e!important}.pict-word-choice--medium{border-left:4px solid #fbbf24!important}.pict-word-choice--hard{border-left:4px solid #f43f5e!important}.pict-draw-wrap{flex:1;min-height:220px;border-radius:12px;overflow:hidden;border:2px solid rgba(34,211,238,.4);box-shadow:0 0 16px #22d3ee33;background:#0f1420}.pict-toolbar{display:flex;flex-direction:column;gap:.45rem}.pict-colors{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center}.pict-color{width:1.85rem;height:1.85rem;border-radius:50%;border:2px solid rgba(255,255,255,.25)!important;padding:0!important;min-width:0!important}.pict-color--active{box-shadow:0 0 0 2px #fff,0 0 10px #22d3eeb3;transform:scale(1.1)}.pict-brush-row{display:flex;flex-wrap:wrap;gap:.35rem}.pict-brush-row>button{flex:1 1 auto;font-size:.8rem}.pict-brush-row>button.active{outline:2px solid var(--pict-neon)}.pict-done-btn{background:linear-gradient(180deg,#4ade80,#16a34a)!important;color:#052e16!important;font-family:var(--font-display);font-weight:800;letter-spacing:.04em}.pict-guess-form{display:flex;flex-direction:column;gap:.5rem}.pict-length-hint{margin:0;font-size:.85rem;color:#94a3b8}.pict-guess-row{display:flex;gap:.4rem}.pict-guess-row input{flex:1;font-size:1.1rem;padding:.75rem}.pict-guess-submit{background:linear-gradient(180deg,#22d3ee,#0284c7)!important;color:#042f2e!important;font-weight:800}.pict-success{text-align:center;padding:1.5rem 1rem;border-radius:14px;background:#22c55e26;border:1px solid rgba(34,197,94,.4);font-family:var(--font-display);font-size:1.25rem;color:#86efac}.pict-mini-scores{display:flex;flex-direction:column;gap:.3rem}.pict-mini-score{display:flex;justify-content:space-between;padding:.4rem .55rem;background:#ffffff0a;border-radius:8px;font-size:.9rem}.pict-mini-score--drawer{border-left:3px solid var(--pict-neon)}.pict-lobby-preview{width:min(100%,100cqh,520px);aspect-ratio:4/3;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,rgba(88,40,140,.45),transparent 50%),#0f1420;border-radius:14px;border:2px solid rgba(34,211,238,.35);position:relative;overflow:hidden}.pict-lobby-canvas{width:80%;text-align:center}.pict-lobby-doodle{width:100%;height:auto}.pict-lobby-hint{display:flex;justify-content:center;gap:.4rem;font-family:var(--font-display);font-size:1.4rem;letter-spacing:.15em;color:var(--pict-neon);margin-top:.5rem}.pict-lobby-title{position:absolute;bottom:.75rem;font-family:var(--font-display);letter-spacing:.1em}@keyframes pictTimerPulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes pictGuessIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes pictRevealPop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes pictConfetti{0%{background-position:0% 0%}50%{background-position:100% 40%}to{background-position:0% 80%}}@media(prefers-reduced-motion:reduce){.pict-timer--danger .pict-timer-fg,.pict-timer--danger .pict-timer-num,.pict-confetti,.pict-guess,.pict-reveal-card{animation:none!important}}@media(max-width:900px){.pict-body{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.pict-sidebar{max-height:36vh}.pict-hud{grid-template-columns:1fr auto}.pict-round-meta{display:none}}.partydash-main{--pd-blue: #3d9eff;--pd-red: #ff4d7a;--pd-event: #ffe14a;--pd-star: #ffc14a;--pd-start: #7dffa8;--pd-finish: #ff8af0;position:relative;width:100%;height:100%;min-height:0;display:flex;flex-direction:column;border-radius:12px;overflow:hidden;background:radial-gradient(ellipse 70% 55% at 20% 15%,rgba(157,78,221,.28),transparent 55%),radial-gradient(ellipse 60% 50% at 85% 80%,rgba(0,212,255,.18),transparent 50%),radial-gradient(ellipse 50% 40% at 50% 50%,rgba(255,77,122,.08),transparent 60%),linear-gradient(160deg,#0c0a18,#16102a 45%,#0a1220)}.partydash-main--preview{min-height:280px;aspect-ratio:16 / 10}.partydash-hud{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;align-items:center;justify-content:center;padding:.55rem .85rem;font-family:var(--font-display);font-size:clamp(.75rem,1.4vw,.95rem);letter-spacing:.04em;text-transform:uppercase;color:var(--ink);background:#00000059;border-bottom:1px solid rgba(0,212,255,.2);z-index:2}.partydash-hud-phase{color:var(--neon-yellow)}.partydash-hud-turn{color:var(--neon-cyan)}.partydash-stage{position:relative;flex:1;min-height:0}.partydash-path{position:absolute;top:0;right:0;bottom:0;left:0}.partydash-path--preview .partydash-tile{width:clamp(18px,3.2vw,28px);height:clamp(18px,3.2vw,28px)}.partydash-tile{position:absolute;width:clamp(36px,5.2vw,56px);height:clamp(36px,5.2vw,56px);transform:translate(-50%,-50%);border-radius:12px;display:grid;place-items:center;border:2px solid rgba(255,255,255,.2);box-shadow:0 0 12px #00000073,inset 0 0 10px #ffffff1f;transition:transform .2s ease,box-shadow .2s ease}.partydash-tile-label{font-family:var(--font-display);font-size:clamp(.55rem,1vw,.75rem);font-weight:700;letter-spacing:.02em;color:#ffffffeb;text-shadow:0 1px 2px rgba(0,0,0,.6);pointer-events:none;z-index:1}.partydash-tile--start{background:linear-gradient(145deg,#1a4a32,#0d2a1c);border-color:var(--pd-start);box-shadow:0 0 14px #7dffa873,inset 0 0 12px #7dffa833}.partydash-tile--finish{background:linear-gradient(145deg,#4a1a45,#2a0d28);border-color:var(--pd-finish);box-shadow:0 0 16px #ff8af080,inset 0 0 12px #ff8af040}.partydash-tile--blue{background:linear-gradient(145deg,#123a66,#0a1e38);border-color:var(--pd-blue);box-shadow:0 0 14px #3d9eff8c,inset 0 0 12px #3d9eff40}.partydash-tile--red{background:linear-gradient(145deg,#5a1428,#2e0a16);border-color:var(--pd-red);box-shadow:0 0 14px #ff4d7a8c,inset 0 0 12px #ff4d7a38}.partydash-tile--event{background:linear-gradient(145deg,#4a3e10,#2a2208);border-color:var(--pd-event);box-shadow:0 0 16px #ffe14a8c,inset 0 0 12px #ffe14a33;animation:pdEventPulse 1.8s ease-in-out infinite}.partydash-tile--star{background:linear-gradient(145deg,#4a3810,#2a1e08);border-color:var(--pd-star);box-shadow:0 0 16px #ffc14a99,inset 0 0 14px #ffc14a47}.partydash-token-stack{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.partydash-token{font-size:clamp(1.1rem,2.2vw,1.65rem);filter:drop-shadow(0 2px 4px rgba(0,0,0,.65));pointer-events:none}.partydash-token--board{position:absolute;transform:translate(-50%,-50%);transition:left .55s cubic-bezier(.34,1.2,.64,1),top .55s cubic-bezier(.34,1.2,.64,1)}.partydash-dice-area{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;display:flex;flex-direction:column;align-items:center;gap:.35rem;pointer-events:none;padding:.75rem 1rem;border-radius:16px;background:#0806148c;border:1px solid rgba(0,212,255,.25);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.partydash-die{width:clamp(48px,7vw,72px);height:clamp(48px,7vw,72px);border-radius:12px;background:linear-gradient(145deg,#fff8e8,#e8d4a8);display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);place-items:center;padding:10%;box-shadow:0 6px #b8954a,0 10px 20px #00000073,inset 0 1px #ffffffb3}.partydash-die--empty{opacity:.35}.partydash-die--rolling{animation:dieTumble .14s linear infinite}.partydash-die-pip{width:58%;aspect-ratio:1;border-radius:50%;background:transparent}.partydash-die-pip.on{background:#1a1408}.partydash-dice-sum{font-family:var(--font-display);font-size:1.1rem;color:var(--neon-yellow)}.partydash-dice-caption{margin:0;font-size:.8rem;color:var(--ink-muted);font-variant-numeric:tabular-nums}.partydash-event-banner{position:absolute;left:50%;bottom:.75rem;transform:translate(-50%);z-index:6;max-width:min(90%,420px);padding:.65rem 1rem;border-radius:12px;background:#0a0818d9;border:1px solid rgba(255,225,74,.45);text-align:center;animation:pdBannerIn .35s ease}.partydash-event-banner strong{font-family:var(--font-display);color:var(--neon-yellow);display:block;margin-bottom:.25rem}.partydash-event-banner p{margin:0;font-size:.95rem}.partydash-tap-scores{list-style:none;margin:.35rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem .85rem;justify-content:center;font-size:.85rem}.partydash-win-banner{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:grid;place-items:center;background:#060410b8;font-family:var(--font-display);font-size:clamp(1.4rem,3.5vw,2.4rem);color:var(--neon-yellow);text-align:center;padding:1rem;animation:pdBannerIn .45s ease}.partydash-preview-title{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:var(--font-display);font-size:clamp(1.2rem,3vw,1.8rem);color:var(--neon-cyan);text-shadow:0 0 24px rgba(0,212,255,.5);pointer-events:none}.partydash-phone{gap:.85rem}.partydash-phone-stats{display:flex;flex-wrap:wrap;gap:.35rem .75rem;justify-content:center;font-size:.9rem}.partydash-roll-btn{width:100%;min-height:4.25rem;font-family:var(--font-display);font-size:1.35rem;letter-spacing:.06em;text-transform:uppercase;border-radius:16px;border:none;box-shadow:0 6px color-mix(in srgb,var(--neon-yellow) 55%,#000),0 12px 24px #0006;transform:translateY(0);transition:transform .08s ease,box-shadow .08s ease}.partydash-roll-btn:not(:disabled):active{transform:translateY(4px);box-shadow:0 2px color-mix(in srgb,var(--neon-yellow) 55%,#000),0 6px 12px #00000059}.partydash-roll-btn:disabled{opacity:.45;box-shadow:none}.partydash-rack{display:flex;gap:.55rem;overflow-x:auto;padding:.35rem .15rem .55rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.partydash-rack--empty{justify-content:center;padding:.75rem}.partydash-card{flex:0 0 auto;width:7.5rem;min-height:5.5rem;scroll-snap-align:start;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:.35rem;padding:.65rem .7rem;border-radius:12px;border:2px solid var(--pd-card-accent, var(--neon-magenta));background:linear-gradient(160deg,#141028f2,#0a0818fa);color:var(--ink);text-align:left;box-shadow:0 0 12px color-mix(in srgb,var(--pd-card-accent, #f0f) 35%,transparent)}.partydash-card strong{font-family:var(--font-display);font-size:.8rem;letter-spacing:.03em;color:var(--pd-card-accent, var(--neon-cyan))}.partydash-card span{font-size:.72rem;color:var(--ink-muted);line-height:1.25}.partydash-card--playable{cursor:pointer;transform:translateY(0);transition:transform .12s ease}.partydash-card--playable:hover,.partydash-card--playable:focus-visible{transform:translateY(-3px)}.partydash-card:disabled{opacity:.55}.partydash-trivia-q{margin:0;text-align:center;font-size:1.05rem;line-height:1.35}.partydash-trivia-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.partydash-trivia-btn{min-height:3.5rem;border-radius:12px;border:2px solid var(--pd-trivia, var(--neon-cyan));background:color-mix(in srgb,var(--pd-trivia, #0cf) 18%,#0c0a18);color:var(--ink);font-weight:700;font-size:.95rem;box-shadow:0 0 14px color-mix(in srgb,var(--pd-trivia, #0cf) 30%,transparent)}.partydash-tap-count{margin:0;text-align:center;font-family:var(--font-display);font-size:3rem;color:var(--neon-yellow);font-variant-numeric:tabular-nums}.partydash-tap-btn{width:100%;min-height:5.5rem;border:none;border-radius:18px;font-family:var(--font-display);font-size:1.75rem;letter-spacing:.08em;color:#1a1408;background:linear-gradient(145deg,var(--neon-yellow),#e8a820);box-shadow:0 8px #a87810,0 14px 28px #0006}.partydash-tap-btn:not(:disabled):active{transform:translateY(5px);box-shadow:0 3px #a87810,0 8px 16px #00000059}@keyframes pdEventPulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.25)}}@keyframes pdTokenHop{0%{transform:translate(calc((var(--pd-token-i, 0) - .5) * 10px),calc((var(--pd-token-i, 0) - .5) * -8px)) scale(1)}40%{transform:translate(calc((var(--pd-token-i, 0) - .5) * 10px),calc((var(--pd-token-i, 0) - .5) * -8px - 12px)) scale(1.15)}to{transform:translate(calc((var(--pd-token-i, 0) - .5) * 10px),calc((var(--pd-token-i, 0) - .5) * -8px)) scale(1)}}@keyframes pdBannerIn{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.partydash-win-banner{animation-name:pdWinIn}@keyframes pdWinIn{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.partydash-tile--event,.partydash-token--hop,.partydash-die--rolling,.partydash-event-banner,.partydash-win-banner{animation:none!important}}@media(max-width:700px){.partydash-tile{width:28px;height:28px;border-radius:8px}.partydash-tile-label{font-size:.5rem}.partydash-token{font-size:.95rem}}
