.hero-chip{color:#1b1530;background:var(--c,#f2a541);width:2.2em;height:2.2em;box-shadow:0 0 0 2px var(--c,#f2a541);font-weight:900;font-family:var(--sans);border:3px solid #1b1530;border-radius:50%;flex:none;place-items:center;display:grid;overflow:hidden}.hero-chip.has-art{box-shadow:0 0 0 3px var(--c,#f2a541);background:color-mix(in srgb, var(--c,#f2a541) 55%, #1b1530);border-width:2px}.chip-img{object-fit:cover;width:100%;height:100%;display:block}.small{font-size:.78em}.voice-hint{text-align:center;color:var(--amber);border:1px dashed var(--amber);border-radius:99px;padding:.35em .8em;font-weight:700}.board-side .voice-hint{opacity:.75;padding:.15em .6em;font-size:.75em}.voice-hint.on{color:var(--good);border-color:var(--good);border-style:solid}.game-switch{flex-wrap:wrap;gap:.5em;margin-top:1em;display:flex}.game-switch .ghost.on{color:var(--ink);border-color:var(--amber)}.role-strip{grid-template-columns:1fr 1fr;gap:.5em;max-width:36em;margin-top:1em;display:grid}.role-mini{border:2px solid color-mix(in srgb, var(--c) 60%, #1b1530);background:color-mix(in srgb, var(--c) 14%, #1a1430);border-radius:14px;align-items:center;gap:.6em;padding:.35em .6em;font-size:.85em;display:flex}.role-mini.taken{opacity:.45}.board-stage{grid-template-columns:minmax(0,1fr) 19.5em;gap:1em;height:100%;min-height:0;display:grid}.board-main{grid-template-rows:auto minmax(0,1fr);gap:.7em;min-width:0;min-height:0;display:grid}.map-box{background:#1b1438;border:2px solid #3a2f6b;border-radius:22px;min-height:0;line-height:0;overflow:hidden;box-shadow:0 24px 60px #00000080}.bmap{width:100%;height:auto;max-height:64vh;display:block}.board-under{grid-template-columns:1.25fr 1fr;align-content:start;gap:.8em;min-height:0;display:grid}.under-left,.under-right{align-content:start;gap:.6em;min-width:0;display:grid}.board-side{box-sizing:border-box;min-height:0;font-size:calc(1em * var(--fit,1));flex-direction:column;gap:.6em;padding-bottom:6px;display:flex;overflow:hidden}.board-side.tight .log,.board-side.tight .clock-pips{display:none}.bedge-line{stroke:#ffe3b0;stroke-width:6px;stroke-linecap:round;opacity:.9;paint-order:stroke;filter:drop-shadow(0 0 2px #150d33)drop-shadow(0 0 3px #150d33)}.bedge.locked .bedge-line{stroke:#d9a441;stroke-dasharray:3 12}.broom-box{fill:#2d2360;fill-opacity:.94;stroke:#b9a8ff;stroke-width:3px;filter:drop-shadow(0 3px 4px #0a061e99)}.broom.fog .broom-box{fill:#1c1440;fill-opacity:.88;stroke:#6a5cb0;stroke-dasharray:6 5}.broom.done .broom-box{fill:#26206a;fill-opacity:.85;stroke:#5d9a74}.broom.reach .broom-box{stroke:var(--amber);stroke-width:5px;filter:drop-shadow(0 0 8px #ffb347cc)}.broom-name{fill:#fbf4e6;font-family:var(--display);paint-order:stroke;stroke:#1b1530;stroke-width:3px;stroke-linejoin:round;font-weight:700}.broom.fog .broom-q{fill:#a898ee;font:800 34px var(--display)}.broom-need{fill:#ffd48a;font:800 15px var(--sans)}.broom-done{fill:#7fd8a4;font:800 18px var(--sans)}.bnum-bg{fill:var(--amber);stroke:#1b1530;stroke-width:2.5px}.bnum{fill:#1b1530;font:900 17px var(--sans)}.pip{fill:#3b3166;stroke:#1b1530;stroke-width:1.5px}.pip.on{fill:#ff6f91}.btoken{transition:transform .38s ease-in-out}.btoken.no-anim{transition:none}.btoken-ring{stroke:#1b1530;stroke-width:3px}.btoken{filter:drop-shadow(0 2px 3px #0a061eb3)}.btoken-glyph{fill:#1b1530;font:900 18px var(--sans)}.btoken-glyph.two{font-size:14px}.btoken.active .btoken-ring{stroke:#fff;stroke-width:5px;animation:1.2s ease-in-out infinite tokenPulse}.btoken.active{filter:drop-shadow(0 0 6px #ffffffe6)}.btoken.down{opacity:.45}@keyframes tokenPulse{50%{stroke-width:2.5px}}.turn-panel{border:4px solid var(--c,#5b4d9a);background:linear-gradient(160deg, color-mix(in srgb, var(--c,#5b4d9a) 38%, #1a1430), color-mix(in srgb, var(--c,#5b4d9a) 16%, #1a1430));box-shadow:0 0 1.4em color-mix(in srgb, var(--c,#5b4d9a) 45%, transparent);border-radius:20px;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:.7em;padding:.6em .8em;display:grid;position:relative}.turn-panel:not(.has-art){grid-template-columns:minmax(0,1fr)}.turn-portrait{object-fit:contain;background:color-mix(in srgb, var(--c) 30%, #1a1430);border:3px solid var(--c);border-radius:18px;width:4.6em;height:4.6em;padding:.15em}.turn-text{min-width:0}.turn-name{font-family:var(--display);overflow-wrap:anywhere;font-size:1.55em;font-weight:900;line-height:1.05}.turn-hero{color:var(--muted);font-size:.8em;line-height:1.2}.turn-step{color:#ffe3b0;margin-top:.25em;font-size:1.12em;font-weight:800;line-height:1.2}.turn-round{grid-column:1/-1;margin-top:.3em;font-size:.72em}.turn-panel>.skip,.turn-panel>.claims{grid-column:1/-1}.card-panel{background:var(--panel);border:2px solid #5b4d9a;border-radius:18px;padding:.6em .9em}.card-panel.has-art{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:.8em;display:grid}.card-portrait{object-fit:contain;background:#1a1430;border:2px solid #5b4d9a;border-radius:16px;width:5.2em;height:5.2em;padding:.1em}.card-title{font-family:var(--display);color:var(--amber);font-size:1.15em;font-weight:800}.card-text{font-family:var(--sans);margin:.2em 0 0;font-size:1.15em;line-height:1.35}.tip-panel{border:2px solid var(--good);background:#2a3f2f;border-radius:16px;align-items:center;gap:.6em;padding:.5em .8em;font-weight:700;display:flex}.tip-badge{background:var(--good);color:#10281a;border-radius:8px;padding:1px 8px;font-size:.75em;font-weight:900}.roll-panel{border:3px solid var(--amber);background:#151033;border-radius:18px;align-items:center;gap:.8em;padding:.6em .9em;animation:.4s ease-out rollIn;display:flex}@keyframes rollIn{0%{opacity:0;transform:translateY(14px)scale(.98)}}.roll-panel.pass{border-color:var(--good)}.roll-panel.fail{border-color:var(--bad)}.roll-body{flex:1;min-width:0}.roll-line{font-weight:700}.roll-math{font-variant-numeric:tabular-nums;color:var(--ink)}.roll-result{font-family:var(--display);font-size:1.15em;font-weight:900}.roll-panel.pass .roll-result{color:var(--good)}.roll-panel.fail .roll-result{color:var(--bad)}.clock{background:#1f1840;border:3px solid #d9a441;border-radius:16px;padding:.5em .8em}.clock.low{border-color:var(--bad);animation:1.4s infinite pulse}.clock-top{align-items:baseline;gap:.5em;display:flex}.clock-label{font-family:var(--display);color:var(--amber);font-weight:800}.clock-num{color:#fff3d6;font-variant-numeric:tabular-nums;font-size:2.6em;font-weight:900;line-height:1}.clock-pips{flex-wrap:wrap;gap:3px;margin-top:.3em;display:flex}.clock-pips i{background:#3b3166;border-radius:50%;width:.7em;height:.7em}.clock-pips i.on{background:var(--amber)}.keys{flex-wrap:wrap;gap:.4em;display:flex}.key{color:var(--muted);border:2px dashed #4b3f86;border-radius:99px;align-items:center;gap:.3em;padding:.1em .6em;font-size:.85em;font-weight:600;display:flex}.key.have{color:#ffe08a;background:#f2b55226;border-style:solid;border-color:#f2b552}.key.ally{color:#b6f0c4;border-style:solid;border-color:#7bd88f}.hero-list{gap:.35em;display:grid}.hero-row{border:2px solid color-mix(in srgb, var(--c) 50%, #1b1530);background:color-mix(in srgb, var(--c) 12%, #1a1430);border-radius:14px;align-items:center;gap:.6em;padding:.3em .6em;display:flex}.hero-row.active{background:color-mix(in srgb, var(--c) 28%, #1a1430);border-color:#fff}.hero-row.down{opacity:.6}.hero-row .hero-chip{width:2em;height:2em;font-size:.95em}.hero-body{flex:1;min-width:0}.hero-name{line-height:1.15}.hearts-row{gap:1px;display:flex}.hero-side{text-align:right;line-height:1.1}.help-token{opacity:.5;font-size:1.1em}.help-token.ready{opacity:1}.abil-dot{color:var(--amber);font-size:.8em}.objective{padding:0 .3em}.log{color:#e6dffa;gap:.1em;font-size:1em;display:grid}.board-end{text-align:center;place-content:center;justify-items:center;gap:.6em;height:100%;display:grid}.board-end .ending-title{font-size:3.2em}.board-end.won .ending-title{color:var(--good)}.board-end.lost .ending-title{color:var(--bad)}.end-text{font-family:var(--sans);max-width:26em;font-size:1.4em}.end-stats{color:var(--muted);gap:2em;font-size:1.2em;display:flex}.end-stats b{color:var(--ink);font-size:1.4em}.end-heroes{gap:.6em;display:flex}.board-end .big{max-width:16em}.headline{font-family:var(--display);background:#271f4d;border:2px solid #4b3f86;border-radius:18px;padding:.5em .6em;font-size:1.7em;font-weight:800;line-height:1.15}.headline.mine{background:linear-gradient(180deg, color-mix(in srgb, var(--c) 45%, #271f4d), color-mix(in srgb, var(--c) 25%, #271f4d));border-color:var(--c);box-shadow:0 0 0 3px color-mix(in srgb, var(--c) 40%, transparent)}.tipbox{border:2px solid var(--good);background:#2a3f2f;border-radius:14px;padding:.6em .8em;font-size:1.05em}.move-opt{text-align:left;align-items:center;gap:.8em;display:flex}.move-n{background:var(--amber);color:#1b1530;border-radius:50%;flex:none;place-items:center;width:2em;height:2em;font-size:1.1em;font-weight:900;display:grid}.move-opt.stay .move-n{color:var(--ink);background:#4b3f86}.move-text{display:grid}.step-hint.small{color:#d9d1f2;font-size:.92em}.move-text small{color:var(--muted);font-weight:400}.abil-use{gap:6px;margin-top:6px;display:grid}.abil-btn{text-align:left;background:#1f1840;border:2px solid #5b4d9a;border-radius:12px;padding:10px 12px}.abil-btn:not(:disabled){border-color:var(--c)}.abil-btn.open{background:color-mix(in srgb, var(--c) 25%, #1f1840)}.abil-btn span{color:var(--muted);font-size:.9em}.abil-target{border:2px solid var(--c);text-align:left;background:#2f2760;border-radius:12px;margin-left:18px;padding:10px 12px;font-weight:700}.big.quiet{color:var(--muted);background:0 0;border-color:#4b3f86}.sheet{border:2px solid color-mix(in srgb, var(--c) 55%, #1b1530);background:#1b1533;border-radius:16px;margin-top:8px;padding:12px 14px}.sheet-head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.sheet h3{margin:12px 0 4px;font-size:1em}.p-hearts{letter-spacing:2px;font-size:1.7em}.p-hearts .heart{color:#4a3d7a}.p-hearts .heart.on{color:#ff6f91}.help-line{color:var(--muted);background:#2f2760;border-radius:10px;padding:6px 10px}.help-line.ready{color:#b6f0c4;background:#2a3f2f;font-weight:700}.down-note{color:var(--bad);margin-top:6px;font-weight:700}.cd{color:var(--muted)}.cd.ok{color:var(--good)}.party,.gear{color:var(--muted);margin-top:8px}.char-row{align-items:center;gap:10px;margin-bottom:4px;display:flex}.board-lobby .title{font-size:2.4em}.board-lobby .qr{width:calc(172px * var(--fit,1));height:calc(172px * var(--fit,1))}.board-lobby .qr img{width:100%;height:100%}.board-lobby .code{font-size:2.6em}.board-lobby .join-card{padding:.6em 1em}.seats.six{grid-template-columns:repeat(3,1fr)}.seats.six .seat{min-height:2.6em;padding:.35em .6em;font-size:.9em}.role-strip .role-mini .hero-chip{width:1.9em;height:1.9em}.board-side.dense{font-size:calc(.9em * var(--fit,1));gap:.4em}.board-side.dense .clock-pips{display:none}.board-side.dense .hero-row{padding:.15em .5em}.board-side.dense .hero-row .hero-chip{width:1.6em;height:1.6em}.board-side.dense .turn-panel{padding:.4em .8em}.board-side.dense .log{display:none}.char-row .char-tag{align-self:flex-start;margin-left:auto;position:static}.board-side.dense .abil-dot{display:none}.board-side.dense .hero-side{line-height:1.05}.board-side.dense .hero-name{font-size:.95em}.board-side.dense .clock{padding:.3em .7em}.board-side.dense .key{padding:.05em .6em}.board-side.dense .keys{gap:.3em}.board-under{font-size:calc(1em * var(--fit,1))}.glyph-two{letter-spacing:-.03em;font-size:.72em}.seeds{grid-template-columns:1fr 1fr;gap:.35em;display:grid}.seed-card{min-width:0;color:var(--muted);overflow-wrap:anywhere;background:#1a1430;border:2px dashed #5b4d9a;border-radius:12px;padding:.25em .55em;line-height:1.12}.seed-card.picked{color:var(--ink)}.seed-card.empty .seed-label{opacity:.6}.seed-kind{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.76em}.seed-label{font-family:var(--display);font-size:1.15em;font-weight:800}.seed-by{color:var(--muted);font-size:.76em}.seed-card.lit{border-style:solid;border-color:var(--amber);background:color-mix(in srgb, var(--amber) 16%, #1a1430);color:var(--ink)}.seed-card.lit .seed-kind{color:#ffd48a}.seed-card.lit .seed-label:after{content:" ★";color:var(--amber)}.seed-card.flash{animation:1.8s ease-out seedLight}@keyframes seedLight{0%{filter:brightness();box-shadow:0 0 #ffb34700}18%{filter:brightness(1.7);box-shadow:0 0 0 .3em #ffb34799,0 0 1.2em #ffb347f2}to{filter:brightness();box-shadow:0 0 #ffb34700,0 0 #ffb34700}}@media (prefers-reduced-motion:reduce){.seed-card.flash{animation:none}}.seed-line{border:2px solid var(--amber);background:#3a2c14;border-radius:16px;align-items:center;gap:.6em;padding:.45em .8em;font-weight:700;animation:.4s ease-out rollIn;display:flex}.seed-badge{background:var(--amber);color:#2b1d05;border-radius:8px;padding:1px 8px;font-size:.75em;font-weight:900}.board-side.dense .seeds{gap:.25em}.board-side.dense .seed-card{padding:.12em .45em}.seed-by .by-name{color:var(--ink);font-weight:700}.seed-by{flex-wrap:wrap;align-items:baseline;column-gap:.4em;display:flex}.seed-rand{white-space:nowrap;letter-spacing:.03em;color:#2b1d05;background:#ffd48a;border-radius:999px;flex:none;padding:0 .55em;font-size:.85em;font-weight:800;line-height:1.25}.board-side.dense .seed-kind,.board-side.tight .seed-kind,.board-side.dense .seed-by .by-rest,.board-side.tight .seed-by .by-rest{display:none}.board-side.dense .seed-by,.board-side.tight .seed-by{font-size:.82em}.seeds-lobby{justify-items:start;gap:.45em;max-width:36em;margin-top:1em;display:grid}.seeds-lobby .seeds{width:100%}.seeds-title{font-family:var(--display);color:var(--amber);font-weight:800}.seeds.in-lobby .seed-card{padding:.3em .7em}.seeds.in-end{text-align:left;max-width:32em;margin:.3em auto}.end-recap{font-family:var(--display);max-width:26em;color:var(--amber);margin:0;font-size:1.25em}.seed-pick{border:2px solid var(--amber);background:#2a2012;border-radius:16px;gap:.7em;margin:.4em 0 .8em;padding:.8em;display:grid}.seed-pick h2{font-size:1.15em;font-family:var(--display);color:var(--amber);margin:0}.seed-pick.done{border-color:var(--good);background:#1f2a1a}.seed-pick.done h2{color:var(--good)}.seed-prompt{margin-bottom:.3em;font-weight:800}.seed-opts{gap:.45em;display:grid}.seed-opt{text-align:left;background:#1f1840;border:3px solid #5b4d9a;border-radius:14px;min-height:3.2em;padding:.6em .8em;font-size:1.1em;font-weight:800}.seed-opt.sel{border-color:var(--good);background:#264a31}.seed-opt.sel:after{content:"  ✓";color:var(--good)}.seeds-summary{color:var(--muted);background:#2a2012;border:1px solid #6b5326;border-radius:12px;margin-top:.6em;padding:.5em .7em}.board-end.has-seeds{gap:.35em}.board-end.has-seeds .ending-title{font-size:2.8em}.board-end.has-seeds .end-text{font-size:1.25em}.board-end.has-seeds .end-recap{font-size:1.1em}.add-bot{width:100%;margin:.5em 0 .2em}.role-mini .bot-pick{margin-left:auto;padding:.15em .6em;font-size:.75em}.bot-badge{letter-spacing:.04em;text-transform:uppercase;border:1px solid color-mix(in srgb, var(--c) 70%, #fff);color:var(--ink);border-radius:999px;margin-left:.5em;padding:.05em .5em;font-size:.7em;font-weight:800}.turn-panel .thinking{color:var(--ink);margin-top:.2em;font-weight:800}.turn-panel .thinking:after{content:"";vertical-align:-.1em;border:3px solid color-mix(in srgb, var(--c,#7e6fc4) 50%, transparent);border-top-color:var(--c,#7e6fc4);border-radius:50%;width:.9em;height:.9em;margin-left:.4em;animation:1.1s linear infinite bot-spin;display:inline-block}@keyframes bot-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.turn-panel .thinking:after{animation:none}}.board-side .seeds{opacity:.85}.board-side.dense .turn-portrait{width:3.4em;height:3.4em}.board-side.dense .turn-name{font-size:1.3em}.board-side.dense .clock-num{font-size:2.1em}.board-side.tight .turn-portrait{width:3.6em;height:3.6em}.board-end .end-heroes .hero-chip{width:3em;height:3em}.headline{font-family:var(--display);font-size:1.45em;font-weight:800}.headline.has-art{align-items:center;gap:.6em;display:flex}.headline-portrait{object-fit:contain;background:color-mix(in srgb, var(--c) 40%, #1a1430);border:3px solid var(--c);border-radius:50%;flex:none;width:2.6em;height:2.6em;padding:.1em}.char-portrait{object-fit:contain;background:color-mix(in srgb, var(--c) 28%, #1a1430);border:2px solid var(--c);border-radius:16px;flex:none;width:72px;height:72px;padding:2px}.sheet-portrait{object-fit:contain;background:color-mix(in srgb, var(--c) 28%, #1a1430);border:3px solid var(--c);border-radius:18px;flex:none;width:84px;height:84px;padding:3px}.sheet-who{gap:2px;min-width:0;display:grid}.sheet-who .p-hearts{font-size:1.4em;line-height:1.1}.encounter{background:#1f1840;border:2px solid #5b4d9a;border-radius:16px;align-items:center;gap:12px;padding:8px 12px;display:flex}.encounter-portrait{object-fit:contain;flex:none;width:64px;height:64px}.encounter-title{font-family:var(--display);color:var(--amber);font-size:1.15em;font-weight:800}.fold{background:#231b45;border:1px solid #4b3f86;border-radius:12px;margin-top:8px;padding:2px 12px}.fold>summary{cursor:pointer;color:var(--muted);padding:8px 0;font-weight:700;list-style:none}.fold>summary::-webkit-details-marker{display:none}.fold>summary:after{content:"  ▾"}.fold[open]>summary:after{content:"  ▴"}.fold[open]{padding-bottom:8px}.fold.tipfold{background:#213a2a;border-color:#3f7a55}.fold.tipfold>summary{color:#b6f0c4}.tipbox-text{margin:0 0 .4em}.sheet .abilities{margin:0 0 6px;padding-left:1.1em}.sheet .help-line{margin-top:8px}.board-side .seed-card{font-size:.82em}.board-lobby:not(.no-art) .lobby-panel{background:linear-gradient(90deg,#0f0a23f2 0%,#0f0a23eb 84%,#0f0a2300 100%);width:50%;padding-right:2.6em}.role-mini{position:relative}.role-mini .bot-pick{margin:0;padding:.1em .6em;font-size:.6em;position:absolute;top:.2em;right:.45em}.role-strip .role-mini>div:nth-child(2){min-width:0;padding-right:3.2em}.board-lobby .howto{display:none}.board-lobby .join-label{color:#d8d0f2;font-size:.95em}.board-lobby .join-or,.board-lobby .join-url{font-size:1em}.board-lobby .join-or{color:#d8d0f2}.board-lobby .role-strip{grid-template-columns:minmax(0,1fr);gap:.3em;max-width:none;margin-top:.6em}.board-lobby .role-mini{padding:.2em .6em;font-size:1em}.board-lobby .role-mini.taken{opacity:.6}.board-lobby .role-strip .role-mini>div:nth-child(2){flex-wrap:wrap;flex:1;align-items:baseline;column-gap:.6em;padding-right:0;display:flex}.board-lobby .role-mini .muted.small{color:#d8d0f2;font-size:.95em}.board-lobby .role-mini .bot-pick{color:#e6dffa;border-color:#8c7fd6;margin-left:auto;padding:.05em .7em;font-size:.85em;position:static}.board-lobby .seat-char,.board-lobby .seat-ready{color:#d8d0f2;font-size:.95em}.board-lobby .seat.bot .seat-char{display:none}.board-lobby .seat-remove{color:#e6dffa;border-color:#8c7fd6;font-size:.85em}.board-lobby .seeds.in-lobby .seed-kind,.board-lobby .seeds.in-lobby .seed-by{font-size:.85em}.board-lobby .seeds.in-lobby .seed-kind{color:#d8d0f2}.board-lobby .add-bot{color:var(--ink);border-color:#8c7fd6;font-size:1.05em}.board-lobby .notices{color:#e6dffa;margin-top:.6em;font-size:1em}.seat.bot .seat-name{font-style:normal}.board-lobby .lobby-right{align-content:start}
