:root{--display:Impact,Haettenschweiler,"Arial Narrow Bold","Franklin Gothic Bold",sans-serif;--ui:ui-sans-serif,-apple-system,"Segoe UI",system-ui,sans-serif;--mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;--ground:#0d0c11;--panel:#16151d;--panel-2:#1e1d27;--rule:#2e2c3a;--rule-soft:#232230;--ink:#f4f3f7;--ink-dim:#8b899c;--accent:#e9e7f2;--accent-ink:#12111a;--amber:#ffc247;--signal:#ff4d5e;--screen:#08070c;--screen-rule:#16151d;--neutral-hex:#1f1e29;--shadow:#0009;--buncss-light: ;--buncss-dark:initial;color-scheme:dark;--step-0:13px;--step-1:15px;--label:10.5px}@media (prefers-color-scheme:light){:root{--ground:#eceaf2;--panel:#faf9fd;--panel-2:#f1eff7;--rule:#d3d0de;--rule-soft:#e2e0ea;--ink:#16151d;--ink-dim:#66647a;--accent:#2a2833;--accent-ink:#faf9fd;--amber:#9a6a05;--signal:#c33040;--shadow:#1e192d29;--buncss-light:initial;--buncss-dark: ;color-scheme:light}}:root[data-theme=light]{--ground:#eceaf2;--panel:#faf9fd;--panel-2:#f1eff7;--rule:#d3d0de;--rule-soft:#e2e0ea;--ink:#16151d;--ink-dim:#66647a;--accent:#2a2833;--accent-ink:#faf9fd;--amber:#9a6a05;--signal:#c33040;--shadow:#1e192d29;--buncss-light:initial;--buncss-dark: ;color-scheme:light}:root[data-theme=dark]{--ground:#0d0c11;--panel:#16151d;--panel-2:#1e1d27;--rule:#2e2c3a;--rule-soft:#232230;--ink:#f4f3f7;--ink-dim:#8b899c;--accent:#e9e7f2;--accent-ink:#12111a;--amber:#ffc247;--signal:#ff4d5e;--screen:#08070c;--screen-rule:#16151d;--shadow:#0009;--buncss-light: ;--buncss-dark:initial;color-scheme:dark}body{background-color:var(--ground);background-image:linear-gradient(180deg,color-mix(in srgb,var(--ground)90%,#000)0%,var(--ground)100%);color:var(--ink);font-size:var(--step-0);line-height:1.5;font-family:var(--ui);-webkit-font-smoothing:antialiased;background-repeat:no-repeat;background-attachment:fixed;margin:0}.mono,.turn,.pstat,.clock,.boardmeta{font-family:var(--mono);font-variant-numeric:tabular-nums}#app{display:grid;grid-template-columns:minmax(0,1fr)306px;grid-template-areas:"top top" "main rail";align-items: start;gap:12px;max-width:1560px;margin:0 auto;padding:12px}@media (max-width:940px){#app{grid-template-columns:minmax(0,1fr);grid-template-areas:"top" "main" "rail"}}.panel,.topbar,.boardwrap,.log{background:var(--panel);border:1px solid var(--rule);box-shadow:0 1px 0 var(--shadow);border-radius:3px}.topbar{grid-area:top;display:flex;border-top:2px solid var(--accent);flex-wrap:wrap;align-items: center;gap:7px;padding:9px 12px}.title{font-family:var(--display);text-transform:uppercase;letter-spacing:.2em;text-transform:uppercase;font-size:17px;font-weight:700}.title .sub{font-weight:500;font-size:var(--label);letter-spacing:.12em;color:var(--ink-dim);margin-left:8px}.turn{color:var(--ink-dim);letter-spacing:.08em;text-transform:uppercase;font-size:var(--label);border-left:1px solid var(--rule);margin-left:14px;margin-right:auto;padding-left:14px}button,select{font:inherit;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:1px solid var(--rule);background:var(--panel-2);color:var(--ink);border-radius:2px;padding:7px 11px;transition:filter .12s;font-size:12px}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:700}button.danger{color:var(--signal);border-color:color-mix(in srgb,var(--signal)45%,var(--rule))}button[disabled]{opacity:.38;cursor:default}button:not([disabled]):hover,select:hover{filter:brightness(1.14)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.main{grid-area:main;display:flex;flex-direction:column;justify-self:center;gap:12px;min-width:0;max-width:100%}.boardwrap{background:var(--screen);border-color:var(--rule);box-shadow:inset 0 1px 12px #0000008c,0 1px 0 var(--shadow);min-width:0;padding:7px}.boardstage{display:grid;place-items: center;min-width:0}svg.board{display:block;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;width:100%;height:100%}.boardwrap.pans{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}.boardwrap.pans .boardstage{margin-inline-start:0;margin-inline-end:0}.cell{cursor:pointer}.cell.ghost{opacity:0;cursor:default}svg.board.dragging .cell.ghost{opacity:.38}.cell:hover polygon:first-of-type{filter:brightness(1.28)}text.setmark{font-family:var(--display);letter-spacing:0;pointer-events:none;font-size:33px}text.setmark.half{font-size:19px}text.glyph{font-size:16px;font-weight:800;font-family:var(--ui);letter-spacing:0;pointer-events:none}text.stack,text.movenum{font-family:var(--mono);font-variant-numeric:tabular-nums;pointer-events:none}text.stack{font-size:15px;font-weight:800}text.stack.full{font-size:13.5px}text.movenum{font-size:10px;font-weight:800}.seam{color:var(--ink-dim);font-size:var(--label);letter-spacing:.05em;padding:7px 3px 1px}.side{grid-area:rail;display:flex;position:sticky;overflow-y:auto;flex-direction:column;gap:12px;min-width:0;max-height:calc(100vh - 24px);top:12px}@media (max-width:940px){.side{position:static;overflow-y:visible;max-height:none}}details.rules>:not(summary){animation:none}.rulesummary{cursor:pointer;font-size:var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);border-bottom:1px solid var(--rule);list-style:none;padding-bottom:7px}.rulesummary::-webkit-details-marker{display:none}.rulesummary:after{content:" ▾"}details[open] .rulesummary:after{content:" ▴"}.panel{padding:11px 12px 12px}.panel h3{font-family:var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);border-bottom:1px solid var(--rule);margin:0 0 9px;padding-bottom:7px;font-size:11.5px;font-weight:700}.panel p{margin:9px 0 0}.dim{color:var(--ink-dim);font-size:12px}.chips{display:flex;gap:4px;margin-bottom:9px}.chip{display:grid;background:color-mix(in srgb,var(--amber)16%,transparent);border:1px solid color-mix(in srgb,var(--amber)55%,transparent);color:var(--amber);border-radius:2px;place-items: center;width:25px;height:25px;font-size:12px}.chip.used{opacity:.26}.kv{display:flex;color:var(--ink-dim);border-bottom:1px solid var(--rule-soft);justify-content:space-between;gap:10px;padding:3px 0;font-size:12.5px}.kv:last-of-type{border-bottom:0}.kvval{color:var(--ink);font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:650}.prow,.grow{display:flex;border-bottom:1px solid var(--rule-soft);align-items: center;gap:7px;padding:5px 0;font-size:12.5px}.prow:last-child,.grow:last-child{border-bottom:0}.prow.dead,.grow.dead{opacity:.42}.swatch{border-radius:1px;flex:none;width:10px;height:16px}.pname{min-width:44px;font-weight:650}.pstat{color:var(--ink-dim);margin-right:auto;font-size:11.5px}.sets{color:var(--amber);letter-spacing:.06em}.clock{color:var(--ink-dim);border:1px solid var(--rule);letter-spacing:.04em;border-radius:2px;padding:1px 6px;font-size:10px}.clock.warn{color:var(--signal);border-color:color-mix(in srgb,var(--signal)50%,var(--rule))}.glyphchip{display:grid;color:#0f1519;background:#f2f6f8;border-radius:50%;flex:none;place-items: center;width:22px;height:22px;font-size:13px;font-weight:800;line-height:1}.glyphchip.dead{color:#4a4d55;background:#171a1e;box-shadow:inset 0 0 0 1px #3a3e45}ul.help{color:var(--ink-dim);margin:0;padding-left:16px;font-size:12px}ul.help li{margin-bottom:5px}.boardmeta{color:var(--ink-dim);letter-spacing:.04em;border-top:1px solid var(--rule-soft);margin-top:10px;padding-top:9px;font-size:11px}.log{border-left:2px solid var(--accent);font-family:var(--mono);letter-spacing:.02em;background-image:repeating-linear-gradient(90deg,var(--rule)0 3px,transparent 3px 7px);background-position:0 0;background-repeat:no-repeat;background-size:100% 1px;min-height:18px;padding:9px 12px;font-size:12px}.log.ended{border-left-color:var(--amber);font-weight:650}@media (prefers-reduced-motion:reduce){*{transition:none!important}}#app.menu-mode{display:grid;position:relative;overflow:hidden;background:var(--ground);place-items: center;max-width:none;min-height:100vh;padding:4vh 16px}.herofield{position:absolute;pointer-events:none;opacity:.72;will-change:transform;animation:field-drift 90s ease-in-out infinite alternate;width:112%;height:112%;inset:-6%}#app.menu-mode:after{content:"";position:absolute;pointer-events:none;background:linear-gradient(180deg,color-mix(in srgb,var(--ground)58%,transparent)0%,color-mix(in srgb,var(--ground)82%,transparent)55%,color-mix(in srgb,var(--ground)95%,transparent)100%);inset:0}.menucard{position:relative;z-index:1}@keyframes field-drift{0%{transform:scale(1)translate(0,0)}to{transform:scale(1.08)translate(-2%,-1.5%)}}@media (prefers-reduced-motion:reduce){.herofield{animation:none}}.menucard{background:color-mix(in srgb,var(--panel)93%,transparent);backdrop-filter:blur(3px);border:1px solid var(--rule);border-top:2px solid var(--accent);display:flex;overflow:hidden;border-radius:3px;flex-direction:column;gap:8px;width:min(430px,100%);padding:0 20px 20px;box-shadow:0 18px 50px #0000008c}.menutitle{font-family:var(--display);letter-spacing:.045em;text-align:center;border-bottom:1px solid var(--rule);text-shadow:0 1px #ffffff12;margin:0 0 4px;padding-bottom:14px;font-size:38px;font-weight:700}.menublurb{color:var(--ink-dim);text-align:center;text-wrap:pretty;margin:0 0 8px;font-size:13px}.flabel{font-size:var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);margin-top:10px}.field{font:inherit;border:1px solid var(--rule);background:var(--panel-2);color:var(--ink);box-sizing:border-box;border-radius:2px;width:100%;padding:9px 11px;font-size:14px}.field:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.field.code{font-family:var(--mono);letter-spacing:.5em;text-transform:uppercase;text-align:center;font-size:20px;font-weight:700}.row{display:flex;align-items:stretch;gap:8px}.row .field{flex:1}.row button{white-space:nowrap}button.wide{width:100%;margin-top:6px}.menuerror{color:var(--signal);margin:6px 0 0;font-size:12.5px}.dim.ready{color:var(--accent)}.warn{color:var(--signal);margin:9px 0 0;font-size:12px}.panel.alarm{border-color:var(--signal);border-left:3px solid var(--signal);background:color-mix(in srgb,var(--signal)12%,var(--panel))}.alarmline{font-size:13px;font-weight:650;line-height:1.4}.alarmline+.alarmline{margin-top:6px}.rulehead{font-size:var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:12px 0 4px}.rulehead:first-of-type{margin-top:2px}ul.help li{margin-bottom:4px}.scrim{position:fixed;display:grid;z-index:50;overflow-y:auto;background:#04080bb8;place-items: center;padding:16px;inset:0}.tutorial{overflow-y:auto;overscroll-behavior:contain;background:var(--panel);border:1px solid var(--rule);border-top:2px solid var(--accent);border-radius:3px;width:min(420px,100%);max-height:min(88vh,700px);padding:20px;box-shadow:0 16px 40px #00000080}@media (max-width:480px),(max-height:720px){.tutorial{padding:14px}.tutorial svg.toy{max-height:34vh}}.tuttitle{letter-spacing:.2em;text-transform:uppercase;margin:0 0 14px;font-size:15px;font-weight:800}.tutgoal{background:var(--panel-2);border-left:2px solid var(--accent);border-radius:2px;margin-bottom:16px;padding:10px 12px}.tutgoallabel,.tutsteplabel{font-size:var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:6px}.tutsteplabel{margin-top:4px}.tutgoalline{display:flex;flex-wrap:wrap;align-items: center;gap:10px;font-size:14px;font-weight:650}.tutdemo{display:inline-flex;gap:3px}ol.tutsteps{display:flex;flex-direction:column;gap:10px;margin:0 0 14px;padding-left:20px}ol.tutsteps li strong{display:block;font-size:14px}.tutdetail{display:block;color:var(--ink-dim);margin-top:2px;font-size:12.5px}.tutsimul{border-top:1px solid var(--rule);color:var(--ink);margin:0 0 16px;padding-top:12px;font-size:13px}.setmine{font-variant-numeric:tabular-nums;color:var(--accent);font-size:12px;font-weight:700}.setmine.zero{color:var(--ink-dim);font-weight:500}.setrivals{margin-left:auto;font-size:11.5px}.navgroup{display:flex;align-items: center;gap:5px}.navdiv{background:var(--rule);align-self:stretch;width:1px;margin:2px 3px}button.nav-primary{letter-spacing:.08em;padding:9px 18px;font-size:12.5px}.navgroup.danger-zone button{opacity:.62;padding:6px 9px;font-size:11px}.navgroup.danger-zone button:not([disabled]):hover{opacity:1}.topbar,.navmenu{position:relative}.navmenu-summary{font:inherit;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:1px solid var(--rule);background:var(--panel-2);color:var(--ink);list-style:none;white-space:nowrap;border-radius:2px;padding:7px 11px;font-size:12px}.navmenu-summary::-webkit-details-marker{display:none}.navmenu-summary:after{content:" ▾";opacity:.6}.navmenu[open] .navmenu-summary{border-color:var(--accent)}.navmenu-summary:hover{filter:brightness(1.14)}.navmenu-items{position:absolute;z-index:40;display:flex;background:var(--panel);border:1px solid var(--rule);border-radius:3px;flex-direction:column;gap:1px;min-width:176px;padding:4px;top:calc(100% + 6px);right:0;box-shadow:0 12px 28px #00000080}button.menuitem{text-align:left;text-transform:none;letter-spacing:.02em;background:0 0;border:0;border-radius:2px;width:100%;padding:8px 10px;font-size:11.5px}button.menuitem:not([disabled]):hover{background:var(--panel-2);filter:none}button.menuitem.danger{color:var(--signal);border-top:1px solid var(--rule);border-radius:0 0 2px 2px;margin-top:3px}@keyframes channel-open{0%{opacity:0}12%,70%{opacity:.35}to{opacity:0}}line.channel{animation:channel-open .7s linear both}@keyframes pulse-run{0%{stroke-dashoffset:var(--d0);opacity:0}12%{opacity:1}70%{stroke-dashoffset:var(--d1);opacity:1}to{stroke-dashoffset:var(--d1);opacity:0}}line.pulse{animation:pulse-run .7s cubic-bezier(.4,0,.35,1)both}@keyframes flood-in{0%{transform:scale(0);opacity:.95}55%{transform:scale(1);opacity:.85}to{transform:scale(1);opacity:0}}circle.flood{animation:flood-in .62s cubic-bezier(.22,.7,.3,1)both}@keyframes num-ride{0%,to{opacity:0}15%,60%{opacity:1}}text.strikenum{animation:num-ride .7s linear both}@keyframes station-taken{0%{fill-opacity:0}55%{fill-opacity:.95}to{fill-opacity:.9}}polygon.land{animation:station-taken .3s ease-out both}@keyframes count-settle{0%{opacity:0;transform:translateY(-4px)}60%{opacity:1}to{opacity:1;transform:translateY(0)}}text.stack.settle{animation:count-settle .26s ease-out both;transform-box:fill-box;transform-origin:center}@media (prefers-reduced-motion:reduce){line.channel,line.pulse,circle.flood,text.strikenum,polygon.land,text.stack.settle{animation:none}}@media (hover:none) and (pointer:coarse){body{background-attachment:scroll,scroll}.cell:hover polygon:first-of-type{filter:none}button,select,.navmenu-summary{min-height:40px;padding:9px 13px}button.menuitem{min-height:44px}.field{min-height:44px;font-size:16px}.rulesummary{display:flex;align-items: center;min-height:40px}}.log.alert{border-left-color:var(--signal);color:var(--signal)}.tutsteps-dots{display:flex;justify-content:center;gap:6px;margin-bottom:14px}.dot{background:var(--rule);border-radius:50%;width:6px;height:6px}.dot.on{background:var(--accent)}.tutlead{text-align:center;text-wrap:pretty;margin:0 0 12px;font-size:13.5px}.tuthint{color:var(--ink-dim);text-align:center;min-height:16px;margin:8px 0 0;font-size:12px}svg.toy{display:block;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;max-width:100%;margin:0 auto}g.toycell{cursor:pointer}.tutpair{display:flex;align-items: flex-start;gap:12px}.tutcase{background:var(--panel-2);border-radius:3px;flex:1;min-width:0;padding:8px 6px 10px}.tutcaselabel{font-size:var(--label);letter-spacing:.12em;text-transform:uppercase;text-align:center;margin-bottom:6px}.tutcaselabel.bad{color:var(--signal)}.tutcaselabel.good{color:var(--accent)}.tutnav{display:flex;gap:8px;margin-top:16px}.tutnav .ghost{flex:none}.tutnav .primary{flex:1}@media (max-width:460px){.tutpair{flex-direction:column}}.themechips{display:inline-flex;vertical-align:-1px;gap:2px;margin-right:7px}.themechips .chip{border-radius:1px;width:7px;height:11px}.navmenu-items .ghost.picked{border-color:var(--accent);color:var(--ink)}.swatch svg.swatchsvg{display:block;width:100%;height:100%}.navmenu-items .ghost.locked{opacity:.72;display:flex;border-style:dashed;flex-wrap:wrap;align-items:baseline;gap:7px}.navmenu-items .ghost.locked .themename{color:var(--ink-dim)}.navmenu-items .ghost.locked .themelock{font-size:var(--label);letter-spacing:.04em;color:var(--amber);white-space:nowrap;margin-left:auto}.navmenu-items .ghost.locked:hover{border-color:var(--amber);opacity:.9}.smash{position:fixed;z-index:50;display:grid;overflow:hidden;background:radial-gradient(120% 90% at 50% 40%,color-mix(in srgb,var(--win)28%,transparent)0%,transparent 62%),color-mix(in srgb,var(--ground)94%,transparent);animation:smash-wake .26s ease-out both;place-items: center;padding:24px;inset:0}@keyframes smash-wake{0%{opacity:0}to{opacity:1}}.smash .shock{position:absolute;pointer-events:none;opacity:.32;width:min(78vw,78vh);height:min(78vw,78vh)}.smash .shock polygon{transform-origin:100px 100px;animation:shockring 3.2s cubic-bezier(.18,.6,.3,1)infinite}@keyframes shockring{0%{transform:scale(.15);opacity:0}12%{opacity:.9}to{transform:scale(2.6);opacity:0}}.confetti{position:absolute;pointer-events:none;overflow:hidden;inset:0}.flake{position:absolute;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);opacity:.85;animation-name:flakefall;animation-timing-function:linear;animation-iteration-count:infinite;top:-12%}@keyframes flakefall{0%{transform:translate(0,0)rotate(0)}to{transform:translate3d(0,112vh,0)rotate(var(--spin))}}.smashinner{position:relative;text-align:center;animation:smash-shake .52s cubic-bezier(.36,.07,.19,.97).32s both;max-width:min(900px,100%)}@keyframes smash-shake{0%,to{transform:translate(0,0)}15%{transform:translate(-9px,3px)}32%{transform:translate(8px,-4px)}52%{transform:translate(-5px,2px)}74%{transform:translate(3px,-1px)}}.smasheyebrow{font-size:var(--label);letter-spacing:.24em;text-transform:uppercase;color:var(--ink-dim);margin:0 0 10px}.smashline{font-family:var(--display);text-transform:uppercase;letter-spacing:.01em;display:flex;flex-direction:column;align-items: center;gap:2px;margin:0;line-height:.92}.wname{color:var(--win);display:flex;flex-wrap:wrap;justify-content:center;font-size:clamp(38px,9vw,104px)}.wch{display:inline-block;animation:ch-rise .42s cubic-bezier(.2,.9,.25,1)both}@keyframes ch-rise{0%{transform:translateY(70%);opacity:0}to{transform:translate(0,0);opacity:1}}.sbang{color:var(--ink);text-shadow:0 0 24px color-mix(in srgb,var(--win)60%,transparent),0 6px 0 #00000073;animation:bang .46s cubic-bezier(.2,1.4,.3,1).32s both;font-size:clamp(52px,15vw,168px)}@keyframes bang{0%{transform:scale(3.4)rotate(-6deg);opacity:0}60%{opacity:1}to{transform:scale(1)rotate(0);opacity:1}}.losers{font-family:var(--ui);text-transform:none;color:var(--ink-dim);animation:ch-rise .42s ease-out .76s both;margin-top:10px;font-size:clamp(16px,3.4vw,30px)}.smashstats{display:flex;animation:ch-rise .42s ease-out .88s both;justify-content:center;gap:34px;margin:26px 0 22px}.sstat{display:flex;flex-direction:column;gap:2px}.sval{font-family:var(--display);color:var(--ink);font-variant-numeric:tabular-nums;font-size:30px}.slab{font-size:var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim)}.smashbtns{display:flex;animation:ch-rise .42s ease-out .98s both;flex-wrap:wrap;justify-content:center;gap:10px}@media (prefers-reduced-motion:reduce){.smash,.smashinner,.wch,.sbang,.losers,.smashstats,.smashbtns{animation:none}.smash .shock,.confetti{display:none}}.copyhint{font-size:var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin:16px 0 6px}.copyfallback{color:var(--ink);border:1px solid var(--rule);font:inherit;resize:none;background:#00000073;border-radius:3px;width:min(440px,100%);padding:8px 10px;font-size:13px;line-height:1.45}#app.tv-mode{display:block;overflow:hidden;grid-template-columns:none;grid-template-areas:none;max-width:none;height:100vh;padding:0}.tvlobby{display:flex;text-align:center;flex-direction:column;justify-content:center;align-items: center;gap:3vmin;min-height:100vh;padding:4vmin}.tvmark{font-family:var(--display);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:11vmin;line-height:1}.tvmark.small{font-size:3.4vmin}.tvsub{color:var(--ink-dim);margin:0;font-size:2.4vmin}.tvcount{display:flex;align-items: center;gap:2.4vmin}.tvstep{font-family:var(--display);border:2px solid var(--rule);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:50%;width:9vmin;height:9vmin;font-size:5vmin;line-height:1}.tvcountnum{font-family:var(--display);font-variant-numeric:tabular-nums;min-width:2ch;font-size:11vmin}.tvcountlab{color:var(--ink-dim);letter-spacing:.16em;text-transform:uppercase;font-size:2.6vmin}.tvgo{font-family:var(--display);text-transform:uppercase;letter-spacing:.05em;background:var(--accent);color:var(--accent-ink);cursor:pointer;border:none;border-radius:4px;padding:1.6vmin 5vmin;font-size:4vmin}.tverror{color:var(--signal);font-size:2.2vmin}.tvroom{box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;gap:1.6vmin;height:100%;padding:2vmin 2.4vmin}.tvhead{display:flex;align-items:baseline;gap:2.4vmin}.tvturn{color:var(--ink-dim);letter-spacing:.16em;text-transform:uppercase;font-size:2.4vmin}.tvclock{margin-left:auto}.tvtime{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:5vmin}.tvtime.low{color:var(--signal);animation:tvpulse 1s steps(2,end)infinite}@keyframes tvpulse{50%{opacity:.35}}.tvclocknone{color:var(--ink-dim);letter-spacing:.1em;text-transform:uppercase;font-size:1.9vmin}.tvbody{display:grid;grid-template-columns:minmax(0,1fr)28vmin;flex:1;align-items:stretch;gap:2.4vmin;min-height:0}.tvboard{display:flex;height:100%;min-height:0}.tvboard .boardwrap,.tvboard .boardstage{overflow:visible;max-width:none;width:100%!important;height:100%!important}.tvboard svg.board{width:100%;height:100%}.tvside{display:flex;flex-direction:column;gap:2vmin}.tvjoin{background:var(--panel);border:1px solid var(--rule);text-align:center;border-radius:4px;padding:1.6vmin}.tvjoinlab{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);margin:0 0 1vmin;font-size:1.7vmin}svg.qr{display:block;border-radius:3px;width:100%;height:auto}.tvcode{font-family:var(--display);letter-spacing:.14em;margin:1.2vmin 0 0;font-size:6vmin;line-height:1}.tvurl{font-family:var(--mono);color:var(--ink-dim);word-break:break-all;margin:.4vmin 0 0;font-size:1.5vmin}.tvlamps{display:flex;flex-direction:column;gap:.9vmin}.tvlamp{display:grid;grid-template-columns:2.4vmin 1fr;grid-template-areas:"dot name" "dot state";background:var(--panel);border:1px solid var(--rule);border-radius:4px;align-items: center;column-gap:1.2vmin;padding:1vmin 1.4vmin}.tvdot{grid-area:dot;background:var(--seat);opacity:.28;border-radius:50%;width:2.4vmin;height:2.4vmin}.tvlamp.lit .tvdot{opacity:1;box-shadow:0 0 2.4vmin var(--seat)}.tvname{grid-area:name;font-size:2.1vmin;font-weight:700}.tvstate{grid-area:state;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);font-size:1.5vmin}.tvlamp.lit .tvstate{color:var(--seat)}.tvlamp.bot{opacity:.5}.tvlamp.bot .tvname{color:var(--ink-dim);font-weight:400}@media (prefers-reduced-motion:reduce){.tvtime.low{animation:none}}.turnleft{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--label);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim)}.turnleft.low{color:var(--signal)}.tvwatch{display:flex;flex-direction:column;align-items: center;gap:1.2vmin}.tvwatchlab{letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim);margin:0;font-size:1.9vmin}.tvcoderow{display:flex;align-items:stretch;gap:1.4vmin}.tvcodein{font-family:var(--display);letter-spacing:.2em;text-align:center;background:var(--panel);border:2px solid var(--rule);color:var(--ink);text-transform:uppercase;border-radius:4px;width:7ch;padding:.6vmin 1vmin;font-size:7vmin}.tvcodein:focus{outline:none;border-color:var(--accent)}.tvgo.small{padding:1vmin 3vmin;font-size:2.6vmin}.tvhint{color:var(--ink-dim);text-align:center;max-width:46vmin;margin:0;font-size:1.8vmin}.tvor{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);opacity:.7;margin:2vmin 0 0;font-size:1.7vmin}.panel.invite svg.qr{width:100%;max-width:190px;margin:0 auto}.invitecode{font-family:var(--display);letter-spacing:.18em;text-align:center;margin-bottom:8px;font-size:34px}.confirmwrap{position:fixed;z-index:60;display:grid;background:color-mix(in srgb,var(--ground)82%,transparent);backdrop-filter:blur(2px);place-items: center;padding:20px;inset:0}.confirmbox{background:var(--panel);border:1px solid var(--rule);border-top:2px solid var(--signal);box-shadow:0 20px 60px var(--shadow);border-radius:4px;width:min(420px,100%);padding:20px}.confirmtitle{font-family:var(--display);text-transform:uppercase;letter-spacing:.03em;margin:0 0 8px;font-size:26px}.confirmdetail{color:var(--ink-dim);margin:0 0 18px;line-height:1.5}.confirmbtns{display:flex;justify-content:flex-end;gap:8px}.title.titleback{cursor:pointer;color:inherit;font:inherit;display:flex;background:0 0;border:1px solid #0000;border-radius:3px;align-items:baseline;gap:8px;margin-left:-4px;padding:2px 8px 2px 4px}.title.titleback:hover{border-color:var(--rule)}.backarrow{color:var(--ink-dim);font-size:22px;line-height:1}.title.titleback:hover .backarrow{color:var(--ink)}.orderbar{display:flex;gap:8px;margin-top:8px}.orderbar button{flex:1}.menuhead{font-size:var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);margin:4px 0 2px}.menuhead:first-child{margin-top:0}.navmenu-items.looks .ghost{display:grid;grid-template-columns:auto 1fr auto;text-align:left;align-items: center;gap:8px;width:100%}.navmenu-items.looks .ghost.locked{display:grid;flex-wrap:nowrap}.navmenu-items.looks .themelock{margin-left:0}.ghost.toggle .togglebox{border:1px solid var(--rule);display:grid;border-radius:2px;place-items: center;width:15px;height:15px;font-size:11px;line-height:1}.ghost.toggle.on .togglebox{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.panel h3 .youare{float:right;display:inline-flex;font-family:var(--ui);font-weight:400;font-size:var(--label);letter-spacing:.1em;color:var(--ink-dim);align-items: center;gap:6px}.panel h3 .youare .swatch{width:12px;height:12px}.submitstate{display:flex;border-top:1px solid var(--rule-soft);font-size:var(--label);letter-spacing:.06em;text-transform:uppercase;align-items: center;gap:8px;margin-top:10px;padding-top:10px}.submitstate .dot{border-radius:50%;flex:none;width:9px;height:9px}.submitstate.in{color:var(--ink)}.submitstate.in .dot{background:var(--accent);box-shadow:0 0 8px var(--accent)}.submitstate.out{color:var(--ink-dim)}.submitstate.out .dot{border:1px solid var(--ink-dim);background:0 0}.invited{text-align:center;color:var(--ink-dim);margin:0 0 4px}.primary.wide,.ghost.wide{width:100%}.mygames{display:flex;flex-direction:column;gap:6px;margin-bottom:6px}.gamerow{display:flex;text-align:left;background:var(--panel-2);border:1px solid var(--rule);color:var(--ink);font:inherit;cursor:pointer;border-radius:3px;align-items: center;gap:10px;width:100%;padding:10px 12px}.gamerow:hover{border-color:var(--ink-dim)}.gamerow.needsyou{border-left:3px solid var(--accent)}.gamerowmain{display:flex;flex-wrap:wrap;flex:1;align-items:baseline;gap:10px;min-width:0}.gamecode{font-family:var(--display);letter-spacing:.12em;font-size:20px;line-height:1}.gamestate{font-size:var(--label);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim)}.gamerow.needsyou .gamestate{color:var(--accent)}.gamestate.dim{opacity:.6}.gameclock{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--label);color:var(--ink-dim);margin-left:auto}.gamego{color:var(--ink-dim);flex:none;font-size:20px;line-height:1}@media (max-width:620px){.topbar{gap:8px 10px;padding:10px}.navdiv{display:none}.title.titleback{flex:auto}.turn,.turnleft{margin-left:auto}.navgroup{flex:100%;order:2}.navgroup button{flex:1}.navgroup.danger-zone{flex:none;order:3}.navgroup.primary-zone{order:4}.navgroup.primary-zone button{width:100%;padding:13px;font-size:14px}.navmenu{flex:1}.navmenu-summary{text-align:center;width:100%}}.turnsum{position:fixed;z-index:40;display:grid;background:color-mix(in srgb,var(--ground)55%,transparent);animation:smash-wake .18s ease-out both;place-items: center;padding:20px;inset:0}.turnsumbox{text-align:center;background:var(--panel);border:1px solid var(--rule);border-top:2px solid var(--win);box-shadow:0 18px 50px var(--shadow);animation:ch-rise .26s cubic-bezier(.2,.9,.25,1)both;border-radius:4px;width:min(340px,100%);padding:18px}.turnsumeyebrow{font-size:var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim);margin:0 0 4px}.turnsumline{font-family:var(--display);text-transform:uppercase;letter-spacing:.02em;margin:0 0 14px;font-size:28px;line-height:1}.turnsumstats{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;margin-bottom:12px}.tsstat{display:flex;flex-direction:column}.tsval{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:24px}.tsstat.good .tsval{color:var(--win)}.tsstat.bad .tsval{color:var(--signal)}.tslab{font-size:var(--label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim)}.turnsumnote{color:var(--amber);margin:0 0 8px;font-size:12.5px}.turnsumbox .primary{width:100%;margin-top:6px}@media (prefers-reduced-motion:reduce){.turnsum,.turnsumbox{animation:none}}.navmenu.burger{flex:none;order:1}.burgerbtn{text-align:center;min-width:44px;padding:8px 12px;font-size:20px;line-height:1}.burgerbtn::-webkit-details-marker{display:none;content:""}.burgerbtn::marker{display:none;content:""}.burgerpanel{position:absolute;z-index:30;overflow-y:auto;overscroll-behavior:contain;display:flex;background:var(--panel);border:1px solid var(--rule);box-shadow:0 18px 44px var(--shadow);border-radius:4px;flex-direction:column;gap:6px;max-height:70vh;padding:12px;top:calc(100% + 6px);left:0;right:0}.burgerpanel .looks{display:contents}.burgerpanel button{width:100%;padding:11px 12px;font-size:13px}@media (max-width:620px){.topbar{row-gap:8px}.navgroup.primary-zone{flex:100%;order:5}}@keyframes glint{0%,88%,to{opacity:0}93%{opacity:.09}}polygon.glint{opacity:0;animation:glint 16s ease-in-out infinite;pointer-events:none}@media (prefers-reduced-motion:reduce){polygon.glint{animation:none}}.tauntwrap{position:fixed;z-index:55;display:grid;background:color-mix(in srgb,var(--ground)78%,transparent);place-items: center;padding:16px;inset:0}.tauntbox{overflow-y:auto;background:var(--panel);border:1px solid var(--rule);border-top:2px solid var(--accent);box-shadow:0 18px 50px var(--shadow);border-radius:4px;width:min(460px,100%);max-height:86vh;padding:16px}.taunteyebrow{text-align:center;font-size:var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);margin:0 0 10px}.tauntgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-bottom:10px}.tauntcard{display:flex;background:var(--panel-2);border:1px solid var(--rule);color:var(--ink);cursor:pointer;text-align:center;border-radius:3px;flex-direction:column;gap:2px;padding:12px 8px}.tauntcard:hover{border-color:var(--accent)}.tauntbig{font-family:var(--display);text-transform:uppercase;letter-spacing:.02em;font-size:22px;line-height:1}.tauntline{color:var(--ink-dim);font-size:11px}.tauntwho{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.tauntwho .ghost{display:flex;justify-content:flex-start;align-items: center;gap:8px}.ghost.armed{border-color:var(--accent);color:var(--ink)}.tauntland{display:flex;background:color-mix(in srgb,var(--who)14%,transparent);border-left:3px solid var(--who);border-radius:3px;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:8px;margin:8px 0;padding:8px}.tauntland .tauntbig{color:var(--who)}.tauntland.at-me{background:color-mix(in srgb,var(--who)24%,transparent)}.tauntfrom{font-size:var(--label);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim)}g.cell.picked polygon:first-of-type{stroke:var(--accent);stroke-width:4}
