:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,sans-serif;font-size:calc(14px * var(--text-scale,1))}:focus-visible{outline-offset:2px;outline:2px solid #fbbf24}html,body,#root{color:#e5e7eb;background:#111318;height:100%;margin:0;overflow:hidden}#root{contain:paint;position:fixed;inset:0;overflow:clip}button,select,input{font:inherit;color:inherit;background:#1f2430;border:1px solid #39404f;border-radius:5px;padding:3px 8px}button{cursor:pointer}button:hover:not(:disabled){background:#2a3140}button:disabled{opacity:.45;cursor:default}button.primary{background:#2563eb;border-color:#3b82f6}button.primary:hover:not(:disabled){background:#1d4ed8}button.danger{color:#fca5a5;border-color:#b91c1c}button.on{background:#a16207}button.small{padding:0 6px;font-size:.85rem}button.link{color:#93c5fd;background:0 0;border:none;padding:0;text-decoration:underline}hr{border:none;border-top:1px solid #2d3340;width:100%}.panel{z-index:20;box-sizing:border-box;background:#111318e6;border:1px solid #2d3340;border-radius:8px;flex-direction:column;gap:8px;padding:10px 12px;display:flex;position:absolute}.muted{color:#9ca3af;margin:0}.warn{color:#fbbf24;margin:0}h1,h2{margin:0}h2{font-size:1.1rem}.row{align-items:center;gap:6px;display:flex}.row.wrap{flex-wrap:wrap}.row.spread{justify-content:space-between}.row input[type=number]{width:3.5em}label.check{align-items:center;gap:6px;display:flex}label.file input{display:none}label.file{cursor:pointer;color:#93c5fd}label.file.button{color:inherit;background:#1f2430;border:1px solid #39404f;border-radius:5px;padding:3px 8px}label.file.button.small{padding:0 6px;font-size:.85rem}.figures .figure{align-items:center;gap:6px;margin:4px 0}.lobby{width:min(460px,100vw - 32px);max-height:calc(100vh - 32px);top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.lobby h1{margin:0}.lobby-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;display:flex}.lobby-settings{flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:.8rem;display:flex}.lobby-settings .text-size button{padding:2px 6px}.lobby-settings .language-picker select{font-size:.8rem}.lobby-cols,.lobby-col{flex-direction:column;gap:8px;display:flex}.lobby-foot{border-top:1px solid #2d3340;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding-top:8px;display:flex}@media (width>=1000px){.lobby{width:min(960px,100vw - 64px)}.lobby-cols{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}}.lobby .pitch{color:#e5e7eb;margin:0 0 4px;font-size:1.05rem}.lobby h2{text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;margin:10px 0 0;font-size:.8rem}.lobby h2+p{margin:0}.lobby .demos{grid-template-columns:1fr 1fr;gap:6px;display:grid}.lobby .more-games{grid-column:1/-1}.lobby .more-games>summary{cursor:pointer;font-size:.9rem}.lobby .more-games[open]>summary{margin-bottom:6px}.lobby .demo{text-align:left;border:1px solid #4b5563;border-radius:6px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.lobby .demo:has(.how-hard){grid-column:1/-1}.lobby .demo .row{margin-top:auto;padding-top:6px}.lobby .own-army{text-align:left;border-color:#f59e0b;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.lobby .own-army strong,.lobby .demo strong{color:#fbbf24}.lobby details.fold{flex-direction:column;gap:8px;display:flex}.lobby details.fold[open]>:not(summary){margin-top:6px}@media (width<=420px){.lobby .demos{grid-template-columns:1fr}}.whatnow-toggle{z-index:19;top:var(--below-bar,64px);opacity:.85;font-size:.85rem;position:absolute;left:50%;transform:translate(-50%)}.panel.mailbar{z-index:18;border-color:#a78bfa;gap:6px;width:clamp(300px,100vw - 764px,560px);bottom:58px;left:324px}.panel.mailbar .mail-passed{margin-top:2px;display:block}@media (width<=900px){.panel.mailbar{width:calc(100vw - 16px);left:8px}}.panel.mailbar ul{margin:0;padding-left:18px}.mail-games{gap:4px;margin:6px 0 0;padding:0;list-style:none;display:grid}.panel.whatnow{z-index:19;top:var(--below-bar,64px);border-color:#f59e0b;gap:4px;width:min(440px,100vw - 32px);left:50%;transform:translate(-50%)}.panel.whatnow p{margin:0;font-size:.9rem}.panel.whatnow.folded{width:auto;max-width:min(440px,100vw - 32px);font:inherit;color:inherit;cursor:pointer;white-space:nowrap;flex-direction:row;align-items:center;font-size:.9rem}.panel.whatnow.quiet{border-color:#2d3340;flex-direction:row;align-items:center;gap:6px;width:auto;padding:4px 10px;font-size:.9rem}.pulse-once{animation:1.4s ease-in-out pulse-once}@keyframes pulse-once{50%{box-shadow:0 0 0 5px #2563eb73}}@media (prefers-reduced-motion:reduce){.pulse-once{animation:none}}.panel.coach{z-index:19;border-color:#22c55e;gap:6px;width:min(460px,100vw - 32px);top:64px;left:50%;transform:translate(-50%)}.panel.coach p{margin:0;font-size:.95rem;line-height:1.4}.panel.coach .coach-said{color:#86efac;font-weight:600}.panel.coach .coach-title{font-size:1.15rem}.panel.coach .coach-ticks{color:var(--muted,#9ca3af);flex-wrap:wrap;gap:4px 14px;margin:0;padding:0;list-style:none;display:flex}.panel.coach .coach-ticks .ok{color:#86efac}body.lesson .panel.hud>:not(:first-child):not(.log):not(.undo-row){display:none}button.coach-pulse{animation:1.6s ease-in-out infinite coach-pulse}@keyframes coach-pulse{0%,to{box-shadow:0 0 #22c55eb3}50%{box-shadow:0 0 0 6px #22c55e00}}@media (prefers-reduced-motion:reduce){button.coach-pulse{animation:none;box-shadow:0 0 0 3px #22c55ecc}}.keys-sheet table{border-collapse:collapse;font-size:.9rem}.keys-sheet td{vertical-align:top;padding:3px 8px 3px 0}.keys-sheet td:first-child{white-space:nowrap}kbd{background:#1f2937;border:1px solid #4b5563;border-bottom-width:2px;border-radius:4px;padding:1px 5px;font-family:inherit;font-size:.85em}.guide h3{margin:10px 0 2px;font-size:.95rem}.guide ol{margin:0;padding-left:20px;line-height:1.4}.guide .tabs{flex-wrap:wrap;gap:4px;display:flex}.guide .tabs .on{color:#fbbf24;border-color:#f59e0b}body.showcase .coach,body.showcase .whatnow,body.showcase .whatnow-toggle,body.reeling .whatnow,body.reeling .whatnow-toggle{display:none}.lobby label:not(.check):not(.file){justify-content:space-between;align-items:center;gap:8px;display:flex}.lobby .pop-menu.small>button{padding:0 8px;font-size:.85rem}.lobby .pop-menu .menu{z-index:30;min-width:180px}.lobby-aa .menu{gap:8px;min-width:220px}.host-options{align-items:center;gap:6px;display:inline-flex}.host-options[open]{flex-wrap:wrap}.host-options summary{cursor:pointer}@media (width>=760px){.lobby{width:min(760px,100vw - 64px)}}.lobby .invite-box{border:1px dashed #4b5563;border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:6px 8px;display:flex}.lobby .invite-box label{flex:260px}.lobby .game-row{grid-template-columns:repeat(3,1fr)}.lobby .game-pick{cursor:pointer;background:0 0;justify-content:flex-start;min-height:92px}.lobby .game-row .game-pick.demo.on{background:#fbbf241a;border-color:#fbbf24;box-shadow:inset 0 0 0 1px #fbbf24}.lobby .game-extras{gap:4px 14px}.lobby .who{grid-template-columns:1fr 1fr;gap:6px;display:grid}.lobby .who-pick{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.lobby .who-pick.on{box-shadow:inset 0 0 0 1px #fbbf24}.lobby .who-more{align-items:center;gap:6px 12px}.lobby .lobby-files{align-items:flex-start;gap:8px 16px}.lobby .lobby-files details.fold{flex:100%}@media (width<=560px){.lobby .game-row,.lobby .who{grid-template-columns:1fr}.lobby .game-pick{min-height:0}}.lobby .game-row{align-items:stretch}.lobby .game-row>.game-pick.demo{margin:0}.lobby .invite-box label{flex-wrap:wrap}.lobby .invite-box input{flex:200px}.lobby .flow{flex-direction:column;gap:12px;display:flex}.lobby .flow-col{flex-direction:column;gap:8px;min-width:0;display:flex}.lobby .flow-col.drawer{animation:.25s ease-out flow-drawer}@keyframes flow-drawer{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.lobby .flow-col.drawer{animation:none}}.lobby .flow .who,.lobby .flow .game-row{grid-template-columns:1fr}.lobby .flow .game-pick{min-height:0}.lobby .flow-go{align-self:stretch;padding:10px 14px;font-size:1rem}.lobby .flow-name{flex-wrap:wrap}.lobby .flow .how-hard button.on{box-shadow:inset 0 0 0 1px #fbbf24}@media (width>=900px){.lobby:has(.flow){width:min(1080px,100vw - 64px)}.lobby .flow{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;display:grid}}.lobby .flow .who-pick.on,.lobby .flow .how-hard button.on{color:inherit;background:#fbbf241f;border-color:#fbbf24}.hud{top:var(--below-bar,64px);width:300px;max-height:calc(100vh - 300px);left:12px;overflow-y:auto}.hud.collapsed{width:auto}.log{min-height:min(7rem,25vh);max-height:260px;margin:0;padding:0;font-size:.85rem;line-height:1.35;list-style:none;overflow-y:auto}.hud-foot>*{white-space:nowrap}.log li{padding:2px 0}.log .phase{color:#9ca3af;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #374151;margin-top:6px;padding:2px 0;font-size:.75rem;font-weight:600}.log .detail{color:#cbd5e1;border-left:2px solid #374151;margin:1px 0 2px 10px;padding:0 0 0 8px;font-size:.8rem;list-style:none}.log .detail li{padding:0}.log .undone{opacity:.5;text-decoration:line-through}.topbar{z-index:20;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:8px;width:max-content;max-width:calc(100vw - 24px);display:flex;position:absolute;top:8px;left:50%;transform:translate(-50%)}.topbar>*{background:#111318e6;border:1px solid #2d3340;border-radius:8px;align-items:center;gap:8px;padding:4px 10px;display:flex}.topbar .player{border-left-width:4px}.topbar .player.active{box-shadow:0 0 0 1px}.topbar .counter{align-items:center;gap:2px;display:inline-flex}.topbar .counter button{padding:0 5px}@media (pointer:fine){.topbar .counter button{opacity:0;transition:opacity .12s}.topbar .counter:hover button,.topbar .counter:focus-within button,.fixing-score .topbar .counter[data-label=VP] button{opacity:1}}.topbar .score-chip{border:1px solid;border-radius:999px;align-items:center;gap:2px;padding:0 2px 0 6px;font-weight:600;animation:1.4s ease-in-out pulse-once;display:inline-flex}.topbar .score-chip button{padding:0 5px}.topbar .score-chip.waiting{border-style:dashed;padding-right:6px;font-weight:400}@media (prefers-reduced-motion:reduce){.topbar .score-chip{animation:none}}.topbar .your-turn-flash{color:#fff;background:#2563eb;border-radius:999px;padding:0 8px;font-weight:700;animation:2.6s ease-out forwards your-turn}@keyframes your-turn{0%{opacity:0}12%{opacity:1}80%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.topbar .your-turn-flash{animation:none}}.topbar .phase{flex-direction:column;align-items:center;display:flex}.phases{color:#6b7280;gap:6px;font-size:.8rem;display:flex}.phases .current{color:#fde047;font-weight:600}.unitcard{top:var(--below-bar,64px);width:400px;max-height:calc(100vh - var(--below-bar,64px) - 60px - 3.5rem);right:12px;overflow-y:auto}.chips{flex-wrap:wrap;gap:4px;display:flex}.chip{color:#9ca3af;background:0 0;border:1px solid #39404f;border-radius:10px;padding:1px 7px;font-size:.75rem}.chip.on{color:#e5e7eb;background:#1e3a8a;border-color:#3b82f6}table{border-collapse:collapse;width:100%;font-size:.82rem}th,td{text-align:left;padding:2px 4px}th{color:#9ca3af;border-bottom:1px solid #2d3340;font-weight:500}tr.kw td{color:#9ca3af;padding-top:0;font-size:.75rem}tr.muted td{color:#6b7280}details summary{cursor:pointer;color:#93c5fd}details p{margin:6px 0;font-size:.85rem}.models{flex-direction:column;gap:3px;margin:6px 0;padding:0;font-size:.85rem;list-style:none;display:flex}.models li{grid-template-columns:1fr 60px auto;align-items:center;gap:6px;display:grid}.models li.dead span:first-child{color:#6b7280;text-decoration:line-through}.attack{top:var(--below-bar,64px);width:400px;max-height:calc(100vh - var(--below-bar,64px) - 60px - 3.5rem);right:12px;overflow-y:auto}.attack .grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px 12px;display:grid}.attack .grid input[type=number]{width:3em}.notes{color:#fcd34d;margin:0;padding-left:1.2em;font-size:.85rem}.stage{grid-template-columns:70px 1fr;align-items:start;gap:4px 8px;display:grid}.stage .label{color:#9ca3af}.stage .result{grid-column:2}.dice{flex-wrap:wrap;gap:3px;display:flex}.die{color:#9ca3af;background:#374151;border-radius:4px;justify-content:center;align-items:center;min-width:20px;height:20px;font-size:.8rem;font-weight:700;display:inline-flex}.die.ok{color:#ecfdf5;background:#166534;box-shadow:inset 0 0 0 2px #bbf7d0}.die.crit{color:#111;background:#ca8a04}.die sup{font-size:.6rem}.panel.modal{background:#111318}.modal-backdrop{z-index:50;background:#00000080;position:fixed;inset:0}.modal{z-index:51;width:min(560px,100vw - 32px);max-height:calc(100dvh - 32px);top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.replaybar{z-index:20;box-sizing:border-box;background:#111318e6;border:1px solid #2d3340;border-radius:8px;align-items:center;gap:8px;width:min(720px,100vw - 660px);min-width:420px;padding:4px 10px;display:flex;position:absolute;bottom:10px;left:max(50%,540px);transform:translate(-50%)}.replaybar.tucked{width:auto;min-width:0;padding:2px 4px;left:50%}.replaybar .track{flex:1;align-items:center;display:flex;position:relative}.replaybar input[type=range]{flex:1;padding:0}.replaybar .tick{pointer-events:none;background:#6b7280;width:1px;height:6px;position:absolute;top:-3px}.replaybar .tick.round{background:#e5e7eb;width:3px;height:14px;top:-7px}.replaybar .tick .label{color:#d1d5db;font-size:.65rem;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.replaybar .where{white-space:nowrap;min-width:9em;font-size:.8rem}.caption{z-index:20;background:#111318e6;border:1px solid #2d3340;border-radius:8px;align-items:baseline;gap:10px;max-width:min(720px,max(300px,100vw - 880px));padding:6px 12px;display:flex;position:absolute;bottom:58px;left:50%;transform:translate(-50%)}.caption .when{color:#9ca3af;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:.75rem}.plate{white-space:nowrap;pointer-events:none;background:#111318cc;border-left:3px solid;border-radius:4px;padding:1px 6px;font-size:.72rem}.ruler,.wounds{pointer-events:none;white-space:nowrap;background:#000000b3;border-radius:4px;padding:2px 6px;font-family:ui-monospace,monospace}.ruler.over{background:#b91c1cd9}.ruler.near{background:#b45309e6}.charge .tense{color:#fde68a;background:#b45309e6;border-radius:4px;padding:0 6px;display:inline-block}.chip.charged{color:#fde68a;border-color:#b45309}.wounds{padding:0 4px;font-size:.7rem}@media (width<=900px){.hud,.unitcard,.attack{width:calc(50vw - 18px)}}.terrainpanel{top:var(--below-bar,64px);width:360px;max-height:calc(100vh - 140px);right:12px;overflow-y:auto}.terrainpanel label:not(.check):not(.file){align-items:center;gap:6px;display:flex}.selected-terrain{border:1px solid #a16207;border-radius:6px;flex-direction:column;gap:6px;padding:6px;display:flex}.eye-exit{z-index:20;position:absolute;top:110px;left:50%;transform:translate(-50%)}.overflow{position:relative}.quiet{color:#9ca3af;background:0 0;border-color:#0000}.overflow .menu{white-space:nowrap;z-index:5;background:#111827;border:1px solid #374151;border-radius:6px;flex-direction:column;gap:4px;padding:6px;display:flex;position:absolute;top:100%;right:0}.sightlabel{white-space:nowrap;pointer-events:none;background:#111827d9;border-radius:4px;padding:1px 6px;font-size:.75rem}.sightlabel.full,.legend .full{color:#4ade80}.sightlabel.partial,.legend .partial{color:#facc15}.sightlabel.none,.legend .none{color:#f87171}.legend{z-index:20;background:#111827d9;border-radius:6px;gap:12px;padding:4px 10px;font-size:.8rem;display:flex;position:absolute;bottom:64px;left:12px}.legend span:not(.muted):before{content:"● "}.settings label{margin:4px 0;display:block}.plate .sightlabel{background:0 0;padding:0}.settings[open]{flex-shrink:0;max-height:260px;overflow-y:auto}.terrain-legend{bottom:96px}.terrain-legend .open{color:#e5e7eb}.terrain-legend .obscuring{color:#facc15}.terrain-legend .blocking{color:#f87171}.topbar .pool button.die{color:#111;background:#e5e7eb;border:1px solid #9ca3af;margin:0 1px;padding:0}.topbar .pool button.die.on{background:#f59e0b;border-color:#b45309}.actions{flex-direction:column;gap:4px;margin:6px 0;display:flex}.actions .cost{opacity:.75;font-size:.8em}.command{border-left:2px solid #3b82f6;padding-left:8px}.plan{margin:6px 0;padding-left:1.2em;font-size:.85rem}.plan .label{color:#9ca3af}.reaction{z-index:20;border-color:#f59e0b;max-width:min(520px,100vw - 32px);top:136px;left:50%;transform:translate(-50%)}.overflow .menu.menu-left{min-width:180px;left:0;right:auto}.pop-menu .menu button{text-align:left}.objective-tag{color:#e5e7eb;white-space:nowrap;pointer-events:none;background:#11141beb;border:1px solid #3a4150;border-radius:6px;padding:3px 8px;font-size:.8rem}.replaybar .highlight{z-index:1;background:#1f2430;border:1px solid #3a4150;border-radius:4px;min-width:0;padding:0 3px;font-size:.75rem;line-height:1.2;position:absolute;top:50%;transform:translate(-50%,-50%)}.replaybar .highlight.wiped{color:#f87171}.replaybar .highlight.charge{color:#fbbf24}.replaybar .highlight.swing{color:#a3e635}.burst{pointer-events:none;white-space:nowrap;color:#fde68a;background:#111318d9;border:1px solid #fbbf24;border-radius:6px;padding:2px 8px;font-size:.9rem;font-weight:700;animation:1.6s ease-out forwards burst}@keyframes burst{0%{opacity:0;transform:translate(-50%,-50%)translateY(6px)scale(.85)}15%{opacity:1;transform:translate(-50%,-50%)scale(1.05)}70%{opacity:1;transform:translate(-50%,-50%)translateY(-8px)}to{opacity:0;transform:translate(-50%,-50%)translateY(-16px)}}.round-card{z-index:25;background:#111318f2;border:1px solid #3a4150;border-radius:10px;flex-direction:column;gap:6px;min-width:280px;padding:10px 14px;display:flex;position:absolute;top:100px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0006}.round-card .head{justify-content:space-between;align-items:center;display:flex}.round-card .row{border-left:3px solid;grid-template-columns:1fr auto;gap:0 12px;padding-left:8px;display:grid}.round-card .row .muted{grid-column:1/-1;font-size:.8rem}.play{z-index:19;gap:6px;width:400px;max-height:34vh;bottom:60px;right:12px;overflow-y:auto}.play.collapsed{width:auto}.play:not(.collapsed)~.panels>.unitcard,.play:not(.collapsed)~.panels>.attack{max-height:calc(66vh - 136px)}.play .stratagems{border-top:1px solid #2d3340;padding-top:4px}.play .stratagems p{margin:2px 0}.play .stratagem{flex-direction:column;gap:2px;margin:4px 0;display:flex}.play .stratagem.row{flex-direction:row;align-items:center}.play input[type=number]{width:3em}.reminders{margin:0;padding:0;font-size:.85rem;list-style:none}.reminders li{justify-content:space-between;align-items:flex-start;gap:6px;padding:2px 0;display:flex}.reminders li.applied{opacity:.6}.reminders details p{white-space:pre-wrap;margin:4px 0}.wound-order .chips{flex-wrap:wrap;gap:4px;display:flex}.core-abilities{flex-wrap:wrap;align-items:center;gap:4px 10px;margin:4px 0;display:flex}.regiment{border-top:1px solid #2d3340;flex-direction:column;gap:6px;margin:6px 0;padding-top:6px;display:flex}.regiment h3{margin:0;font-size:.9rem}.regiment p{margin:0}.regiment .row{flex-wrap:wrap;align-items:center}input.frontage{width:4em}.small{font-size:.8rem}.arc-label{pointer-events:none;white-space:nowrap;color:#e5e7eb;text-shadow:0 1px 2px #000;text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.slot-dice{margin-top:2px}.slot-dice .die.placed{color:#111;background:#fde68a;border:1px solid #b45309;width:1.4em;height:1.4em;margin-right:2px;font-size:.85em;line-height:1.4em;display:inline-block}.slot-dice .actions{display:inline}.actions button.die,.panel.attack button.die{color:#111;background:#e5e7eb;border:1px solid #9ca3af;padding:0}.actions button.die.hover,.panel.attack button.die.hover{box-shadow:0 0 0 2px #60a5fa}.actions button.die.on,.panel.attack button.die.on{background:#f59e0b;border-color:#b45309}.net-banner{z-index:30;color:#fef3c7;background:#78350f;border:1px solid #f59e0b;border-radius:8px;padding:6px 14px;font-size:.9rem;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.room{flex-direction:column;gap:4px;display:flex}.room .people{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.room .people .dot{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.deploy-tray{border:1px solid #3f3f46;border-radius:6px;flex-direction:column;gap:4px;padding:6px 8px;display:flex}.deploy-tray .tray{max-height:140px;margin:0;padding:0;list-style:none;overflow-y:auto}.regiment .charge{border-top:1px solid #3f3f46;flex-direction:column;gap:4px;margin-top:6px;padding-top:6px;display:flex}.regiment .charge h4{margin:0}.templates .template-list{flex-direction:column;gap:4px;margin:4px 0;padding:0;list-style:none;display:flex}.template-label{white-space:nowrap;color:#f4f4f5;pointer-events:none;background:#000000a6;border-radius:4px;padding:2px 6px;font-size:.786rem}.net-banner.desync{background:#7f1d1d;align-items:center;gap:8px;display:flex}.topbar .ask{align-items:center;gap:6px;font-size:.857rem;display:flex}.fp{color:#a1a1aa;font-family:ui-monospace,monospace;font-size:.8em}.packages .package-list{flex-direction:column;gap:4px;margin:4px 0;padding:0;list-style:none;display:flex}.packages .menu,.game-packages .menu{position:relative}.menu>summary{cursor:pointer;padding:0 6px;list-style:none}.menu .menu-items{z-index:5;background:#18181b;border:1px solid #3f3f46;border-radius:6px;flex-direction:column;gap:2px;padding:4px;display:flex;position:absolute;right:0}.package-details code{word-break:break-all}.game-packages{flex-direction:column;gap:2px;margin-bottom:6px;display:flex}label.file.button{cursor:pointer;border:1px solid #3f3f46;border-radius:6px;padding:4px 10px;display:inline-block}label.file.button.primary{background:#2563eb;border-color:#2563eb}label.file.button input{display:none}.package-card{z-index:32;max-width:min(520px,100vw - 32px);top:110px}.package-card .package-need{border-left:3px solid #f59e0b;flex-direction:column;gap:4px;padding-left:8px;display:flex}.package-card .progress{flex-direction:column;gap:2px;display:flex;position:relative}.package-card .progress .bar{background:#22c55e;border-radius:2px;height:4px;display:block}.topbar>.net-banner{background:#78350f;border-color:#f59e0b;flex-basis:100%;justify-content:center;position:static;transform:none}.topbar>.net-banner.desync{background:#7f1d1d}.package-card .row{border-left:none;flex-wrap:wrap;align-items:center;gap:8px;padding-left:0;display:flex}.auto-list{margin:.4rem 0;padding-left:0;list-style:none}.auto-list li{margin-bottom:.35rem}.auto-list li .small{margin-left:1.6rem}.ability-line p,.rule-text{margin:.3rem 0}.import-units .missing-stats td{padding-bottom:6px}.import-units .stat-input{align-items:center;gap:2px;margin-right:6px;display:inline-flex}.replaybar .highlight.rules{color:#60a5fa}.log .phase.rules{text-transform:none;color:#93c5fd}.panel.script{top:var(--below-bar,96px);border-color:#f59e0b;max-width:min(520px,100vw - 32px);left:50%;transform:translate(-50%)}.panel.script .chips{flex-wrap:wrap;gap:6px;display:flex}.code-actions .row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.odds{color:#93c5fd}p.odds{margin:4px 0;font-weight:600}.stats-screen{z-index:30;background:#111318;border:1px solid #3a4150;border-radius:10px;flex-direction:column;gap:10px;width:min(560px,100vw - 32px);max-height:calc(100vh - 200px);padding:12px 16px;display:flex;position:absolute;top:90px;left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 8px 24px #0006}.stats-screen .head{align-items:baseline;gap:8px;display:flex}.stats-screen .head button{margin-left:auto}.stats-screen h4{text-transform:uppercase;letter-spacing:.04em;color:#9ca3af;margin:0 0 6px;font-size:.857rem}.stats-screen .swatch{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.stats-screen .legend-row{flex-wrap:wrap;gap:16px;margin-bottom:4px;display:flex}.points-chart{width:100%;height:auto}.points-chart .axis{stroke:#4b5563;stroke-width:1px}.points-chart text{text-anchor:middle;font-size:.786rem}.points-chart .value{fill:#e5e7eb}.points-chart .tick{fill:#9ca3af}.stats-screen .luck{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.stats-table{border-collapse:collapse;width:100%;font-size:.929rem}.stats-table th,.stats-table td{text-align:right;padding:2px 6px}.stats-table th:first-child,.stats-table td:first-child{text-align:left}.stats-table th{color:#9ca3af;font-weight:500}.stats-table .up{color:#86efac}.stats-table .down{color:#fca5a5}.round-card .swing-line{color:#93c5fd;font-size:.929rem}.game-packages label.check{flex-wrap:wrap;align-items:baseline;row-gap:0;line-height:1.35}.game-packages .fp{white-space:nowrap}.modal:has(.import-units){width:min(760px,100vw - 32px)}.import-units select{max-width:150px}.import-units td label.small{white-space:nowrap;display:block}.panel.attack .incoming{border-left:3px solid var(--accent,#e0a040);background:color-mix(in srgb, var(--accent,#e0a040) 12%, transparent);margin:6px 0;padding:6px 8px;font-weight:600}.panel.attack .one-go,.panel.attack .saves-land{align-items:center;gap:4px;display:inline-flex}.dice-tray{z-index:22;opacity:0;pointer-events:none;cursor:pointer;width:min(400px,100vw - 24px);height:min(220px,34vh);transition:opacity .25s,transform .25s,height .2s;position:absolute;bottom:60px;right:12px;transform:translateY(12px)}.dice-tray.few{height:160px}.dice-tray.on{opacity:1;pointer-events:auto;transform:none}.dice-tray .felt{background:radial-gradient(at 50% 40%,#22302f 0%,#172221 80%);border-radius:14px;position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 0 0 8px #3a2b1f,inset 0 0 0 10px #0006,inset 0 18px 40px #0008,0 10px 30px #00000073}.dice-tray .tray-caption{z-index:4;letter-spacing:.04em;color:#e7e3da;text-shadow:0 1px 4px #000;pointer-events:none;font-size:.929rem;font-weight:700;position:absolute;top:14px;left:18px}.dice-tray .tray-banner{z-index:5;pointer-events:none;text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;padding-top:34px;display:flex;position:absolute;inset:0}.dice-tray .tray-banner .big{text-transform:uppercase;letter-spacing:.02em;text-shadow:0 4px 24px #000c;opacity:0;max-width:calc(100% - 24px);font-size:2.1rem;font-weight:900;line-height:.95;transition:opacity .18s,transform .3s cubic-bezier(.2,1.6,.4,1);transform:scale(.85)}.dice-tray .tray-banner .small{opacity:0;text-shadow:0 2px 8px #000;margin-top:6px;font-size:.9rem;transition:opacity .3s .1s}.dice-tray .tray-banner.on .big{opacity:1;transform:scale(1)}.dice-tray .tray-banner.on .small{opacity:.9}.dice-tray .tray-banner.good .big{color:#e0b354}.dice-tray .tray-banner.bad .big{color:#9a9f9f}.dice-tray .die{width:var(--s);height:var(--s);will-change:transform;z-index:2;position:absolute;top:0;left:0}.dice-tray .die .shadow{opacity:.45;will-change:transform, opacity;background:radial-gradient(closest-side,#000 55%,#0000);border-radius:22%;position:absolute;inset:8% 4% -2%;transform:scale(1.15)}.dice-tray .die .body{background:linear-gradient(145deg, color-mix(in srgb, var(--c) 100%, #fff 18%), var(--c) 55%, color-mix(in srgb, var(--c) 70%, #000));border-radius:20%;grid-template:repeat(3,1fr)/repeat(3,1fr);padding:15%;transition:filter .25s;display:grid;position:absolute;inset:0;box-shadow:inset 0 -3px #0005,inset 0 2px #fff4}.dice-tray .die .body.numeric{justify-content:center;align-items:center;padding:0;display:flex}.dice-tray .die .body.numeric:after{content:attr(data-n);font-weight:800;font-size:calc(var(--s) * .5);color:var(--p,#10141a)}.dice-tray .die .body.numeric .pip{display:none}.dice-tray .die .pip{background:var(--p,#10141a);visibility:hidden;border-radius:50%;width:70%;height:70%;margin:auto;box-shadow:inset 0 1px 1px #000c}.dice-tray .die .pip.on{visibility:visible}.dice-tray .die.crit .body{box-shadow:inset 0 -3px #0005,inset 0 2px #fff6,0 0 0 2px #e0b354,0 0 18px 2px #e0b354b3}.dice-tray .die.fail .body{filter:saturate(.15)brightness(.55)}.dice-tray .die.gone{opacity:0;transition:transform .45s cubic-bezier(.5,0,.8,.4),opacity .45s}.dice-tray .tray-counts{flex-wrap:wrap;place-content:center;gap:10px;display:flex;position:absolute;inset:40px 20px 20px}.dice-tray .tray-count{background:var(--c);color:#10141a;border-radius:8px;padding:8px 12px;font-size:1.286rem;font-weight:800}.dice-tray .tray-count.fail{filter:saturate(.15)brightness(.55)}.topbar .sound-toggle{padding:0 4px}.dice-tray .felt:before{content:"";z-index:1;pointer-events:none;opacity:0;background:radial-gradient(#0000 20%,#000000d0 75%);transition:opacity .5s;position:absolute;inset:0}.dice-tray.legendary .felt:before{opacity:1}.dice-tray .die.tray-legend{z-index:3}.dice-tray .die.tray-legend .body{animation:1.4s ease-in-out infinite tray-legend;box-shadow:inset 0 -3px #0005,inset 0 2px #fff6,0 0 0 2px #e0b354,0 0 28px 6px #e0b354cc}@keyframes tray-legend{50%{filter:brightness(1.25)}}.dice-tray .tray-banner.tray-legend .big{color:#e0b354;font-size:1.9rem}.dice-tray .tray-banner.tray-legend{padding-bottom:12px}.dice-tray .tray-banner.tray-legend .small{color:#e0b354;font-variant-numeric:tabular-nums;margin-top:auto}.dice-tray .tray-banner.tray-legend.cursed .big{color:#c9a0dc}@media (prefers-reduced-motion:reduce){.dice-tray .die.tray-legend .body{animation:none}}.moment-title div{white-space:nowrap;pointer-events:none;flex-direction:column;align-items:center;animation:.4s cubic-bezier(.2,1.6,.4,1) moment-in;display:flex}.moment-title strong{text-transform:uppercase;color:#e0b354;text-shadow:0 3px 14px #000c;font-size:1.857rem;font-weight:900}.moment-title span{color:#e0b354;text-shadow:0 2px 6px #000;font-size:.929rem}.moment-title .cursed strong,.moment-title .cursed span{color:#c9a0dc}@keyframes moment-in{0%{opacity:0;transform:translate(-50%,24px)}}.rare-star{color:#e0b354}button.rare-star{font:inherit;cursor:pointer;background:0 0;border:none;margin-left:.3em;padding:0 .25em}button.rare-star:hover{text-shadow:0 0 8px #e0b354aa}.replaybar .highlight.rare{color:#e0b354}.stats-screen .moments{gap:4px;margin:0;padding-left:0;list-style:none;display:grid}.holding .panel button,.holding .panel select{opacity:.8}.dice-tray .tray-banner .hint{opacity:.7;color:#e7e3da;margin-top:8px;font-size:.75rem}.command-stack .stack-player{border-top:1px solid #2d3340;padding-top:4px}.command-stack .reserve-list{margin:4px 0;padding:0;list-style:none}.command-stack .stack-cards{margin:4px 0;padding-left:1.6em}.command-stack .stack-cards li{align-items:center;gap:4px;padding:1px 0;display:flex}.command-stack .stack-cards li span{flex:1}.command-stack .stack-cards button{padding:0 6px}.dice-tray.waiting{cursor:grab}.dice-tray.shaking{cursor:grabbing}.dice-tray .die.in-hand .body{transition:filter .15s}.dice-tray.shaking .die.in-hand .body{animation:hand-jostle calc(.17s / var(--shake,1)) ease-in-out infinite alternate;animation-delay:calc(var(--n) * -41ms)}.dice-tray.shaking .die.in-hand{margin-top:-4px}.dice-tray .hand-more{color:#e5e7eb;font-weight:700;position:absolute;top:0;left:0}@keyframes hand-jostle{0%{transform:translate(-3px,1px)rotate(-16deg)}to{transform:translate(3px,-2px)rotate(18deg)}}@media (prefers-reduced-motion:reduce){.dice-tray.shaking .die.in-hand .body{filter:brightness(1.3);animation:none}}.sound-menu .dice-choice{border:0;border-top:1px solid #2d3340;gap:2px;margin:4px 0 0;padding:4px 0 0;display:grid}.sound-menu .dice-choice legend{color:#9ca3af;font-size:.8rem}.sound-menu .dice-choice p{max-width:260px;margin:2px 0 0}.others-shaking{z-index:23;pointer-events:none;background:#11141be0;border-radius:8px;flex-direction:column;align-items:flex-end;gap:4px;padding:6px 10px;font-weight:600;animation:.5s ease-in-out infinite alternate shaking-note;display:flex;position:absolute;bottom:70px;right:12px}@keyframes shaking-note{to{transform:translate(-3px)rotate(-.6deg)}}@media (prefers-reduced-motion:reduce){.others-shaking{animation:none}}.talk-dock{z-index:20;flex-direction:column;gap:6px;width:300px;display:flex;position:absolute;bottom:12px;left:12px}.talk-dock .panel.talk{gap:6px;padding:8px 10px;position:static}.panel.talk .row{flex-wrap:nowrap;gap:4px}.panel.talk button{white-space:nowrap;padding:2px 6px;font-size:.85rem}.panel.talk .talk-toggle{margin-left:auto}.panel.talk .pop-menu .menu{z-index:30;top:auto;bottom:calc(100% + 4px)}.panel.talk .pop-menu.on>button{background:#a16207}.talk-reactions-row{justify-content:space-between}.panel.talk .talk-reactions-row button{padding:0 2px;font-size:1.05rem}.talk-chat{overflow-wrap:anywhere;max-height:140px;margin:0;padding:0;font-size:.85rem;line-height:1.35;list-style:none;overflow-y:auto}.panel.talk form input{flex:1;min-width:0}.talk-toasts{pointer-events:none;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.talk-toasts li{pointer-events:auto;cursor:pointer;overflow-wrap:anywhere;background:#111318e6;border:1px solid #2d3340;border-radius:8px;padding:4px 8px;font-size:.85rem;animation:15s forwards talk-toast}@keyframes talk-toast{0%{opacity:0;transform:translateY(6px)}3%,85%{opacity:1;transform:none}to{opacity:0}}.talk-floats{pointer-events:none;z-index:25;position:fixed;inset:0;overflow:hidden}.talk-float{flex-direction:column;align-items:center;animation:3s ease-out forwards talk-rise;display:flex;position:absolute;bottom:90px;transform:translate(-50%)}.talk-float .emoji{filter:drop-shadow(0 2px 6px #0009);font-size:3rem}.talk-float .who{text-shadow:0 1px 3px #000;font-size:.8rem;font-weight:600}@keyframes talk-rise{0%{opacity:0;transform:translate(-50%,20px)scale(.6)}12%{opacity:1;transform:translate(-50%)scale(1.15)}20%{transform:translate(-50%,-10px)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-240px)scale(1)}}@media (prefers-reduced-motion:reduce){.talk-float{animation-duration:10ms;animation-delay:0s}}.talk-label span{color:#e5e7eb;white-space:nowrap;pointer-events:none;background:#111318d9;border:1px solid;border-radius:6px;padding:1px 6px;font-size:.75rem;display:inline-block}.panel.sandbox-notice{border:1px solid #b45309;max-width:420px;bottom:96px;left:50%;transform:translate(-50%)}.ruler.casualty-pile{pointer-events:auto;background:#111318cc;border:1px solid #2d3340;font-family:inherit;font-size:.8rem}.ruler.casualty-pile button{color:inherit;font:inherit;padding:0;text-decoration:none}.ruler.casualty-pile button:after{content:" ▾";opacity:.6}.ruler.casualty-pile ul{text-align:left;margin:4px 0 0;padding:0 0 0 1em}.charge-stamp{color:#fde68a;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;pointer-events:none;background:#7f1d1dd9;border:3px solid #b45309;border-radius:6px;padding:2px 10px;font-weight:800;animation:2.6s ease-out both charge-stamp;translate:calc(50% + 32px)}.charge-stamp.over{color:#fde68a;text-transform:none;background:#78350fd9;border-color:#d97706;font-weight:600}.charge-stamp.short{color:#e4e4e7;background:#27272ad9;border-color:#71717a;font-weight:600}@keyframes charge-stamp{0%{opacity:0}8%,65%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.charge-stamp{animation-name:none}}.panel.package-panel{flex-direction:column;gap:4px;max-width:280px;display:flex;top:96px;left:330px}.secret-objectives .stack-player{margin-top:6px}.secret-objectives .objective-list{margin:2px 0 4px;padding-left:1.2em}.secret-objectives input{flex:1;min-width:0}.broadcast-controls select{max-width:9rem}body.broadcast .topbar button,body.broadcast .topbar .overflow,body.broadcast .topbar .sound-toggle,body.broadcast .replaybar{display:none}body.broadcast .caption{font-size:1.05rem;bottom:24px}.broadcast-badge{z-index:12;gap:8px;display:flex;position:fixed;top:12px;right:12px}.broadcast-badge span{background:#0f172ad9;border:2px solid #475569;border-radius:999px;padding:4px 10px;font-weight:600}.branch-button{position:relative}.branch-menu{z-index:5;flex-direction:column;gap:6px;width:220px;display:flex;position:absolute;bottom:calc(100% + 8px);right:0}.replay-title .branched{display:block}.moment-card{z-index:30;background:#0f172aeb;border-left:6px solid #b45309;border-radius:8px;min-width:min(520px,100vw - 32px);max-width:calc(100vw - 32px);padding:10px 18px 12px;animation:.45s ease-out both moment-in;position:fixed;bottom:112px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #00000073}.moment-card .title{letter-spacing:.02em;font-size:1.5rem;font-weight:800}.moment-card .line{margin-top:2px;font-size:1.05rem}.moment-card .foot{margin-top:4px;font-size:.8rem}.moment-card .row{margin-top:8px}@media (prefers-reduced-motion:reduce){.moment-card{animation:none}}.replaybar .highlight.moment{color:#fbbf24}@media (width<=700px){.topbar{gap:4px;font-size:.8rem;top:4px}.topbar>*{gap:4px;padding:2px 6px}.hud:not(.collapsed),.unitcard,.attack,.terrainpanel,.play:not(.collapsed){background:#111318;width:auto;max-height:45vh;position:fixed;inset:auto 8px 68px;overflow-y:auto}.hud.collapsed,.play.collapsed{position:fixed;top:auto;bottom:68px}.hud.collapsed{left:8px}.play.collapsed{left:auto;right:8px}.talk-dock{width:auto;bottom:120px;left:8px;right:8px}body:has(.unitcard,.attack,.terrainpanel) :is(.hud,.play){display:none}body:has(.unitcard,.attack,.terrainpanel,.hud:not(.collapsed),.play:not(.collapsed)) .talk-dock>:not(.talk-toasts){display:none}body:has(.hud:not(.collapsed)) .play{display:none}body:has(.unitcard,.attack,.terrainpanel,.hud:not(.collapsed),.play:not(.collapsed)) .talk-dock{z-index:60}body:has(.unitcard,.attack,.terrainpanel,.hud:not(.collapsed),.play:not(.collapsed)) .talk-toasts{top:calc(var(--below-bar,64px) + 6px);z-index:60;position:fixed;left:8px;right:8px}.replaybar{width:auto;bottom:8px;left:8px;right:8px;transform:none}.caption{max-width:calc(100vw - 16px)}.replaybar{gap:4px;min-width:0}.replaybar .track,.replaybar input[type=range]{min-width:0}.replaybar .where{text-overflow:ellipsis;min-width:0;overflow:hidden}.panel.whatnow,.whatnow-toggle{top:var(--below-bar,126px)}.panel.whatnow{max-height:30vh;overflow-y:auto}}body.reeling :is(.hud,.unitcard,.attack,.play,.terrainpanel,.caption,.replaybar,.talk-dock,.broadcast-controls){display:none}.mission-picker p{margin:2px 0 6px}.panel.score-panel{top:calc(var(--below-bar,64px) + 6px);z-index:4;flex-direction:column;gap:6px;max-width:min(400px,100vw - 32px);display:flex;right:16px}.score-panel .score-item input{width:4em}.result-table td,.result-table th{text-align:right;padding:2px 8px}.result-table td:first-child,.result-table th:first-child{text-align:left}body.broadcast:has(.stats-screen) .caption{display:none}:is(.dice-tray,.dice-try) .die.finish-translucent .body{background:linear-gradient(145deg, color-mix(in srgb, var(--c) 55%, #fff3), color-mix(in srgb, var(--c) 60%, transparent) 55%, color-mix(in srgb, var(--c) 80%, #0006))}:is(.dice-tray,.dice-try) .die.finish-translucent:not(.crit,.tray-legend) .body{box-shadow:inset 0 0 calc(var(--s) * .28) color-mix(in srgb, var(--c) 60%, #fff), inset 0 2px 0 #fff6}:is(.dice-tray,.dice-try) .die.finish-translucent .pip:not(.on){visibility:visible;opacity:.14;transform:scale(.8)}:is(.dice-tray,.dice-try) .die.finish-marbled .body{background:radial-gradient(circle at 30% 25%, #fff3, transparent 45%), var(--marble,none) center / 160% 160%, var(--c);background-blend-mode:normal, overlay, normal}:is(.dice-tray,.dice-try) .die.finish-metallic .body{background:linear-gradient(150deg, color-mix(in srgb, var(--c) 60%, #fff) 0%, var(--c) 30%, color-mix(in srgb, var(--c) 60%, #000) 55%, color-mix(in srgb, var(--c) 85%, #fff) 80%, color-mix(in srgb, var(--c) 70%, #000) 100%)}:is(.dice-tray,.dice-try) .die.finish-metallic .body:before{content:"";border-radius:inherit;pointer-events:none;mix-blend-mode:overlay;background:linear-gradient(110deg,#0000 35%,#fff9 50%,#0000 65%) 0 0/300% 100% no-repeat;animation:1.1s linear infinite die-sheen;position:absolute;inset:0}@keyframes die-sheen{0%{background-position:120% 0}to{background-position:-120% 0}}@media (prefers-reduced-motion:reduce){:is(.dice-tray,.dice-try) .die.finish-metallic .body:before{background-position:50% 0;animation:none}}.dice-picker{flex-direction:column;gap:6px;display:flex}.dice-picker .custom{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dice-picker input[type=color]{background:0 0;border:none;width:32px;height:24px;padding:0}.dice-try{cursor:pointer;background:radial-gradient(at 50% 40%,#2c5a46,#173528);border-radius:8px;height:54px;position:relative;overflow:hidden}.dice-try .die{width:var(--s);height:var(--s);position:absolute;top:10px}.dice-try .die .body{background:linear-gradient(145deg, color-mix(in srgb, var(--c) 100%, #fff 18%), var(--c) 55%, color-mix(in srgb, var(--c) 70%, #000));border-radius:20%;grid-template:repeat(3,1fr)/repeat(3,1fr);padding:15%;display:grid;position:absolute;inset:0;box-shadow:inset 0 -3px #0005,inset 0 2px #fff4}.dice-try .die .shadow{display:none}.dice-try .die .pip{background:var(--p,#10141a);visibility:hidden;border-radius:50%;width:70%;height:70%;margin:auto}.dice-try .die .pip.on{visibility:visible}.dice-try .die.finish-translucent .pip:not(.on){opacity:.06}.dice-try .die.rolling{animation:.7s cubic-bezier(.2,.7,.3,1) both die-try}@keyframes die-try{0%{transform:translate(-90px,-6px)rotate(-540deg)}70%{transform:translate(4px,2px)rotate(12deg)}to{transform:none}}@media (prefers-reduced-motion:reduce){.dice-try .die.rolling{animation:none}}.showcase-card{z-index:30;pointer-events:none;background:#0a0c10d1;border-left:6px solid;border-radius:8px;min-width:min(480px,100vw - 32px);padding:14px 24px;animation:.3s ease-out both showcase-in;position:fixed;bottom:120px;left:50%;transform:translate(-50%)}.showcase-card .title{letter-spacing:.03em;font-size:2rem;font-weight:800}.showcase-card .line{color:#d1d5db;font-size:1.1rem}@keyframes showcase-in{0%{opacity:0}}.showcase-round{z-index:30;color:#fde68a;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;background:#7f1d1dd9;border:4px solid #b45309;border-radius:8px;padding:6px 28px;font-size:3rem;font-weight:900;animation:.3s ease-out both showcase-in;position:fixed;top:42%;left:50%;transform:translate(-50%,-50%)}@media (prefers-reduced-motion:reduce){.showcase-card,.showcase-round{animation:none}}.name-card .row{flex-wrap:wrap}.name-card input{flex:100%;min-width:0}.voice-controls{gap:2px;display:inline-flex;position:relative}.voice-controls .mic{-webkit-user-select:none;user-select:none;touch-action:none}.voice-controls .mic.on{border-color:#4b5563}.voice-controls .mic.live{background:#b45309;border-color:#f59e0b}.voice-controls .voice-more{padding:0 4px;font-size:.8rem}.panel.voice-pop{z-index:30;gap:6px;width:280px;position:absolute;bottom:calc(100% + 10px);right:-44px}.panel.voice-pop .close{align-self:flex-end;margin-bottom:-6px}.panel.voice-pop select{font-size:.8rem}.voice-people{margin:0;padding:0;font-size:.85rem;list-style:none}.voice-people li{align-items:center;gap:6px;padding:2px 0;display:flex}.voice-people .name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.voice-people input[type=range]{width:80px}.voice-people .dot{border-radius:50%;flex:none;width:8px;height:8px}.speaking,.topbar .player strong.speaking{border-radius:6px;transition:box-shadow .12s;box-shadow:0 0 0 2px #22c55e,0 0 10px #22c55e99}.voice-people li.speaking{box-shadow:none}.voice-people li.speaking .dot{box-shadow:0 0 0 3px #22c55e}.topbar .player strong{padding:0 3px}.on-air{z-index:25;top:calc(var(--below-bar,64px) + 6px);background:#111318d9;border:1px solid #22c55e;border-radius:999px;padding:4px 10px;font-weight:600;position:absolute;right:16px}.loading-table{color:var(--muted,#9aa3ad);place-items:center;display:grid;position:fixed;inset:0}.showcase-card .skip{color:#9ca3af;margin-top:4px;font-size:.7rem}.sound-menu{min-width:250px}.sound-menu .volume{align-items:center;gap:8px;display:flex}.sound-menu .volume input{flex:1}.sound-menu .dice-picker{border-top:1px solid #2d3340;margin-top:4px;padding-top:6px}.panel.talk>.row:first-child>button,.panel.talk .voice-controls button{padding-left:5px;padding-right:5px}.panel.talk>.row:first-child{gap:3px}.panel.crash{z-index:60;border-color:#f59e0b;gap:8px;width:min(480px,100vw - 32px);top:50%;left:50%;transform:translate(-50%,-50%)}.panel.crash h2,.panel.crash p{margin:0}.panel.crash pre{white-space:pre-wrap;max-height:160px;overflow:auto}.panel.report-banner{top:calc(var(--below-bar,64px) + 6px);border-color:#f59e0b;gap:4px;width:min(520px,100vw - 32px);left:50%;transform:translate(-50%)}.net-check{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.net-verdict{background:#1f2430;border-left:3px solid #6b7280;border-radius:4px;flex-direction:column;gap:2px;padding:6px 8px;display:flex}.net-verdict.good{border-color:#22c55e}.net-verdict.turn{border-color:#f59e0b}.net-verdict.bad{border-color:#ef4444}.feedback label{flex-direction:column;gap:2px;margin-top:6px;display:flex}.feedback textarea{font:inherit;color:inherit;background:#1f2430;border:1px solid #374151;border-radius:4px}.feedback .on{color:#fbbf24;border-color:#f59e0b}.feedback h4 .muted{font-weight:400}.saved-note{color:#cbd5e1;flex-basis:100%;margin:6px 0 0}.saved-note code{overflow-wrap:anywhere}.panel.saved-toast{z-index:60;top:var(--below-bar,64px);box-sizing:border-box;background:#1b1f27;border:1px solid #3b4252;flex-direction:row;align-items:flex-start;gap:8px;width:min(520px,100vw - 32px);display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #00000080}.panel.saved-toast .saved-note{flex:1;margin:0}.still-looking{color:#e5e7eb;margin-top:6px}.still-looking p{margin:0 0 4px}.topbar>.warnings-button{color:#e5e7eb;cursor:pointer}.topbar>.warnings-button.has{color:#fbbf24;border-color:#f59e0b}.topbar>.warnings-button.on{background:#3a2a0c}.panel.table-warnings{z-index:25;top:var(--below-bar,64px);box-sizing:border-box;background:#15181f;width:min(380px,100vw - 24px);max-height:50vh;position:absolute;right:12px;overflow:auto}@media (width>=1100px){.panel.table-warnings.beside-card{right:424px}}.table-warnings h3{margin:0;font-size:1rem}.table-warnings ul{flex-direction:column;gap:8px;margin:8px 0;padding:0;list-style:none;display:flex}.table-warnings li{border-left:3px solid #f59e0b;padding-left:8px}.table-warnings li.info{border-color:#6b7280}.unit-warnings{margin:4px 0}.table-warnings li>.link{text-align:left}.side-shape{font-size:.85em}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.shelf ul{flex-direction:column;gap:4px;margin:4px 0;padding:0;list-style:none;display:flex}.shelf li{justify-content:space-between;align-items:center;gap:8px;display:flex}.campaign .warn-box{background:#78350f59;border:1px solid #b45309;border-radius:6px;padding:6px 8px}.campaign .warn-box p{margin:0 0 6px}.campaign-armies{margin:0;padding-left:1.1rem;font-size:.85rem}.campaign-unit{color:#d6c48a;margin:0;font-size:.85rem}.campaign-book{z-index:60;inset:max(var(--below-bar,64px), 5vh) max(16px, calc(50vw - 420px)) 5vh;background:#111318f7;border:1px solid #2d3340;border-radius:10px;flex-direction:column;gap:8px;padding:12px 16px;display:flex;position:fixed}.campaign-book .title{color:inherit;background:0 0;border:1px solid #0000;flex:1;min-width:0;font-size:1.15rem;font-weight:600}.campaign-book .title:hover,.campaign-book .title:focus{border-color:#39404f}.campaign-book .tabs{flex-wrap:wrap;gap:4px;display:flex}.campaign-book .body{flex:1;overflow:auto}.campaign-book table{border-collapse:collapse;width:100%;font-size:.9rem}.campaign-book th,.campaign-book td{text-align:left;border-bottom:1px solid #262b36;padding:3px 6px}.campaign-units input{box-sizing:border-box;width:100%;min-width:3.5rem}.campaign-games,.campaign-map{flex-direction:column;gap:8px;padding-left:1.2rem;display:flex}.campaign-map li{align-items:center;gap:8px;display:flex}.campaign-map li span{flex:1}.campaign-book textarea{box-sizing:border-box;width:100%}.shelf-select{max-width:100%}.table-picker{align-items:flex-start;gap:8px;display:flex}.table-picker .col,.table-shelf .col{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.table-picker select{max-width:100%}.table-thumb{border:1px solid #2d3340;border-radius:3px;flex:none}.table-shelf ul.tables{flex-direction:column;gap:8px;margin:6px 0;padding:0;list-style:none;display:flex}.table-shelf li{gap:8px;display:flex}.table-shelf li.other{opacity:.6}.edit-aids{align-items:center}.sight-legend{background:0 0;flex-direction:column;gap:4px;padding:0;font-size:.8rem;display:flex;position:static;transform:none}.sight-legend span:before{content:"";vertical-align:-2px;border-radius:3px;width:1.4em;height:1em;margin-right:6px;display:inline-block}.sight-legend .seen-by:before{background:var(--c)}.sight-legend .seen-both:before{background:#4b5a3a;border:1px solid #777}.sight-legend .seen-none:before{background:#0a0a0e;border:1px solid #555}.side-clock{font-variant-numeric:tabular-nums;white-space:nowrap;opacity:.75;border-radius:6px;padding:0 6px}.side-clock.running{opacity:1;background:#ffffff1f;font-weight:600}.side-clock.out{color:#fca5a5;opacity:1}.side-clock button{margin-left:2px;padding:0 4px;font-size:.75rem}.topbar .clock-bar{flex-wrap:wrap;flex-basis:100%;justify-content:center;align-items:center;gap:4px 12px;font-size:.85rem;display:flex}.clock-bar .time-call{color:#fde047}.ruler.terrain-label{background:#111318cc;border:1px solid #2d3340;font-family:inherit;font-size:.8rem}.event-setup{flex-direction:column;gap:10px;display:flex}.event-setup fieldset{border:1px solid #2d3340;border-radius:6px;flex-direction:column;gap:6px;padding:6px 10px 8px;display:flex}.event-setup input[aria-label="Add a player"]{max-width:14em}.event-round h4{margin:12px 0 4px}.event-round ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.event-round .hand-result{gap:6px;margin-left:6px;display:inline-flex}.event-round .hand-result input{width:4em}.event-line p{margin:4px 0}.panel.replay-notes{z-index:19;flex-direction:column;gap:8px;width:320px;max-height:46vh;padding:10px 12px;display:flex;position:absolute;bottom:76px;right:12px;overflow:auto}.replay-notes .tabs{gap:4px;display:flex}.notes-open{z-index:19;position:absolute;bottom:76px;right:12px}.replay-notes .note{border-left:3px solid;padding:2px 0 2px 8px}.replay-notes .note p{white-space:pre-wrap;margin:2px 0}.replay-notes .note-draft{flex-direction:column;gap:6px;display:flex}.replay-notes .note-draft textarea{resize:vertical;width:100%}.replay-notes ol{flex-direction:column;gap:4px;margin:0;padding-left:1.2em;display:flex}.replay-notes li.on{background:#ffffff0f;border-radius:4px}.replay-notes .link{text-align:left}.replay-notes .review-bar p,.replay-notes .watch-together p{margin:0 0 4px}.replaybar .highlight.note{color:#fde047}.note-caption{z-index:18;pointer-events:none;flex-direction:column;gap:6px;max-width:min(640px,100vw - 32px);display:flex;position:absolute;top:84px;left:50%;transform:translate(-50%)}.note-caption p{white-space:pre-wrap;background:#111318e0;border-left:4px solid;border-radius:6px;margin:0;padding:8px 12px;font-size:1.05rem}.modal.figure-library{background:#111827;width:min(760px,100vw - 32px);max-height:88vh;top:6vh;transform:translate(-50%)}.figure-library .tabs{gap:4px;margin-bottom:8px;display:flex}.figure-library .tabs .on,.tag-filter .chip.on{color:#fbbf24;border-color:#f59e0b}.tag-filter .chip{border-radius:999px;padding:1px 8px;font-size:.85rem}.figure-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:8px;margin:8px 0;padding:0;list-style:none;display:grid}.figure-card{border:1px solid #374151;border-radius:6px;align-items:flex-start;gap:8px;padding:6px;display:flex}.figure-card.picked{border-color:#f59e0b}.figure-card .thumb{cursor:pointer;background:#111827;border-radius:4px;flex:none;place-items:center;width:96px;height:96px;display:grid;position:relative}.figure-card .thumb input{margin:0;position:absolute;top:4px;left:4px}.figure-card .no-thumb{color:#6b7280;font-size:2rem}.figure-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.figure-info input{width:100%}.figure-info .figure-name{font-weight:600}.storage-meter{width:100%}.storage-list{border-collapse:collapse;width:100%;margin-top:6px}.storage-list td{border-top:1px solid #1f2937;padding:2px 4px}.storage-list .num{text-align:right;white-space:nowrap}.import-units .figure-pick select{max-width:180px}.invite-name{flex-direction:column;gap:8px;max-width:420px;display:flex}.update-toast{border-left:3px solid #38bdf8;align-items:center;gap:8px;margin:8px 0;padding-left:8px}.update-toast span{flex:1}.offline-note{border-left:3px solid #f59e0b;padding-left:8px}.language-picker{align-items:center;gap:8px}.setup-steps{flex-direction:column;gap:8px;margin:4px 0;padding:0;list-style:none;display:flex}.setup-steps>li{background:#ffffff08;border-left:3px solid #4b5563;border-radius:0 6px 6px 0;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:6px 8px;display:flex}.setup-steps>li:has(>strong.done){border-left-color:#22c55e}.setup-steps>li>:not(strong):not(span):not(button){flex:100%}.setup-steps strong.done{color:#86efac}.setup-steps>li.now{background:#fbbf2414;border-left-color:#fbbf24}.setup-steps>li.later{opacity:.6}.setup-steps>li.setup-where{background:0 0;border-left-color:#0000;padding-left:0}.companion{padding:8px 12px calc(64px + env(safe-area-inset-bottom));box-sizing:border-box;background:#111318;flex-direction:column;gap:8px;display:flex;position:fixed;inset:0;overflow-y:auto}.companion>*,.companion-main{width:100%;max-width:640px;margin:0 auto}.companion-main{flex-direction:column;gap:10px;display:flex}.companion .modal-backdrop{overscroll-behavior:contain;padding:12px;overflow-y:auto}.companion .panel.modal{overflow:visible;max-height:none!important}.companion .topbar,.companion .panel{margin:0;width:auto!important;max-width:none!important;max-height:none!important;position:static!important;inset:auto!important;transform:none!important}.companion .topbar{flex-wrap:wrap;justify-content:center}.companion-main>.log{max-height:none}.companion button{min-height:36px}.companion .back{align-self:flex-start}.companion-tabs{z-index:30;padding:6px 8px calc(6px + env(safe-area-inset-bottom));box-sizing:border-box;background:#111318f5;border-top:1px solid #2d3340;justify-content:center;gap:4px;display:flex;position:fixed;bottom:0;left:0;right:0;max-width:none!important}.companion-tabs button{text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;min-width:0;max-width:160px;min-height:44px;padding:0 4px;font-size:.85rem;overflow:hidden}.companion-tabs button.on{color:#bfdbfe;border-color:#60a5fa}.companion-units section{margin-bottom:12px}.companion-units h2{margin:8px 0;font-size:1rem}.companion .tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.companion .tile{text-align:left;flex-direction:column;align-items:flex-start;gap:4px;padding:10px;display:flex}.companion .tile.dead{opacity:.5}.companion .tile .chips{flex-wrap:wrap;gap:4px;display:flex}.companion-tabs .own-dice{white-space:normal;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere;flex:0 auto;max-width:96px;font-size:.75rem;line-height:1.15}.row:has(>.dice-entry){flex-wrap:wrap}.dice-entry{border:1px solid #2d3340;border-radius:8px;flex-direction:column;flex:100%;gap:8px;padding:8px;display:flex}.dice-entry p{margin:0}.dice-entry .faces{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.dice-entry .face{min-height:48px;font-size:1.3rem;font-weight:700}.told-die{color:#111;background:#e5e7eb;border-radius:5px;justify-content:center;align-items:center;width:28px;height:28px;font-weight:700;display:inline-flex}.table-attack .targets{flex-wrap:wrap;gap:6px;display:flex}.table-attack .targets button.on,.table-attack .toggle button.on,.table-attack .targets button.on:hover:not(:disabled),.table-attack .toggle button.on:hover:not(:disabled){color:#fff;background:#1d4ed8;border-color:#60a5fa}.table-attack .answers{flex-direction:column;gap:6px;display:flex}.table-attack .toggle span,.table-attack .stepper span{flex:1}.table-attack .stepper strong{text-align:center;min-width:4em}.language-picker{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.language-picker label{align-items:center;gap:8px}.lobby select{min-width:0;max-width:100%}.lobby label{max-width:100%}.text-size{flex-wrap:wrap}.text-size button{white-space:nowrap}.companion button,.companion select,.companion input:not([type=checkbox]){min-height:44px}.companion button{min-width:44px}.companion input[type=checkbox]{width:24px;height:24px}.companion .topbar{flex-direction:column;align-items:stretch;gap:4px;display:flex}.companion .topbar>.player{flex-wrap:wrap;justify-content:space-between;padding:2px 8px}.companion .topbar>.turn{padding:2px 4px}.companion .topbar>.help-key,.companion .topbar>.sound-toggle{display:none}.companion .topbar .counter button{padding:0 8px}.companion .invite .invite-link{word-break:break-all;font-size:.8rem}.dice-entry .face-count{flex-direction:column;gap:4px;display:flex}.dice-entry .face-count .row{gap:2px}.dice-entry .face-count input{text-align:center;box-sizing:border-box;width:100%;min-width:0}.companion .dice-entry .face-count button.small{min-width:32px;padding:0}.whats-new{align-items:center;gap:6px;margin-bottom:8px;display:inline-flex}.whats-new .dot{background:#60a5fa;border-radius:50%;width:8px;height:8px}.whats-new-list ul{padding-left:1.2em}.whats-new-list li{margin:4px 0}.stratagem button.die{color:#111;background:#e5e7eb;border:1px solid #9ca3af;margin:0 1px;padding:0}.stratagem .die.on{color:#111;background:#f59e0b}body:has(.modal-backdrop) .replaybar{display:none}@media (width<=700px){.add-stratagem textarea{box-sizing:border-box;width:100%}.add-stratagem button.primary{width:100%;min-height:44px}}.modal-actions{z-index:1;background:#111318;padding:8px 0;position:sticky;bottom:0}@media (pointer:coarse){.lobby button,.lobby select,.lobby input:not([type=checkbox]):not([type=file]),.lobby summary,.lobby a,.lobby label.file{min-height:44px}.lobby button,.lobby a,.lobby summary,.lobby label.file{align-items:center;display:inline-flex}.lobby .demo .row button{padding:0 12px}.lobby .own-army{display:flex}.lobby-settings .text-size button{min-width:44px}}.companion-leave{justify-content:flex-end;margin-bottom:4px;display:flex}.workshop{z-index:45;box-sizing:border-box;background:#111318;flex-direction:column;gap:8px;padding:8px 12px;display:flex;position:fixed;inset:0}.workshop.over-table{left:auto;top:var(--below-bar,56px);border-left:1px solid #39404f;width:min(640px,48vw);box-shadow:-8px 0 24px #0006}.workshop.over-table .workshop-body{flex-direction:column}.workshop.over-table .workshop-side{flex:none;max-height:38%}.workshop-head,.workshop-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.workshop-head h2{margin:0;font-size:1.15rem}.workshop .spacer{flex:1}.workshop button.primary{color:#fbbf24;border-color:#f59e0b}.workshop-body{flex:1;gap:10px;min-height:0;display:flex}.workshop-code{flex-direction:column;flex:3;gap:6px;min-width:0;min-height:0;display:flex}.workshop-editor{border:1px solid #39404f;border-radius:6px;flex:1;min-height:0;overflow:hidden}.workshop-editor .cm-editor{height:100%;font-size:.95rem}.workshop-side{flex-direction:column;flex:2;gap:6px;min-width:0;display:flex;overflow-y:auto}.workshop-side .tabs{flex-wrap:wrap;gap:4px;display:flex}.workshop-side .tabs [aria-selected=true]{color:#fbbf24;border-color:#f59e0b}.workshop-side p,.workshop-side h3{margin:4px 0}.workshop-side h3{font-size:1rem}.workshop-side label{flex-direction:column;gap:2px;margin:6px 0;display:flex}.workshop .hint{color:#9ca3af;font-size:.9rem}.workshop-note{color:#fde68a;margin:0}.workshop-problems{background:#7f1d1d59;border-radius:6px;margin:0;padding:6px 10px;list-style:none}.workshop-problems.pack-problems{background:#78350f59}.pack-names{margin:0;padding:0;list-style:none}.pack-name{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;gap:8px;padding:3px 0;display:flex}.pack-name.ok strong{color:#86efac}.workshop-export .pack-hash{word-break:break-all}.workshop-log{margin:0;padding-left:0;font-size:.9rem;list-style:none}.workshop-log li{border-bottom:1px solid #1f2430;padding:2px 0}.workshop-soak li.ok:before{content:"✓ ";color:#4ade80}.workshop-soak li.bad:before{content:"✗ ";color:#f87171}.workshop-soak ul{padding-left:0;list-style:none}.workshop-sdk pre{white-space:pre-wrap;background:#0b0d12;border-radius:6px;padding:8px;font-size:.8rem}.workshop-start{max-width:760px;margin:0 auto;overflow-y:auto}.workshop-templates{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin:12px 0;display:grid}.workshop-template{text-align:left;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;display:flex}.workshop-link{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.workshop-link label{flex-direction:column;flex:1;min-width:200px;display:flex}.workshop-tab{z-index:45;writing-mode:vertical-rl;border-radius:6px 0 0 6px;padding:10px 4px;position:fixed;top:50%;right:0}@media (width<=800px){.workshop-body{flex-direction:column}.workshop.over-table{border-left:0;width:100vw}.workshop-tab{writing-mode:horizontal-tb;border-radius:6px;padding:10px 16px;top:auto;bottom:12px;right:12px}}@media (pointer:coarse){.workshop button,.workshop select,.workshop input,.workshop-tab{min-width:44px;min-height:44px}}.workshop-note.bad,.workshop-table .bad{color:#fca5a5}.workshop .cm-problem-line{background:#dc262640}.workshop-ref{margin:0}.workshop-ref>div{border-bottom:1px solid #1f2430;padding:3px 0}.workshop-ref dt code{color:#fbbf24}.workshop-ref dd{color:#cbd5e1;margin:0 0 0 12px;font-size:.9rem}.lobby .demo.ours{background:linear-gradient(135deg,#8a6bb82e,#c9a44c1a);border-color:#8a6bb8;margin:8px 0 4px}.lobby .demo.ours .row{align-items:center;gap:10px}.cm-type-hover{max-width:34rem;padding:.35rem .5rem;font-size:.85rem}.cm-type-hover code{white-space:pre-wrap;color:var(--muted,#aab);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8em;display:block}.cm-type-hover p{white-space:pre-wrap;margin:0 0 .35rem}.workshop-check{border:1px solid var(--border,#445);border-radius:6px;margin:.25rem 0;padding:.4rem .6rem;font-size:.9rem}.workshop-check.ok{border-color:#3c8f5a}.workshop-check.bad{border-color:#c0504d}.workshop-check ul{margin:.3rem 0 0;padding:0;list-style:none}.workshop-check li.bad{color:#f0a0a0}.workshop-check li.skip{opacity:.7}@media (pointer:coarse){.topbar button:not(.counter button),.topbar select{min-width:44px;min-height:44px}.topbar button:not(.counter button){justify-content:center;align-items:center;display:inline-flex}}.check-label{opacity:.8;border:1px solid;border-radius:8px;margin-right:2px;padding:0 6px;display:inline-block}.lobby .how-hard{flex-direction:column;align-items:stretch;gap:6px;margin-top:8px;display:flex}.panel.share-panel{width:min(380px,100vw - 32px);max-height:calc(100vh - var(--below-bar,64px) - 96px);z-index:25;gap:10px;display:grid;position:fixed;bottom:76px;right:16px;overflow-y:auto}.share-panel section{gap:6px;display:grid}.share-panel h4,.share-panel p{margin:0}.share-options{gap:2px;display:grid}.share-options label{cursor:pointer;align-items:center;gap:8px;min-height:32px;display:flex}.share-options label select{margin-left:6px}.share-download{grid-template-columns:auto 1fr;align-items:center;gap:10px;display:grid}.stats-screen .head button:not(.quiet){margin-left:auto}@media (width<=640px),(pointer:coarse){.panel.share-panel{z-index:70;background:#15171d;border-radius:14px 14px 0 0;width:auto;max-height:88vh;bottom:0;left:0;right:0;box-shadow:0 -12px 40px #0000008c}.share-panel button,.share-options label{min-height:44px}.share-options input[type=radio],.share-options input[type=checkbox]{width:22px;height:22px}}.recording-pill{z-index:60;color:#fecaca;background:#111318eb;border:1px solid #ef4444;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;display:flex;position:fixed;top:12px;right:16px}.recording-pill .dot{background:#ef4444;border-radius:50%;width:10px;height:10px;animation:1s steps(2,end) infinite rec-blink}@keyframes rec-blink{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.recording-pill .dot{animation:none}}.lobby .how-hard button{text-align:left;width:100%;min-height:36px}.lobby .how-hard .quiet{align-self:flex-end;width:auto;min-height:0}.replay-start{gap:8px;margin-top:6px}.replay-start .primary{padding:8px 14px;font-size:1.05em}body:has(.round-card:not(.replay-title):not(.package-card)) .whatnow{visibility:hidden}.rules-page{z-index:60;padding:24px 16px calc(48px + env(safe-area-inset-bottom));background:#08090cd1;position:fixed;inset:0;overflow-y:auto}.rules-sheet{color:#1d1f24;text-align:left;background:#f6f1e7;border-radius:10px;max-width:760px;margin:0 auto;padding:24px 28px 32px;line-height:1.5}.rules-sheet header{z-index:1;background:#f6f1e7;border-bottom:1px solid #e3d9c4;justify-content:space-between;align-items:flex-start;gap:12px;margin:-24px -28px 0;padding:16px 28px 8px;display:flex;position:sticky;top:0}.rules-sheet header .close{color:#1d1f24;background:#ebe2cf;border:1px solid #d9cdb4;border-radius:8px;min-width:44px;min-height:44px;font-size:1.3rem}.rules-sheet .print-row button:not(.primary),.rules-sheet .play-row button:not(.primary){color:#1d1f24;background:#fffaf0;border:1px solid #c9bb9c}.rules-sheet .print-row button,.rules-sheet .play-row button{min-height:40px}.rules-sheet button.primary{color:#fff}.rules-sheet .play-row{border-top:2px solid #d9cdb4;flex-wrap:wrap;gap:8px;margin-top:24px;padding-top:16px;display:flex}.rules-page:focus{outline:none}.rules-sheet h1{margin:0;font-size:2rem}.rules-sheet strong{color:inherit}.rules-sheet h2{color:#1d1f24;text-transform:none;letter-spacing:normal;border-bottom:2px solid #d9cdb4;margin:1.6em 0 .4em;padding-bottom:2px;font-size:1.3rem}.rules-sheet h3{margin:0 0 4px}.rules-sheet .muted{color:#5d6068}.rules-sheet .print-row{background:#ebe2cf;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0;padding:10px 12px;display:flex}.rules-sheet .intro{font-size:1.1rem}.rules-sheet .warband{border-left:4px solid;margin:16px 0;padding:4px 0 4px 12px}.rules-sheet .units{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;display:grid}.rules-sheet .unit>div{flex:1;min-width:0}.rules-sheet .unit{background:#fffaf0;border-radius:6px;align-items:flex-start;gap:8px;padding:6px;display:flex}.rules-sheet .figure{object-fit:contain;flex:none;width:56px;min-height:56px}.rules-sheet table.stats{border-collapse:collapse;width:100%;margin-top:4px;font-size:.9rem}.rules-sheet table.stats th,.rules-sheet table.stats td{text-align:center;color:#1d1f24;background:0 0;border:1px solid #d9cdb4;padding:1px 2px;font-size:.8rem}.rules-sheet .map{border-radius:6px;width:100%;height:auto;display:block}.rules-sheet .quickref{background:#ebe2cf;border-radius:8px;padding:2px 16px 8px}@media (width<=640px){.rules-page{padding:0}.rules-sheet{border-radius:0;padding:16px}.rules-sheet header{margin:-16px -16px 0;padding:10px 16px 6px}.rules-sheet .play-row button{flex:100%}}body:has(.replay-title) .caption{display:none}.round-card .row.replay-start{border-left:0;padding-left:0;display:flex}@media (width<=640px){.round-card .row.replay-start{flex-direction:column;align-items:stretch}.replay-start button{width:100%}.caption{bottom:112px}}.share-shape{align-items:center;gap:8px;margin:6px 0;display:flex}.segmented{border:1px solid #3a4150;border-radius:8px;display:inline-flex;overflow:hidden}.segmented button{background:0 0;border:0;border-radius:0;padding:4px 12px}.segmented button+button{border-left:1px solid #3a4150}.segmented button.on{color:#fff;background:#2563eb}@media (width<=640px),(pointer:coarse){.segmented button{flex:1;min-height:44px}.share-shape .segmented{flex:1}}.code-action .told{flex-direction:column;gap:2px;margin:6px 0 2px;display:flex}.code-action .told label{border-radius:6px;align-items:flex-start;gap:10px;min-height:36px;padding:6px 4px;display:flex}.code-action .told label.need{background:#f59e0b14}.code-action .told input{flex:none;width:22px;height:22px;margin:0}.companion-units section.going{border-left:3px solid;padding-left:8px}.companion-units .go-now{color:#111318;vertical-align:middle;background:#fbbf24;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:.75rem}body.clip-narrow .caption{flex-direction:column;align-items:flex-start;gap:2px;max-width:420px}.companion .panel.script{border-width:2px;max-width:none;margin:8px 0;position:static;transform:none}.companion .panel.script .chips button{flex:1;min-height:44px}.rules-sheet .map.hero{margin:12px 0 4px}.ruler.model-hover{background:#111318e6;border:1px solid #2d3340;font-family:inherit;font-size:.8rem}.open-link input[type=url]{flex:1;min-width:12rem}.open-link .share-link{word-break:break-all}.lobby .find-opponent{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}@media (width>=1100px){.lobby .find-opponent{display:none}}.lobby .open-tables-button{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.modal.open-tables{flex-direction:column;gap:8px;width:min(640px,100vw - 32px);display:flex;position:fixed}.open-tables h2{margin:0}.table-filters select{flex:130px;min-height:36px}.table-posts{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.table-post{background:#171a21;border:1px solid #2d3340;border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.table-post strong{color:#fbbf24}.table-post .when{white-space:nowrap}.table-post .table-note{overflow-wrap:anywhere;margin:0}.table-post .row{align-items:center}.post-table{border:1px solid #2d3340;border-radius:8px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.post-table p{margin:0}.post-table input:not([type=checkbox]),.post-table select{max-width:100%}.table-post .table-lead{color:#f3f4f6;font-size:1.02rem}.table-tags{gap:4px}.table-tag{color:#cbd5e1;border:1px solid #3b4252;border-radius:999px;padding:1px 8px;font-size:.78rem}.table-tag.new{color:#86efac;border-color:#16a34a}.table-tag.competitive{color:#fcd34d;border-color:#b45309}.table-post button.join{min-width:96px;min-height:44px;font-weight:600}.post-more{position:relative}.post-more summary{cursor:pointer;border-radius:6px;place-items:center;min-width:44px;min-height:44px;font-size:1.2rem;list-style:none;display:grid}.post-more summary::-webkit-details-marker{display:none}.post-more[open] summary{background:#232834}.post-menu{z-index:2;background:#111318;border:1px solid #2d3340;border-radius:8px;flex-direction:column;align-items:stretch;min-width:170px;padding:4px;display:flex;position:absolute;bottom:calc(100% + 4px);right:0}.post-menu button{text-align:left;min-height:36px}.join-table{flex-direction:column;gap:6px;display:flex}.join-table p{margin:0}.table-gone{color:#fde68a;background:#fbbf241f;border-radius:6px;margin:0;padding:6px 10px}.post-table .post-tags{gap:4px 12px}.post-table button.primary[type=submit]{flex:1;min-height:44px}.my-table{color:#86efac;background:#16a34a1f;border:1px solid #16a34a;border-radius:999px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 10px;display:flex}.my-table.failed{color:#fcd34d;background:#b453091f;border-color:#b45309;border-radius:8px}.my-table .dot{background:#22c55e;border-radius:50%;width:8px;height:8px;box-shadow:0 0 6px #22c55e}.arrival{z-index:40;background:#111318f5;border:1px solid #16a34a;border-radius:10px;flex-direction:column;gap:6px;padding:10px 14px;display:flex;position:fixed;top:64px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #0006}@media (width<=600px){.modal.open-tables{border-radius:0;width:100vw;height:100dvh;max-height:none;inset:0;transform:none}}.mailbar .post-table{background:#111318;width:min(360px,100vw - 32px);position:absolute;bottom:calc(100% + 8px);right:0}.teach-rule{position:fixed}.teach-rule fieldset{border:1px solid #2d3340;border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:8px 0;padding:6px 10px 10px;display:flex}.teach-rule fieldset>.row,.teach-rule fieldset>[role=group]{width:100%}.teach-rule .teach-what{align-items:center;gap:8px}.teach-rule .teach-preview{background:#ffffff0a;border-radius:6px;min-height:1.4em;padding:6px 8px}button.teach-button{white-space:nowrap;color:#93c5fd;background:0 0;border:1px solid #3b82f6}button.teach-button:hover{background:#3b82f626}@media (pointer:fine){.panel.play .stratagem button.teach-button,.panel.play li button.teach-button{opacity:0;transition:opacity .12s}.panel.play .stratagem:hover button.teach-button,.panel.play li:hover button.teach-button,.panel.play button.teach-button:focus-visible{opacity:1}}.teach-rule .teach-quote{border-left:3px solid #3b4252;max-height:30vh;padding:2px 10px;overflow-y:auto}.teach-rule .teach-quote summary{cursor:pointer}.rules-bullets{margin:4px 0;padding-left:18px}.kw{font-variant:small-caps;letter-spacing:.02em}@media (pointer:coarse){.teach-rule button,.teach-rule select,.teach-rule input:not([type=checkbox]),button.teach-button{min-height:44px}.teach-rule input[type=checkbox]{width:22px;height:22px}.teach-rule .row.spread>button.quiet:only-child,.teach-rule h2+button{min-width:44px}}.teach-chips{flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.lobby .resume-top{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.self-roll-note{opacity:.85;font-weight:400}.self-roll-ring{vertical-align:-.1em;background:conic-gradient(currentColor var(--self-roll,100%), transparent 0);border-radius:50%;width:.9em;height:.9em;margin-left:6px;animation-name:self-roll-empty;animation-timing-function:linear;animation-fill-mode:forwards;display:inline-block}@property --self-roll{syntax:"<percentage>";inherits:false;initial-value:100%}@keyframes self-roll-empty{0%{--self-roll:100%}to{--self-roll:0%}}@media (prefers-reduced-motion:reduce){.self-roll-ring{animation:none}}.rolls-mine{align-items:center;gap:4px;display:inline-flex}.panel.attack .volley{flex-direction:column;gap:4px;margin-top:6px;display:flex}.panel.attack .volley>button{align-self:flex-start}.move-note{margin:4px 0}.charge-declare{border:1px solid var(--line,#334155);border-radius:6px;flex-wrap:wrap;flex-basis:100%;align-items:center;gap:4px 6px;padding:6px 8px;display:flex}.charge-declare>strong,.charge-declare>p,.charge-declare>.row{flex-basis:100%;margin:0}.charge-outcome{flex-basis:100%}.panel.unitcard table.stats+table.stats{margin-top:4px}.panel.unitcard table.stats.group th.group-name{text-align:left;white-space:nowrap}.replaybar button{white-space:nowrap}.replaybar .replay-more{position:relative}.replaybar .replay-more .menu-items{bottom:100%}.replaybar .replay-more .menu-items button{text-align:left;width:100%}.touch-box{z-index:30;pointer-events:none;background:#93c5fd1f;border:2px dashed #93c5fd;position:fixed}.touch-twist{z-index:31;pointer-events:none;white-space:nowrap;background:#111318e0;border:1px solid #93c5fd;border-radius:999px;padding:6px 12px;font-weight:600;position:fixed;transform:translate(-50%)}.touch-menu-scrim{z-index:40;position:fixed;inset:0}.touch-menu{z-index:41;background:#171a21;border:1px solid #4b5563;border-radius:8px;flex-direction:column;gap:6px;width:232px;padding:10px;display:flex;position:fixed;box-shadow:0 8px 24px #00000073}.touch-menu button{text-align:left;min-height:44px}.touch-menu .row button{flex:1}.touch-menu p{margin:0}.touch-tools{z-index:20;box-sizing:border-box;background:#111318eb;border:1px solid #93c5fd;border-radius:8px;align-items:center;gap:10px;max-width:calc(100vw - 24px);padding:6px 6px 6px 14px;display:flex;position:fixed;bottom:84px;left:50%;transform:translate(-50%)}.touch-tools button{min-width:44px;min-height:44px}@media (pointer:coarse) and (width>=641px){.panel.unitcard{touch-action:pan-y}.replaybar .highlight{min-width:44px}button,select,summary,label.file,input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=color]){min-height:44px}button{min-width:44px}button,label.file{justify-content:center;align-items:center;gap:4px;display:inline-flex}summary{box-sizing:border-box;min-width:44px;padding-block:10px}input[type=checkbox],input[type=radio]{width:22px;height:22px}:is(label:has(>input[type=checkbox]),label:has(>input[type=radio])){align-items:center;gap:8px;min-height:44px;display:inline-flex}input[type=range]{height:44px}.topbar .counter button{min-width:44px;min-height:44px}.topbar>*{padding:2px 6px}.unitcard,.attack{width:min(400px,46vw)}.panel.talk .row{flex-wrap:wrap}.panel.talk.collapsed .talk-reactions-row{display:none}}@media (pointer:coarse) and (width>=641px) and (width<=1100px){.replaybar{width:auto;min-width:0;left:12px;right:12px;transform:none}.talk-dock{bottom:76px}.touch-tools{bottom:140px}}.game-review{flex-direction:column;gap:6px;display:flex}.game-review progress{width:100%}.review-chart{touch-action:pan-y;width:100%;height:auto}.review-chart .line{fill:none;stroke:#e5e7eb;stroke-width:2px;stroke-linejoin:round}.review-chart .mid{stroke:#6b7280;stroke-dasharray:3 3}.review-chart .round{stroke:#2f3542}.review-chart .cross{stroke:#9ca3af}.review-chart .tick{fill:#9ca3af;font-size:.714rem}.review-chart .mark{stroke:#111318;stroke-width:2px}.review-chart .mark-hit{cursor:pointer}.review-chart .tick.end{fill:#e5e7eb;font-weight:600}.ready-dot{vertical-align:middle;background:#22c55e;border-radius:50%;width:8px;height:8px;margin-left:6px;display:inline-block}.game-review .chart-read{min-height:1.3em;margin:0}.game-review ol.turning{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.game-review ol.turning li{border:1px solid #2f3542;border-radius:6px;padding:6px 8px}.game-review ol.turning li.on{border-color:#60a5fa}.game-review ol.turning .tp-head,.game-review ol.turning .tp-actions{flex-flow:wrap;align-items:center;gap:6px;display:flex}.game-review .kind{background:#1f2937;border-radius:4px;padding:0 6px;font-size:.786rem;font-weight:600}.game-review .kind.costly,.game-review .kind.missed,.game-review .kind.down{color:#fca5a5}.game-review .kind.strong,.game-review .kind.dice{color:#86efac}.game-review .takeaways{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.game-review .takeaways ul{margin:4px 0 0;padding-left:18px}.panel.better-move{z-index:25;align-items:center;gap:8px;max-width:min(560px,100vw - 32px);display:flex;position:absolute;top:64px;left:50%;transform:translate(-50%)}body:has(.panel.better-move) .panel.whatnow{top:calc(var(--below-bar,64px) + 64px)}@media (pointer:coarse){.counter.open button,button.counter,.replaybar button,.panel.talk button,.panel.hud.collapsed button,.panel.play.collapsed button,.panel.whatnow .row.spread button{min-width:44px;min-height:44px}.replaybar input[type=range]{min-height:44px}.panel.talk .talk-reactions-row button{flex:1;min-width:0}}.dot.live{vertical-align:middle;background:#ef4444;border-radius:50%;width:9px;height:9px;display:inline-block;box-shadow:0 0 0 3px #ef444440}.live-strip{background:#ef444414;border:1px solid #3a2a2e;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 10px;padding:6px 10px;display:flex}.broadcast-badge{flex-wrap:wrap;justify-content:flex-end;max-width:calc(100vw - 24px)}.broadcast-badge .watcher-invite{flex-basis:100%;justify-content:flex-end;gap:6px;display:flex}.stats-screen .watcher-invite.end{gap:8px;margin:8px 0;display:flex}@media (width<=640px){body.broadcast .broadcast-badge{justify-content:center;top:104px;left:8px;right:8px}body.broadcast .broadcast-badge .watcher-invite{flex-basis:auto;justify-content:center}body.broadcast .caption{flex-direction:column;align-items:flex-start;gap:2px;max-width:none;inset:190px 8px auto;transform:none}}.watching-chip,.ranked-chip{white-space:nowrap;border:1px solid #3a4152;border-radius:999px;padding:1px 8px}.ranked-chip{color:#f5c542;border-color:#b8913a}.ranked-line{margin:2px 0}.ranked-offer p{margin:0 0 6px}.ranked-sign{background:#f5c54212;border:1px solid #b8913a;border-radius:8px;margin:8px 0;padding:8px 10px}.ranked-sign.good{background:#3f8f5a1a;border-color:#3f8f5a}.ranked-sign .row{margin-top:6px}.panel.modal.player-card{width:min(560px,100vw - 32px);max-height:88vh;overflow-y:auto}.player-card h3{margin:14px 0 4px;font-size:.95rem}.player-card .card-face{border:3px solid;border-radius:12px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.player-card ul.plain{margin:0;padding:0;list-style:none}.player-card ul.plain li{margin:3px 0}.ladder{border-collapse:collapse;width:100%;font-size:.9rem}.ladder th,.ladder td{text-align:left;border-bottom:1px solid #262b36;padding:4px 6px}.ladder tr.me td{background:#f5c5421a}@media (pointer:coarse){.player-card button,.player-card input,.player-card label.button{min-height:44px}}.lobby-settings .card-chip{text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;max-width:14em;padding:4px 10px;font-size:.85rem;display:inline-flex;overflow:hidden}.card-chip .swatch{border-radius:50%;flex:none;width:12px;height:12px;box-shadow:0 0 0 1px #fff6}@media (pointer:coarse){.lobby-settings .card-chip{min-height:44px}}.ladder .provisional{color:#9aa3b2;cursor:help;margin-left:1px}.ladder .key-tag{color:#8b93a3;font-size:.75rem}.ranked-sign .rating-move{margin:6px 0 2px;font-size:1.05rem;font-weight:600}.ranked-sign .wins-back{color:#9fd8a8;margin:0 0 2px}.ranked-sign .decline-why{margin-top:6px}@keyframes vp-pulse{0%,to{box-shadow:0 0 #f5c54200}50%{box-shadow:0 0 0 4px #f5c5428c}}.fixing-score .topbar .counter[data-label=VP] button{animation:1.2s ease-in-out infinite vp-pulse}@media (prefers-reduced-motion:reduce){.fixing-score .topbar .counter[data-label=VP] button{outline:2px solid #f5c542;animation:none}}.panel.modal.event-page{width:min(680px,100vw - 32px);max-height:88vh;overflow-y:auto}.event-page h3{margin:14px 0 4px;font-size:.95rem}.event-page .event-state{margin:4px 0 8px}.event-page li.me,.standings tr.me td{background:#f5c5421a}.event-page .pairings li{border-bottom:1px solid #262b36;padding:4px 0}.event-page .table-no{color:#9aa3b2;min-width:4.5em;display:inline-block}.event-page .hand-entry{margin-left:6px}.event-page .hand-entry input[type=number]{width:4.5em}.standings{border-collapse:collapse;width:100%;font-size:.9rem}.standings th,.standings td{text-align:left;border-bottom:1px solid #262b36;padding:4px 6px}.standings tr.dropped td{color:#8b93a3}.run-event{flex-direction:column;gap:8px;display:flex}.run-event input[type=number]{width:6em}.events-section{border:1px solid #2d3340;border-radius:10px;margin:8px 0 12px;padding:8px 10px}.events-section h3{margin:0;font-size:.95rem}.events-section .event-card{border-top:1px solid #262b36;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;display:flex}.event-seat{background:#111318f0;border:1px solid #f5c542;border-radius:10px;margin:6px 0;padding:8px 12px}.event-seat ul{margin:4px 0 0}.event-seat li.good{color:#4ade80}.event-seat li.warn{color:#fbbf24}.event-seat li.muted{color:#9aa3b2}.live-game.event-table .event-line{color:#f5c542}@media (pointer:coarse){.event-page button,.run-event button,.events-section button{min-height:44px}}.standee-maker{width:min(560px,94vw);max-height:92vh;overflow:auto}.standee-maker .maker-footer{background:#111318;border-top:1px solid #2d3340;padding:8px 0;position:sticky;bottom:-10px}.cutout-editor .canvas-wrap{width:fit-content;margin:8px auto;position:relative}.cutout-editor .brush-ring{pointer-events:none;border:1.5px solid #f87171;border-radius:50%;position:absolute;box-shadow:0 0 0 1px #00000080}.cutout-editor .brush-ring.keep{border-color:#4ade80}.standee-maker .photo-buttons{align-items:center;gap:6px}.cutout-editor canvas{touch-action:none;cursor:none;border-radius:6px;max-width:100%;max-height:52vh;display:block}@media (pointer:coarse){.cutout-editor canvas{max-width:78vw;max-height:46vh}}.cutout-editor canvas.checker{background:repeating-conic-gradient(#3a3f4b 0% 25%,#2a2e37 0% 50%) 50%/16px 16px}.events-section .event-card.away{opacity:.55}.event-page .confirm{border:1px solid #fbbf24;border-radius:8px;margin:6px 0;padding:6px 10px}.standee-maker .slider-ends{display:block}.tts-import{margin:6px 0;padding:8px}.tts-models{max-height:40vh;margin:6px 0;padding:0;list-style:none;overflow-y:auto}.tts-models li{gap:8px;padding:2px 0}.tts-models .grow{flex:1;min-width:0}.tts-import{border:1px solid #2d3340;border-radius:8px}.photo-match{border-left:3px solid var(--accent,#6aa0ff);margin:6px 0;padding:4px 0 4px 10px}.photo-match input[type=password],.photo-match-model{min-width:16ch}.import-units .figure-pick select.from-photo{outline:2px dashed var(--accent,#6aa0ff);outline-offset:1px}.figure-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tts-note{z-index:40;background:#111318f5;border:1px solid #a16207;border-radius:10px;align-items:flex-start;gap:8px;max-width:min(560px,100vw - 32px);padding:8px 12px;display:flex;position:fixed;top:64px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #0006}.brought-offer{z-index:40;background:#111318f5;border:1px solid #16a34a;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 12px;max-width:min(560px,100vw - 32px);padding:8px 12px;display:flex;position:fixed;top:64px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #0006}canvas:focus{outline:none}canvas:focus-visible{outline:2px solid var(--accent,#60a5fa);outline-offset:-2px}.card-decks .deck{margin:6px 0 10px}.card-decks .deck-player{margin:4px 0}.card-decks .hand{flex-wrap:wrap;gap:8px;margin:4px 0;padding:0;list-style:none;display:flex}.card-decks .hand li{flex-direction:column;gap:2px;width:92px;display:flex}.card-decks .hand li.shown .card-decks .card-score{flex-wrap:wrap;align-items:center;gap:2px}.card-decks .card-score input{width:3em}.card-decks .scored-pile{margin:2px 0}.card-pic{outline:2px solid var(--accent,#60a5fa);cursor:zoom-in;background-color:#222;background-repeat:no-repeat;border:1px solid #0006;border-radius:5px;width:100%;min-height:0;padding:0;display:block}.card-pic.blank{cursor:default}.card-big{text-align:center;width:min(420px,90vw);margin:auto}.card-big .card-pic{cursor:default;max-height:80vh}.table-tag{z-index:40;pointer-events:none;background:#111318f0;border:1px solid #2d3340;border-radius:8px;flex-direction:column;gap:2px;max-width:280px;padding:6px 10px;font-size:.9rem;display:flex;position:fixed}.table-tag.ok{border-color:#f59e0b}.table-tag.no strong{color:#fca5a5}body.verb-ok canvas{cursor:crosshair}.stratagem-hand{--hand-speed:1;z-index:18;pointer-events:none;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.stratagem-hand>*{pointer-events:auto}.stratagem-hand .cp-pips{align-items:center;gap:3px;margin-bottom:10px;font-size:.85rem;font-weight:600;display:flex}.stratagem-hand .pip{background:radial-gradient(circle at 35% 35%,#fde68a,#d97706 70%,#92400e);border-radius:50%;width:11px;height:11px;box-shadow:0 1px 2px #00000080}.stratagem-hand .hand-strip{background:#11141be0;border-color:#2d3340;border-radius:14px 14px 4px 4px;margin-bottom:8px;padding:4px 12px;font-size:.85rem}.stratagem-hand .fan{align-items:flex-end;height:112px;padding:0 30px;display:flex}.hand-card{text-align:left;width:112px;height:150px;font:inherit;color:#e5e7eb;border:1px solid #3a4150;border-top:3px solid var(--side,#888);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transform-origin:50% 120%;transform:translateY(68px) rotate(calc(var(--i,0) * 4deg));transition:transform calc(.12s * var(--hand-speed)) ease-out, filter calc(.12s * var(--hand-speed)), box-shadow calc(.12s * var(--hand-speed));background:linear-gradient(170deg,#262c38,#171b23);border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;margin:0 -14px;padding:8px 9px;font-size:.78rem;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #00000073}.hand-card.ready{transform:translateY(56px) rotate(calc(var(--i,0) * 4deg));box-shadow:0 4px 12px #00000073, 0 0 0 1px color-mix(in srgb, var(--side,#888) 60%, transparent)}.hand-card.down{filter:saturate(.2)brightness(.7);cursor:help}.hand-card .cost{color:#fbbf24;font-weight:700}.hand-card .name{font-size:.85rem;line-height:1.15}.hand-card .hint,.hand-card .why{color:#9ca3af;font-size:.72rem;line-height:1.2}.hand-card .why{color:#fca5a5}.hand-card .full{margin:4px 0 0;font-size:.72rem;line-height:1.25;display:none}.hand-card .full dt{color:#cbd5e1;font-weight:700;display:inline}.hand-card .full dt:after{content:" "}.hand-card .full dd{color:#d1d5db;margin:0;display:inline}.hand-card .full>div+div{margin-top:3px}.hand-card:is(:hover,:focus-visible,.picked) .full{display:block}.hand-card:is(:hover,:focus-visible,.picked) .hint,.hand-ghost .hand-card .full{display:none}.hand-card .clip{color:#111;background:#6b7280;padding:1px 20px;font-size:.65rem;font-weight:700;position:absolute;top:6px;right:-18px;transform:rotate(35deg)}.stratagem-hand .fan:hover .hand-card:not(:hover,:focus-visible,.picked){transform:translateY(72px) rotate(calc(var(--i,0) * 6deg))}.hand-card:hover,.hand-card:focus-visible,.hand-card.picked{z-index:2;width:168px;height:auto;min-height:0;max-height:300px;transition-duration:calc(.12s * var(--hand-speed));filter:none;margin:0 -42px;overflow-y:auto;transform:translateY(-20px)scale(1.15)}.hand-card:not(:hover,:focus-visible,.picked){transition-duration:calc(80ms * var(--hand-speed))}.hand-card.picked{outline:2px solid var(--side,#888)}.stratagem-hand .hand-stack{z-index:1;align-self:center;margin-left:26px;padding:6px 8px;font-weight:700;position:relative}.stratagem-hand .hand-ask,.stratagem-hand .hand-note{background:#11141bf0;border:1px solid #3a4150;border-radius:8px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;width:max-content;max-width:min(560px,100vw - 32px);padding:6px 10px;font-size:.85rem;display:flex;position:absolute;bottom:120px;left:50%;transform:translate(-50%)}.stratagem-hand .hand-note{border-color:#7f1d1d;bottom:160px}.stratagem-hand.holding .fan{opacity:.6}.hand-ghost{z-index:40;pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:fixed;transform:translate(-50%,-60%)rotate(-4deg)}.hand-ghost .hand-card{height:110px;transition:transform calc(.12s * var(--hand-speed));margin:0;transform:none;box-shadow:0 14px 30px #0000008c}.hand-ghost.over .hand-card{transform:scale(.7)}.hand-tag{white-space:nowrap;background:#11141beb;border:1px solid #7f1d1d;border-radius:6px;padding:3px 8px;font-size:.8rem}.hand-tag.ok{border-color:var(--side,#888)}.hand-reveals{z-index:21;pointer-events:none;perspective:600px;gap:12px;display:flex;position:fixed;top:22%;left:50%;transform:translate(-50%)}.hand-reveal{width:150px;height:104px;transform-style:preserve-3d;position:relative}.hand-reveal .face,.hand-reveal .back{backface-visibility:hidden;border-radius:8px;position:absolute;inset:0;box-shadow:0 10px 24px #00000080}.hand-reveal .face{border:1px solid #3a4150;border-top:3px solid var(--side,#888);background:linear-gradient(170deg,#262c38,#171b23);flex-direction:column;gap:3px;padding:8px 10px;font-size:.8rem;display:flex}.hand-reveal .face .name{font-size:1.02rem;line-height:1.15}.hand-reveal.at-unit{z-index:21;pointer-events:none;margin-left:-75px;position:fixed}.hand-reveal .face .cost{color:#fbbf24;font-weight:700}.hand-reveal .back{border:2px solid var(--side,#888);background:repeating-linear-gradient(45deg,#1f2937 0 6px,#111827 6px 12px);transform:rotateY(180deg)}.hand-reveal.theirs{animation:hand-fly calc(.25s * var(--hand-speed)) ease-out both, hand-flip calc(.15s * var(--hand-speed)) ease-in calc(.25s * var(--hand-speed)) both}.hand-reveal.mine{animation:hand-land calc(.18s * var(--hand-speed)) ease-out both}@keyframes hand-fly{0%{translate:0 -40vh;rotate:y 180deg}to{translate:0;rotate:y 180deg}}@keyframes hand-flip{0%{rotate:y 180deg}to{rotate:y 0deg}}@keyframes hand-land{0%{translate:0 40vh;scale:.6}to{translate:0;scale:1}}@media (prefers-reduced-motion:reduce){.hand-card,.hand-ghost .hand-card{transition:none}.hand-ghost{transform:translate(-50%,-60%)}.hand-reveal.theirs,.hand-reveal.mine{animation:.15s ease-out both hand-fade}}@keyframes hand-fade{0%{opacity:0}}@media (width<=640px){.hand-card:hover,.hand-card:focus-visible,.hand-card.picked{transform:translateY(-12px)}}@media (width>=900px){body.has-hand .replaybar.tucked{left:calc(50% + 330px)}}.plate .strat-tabs{flex-wrap:wrap;justify-content:center;gap:3px;margin-top:2px;display:flex}.plate .strat-tab{color:#fde68a;white-space:nowrap;animation:strat-tab-in calc(.2s * var(--hand-speed,1)) ease-out both;background:#1e2430;border:1px solid;border-top-width:3px;border-radius:3px;padding:0 5px;font-size:.68rem}@keyframes strat-tab-in{0%{opacity:0;transform:translateY(-6px)rotate(-6deg)}}@media (prefers-reduced-motion:reduce){.plate .strat-tab{animation:none}}.hand-anyway{z-index:45;background:#11141bf5;border:1px solid #7f1d1d;border-radius:10px;flex-direction:column;gap:8px;max-width:min(360px,100vw - 32px);padding:10px 12px;font-size:.9rem;display:flex;position:fixed;transform:translate(-50%,calc(-100% - 14px));box-shadow:0 8px 24px #00000073}.hand-anyway p{margin:0}.hand-anyway .row{justify-content:flex-end;gap:6px}.reroll-card{z-index:36;border:1px solid var(--side,#3a4150);background:linear-gradient(#1d2230,#141821);border-top-width:4px;border-radius:10px;flex-direction:column;align-items:flex-start;gap:6px;max-width:min(320px,100vw - 32px);padding:10px 12px 8px;animation:.25s ease-out reroll-up;display:flex;position:fixed;bottom:calc(70px + min(220px,34vh));right:12px;box-shadow:0 10px 28px #00000080}.reroll-card .cost{color:#f2c94c;align-self:flex-end;margin-bottom:-22px;font-weight:700}.reroll-card .row{flex-wrap:wrap;gap:6px}.reroll-card .die-face{min-width:2.2em}@keyframes reroll-up{0%{opacity:0;transform:translateY(24px)rotate(2deg)}}@media (prefers-reduced-motion:reduce){.reroll-card{animation:none}}@media (width<=640px){.reroll-card{bottom:120px;right:50%;transform:translate(50%)}}.reaction-cards{z-index:36;flex-direction:column;align-items:flex-end;gap:6px;max-width:min(320px,100vw - 32px);display:flex;position:fixed;bottom:calc(70px + min(220px,34vh));right:12px}.reaction-cards .reroll-card{width:100%;position:static}.reaction-cards>.muted{text-shadow:0 1px 2px #000;align-self:stretch}.may-react{opacity:.92;flex-flow:wrap;align-items:center}.may-react .drain{background:var(--side,#f2c94c);transform-origin:0;border-radius:2px;flex-basis:100%;height:3px;animation:linear forwards may-react-drain}@keyframes may-react-drain{to{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.may-react .drain{animation:none}}@media (width<=640px){.reaction-cards{bottom:120px;right:50%;transform:translate(50%)}}.plan-label{color:#c7d2fe;white-space:nowrap;pointer-events:none;background:#11141bd1;border-radius:6px;padding:2px 6px;font-size:12px}.plan-label.aim{color:#fcd34d}.plan-panel{z-index:22;background:#11141be0;border-radius:10px;flex-direction:column;align-items:center;gap:6px;max-width:min(360px,100vw - 32px);padding:6px 10px;display:flex;position:absolute;top:96px;left:50%;transform:translate(-50%)}.plan-panel.on{outline:2px solid #a5b4fc}.plan-panel.go{flex-direction:row}.plan-hint{color:var(--muted,#9ca3af);text-align:center;font-size:12px}.plan-list{flex-direction:column;gap:2px;width:100%;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.plan-list li{justify-content:space-between;align-items:center;gap:8px;display:flex}.others-planning{z-index:23;background:#11141be0;border-radius:8px;padding:4px 10px;font-weight:600;position:absolute;top:56px;right:12px}.topbar .together{align-items:center;gap:6px;display:inline-flex}
