:root{--bg: #0f0d12;--panel: #1a171f;--panel-2: #241f2b;--border: #3a3242;--text: #ece6da;--muted: #a89f92;--accent: #b8202a;--accent-2: #d9a441;--ok: #4caf50;--warn: #e0a030;--danger: #e04b4b;--night: #2a2545;--day: #6a5a2a;--font-display: "Cinzel Decorative", "Cinzel", Georgia, serif;--font-heading: "Cinzel", Georgia, "Times New Roman", serif;--font-body: "IM Fell English", Georgia, "Times New Roman", serif;font-family:var(--font-body);font-size:16px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--bg);color:var(--text)}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700;margin:0 0 .4rem;letter-spacing:.04em}h1{font-family:var(--font-display)}button{font:inherit;font-family:var(--font-heading);font-weight:500;font-size:.9rem;letter-spacing:.03em;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:.45rem .8rem;cursor:pointer;transition:background .12s,border-color .12s}button:hover:not(:disabled){background:#332c3d;border-color:#5a4f66}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:#d43a45}button.primary:hover:not(:disabled){background:#d02a36}button.gold{background:#5a4416;border-color:var(--accent-2)}button.small{padding:.25rem .55rem;font-size:.85rem}button.selected{outline:2px solid var(--accent-2)}input,select{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:.4rem .6rem}.muted{color:var(--muted)}.small{font-size:.85rem}.row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.stack{display:flex;flex-direction:column;gap:.5rem}.spacer{flex:1}.game{display:flex;flex-direction:column;height:100%;min-height:0}.topbar{grid-area:top;position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.5rem 1rem;background:linear-gradient(180deg,#1f1a26,#141118);border-bottom:1px solid var(--border)}.topbar-main,.topbar-tools,.seats,.contents{display:contents}.burger-btn{font-size:1rem;line-height:1;padding:.25rem .5rem}.burger-btn.on{border-color:var(--accent-2);color:var(--accent-2)}.tool-menu{position:absolute;right:.4rem;top:100%;z-index:32;display:flex;flex-direction:column;align-items:stretch;gap:.3rem;margin-top:.25rem;padding:.4rem;background:#100c13f7;border:1px solid #6a5222;border-radius:10px;box-shadow:0 10px 30px #000c}.tool-menu .tool-group{display:flex;flex-direction:column;gap:.3rem}.tool-menu button{width:100%;text-align:left;padding:.35rem .7rem}.tool-group{display:contents}.topbar h1{font-size:1.3rem;margin:0;color:var(--accent-2);white-space:nowrap}.topbar .segment{padding:.25rem .7rem;border-radius:999px;font-family:var(--font-heading);font-size:.78rem;letter-spacing:.04em;border:1px solid var(--border)}.topbar .segment.night{background:var(--night)}.topbar .segment.day{background:var(--day)}.segment-tag{display:inline-flex;align-items:center;gap:.3em;white-space:nowrap;vertical-align:baseline}.segment-tag .phase-icon{flex:0 0 auto}.segment-tag.seg-night .phase-icon{color:#cfd3ff}.segment-tag.seg-day .phase-icon{color:#ffd777}h2 .segment-tag.heading-seg{gap:.35rem}.table{flex:1 1 auto;position:relative;display:flex;min-width:0;min-height:0;background:#07060a;isolation:isolate}.backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none}.backdrop-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;animation:backdrop-in 1.8s ease both}.backdrop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(#07060a59,#07060a59),radial-gradient(ellipse at center,transparent 55%,rgba(7,6,10,.6) 100%)}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.backdrop-layer{animation:none}}.mat{position:relative;margin:.3rem;border-radius:10px;background-size:100% 100%;background-repeat:no-repeat;color:#ece3d2;overflow:hidden;box-shadow:0 4px 14px #000000b3;border:1px solid #5a4620;--mat-font: .9rem;font-size:var(--mat-font)}.mat.landscape{width:540px;aspect-ratio:1712 / 1152}.corner-mat{position:absolute;z-index:14;margin:0}.corner-mat.bl{left:.6rem;bottom:.6rem}.corner-mat.tl{left:.6rem;top:.6rem}.corner-mat.tr{right:.6rem;top:.6rem}.corner-mat.br{right:.6rem;bottom:.6rem}.mat.active{box-shadow:0 0 0 2px var(--accent-2),0 0 18px #d9a441b3}.mat-portrait{position:absolute;object-fit:cover;display:block}.mat.landscape .mat-portrait{left:5.85%;top:5.9%;width:18.7%;height:24%}.mat-head{position:absolute;line-height:1.2}.mat.landscape .mat-head{left:27.5%;right:20%;top:15%}.mat-name{font-family:var(--font-heading);font-weight:700;font-size:1.25em;text-shadow:0 1px 2px #000,0 0 6px rgba(0,0,0,.9);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-kind{font-family:var(--font-heading);font-weight:500;font-size:.55em;color:var(--accent-2);text-transform:uppercase;letter-spacing:.08em}.mat-leader{font-size:.86em;color:#d9c9a8}.mat-district{font-size:.8em;color:#b9ab90}.mat-district .sw{display:inline-block;width:.8em;height:.8em;border-radius:2px;margin-right:.35em;vertical-align:-1px;border:1px solid rgba(255,255,255,.35)}.mat-stats{position:absolute;display:grid;gap:.15em .8em;align-content:start}.mat.landscape .mat-stats{left:5%;right:5%;top:40%;bottom:27%;grid-template-columns:repeat(3,1fr)}.mat-bonuses{position:absolute;left:5%;right:9%;top:74%;bottom:5%;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start;gap:.25em;font-size:.74em;line-height:1.25;color:#cfc3aa}.mat-bonus{display:grid;grid-template-columns:4.6em 1fr;gap:.5em;align-items:start;padding-top:.2em;border-top:1px solid rgba(217,164,65,.18)}.mat-bonus-label{font-family:var(--font-heading);font-size:.85em;text-transform:uppercase;letter-spacing:.08em;color:#c9a15a;white-space:nowrap}.mat-bonus.active .mat-bonus-label{color:var(--accent-2)}.mat-bonus.active .mat-bonus-text{color:#f4ecdc}.mat-bonus-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 2px #000}.stat{min-width:0;padding:.08em 0;border-bottom:1px solid rgba(217,164,65,.18)}.stat-label{display:block;font-family:var(--font-heading);font-size:.62em;text-transform:uppercase;letter-spacing:.08em;color:#c9a15a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-value{display:flex;align-items:center;gap:.45em;font-weight:700;font-size:1.05em;color:#f4ecdc;text-shadow:0 1px 2px #000;min-height:1.25em}.stat-number{font-family:var(--font-heading);font-size:1.3em;line-height:1}.coins{display:flex;align-items:center}.coin{flex:0 0 auto;filter:drop-shadow(0 1px 1px rgba(0,0,0,.7))}.cardbacks{display:flex;align-items:center}.cardback{display:inline-block;width:13px;height:18px;border-radius:2px;background:linear-gradient(160deg,#5a2f36,#1d1216);border:1px solid #000;box-shadow:0 1px 1px #0009}.map-area{flex:1 1 auto;position:relative;overflow:hidden;min-width:0;min-height:0}.map-area svg{width:100%;height:100%;display:block;touch-action:none;cursor:grab}.board-stage{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.table-top{position:relative;flex:none;width:100%;height:100%;transform-origin:50% 50%}.board-stage.tilted .table-top{will-change:transform;transform-style:preserve-3d}.standees{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;transform-style:preserve-3d}.standee-foot{position:absolute;width:0;height:0;transform-style:preserve-3d}.standee-shadow{position:absolute;width:calc(var(--w) * 1.4);height:calc(var(--w) * .55);left:calc(var(--w) * -.7);top:calc(var(--w) * -.275);border-radius:50%;background:radial-gradient(ellipse at center,#0009,#0000 70%)}.standee{position:absolute;width:var(--w);height:var(--h);left:calc(var(--w) / -2);top:calc(-1 * var(--h));transform-origin:50% 100%;transform:var(--stand)}.standee img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%;border:calc(var(--h) * .055) solid var(--c);box-sizing:border-box;box-shadow:0 0 0 calc(var(--h) * .014) #050305,0 0 0 calc(var(--h) * .09) color-mix(in srgb,var(--c) 35%,transparent)}.standee-count{position:absolute;left:50%;bottom:calc(var(--h) * .15);transform:translate(-50%);min-width:calc(var(--h) * .34);height:calc(var(--h) * .16);line-height:calc(var(--h) * .16);padding:0 calc(var(--h) * .03);box-sizing:border-box;font-family:var(--font-heading);font-weight:700;font-size:calc(var(--h) * .13);color:#f4efe6;text-align:center;background:#050305d9;border:calc(var(--h) * .017) solid var(--c);border-radius:calc(var(--h) * .03)}.standee-pip{position:absolute;right:calc(var(--w) * -.18);top:calc(var(--h) * -.04);width:calc(var(--h) * .26);height:calc(var(--h) * .26);box-sizing:border-box;border-radius:50%;background:#b3261e;border:calc(var(--h) * .02) solid #0a0608;color:#fff;font-family:var(--font-heading);font-weight:700;font-size:calc(var(--h) * .17);line-height:calc(var(--h) * .22);text-align:center}.standee-march{animation:battle-march 3s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.standee-march{animation:none;transform:translate(var(--march-x),var(--march-y))}}.board-stage.tilted .table-top:before{content:"";position:absolute;inset:calc(-1 * var(--rim, 24px));z-index:-1;border-radius:calc(var(--rim, 24px) * .45);background:radial-gradient(120% 90% at 50% 40%,rgba(255,200,130,.13),transparent 65%),repeating-linear-gradient(88deg,#0000 0,#0000 7px,#0000001a 7px,#0000001a 9px,#0000 9px,#0000 19px,#46230c38 19px,#46230c38 23px,#0000 23px,#0000 41px),linear-gradient(180deg,#5a3419,#452712 55%,#33190b);box-shadow:inset 0 0 0 1px #ffd69629,inset 0 0 calc(var(--rim, 24px) * 1.2) #00000080,0 calc(var(--rim, 24px) * .6) calc(var(--rim, 24px) * 2) #000000bf}.board-stage.tilted .table-top>svg{box-shadow:0 0 0 1px #000000e6,0 2px 10px #0009}.map-area svg.dragging{cursor:grabbing}.map-hint{position:absolute;left:.75rem;bottom:.75rem;background:#0f0d12d9;border:1px solid var(--border);border-radius:6px;padding:.4rem .7rem;font-size:.85rem;max-width:60%}.map-tools{position:absolute;right:.75rem;top:.75rem;display:flex;gap:.3rem;z-index:14}@media (min-width: 701px) and (min-height: 521px){.map-tools{top:5.5rem}}.territory{fill:transparent;stroke:#ffffff26;stroke-width:6;cursor:pointer;transition:fill .12s}.territory.owned{fill-opacity:.32}.territory.owned.hatched{fill-opacity:1}.road{fill:#f6e2aa38;stroke:#ffecbab3;stroke-width:6;stroke-linejoin:round;transition:fill .15s ease,stroke .15s ease}.road.named{fill:#ffecba66;stroke:#fff5d6f2}.road-label{font-family:var(--font-heading);text-transform:uppercase;fill:#f6e6bd;stroke:#17100a;stroke-width:10;paint-order:stroke;text-anchor:middle;dominant-baseline:central;animation:road-name-in .15s ease-out both}@keyframes road-name-in{0%{opacity:0}to{opacity:1}}.winner{display:flex;align-items:center;gap:.8rem;margin:.2rem 0 .6rem}.winner-portrait{flex:0 0 auto;width:76px;height:76px}.winner-portrait img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid var(--faction);box-shadow:0 0 0 1px #ffffff59,0 6px 18px #0009;display:block}.winner-who{display:flex;flex-direction:column;gap:.15rem;min-width:0}.winner-who b{font-family:var(--font-heading);font-size:1.25rem}@media (max-width: 700px){.winner-portrait{width:58px;height:58px}.winner-who b{font-size:1.05rem}}.spotlight{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:43;pointer-events:none;animation:spotlight-in .25s ease-out both}@keyframes spotlight-in{0%{opacity:0}to{opacity:1}}.spotlight-ring{fill:none;stroke:var(--accent-2);stroke-width:2.5;filter:drop-shadow(0 0 6px rgba(217,164,65,.9));animation:spotlight-ring 1.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes spotlight-ring{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}.demo-lit{transform:scale(1.12);transition:transform .25s ease-out}.bigcard-note{position:absolute;left:0;right:0;top:42%;padding:.3rem .4rem;background:#140808e0;border-top:1px solid rgba(224,75,75,.6);border-bottom:1px solid rgba(224,75,75,.6);color:#f3d7d7;font-size:.72rem;line-height:1.25;text-align:center}.warn{border-left:3px solid var(--danger);padding-left:.6rem;color:#f0d6d6}.territory.rumoured{stroke:#e3b04b;stroke-width:14;filter:drop-shadow(0 0 18px rgba(227,176,75,.6))}.territory.loyal{fill:#e8dcc829;stroke:#e8dcc8cc;stroke-width:10;stroke-dasharray:26 18}.territory.uncontrolled{stroke:#ff5a4f;stroke-width:14;stroke-dasharray:30 18}.territory.lesson{stroke:#9fd4ff;stroke-width:20;stroke-dasharray:none;animation:lesson-pulse 1.8s ease-in-out infinite}.board-region.lesson{fill:none;stroke:#9fd4ff;stroke-width:24;animation:lesson-pulse 1.8s ease-in-out infinite}@keyframes lesson-pulse{0%,to{stroke-opacity:1}50%{stroke-opacity:.35}}.territory.hatched:not(.selectable):not(.selected):not(.target-enemy):not(.hunter-focus):not(.flash):not(.battle-from):not(.battle-to):not(.uncontrolled):not(.rumoured):not(.lesson){stroke:#000000d9;stroke-width:10}@media (hover: hover){.territory:hover{stroke:#fff;stroke-width:12}}.territory.selectable{stroke:var(--accent-2);stroke-width:14;stroke-dasharray:40 24}.territory.selected{stroke:#fff;stroke-width:18}.territory.target-enemy{stroke:var(--danger);stroke-width:16}.territory.dim{fill:#00000073}.territory.flash{animation:territory-flash 2.4s ease-out}@keyframes territory-flash{0%{stroke:#fff7d6;stroke-width:40;filter:drop-shadow(0 0 40px #ffd777) brightness(1.9)}50%{stroke:#f1d58a;stroke-width:24;filter:drop-shadow(0 0 20px #ffd777) brightness(1.4)}to{stroke:#ffffff26;stroke-width:6;filter:none}}.territory.hunter-focus{stroke:#ff4d4d;stroke-width:28;animation:hunter-pulse 1.1s ease-in-out infinite}.territory.battle-from{stroke:#fff;stroke-width:20}.territory.battle-to{stroke:var(--danger);stroke-width:26;animation:battle-pulse 1.4s ease-in-out infinite}@keyframes battle-pulse{0%,to{stroke-opacity:1;filter:drop-shadow(0 0 26px #ff2a2a)}50%{stroke-opacity:.55;filter:drop-shadow(0 0 6px #ff2a2a)}}.battle-arrow{animation:arrow-pulse 1.4s ease-in-out infinite}.battle-march{animation:battle-march 3s ease-in-out infinite;filter:drop-shadow(0 0 14px rgba(0,0,0,.9))}@keyframes battle-march{0%{transform:translate(0);opacity:0}10%{transform:translate(calc(var(--march-x) * .1),calc(var(--march-y) * .1));opacity:1}62%,86%{transform:translate(var(--march-x),var(--march-y));opacity:1}to{transform:translate(var(--march-x),var(--march-y));opacity:0}}@media (prefers-reduced-motion: reduce){.event-scroll.landing,.event-scroll.landing .notice-strip-body{animation:none}.event-scroll.landing .notice-strip-body{background:linear-gradient(180deg,#5f4a20,#453317)}.battle-march{animation:none;transform:translate(var(--march-x),var(--march-y))}}@keyframes arrow-pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes hunter-pulse{0%,to{stroke-opacity:1;filter:drop-shadow(0 0 30px #ff2a2a)}50%{stroke-opacity:.45;filter:drop-shadow(0 0 8px #ff2a2a)}}.badge text{font-family:var(--font-heading);font-weight:700;text-anchor:middle;dominant-baseline:central;pointer-events:none}.badge circle,.badge rect{pointer-events:none}.terr-name{font-family:var(--font-heading);font-size:92px;fill:#fff;paint-order:stroke;stroke:#000000d9;stroke-width:22px;text-anchor:middle;pointer-events:none}.log p{margin:0 0 .3rem;padding-left:.5rem;border-left:3px solid var(--border);font-size:.85rem}.log p.today{border-left-color:var(--accent-2)}.player-card{display:grid;grid-template-columns:10px 1fr;gap:.5rem;align-items:stretch;padding:.3rem .4rem;border-radius:6px;margin-bottom:.3rem;background:var(--panel-2);border:1px solid transparent}.player-card.active{border-color:var(--accent-2)}.player-card .swatch{width:10px;border-radius:3px}.player-card .stats{display:flex;gap:.7rem;flex-wrap:wrap;font-size:.82rem;margin-top:.15rem}.threat-x{color:var(--danger);font-weight:700}.error{background:#4a1a1f;border:1px solid var(--danger);color:#ffd7d7;border-radius:6px;padding:.4rem .6rem;margin-bottom:.6rem;font-size:.9rem}.action-list button{display:block;width:100%;text-align:left;margin-bottom:.3rem;padding:.35rem .6rem}.action-list button b{display:block}.action-list button span{font-family:var(--font-body);font-size:.88rem;letter-spacing:0;text-transform:none;color:var(--muted)}.cp-token,.action-list .cp-token{display:inline-flex;align-items:center;justify-content:center;min-width:1.6em;height:1.6em;padding:0 .3em;margin-left:.45em;border-radius:999px;background:radial-gradient(circle at 35% 30%,#f7e2a6,var(--accent-2) 55%,#9d6d1b);border:1px solid #6f4d11;box-shadow:0 1px 3px #0009,inset 0 0 4px #fff5dc73;color:#2b1e07;font-family:var(--font-heading);font-size:.9rem;font-weight:700;letter-spacing:0;line-height:1;text-transform:none;vertical-align:middle}.rumour-card,.card-box{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:.6rem .7rem;margin-bottom:.5rem}.rumour-card q{display:block;font-style:italic;font-size:1.05em;color:var(--muted);margin:.2rem 0 .4rem}.action-list button b,.card-box b,.rumour-card>b,.score-table th{font-family:var(--font-heading);letter-spacing:.02em}.log p .muted{font-family:var(--font-heading);font-size:.75em}.hand-carousel{display:flex;align-items:center;gap:.35rem;margin:.4rem 0 .6rem}.hand-track{flex:1;min-width:0;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 6px 12px;scrollbar-width:thin;scrollbar-color:#6a5222 transparent}.hand-track>.bigcard{scroll-snap-align:center;flex:0 0 auto}.carousel-arrow{flex:0 0 auto;width:34px;height:64px;padding:0;font-size:1.8rem;line-height:1;font-family:var(--font-heading);border-radius:8px}.carousel-arrow:disabled{opacity:.25}.bigcard{position:relative;width:168px;height:250px;border-radius:12px;overflow:hidden;border:2px solid #6a5222;background:#0b0709;box-shadow:0 6px 16px #000000b3;-webkit-user-select:none;user-select:none;transition:transform .15s,box-shadow .15s,border-color .15s;font-family:var(--font-body)}.bigcard.small{width:96px;height:143px;border-radius:8px}.bigcard.clickable{cursor:pointer}.bigcard.clickable:hover{transform:translateY(-4px);border-color:#d9a441}.bigcard img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.bigcard.interrupt img{filter:hue-rotate(200deg) saturate(.8)}.bigcard-value{position:absolute;top:8px;left:0;right:0;text-align:center;font-family:var(--font-display);font-size:3rem;font-weight:700;color:#f1d58a;text-shadow:0 0 6px #000,0 2px 12px #000,0 0 2px #000;line-height:1}.bigcard.small .bigcard-value{font-size:1.7rem;top:6px}.bigcard-kind{position:absolute;top:64px;left:0;right:0;text-align:center;font-family:var(--font-heading);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:#e8d8b0;text-shadow:0 0 4px #000,0 1px 6px #000}.bigcard.small .bigcard-kind{top:38px;font-size:.45rem}.bigcard-text{position:absolute;left:9px;right:9px;bottom:9px;padding:.35rem .45rem .4rem;background:#0a0608d1;border:1px solid rgba(217,164,65,.55);border-radius:6px;font-size:.72rem;line-height:1.25;color:#ece6da;display:flex;flex-direction:column;gap:.15rem}.bigcard-text b{font-family:var(--font-heading);font-size:.66rem;color:#f1d58a;letter-spacing:.04em}.bigcard.small .bigcard-text{font-size:.5rem;line-height:1.15;left:5px;right:5px;bottom:5px;padding:.2rem .25rem}.bigcard.small .bigcard-text b{font-size:.48rem}.standing-teams{display:flex;flex-direction:column;gap:.1rem;font-size:.72rem;color:#cbbfa8;margin:.1rem 0 .25rem;white-space:nowrap}.standing-teams .leading{color:#f1d58a}.bigcard.upgraded .bigcard-text{border-color:#f1d58af2;background:#261808e6;box-shadow:inset 0 0 0 1px #f1d58a40}.bigcard.upgraded .bigcard-text b{color:#ffe9a8}.bigcard.pick-score{border-color:var(--accent-2);box-shadow:0 0 0 3px var(--accent-2),0 8px 20px #000c;transform:translateY(-6px)}.bigcard.pick-special,.bigcard.pick-interrupt{border-color:#6fc1ff;box-shadow:0 0 0 3px #6fc1ff,0 8px 20px #000c;transform:translateY(-6px)}.bigcard.faded{opacity:.55}.bigcard.disabled{cursor:default}.bigcard-tag{position:absolute;top:10px;right:-4px;padding:2px 10px 2px 8px;font-family:var(--font-heading);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;background:var(--accent-2);color:#000;font-weight:700;border-radius:4px 0 0 4px;box-shadow:0 2px 6px #0009}.bigcard-tag.sp{background:#6fc1ff}.interrupt-detail{margin-top:.3rem}.result-columns{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.revealed-cards{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:.5rem}@media (max-width: 700px){.result-columns{grid-template-columns:1fr}}.score-table{width:100%;border-collapse:collapse;font-size:.85rem;margin-bottom:.5rem}.score-table td,.score-table th{padding:.2rem .4rem;border-bottom:1px solid var(--border);text-align:left}.score-table td:last-child,.score-table th:last-child{text-align:right}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#050408eb;display:flex;align-items:center;justify-content:center;z-index:50}.overlay .box{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:2rem;max-width:560px;width:calc(100% - 2rem);text-align:center}.overlay .box.wide{max-width:900px;text-align:left;max-height:90vh;overflow:auto}.landing{position:relative;min-height:100%;overflow:auto}.landing-bg{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#07060a;background-image:var(--art);background-size:contain;background-position:center;background-repeat:no-repeat;z-index:0}.landing-title{display:none}.landing-menu{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;gap:.9rem;width:min(360px,80vw);min-height:100vh;min-height:100dvh;margin:0 auto;padding:10vh 0 18vh}.landing-menu.inline{margin:0;padding:0;width:100%;max-width:420px}.burger-wrap{position:fixed;top:max(.8rem,env(safe-area-inset-top));right:.8rem;z-index:6}.burger{width:46px;height:42px;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:linear-gradient(180deg,#1c121699,#0a0609a6);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid rgba(138,106,42,.8);box-shadow:0 0 0 1px #00000080,0 6px 18px #00000080;border-radius:6px}.burger span{display:block;width:20px;height:2px;border-radius:1px;background:var(--accent-2);transition:transform .2s,opacity .2s}.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.burger.open span:nth-child(2){opacity:0}.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.burger-menu{position:absolute;top:calc(100% + .5rem);right:0;z-index:30;display:flex;flex-direction:column;gap:.4rem;width:min(260px,80vw)}.burger-menu button{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.6rem .9rem;font-family:var(--font-heading);font-weight:700;font-size:1.05rem;letter-spacing:.05em;color:#f1e6cf;text-align:left;background:linear-gradient(180deg,#1c1216eb,#0a0609f2);border:1px solid rgba(138,106,42,.8);box-shadow:0 6px 18px #0009;border-radius:6px}.burger-menu button span{font-family:var(--font-body);font-weight:400;font-size:.85rem;letter-spacing:0;color:#bfae90}.burger-menu button:hover{border-color:var(--accent-2);color:#fff}.burger-panel{padding:.6rem .9rem .7rem;background:linear-gradient(180deg,#1c1216eb,#0a0609f2);border:1px solid rgba(138,106,42,.8);box-shadow:0 6px 18px #0009;border-radius:6px}.music-control{display:flex;flex-direction:column;gap:.5rem}.music-switch{display:flex;align-items:center;gap:.6rem;cursor:pointer;font-family:var(--font-heading);font-weight:700;font-size:1.05rem;letter-spacing:.05em;color:#f1e6cf}.music-switch input{width:18px;height:18px;margin:0;accent-color:var(--accent-2);cursor:pointer}.music-switch span{display:flex;flex-direction:column;gap:.1rem}.music-switch small{font-family:var(--font-body);font-weight:400;font-size:.85rem;letter-spacing:0;color:#bfae90}.music-volume{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#bfae90}.music-volume input[type=range]{flex:1 1 auto;min-width:0;margin:0;accent-color:var(--accent-2);cursor:pointer}.music-volume-value{width:3em;text-align:right;font-variant-numeric:tabular-nums}.music-btn{min-width:2.2em;font-size:1rem;line-height:1}.music-btn.off{color:var(--muted)}.music-popover{position:fixed;right:1rem;top:118px;z-index:45;width:min(300px,calc(100vw - 2rem));padding:.8rem 1rem .9rem;background:#100c13f7;border:1px solid #6a5222;border-radius:10px;box-shadow:0 12px 36px #000c}.menu-btn{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.85rem 1.3rem;font-family:var(--font-heading);font-weight:700;font-size:1.35rem;letter-spacing:.06em;color:#f1e6cf;background:linear-gradient(180deg,#1c121680,#0a06098c);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid rgba(138,106,42,.8);box-shadow:0 0 0 1px #00000080,0 6px 18px #00000080;border-radius:6px;text-shadow:0 1px 3px #000,0 0 8px rgba(0,0,0,.8)}.menu-btn span{font-family:var(--font-body);font-weight:400;font-size:.95rem;letter-spacing:0;color:#bfae90}.landing-pitch{margin:0 0 .2rem;max-width:26rem;align-self:center;text-align:center;font-family:var(--font-body);font-style:italic;font-size:1.08rem;line-height:1.35;color:#eadfc8;text-shadow:0 1px 6px #000,0 0 2px #000}.menu-btn:hover:not(:disabled){border-color:var(--accent-2);background:linear-gradient(180deg,#461a22b3,#14080cbf);color:#fff}.menu-btn.gold{border-color:var(--accent-2);color:var(--accent-2)}.wizard{position:relative;z-index:1;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:2vh 1rem}.wizard-panel{width:min(840px,100%);max-height:92vh;display:flex;flex-direction:column;background:#0e0a0ead;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(106,82,34,.9);border-radius:10px;box-shadow:0 10px 40px #0009;padding:1.2rem 1.5rem 1.4rem}.landing.dim .landing-bg{filter:brightness(.75) saturate(.9)}.wizard-head{display:flex;gap:1rem;align-items:flex-start;margin-bottom:.8rem;flex:0 0 auto}.wizard-head>button{white-space:nowrap;flex:0 0 auto}.wizard-body{overflow:auto;min-height:0;flex:1 1 auto;padding-right:.3rem}.wizard-panel.fill{height:min(96vh,760px);height:min(96dvh,760px);max-height:96vh;max-height:96dvh;width:min(960px,100%)}.wizard-panel.fill .wizard-body{display:flex;flex-direction:column;overflow:hidden;padding-right:0}.wizard-panel.fill .wizard-body>*{flex:1 1 auto;min-height:0}.wizard-head h2{color:var(--accent-2);font-size:1.6rem;margin:0}.wizard-head p{margin:.2rem 0 0}.wizard-foot{display:flex;gap:1rem;align-items:center;justify-content:flex-end;margin-top:.9rem;flex:0 0 auto}button.big{font-size:1.05rem;font-weight:700;padding:.7rem 1.4rem}.option-row{display:grid;grid-template-columns:160px 1fr;gap:.8rem;align-items:center}.name-prompt{display:flex;flex-direction:column;gap:.5rem;max-width:520px}.name-prompt label{font-family:var(--font-heading);font-size:1.05rem;color:#f1e6cf}.name-input{font-family:var(--font-heading);font-size:1.6rem;padding:.6rem .9rem;border:2px solid var(--accent-2);background:#00000073;box-shadow:0 0 0 4px #d9a4411f,0 0 18px #d9a44140}.name-input:focus{outline:none;box-shadow:0 0 0 4px #d9a4414d,0 0 24px #d9a44173}.name-input::placeholder{color:#8f8170;font-style:italic}.name-hint{margin:0;font-size:.9rem;color:var(--accent-2)}.name-hint.ok{color:var(--muted)}.faction-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.7rem}.faction-card{display:flex;flex-direction:column;align-items:stretch;padding:0;overflow:hidden;text-align:left;background:var(--panel-2);border:2px solid var(--border);border-radius:8px}.faction-card:hover:not(:disabled){border-color:var(--faction)}.faction-card.selected{border-color:var(--accent-2);box-shadow:0 0 0 2px var(--accent-2)}.faction-card img{width:100%;aspect-ratio:370 / 320;object-fit:cover;display:block;border-bottom:3px solid var(--faction)}.faction-card-body{padding:.5rem .65rem .6rem}.faction-card-name{font-family:var(--font-heading);font-size:.95rem;font-weight:700}.faction-card-name .sw{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:.4rem;vertical-align:-1px;border:1px solid rgba(255,255,255,.3)}.faction-card-leader{font-size:.85rem;color:#e0d4bc}.faction-card-home{font-size:.75rem;color:var(--muted)}.faction-card-style{margin-top:.25rem;font-size:.78rem;font-style:italic;color:#e0d4bc}.faction-card-tag{margin-top:.35rem;font-size:.72rem;color:var(--accent-2);text-transform:uppercase;letter-spacing:.06em}.carousel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"prev card next" "thumbs thumbs thumbs";gap:.6rem;align-items:stretch;min-height:0;outline:none}.carousel-arrow{align-self:center;font-size:2.4rem;line-height:1;padding:.2rem .6rem .5rem;background:transparent;border-color:transparent;color:var(--accent-2)}.carousel-arrow:hover:not(:disabled){background:#d9a4411f;border-color:var(--accent-2)}.carousel-card{grid-area:card;display:grid;grid-template-columns:minmax(200px,40%) minmax(0,1fr);gap:1rem;background:var(--panel-2);border:2px solid var(--faction);border-radius:10px;overflow:hidden;min-height:0;height:100%}.carousel-card img{width:100%;height:100%;min-height:0;object-fit:cover;object-position:top center;display:block}.carousel-body{padding:.8rem 1rem .9rem 0;display:flex;flex-direction:column;justify-content:center;gap:.35rem;min-height:0;overflow:auto}.carousel-name{font-family:var(--font-heading);font-weight:700;font-size:1.35rem;color:var(--accent-2)}.carousel-name .sw{display:inline-block;width:13px;height:13px;border-radius:3px;margin-right:.45rem;vertical-align:-1px;border:1px solid rgba(255,255,255,.35)}.carousel-leader{font-family:var(--font-heading);font-size:1rem}.carousel-home{color:var(--muted);font-size:.9rem}.carousel-style{font-style:italic;color:#e8dcc4;font-size:.95rem;line-height:1.35}.carousel-bonus{font-size:.92rem;line-height:1.35}.carousel-bonus .stat-label{font-size:.62rem;margin-top:.2rem}.carousel-body .primary{align-self:flex-start;margin-top:.6rem}.carousel-thumbs{grid-area:thumbs;display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;flex:0 0 auto}.carousel-thumb{padding:0;width:58px;height:52px;border-radius:6px;overflow:hidden;border:2px solid var(--faction);opacity:.55;background:#000}.carousel-thumb img{width:100%;height:100%;object-fit:cover;display:block}.carousel-thumb.current,.carousel-thumb:hover{opacity:1;box-shadow:0 0 0 2px var(--accent-2)}@media (max-height: 720px){.wizard-panel.fill{padding:.8rem 1.1rem .9rem}.wizard-panel.fill .wizard-head{margin-bottom:.5rem}.wizard-panel.fill .wizard-head h2{font-size:1.3rem}.carousel-thumb{width:48px;height:42px}.carousel-body{gap:.2rem}}@media (max-width: 700px){.wizard{padding:1vh .5rem}.wizard-panel{padding:.9rem .9rem 1rem}.wizard-panel.fill{height:98vh;height:98dvh;max-height:98vh;max-height:98dvh}.wizard-head{gap:.6rem;margin-bottom:.5rem}.wizard-head h2{font-size:1.25rem}.wizard-head p{font-size:.8rem}.carousel{grid-template-columns:auto minmax(0,1fr) auto;gap:.3rem}.carousel-arrow{font-size:2rem;padding:.1rem .25rem .4rem}.carousel-card{grid-template-columns:1fr;grid-template-rows:minmax(120px,1fr) auto;gap:0}.carousel-body{padding:.6rem .8rem .9rem;justify-content:flex-start}.carousel-name{font-size:1.15rem}.option-row{grid-template-columns:1fr;gap:.3rem}.option-row select,.option-row input{width:100%;min-width:0}.faction-cards{grid-template-columns:1fr;gap:.5rem}.faction-card{flex-direction:row;align-items:stretch}.faction-card img{width:88px;flex:0 0 88px;aspect-ratio:auto;object-position:top center;border-bottom:0;border-right:3px solid var(--faction)}.faction-card-body{padding:.4rem .6rem;align-self:center}.carousel-thumbs{flex-wrap:nowrap;gap:.3rem;overflow-x:auto;padding-bottom:2px}.carousel-thumb{flex:0 0 auto;width:40px;height:36px}}@media (max-aspect-ratio: 1/1){.landing-bg{background-image:var(--banner),var(--art);background-size:100% auto,auto calc(100% * 1152 / 952);background-position:center bottom,center top;background-repeat:no-repeat}.landing-menu{width:min(360px,86vw);justify-content:flex-start;padding-top:max(26vh,54vw);padding-bottom:10vh}.landing-title{display:block;position:fixed;top:max(1vh,env(safe-area-inset-top));left:50%;transform:translate(-50%);width:min(76vw,380px);aspect-ratio:578 / 386;background-size:contain;background-position:center;background-repeat:no-repeat;-webkit-mask-image:linear-gradient(to right,transparent,#000 9%,#000 91%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 80%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 9%,#000 91%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 80%,transparent);mask-composite:intersect;z-index:0;pointer-events:none}}.seat-rows{display:grid;gap:.6rem}.seat-row{display:grid;grid-template-columns:70px 1fr auto 1fr;gap:.6rem;align-items:center}@media (max-width: 760px){.seat-row{grid-template-columns:1fr 1fr}}.rumour-scroll-wrap{position:relative}.notice-strip{display:flex;align-items:stretch;padding:0;background:transparent;border:none;border-radius:0;filter:drop-shadow(0 3px 6px rgba(0,0,0,.7));text-align:left;font-family:var(--font-body);font-size:.85rem;letter-spacing:0;text-transform:none;cursor:pointer}.notice-strip.shrunk{flex:0 0 auto}.notice-strip .notice-icon{flex:0 0 auto;color:var(--accent-2)}.notice-cap{width:14px;border-radius:7px;background:linear-gradient(90deg,#2a1d14,#6a4d33 35%,#b0885a 50%,#6a4d33 70%,#24180f);border:1px solid #1a120b;box-shadow:inset 0 0 0 1px #d9a44159;margin:-3px 0;position:relative;z-index:1}.notice-strip-body{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.35rem;padding:.25rem .9rem;margin:0 -4px;max-width:520px;background:linear-gradient(180deg,#3d2f23,#2e2219);border-top:1px solid #6a5222;border-bottom:1px solid #6a5222;color:#f0e6d2;line-height:1.25}.notice-strip.shrunk .notice-strip-body{gap:.2rem;padding:.25rem .4rem;max-width:none}.notice-strip:hover .notice-strip-body,.notice-strip.open .notice-strip-body{background:linear-gradient(180deg,#4a3a2b,#372a1f)}.notice-lines{display:flex;flex-direction:column;gap:.05rem;min-width:0}.notice-label{font-family:var(--font-heading);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-2)}.notice-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notice-line b{font-family:var(--font-heading);color:#f6e7c0}.event-text .notice-line{white-space:normal}.event-text .notice-label{margin-right:.25rem}.event-text{max-width:500px}.rumour-count{font-family:var(--font-heading);font-size:.72rem;color:var(--accent-2)}.event-scroll.landing{animation:event-landing-glow 2.2s ease-out 2}.event-scroll.landing .notice-strip-body{animation:event-landing-lit 2.2s ease-out 2}@keyframes event-landing-glow{0%,to{filter:drop-shadow(0 3px 6px rgba(0,0,0,.7))}35%{filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 9px rgba(217,164,65,.95))}}@keyframes event-landing-lit{0%,35%{background:linear-gradient(180deg,#5f4a20,#453317)}to{background:linear-gradient(180deg,#3d2f23,#2e2219)}}.rumour-popup{position:absolute;top:calc(100% + 8px);left:0;z-index:30;width:min(520px,90vw);display:flex;flex-direction:column;filter:drop-shadow(0 10px 24px rgba(0,0,0,.8));animation:unroll-down .4s ease-out}@keyframes unroll-down{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}.rumour-popup-body{padding:.8rem 1rem;background:linear-gradient(180deg,#3d2f23,#2e2219);border-left:1px solid #6a5222;border-right:1px solid #6a5222;color:#f0e6d2}.rumour-detail+.rumour-detail{margin-top:.7rem;padding-top:.7rem;border-top:1px solid rgba(217,164,65,.3)}.rumour-detail h4{color:var(--accent-2);margin-bottom:.2rem}.rumour-detail q{display:block;font-style:italic;color:#d9c9a8;margin:.2rem 0 .4rem}.rumour-detail p{margin:.2rem 0}.effect-marker{cursor:pointer}.effect-marker:hover circle:first-of-type{stroke-width:12}.effect-popup{position:fixed;z-index:30;width:340px;padding:.6rem .8rem;background:#100c13f7;border:1px solid #6a5222;border-radius:8px;box-shadow:0 10px 30px #000c}.order-popup{position:fixed;z-index:31;padding:.55rem .7rem;background:#100c13f7;border:1px solid #6a5222;border-radius:8px;box-shadow:0 10px 30px #000c;display:flex;flex-direction:column;gap:.4rem}.order-popup h4{color:var(--accent-2);font-size:.9rem}.order-popup .row{flex-wrap:wrap;gap:.3rem}.effect-popup h4{color:var(--accent-2);margin-bottom:.35rem}.effect-line+.effect-line{margin-top:.45rem;padding-top:.45rem;border-top:1px solid rgba(217,164,65,.25)}.effect-line b{font-family:var(--font-heading);font-size:.85rem;color:#f6e7c0}.effect-line.event b{color:#9fd2ff}.effect-line div{font-size:.9rem}.turnbar{position:relative;display:flex;align-items:center;gap:.6rem;padding:.3rem .8rem;background:#100c13;border-bottom:1px solid var(--border);z-index:20}.turnbar-day{font-family:var(--font-heading);font-weight:700;color:var(--accent-2);white-space:nowrap}.track{display:flex;align-items:stretch;gap:.25rem;overflow-x:auto;flex:1;min-width:0}.track-item{position:relative;flex:0 0 auto}.track-step{display:flex;align-items:center;gap:.4rem;padding:.2rem .55rem;border-radius:999px;border:1px solid var(--border);background:var(--panel);font-size:.74rem;letter-spacing:.03em;white-space:nowrap;color:var(--muted);--faction: var(--border)}.track-step.act{border-color:var(--faction)}.track-step .marker{width:10px;height:10px;border-radius:50%;border:1px solid var(--muted);background:transparent;flex:0 0 auto}.track-step.act .marker{background:var(--faction);border-color:var(--faction);opacity:.55}.track-step.done{color:var(--text)}.track-step.done .marker{background:var(--ok);border-color:var(--ok);opacity:1}.track-step.done.act .marker{background:var(--faction);border-color:#fff;opacity:1}.track-step.active{color:#fff;background:#2b2233;border-color:var(--accent-2);box-shadow:0 0 10px #d9a44199}.track-step.active .marker{background:var(--accent-2);border-color:var(--accent-2);opacity:1;animation:pulse 1.2s ease-in-out infinite}.track-step.open{outline:2px solid var(--accent-2)}.track-seg{flex:0 0 auto;color:var(--accent-2);display:none}.track-step.select .track-seg{display:block}.track-step.select .track-label,.track-step.select .marker{display:none}.track-step.select{width:26px;height:26px;padding:.2rem;justify-content:center;border-radius:50%}.track-step.select .phase-night{color:#cfd3ff}.track-step.select .phase-day{color:#ffd777}.track-step.select.pending .track-seg{opacity:.45}.track-step.select.done .track-seg{color:var(--ok)}.track-sub{color:var(--accent-2);font-weight:700}.track-sub:before{content:"·";color:var(--muted);font-weight:400}.track-popup{position:fixed;z-index:30;max-height:50vh;overflow:auto;background:#100c13f7;border:1px solid #6a5222;border-radius:8px;box-shadow:0 10px 30px #000c;padding:.6rem .8rem;white-space:normal}.track-popup h4{color:var(--accent-2);margin-bottom:.3rem}.track-popup p{margin:.15rem 0}.track-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.6}}.turn-order{background:#d9a44114;border:1px solid rgba(217,164,65,.4);border-radius:8px;padding:.5rem .7rem}.turn-order-title{font-family:var(--font-heading);font-weight:700;color:var(--accent-2);margin-bottom:.25rem}.turn-order-list{margin:0;padding-left:1.4rem}.turn-order-list li{margin:.1rem 0}.turn-order-list .sw{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:.4rem;vertical-align:-1px;border:1px solid rgba(255,255,255,.35)}.turn-order-first{font-family:var(--font-heading);font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-2)}.turn-order.compact{font-size:.9rem}.standings{position:absolute;left:.6rem;top:50%;transform:translateY(-50%);z-index:12;width:210px;padding:.45rem .55rem .5rem;background:#0e0a0ee0;border:1px solid #5a4620;border-radius:10px;box-shadow:0 4px 14px #000000b3}.standings-title{font-family:var(--font-heading);font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-2);margin-bottom:.35rem}.standings-title.as-button{display:flex;justify-content:space-between;width:100%;padding:0;background:transparent;border:none;border-radius:0;cursor:pointer}.standings.compact{width:auto;display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.4rem .45rem .5rem;cursor:pointer}.standings.compact .standings-title{margin-bottom:0;font-size:.62rem}.standings.compact:hover{border-color:var(--accent-2)}.standing-mini{display:flex;flex-direction:column;align-items:center;gap:.1rem}.standing-mini img{width:30px;height:30px;border-radius:50%;object-fit:cover;border:2px solid var(--faction);box-shadow:0 0 0 1px #ffffff4d}.standing-mini b{font-family:var(--font-heading);font-size:.95rem;color:#f4ecdc;line-height:1}.standing-mini.leader img{box-shadow:0 0 0 2px var(--accent-2)}.standing-mini.leader b{color:var(--accent-2)}.standing{display:grid;grid-template-columns:14px 34px 1fr;gap:.4rem;align-items:center;padding:.3rem .2rem;border-radius:6px}.standing+.standing{border-top:1px solid rgba(217,164,65,.15)}.standing.leader{background:#d9a4411a}.standing-rank{font-family:var(--font-heading);font-weight:700;font-size:.9rem;color:var(--muted);text-align:center}.standing.leader .standing-rank{color:var(--accent-2)}.standing img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid var(--faction);box-shadow:0 0 0 1px #ffffff4d}.standing-body{min-width:0}.standing-head{display:flex;justify-content:space-between;align-items:baseline;gap:.4rem}.standing-name{font-family:var(--font-heading);font-weight:700;font-size:.82rem;color:var(--faction-label);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.standing.viewer .standing-name:after{content:" (you)";font-family:var(--font-body);font-weight:400;color:var(--muted)}.standing-total{font-family:var(--font-heading);font-weight:700;font-size:1.05rem;color:#f4ecdc}.standing-bar{height:5px;margin:.2rem 0;border-radius:3px;background:#ffffff14;overflow:hidden}.standing-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--faction),var(--faction-label));transition:width .4s ease}.standing-detail{font-size:.7rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge-corner{position:absolute;z-index:13;display:flex;align-items:center;gap:.5rem;padding:.3rem .6rem .3rem .3rem;background:#0e0a0ed9;border:1px solid #5a4620;border-radius:999px 12px 12px 999px;color:var(--text);font-family:var(--font-body);letter-spacing:0;box-shadow:0 4px 14px #000000b3;text-align:left}.badge-corner.bl{left:.6rem;bottom:.6rem}.badge-corner.tl{left:.6rem;top:.6rem}.badge-corner.tr{right:.6rem;top:.6rem;flex-direction:row-reverse;padding:.3rem .3rem .3rem .6rem;border-radius:12px 999px 999px 12px;text-align:right}.badge-corner.br{right:.6rem;bottom:.6rem;flex-direction:row-reverse;padding:.3rem .3rem .3rem .6rem;border-radius:12px 999px 999px 12px;text-align:right}.badge-corner:hover{border-color:var(--accent-2);background:#181016f2}.badge-corner.active{border-color:var(--accent-2);box-shadow:0 0 0 1px var(--accent-2),0 0 16px #d9a441a6}.badge-portrait{position:relative;flex:0 0 auto;width:58px;height:58px;border-radius:50%;overflow:visible}.badge-portrait img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid var(--faction);box-shadow:0 0 0 1px #ffffff59;display:block}.badge-corner.viewer .badge-portrait img,.badge-corner.viewer .badge-portrait{width:68px;height:68px}.badge-turn{position:absolute;right:-4px;bottom:-4px;width:20px;height:20px;border-radius:50%;background:var(--accent-2);color:#1a1206;font-family:var(--font-heading);font-weight:700;font-size:.72rem;display:flex;align-items:center;justify-content:center;border:1px solid #000}.badge-cp{display:none;position:absolute;right:-5px;top:-5px;min-width:20px;height:20px;padding:0 3px;border-radius:999px;background:radial-gradient(circle at 35% 30%,#f1d58a,#c8922f 70%);color:#3a2506;font-family:var(--font-heading);font-weight:700;font-size:.7rem;align-items:center;justify-content:center;border:1px solid #5a3d10;box-shadow:0 1px 3px #000c}.badge-action{position:absolute;left:-4px;bottom:-4px;width:22px;height:22px;border-radius:50%;background:var(--accent-2);color:#1a1206;display:flex;align-items:center;justify-content:center;border:1px solid #000}.badge-corner.active .badge-action{box-shadow:0 0 8px #d9a441e6}.action-icon{flex:0 0 auto;vertical-align:-.15em}.inline-icon{display:inline-block;vertical-align:-.2em;color:var(--accent-2)}.stat-icon{vertical-align:-.2em;margin-right:.15rem;color:var(--accent-2)}.track-sub{display:inline-flex;align-items:center}.badge-text{display:flex;flex-direction:column;line-height:1.25}.badge-corner .chip-name{font-family:var(--font-heading);font-weight:700;font-size:.9rem;color:var(--faction-label, var(--faction));text-shadow:0 1px 2px #000;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge-corner.viewer .chip-name{font-size:1rem}.chip-stat{color:var(--muted);white-space:nowrap;font-size:.8rem}.chip-stat b{color:var(--text)}.chip-action{color:var(--accent-2);font-family:var(--font-heading);font-size:.72rem}.mat-collapse{position:absolute;right:4%;top:4%;z-index:2;padding:0 .45rem;line-height:1.3;font-size:.9rem;background:#0000008c;border-color:#5a4620}.event-toast{position:fixed;left:50%;top:112px;transform:translate(-50%);z-index:22;width:min(360px,72vw);max-height:9.5em;overflow:hidden;padding:.5rem .8rem;background:#100c13a8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:1px solid rgba(106,82,34,.8);border-radius:8px;box-shadow:0 8px 24px #0000008c;font-size:.92rem;line-height:1.3;cursor:pointer;animation:toast-in .3s ease-out}.event-toast.overflowing{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 1.6em);mask-image:linear-gradient(to bottom,transparent 0,#000 1.6em)}.event-toast.fading{animation:toast-out .6s ease-in forwards}.event-toast div{animation:toast-line-in .3s ease-out}.event-toast div+div{margin-top:.2rem;border-top:1px solid rgba(217,164,65,.2);padding-top:.2rem}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}@keyframes toast-out{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-8px)}}@keyframes toast-line-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.wait-card{position:fixed;left:50%;transform:translate(-50%);bottom:1rem;z-index:15;display:flex;align-items:center;gap:.5rem;padding:.5rem .9rem;background:#100c13eb;border:1px solid var(--border);border-radius:8px;font-size:.9rem;box-shadow:0 6px 20px #000000b3}.conn-card{position:absolute;top:.6rem;left:50%;transform:translate(-50%);z-index:25;width:min(560px,calc(100vw - 2rem));display:flex;flex-direction:column;gap:.35rem;padding:.5rem .8rem;background:#2a0c0ef0;border:1px solid #9a2d2d;border-radius:8px;font-size:.88rem;box-shadow:0 6px 20px #000000b3}.conn-line{display:flex;align-items:center;gap:.5rem}.conn-text{flex:1}.conn-dot{flex:none;width:9px;height:9px;border-radius:50%;background:#d33}.wait-card .pulse{width:10px;height:10px;border-radius:50%;background:var(--accent-2);animation:pulse 1.2s ease-in-out infinite}.prompt-card{position:fixed;left:50%;bottom:.6rem;transform:translate(-50%);z-index:15;width:min(460px,calc(100vw - 2rem));max-height:58vh;display:flex;flex-direction:column;filter:drop-shadow(0 12px 24px rgba(0,0,0,.8));animation:unroll .55s cubic-bezier(.2,.8,.3,1);transform-origin:50% 100%}@keyframes unroll{0%{clip-path:inset(100% 0 0 0);transform:translate(-50%,30px)}to{clip-path:inset(0 0 0 0);transform:translate(-50%)}}.scroll-roll{flex:0 0 auto;height:18px;margin:0 -10px;border-radius:9px;background:linear-gradient(180deg,#2a1d14,#6a4d33 35%,#b0885a 50%,#6a4d33 70%,#24180f);border:1px solid #1a120b;box-shadow:0 2px 6px #000c,inset 0 0 0 1px #d9a44159;position:relative;z-index:2}.scroll-roll.top{margin-bottom:-6px}.scroll-roll.bottom{margin-top:-6px}.scroll-body{flex:1 1 auto;min-height:0;overflow:auto;padding:.9rem 1rem;color:#f0e6d2;background:linear-gradient(90deg,rgba(0,0,0,.35),transparent 8%,transparent 92%,rgba(0,0,0,.35)),linear-gradient(180deg,#3d2f23,#2e2219 45%,#2a1e16);border-left:1px solid #6a5222;border-right:1px solid #6a5222}.scroll-body h2{color:var(--accent-2)}.prompt-card.hidden-card{position:fixed;left:50%;right:auto;top:auto;bottom:calc(.5rem + env(safe-area-inset-bottom));transform:translate(-50%);width:min(200px,50vw);max-height:none;margin:0;filter:none;animation:none;z-index:16}.prompt-bar{display:flex;align-items:center;justify-content:center;width:100%;padding:.2rem 0;background:linear-gradient(180deg,#2a1d14,#6a4d33 35%,#b0885a 50%,#6a4d33 70%,#24180f);border:1px solid #1a120b;border-radius:9px;box-shadow:0 2px 8px #000c,inset 0 0 0 1px #d9a44159;color:#2a1d14;cursor:pointer}.prompt-bar:hover{border-color:var(--accent-2)}.prompt-bar svg{width:20px;height:20px;display:block}.prompt-card.hidden-card .error{margin:0 0 .35rem;padding:.35rem .6rem;background:#100c13f0;border-radius:8px;text-align:center}.prompt-toggle{float:right;margin-left:.5rem}.prompt-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;background:#04030640;padding:1rem}.prompt-dialog{width:min(640px,100%);max-height:88vh;overflow:auto;padding:1rem 1.2rem 1.2rem;background:#100c13f5;border:1px solid #6a5222;border-radius:12px;box-shadow:0 16px 50px #000000d9}.prompt-dialog.wide{width:min(820px,100%)}.prompt-dialog h2{color:var(--accent-2)}.log-popover{position:fixed;right:1rem;top:118px;z-index:45;width:420px;max-height:calc(100vh - 140px);display:flex;flex-direction:column;padding:.7rem .9rem;background:#100c13f7;border:1px solid #6a5222;border-radius:10px;box-shadow:0 10px 30px #000c}.log-popover .log{overflow:auto;min-height:0}.setup{max-width:980px;margin:0 auto;padding:2rem 1rem 4rem}.setup .hero{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.5rem}.setup .hero img{width:260px;border-radius:10px;border:1px solid var(--border)}.setup h1{font-size:2.4rem;color:var(--accent-2)}.setup.crash{max-width:640px}.setup.crash .error{margin:1rem 0;word-break:break-word}.menu-notice{display:flex;align-items:center;gap:.6rem;padding:.55rem .8rem;border:1px solid var(--border);border-radius:8px;background:#140c0ce0;font-size:.9rem}.menu-room{display:flex;flex-direction:column;align-items:stretch;gap:.3rem}.menu-room>.small{align-self:flex-end}.first-hint{display:flex;flex-direction:column;gap:.35rem;padding:.5rem .7rem;border:1px solid var(--accent-2);border-radius:8px;background:#46300c59;font-size:.85rem;line-height:1.35}.first-hint-label{font-family:var(--font-heading);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-2)}.first-hint>button{align-self:flex-end}.about-actions{gap:.6rem;flex-wrap:wrap;margin:.8rem 0 .2rem}.credits{display:grid;grid-template-columns:max-content 1fr;gap:.5rem 1rem;margin:1rem 0}.credits dt{color:var(--accent-2);font-family:Cinzel,Georgia,serif;font-size:.85rem}.credits dd{margin:0}@media (max-width: 700px){.credits{grid-template-columns:1fr;gap:.15rem}.credits dd{margin-bottom:.5rem}}.faction-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.6rem;margin:.8rem 0 1.2rem}.faction-tile{border:2px solid var(--border);border-radius:8px;padding:.6rem .7rem;background:var(--panel-2);cursor:pointer}.faction-tile.taken{opacity:.45;cursor:not-allowed}.faction-tile.chosen{border-color:var(--accent-2)}.faction-tile .name{font-family:Georgia,serif;font-size:1.05rem}.faction-tile .sw{display:inline-block;width:14px;height:14px;border-radius:3px;margin-right:.4rem;vertical-align:-2px;border:1px solid rgba(255,255,255,.3)}.room-code{display:inline-block;padding:.8rem 1.4rem;margin-bottom:1rem;max-width:100%}.room-code-value{font-family:var(--font-heading);font-weight:700;font-size:2.4rem;letter-spacing:.3em;color:var(--accent-2)}.seat-cards{display:grid;gap:.5rem;margin-bottom:1rem;max-width:640px}.seat-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"label name remove" "faction faction faction";gap:.35rem .7rem;align-items:center;padding:.5rem .7rem;background:var(--panel-2);border:1px solid var(--border);border-radius:8px}.seat-card.you{border-color:var(--accent-2)}.seat-label{grid-area:label;font-family:var(--font-heading);white-space:nowrap}.seat-name{grid-area:name;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat-remove{grid-area:remove}.seat-faction{grid-area:faction;min-width:0}.seat-faction select{width:100%;min-width:0}.story p{font-size:1.02rem;line-height:1.55;margin:0 0 .8rem;color:#e6dcc6}.story p:first-child:first-letter{font-family:var(--font-display);font-size:2.6em;line-height:.8;float:left;margin:.08em .12em 0 0;color:var(--accent-2)}.story-coda{font-family:var(--font-heading);font-size:.9rem!important;color:var(--accent-2)!important;border-top:1px solid rgba(217,164,65,.3);padding-top:.6rem}.story-box{text-align:left;display:flex;flex-direction:column;max-height:86dvh;overflow:hidden}.story-box .story{min-height:0;overflow-y:auto}.story-box h2{color:var(--accent-2);margin:0}.rules .intro{font-size:.95rem;line-height:1.5;color:#e0d6c0;border-left:3px solid rgba(217,164,65,.45);padding-left:.8rem;margin:.4rem 0 .8rem}.help-figure{margin:.6rem 0 1rem;padding:0}.help-figure img{display:block;width:100%;max-width:760px;border:1px solid #6a5222;border-radius:8px;box-shadow:0 6px 20px #0009}.help-figure figcaption{max-width:760px;margin-top:.4rem;font-size:.86rem;line-height:1.4;color:var(--muted)}.help-figure figcaption b{color:var(--accent-2)}.rules h3{margin-top:1rem;color:var(--accent-2)}.rules p,.rules li{font-size:.92rem;line-height:1.45}@media (max-width: 1500px){.mat.landscape{width:460px;--mat-font: .8rem}}@media (max-width: 700px){.game{height:auto;min-height:100%}.topbar{padding:.4rem .6rem;gap:.35rem .5rem}.topbar-main{display:flex;align-items:center;gap:.4rem;flex:1 1 auto;min-width:0}.topbar h1{display:none}.topbar .segment{font-size:.68rem;padding:.18rem .5rem}.topbar .segment.night,.topbar .segment.day,.topbar .spacer{display:none}.topbar-tools{display:flex;gap:.3rem;margin-left:auto}.topbar-tools button{padding:.3rem .45rem;font-size:.74rem}.wide-only{display:none}.scroll-body h2,.prompt-dialog h2{font-size:1.15rem}.event-scroll.shrunk,.rumour-scroll-wrap:has(.shrunk){order:0;flex:0 0 auto;min-width:0}.event-scroll{order:5;flex:1 1 100%;min-width:0}.rumour-scroll-wrap{order:6;flex:1 1 100%;min-width:0}.rumour-scroll{width:100%}.notice-strip-body{flex:1 1 auto;min-width:0;max-width:none;font-size:.78rem;padding:.2rem .6rem}.rumour-popup{width:100%}.turnbar{padding:.25rem .5rem;gap:.4rem}.turnbar-day{font-size:.85rem}.table{flex:none;flex-direction:column}.seats{display:flex;align-items:center;gap:.4rem;padding:.55rem .5rem;overflow-x:auto;scrollbar-width:none;background:#0b090e;border-bottom:1px solid var(--border)}.standings.compact{position:static;transform:none;flex:0 0 auto;flex-direction:row;gap:.4rem;padding:.25rem .5rem}.standing-mini img{width:26px;height:26px}.standing-mini b{font-size:.8rem}.badge-corner,.badge-corner.tr,.badge-corner.br{position:static;flex:0 0 auto;padding:0;gap:0;background:transparent;border:none;box-shadow:none;border-radius:50%}.badge-text{display:none}.badge-cp{display:flex}.badge-portrait,.badge-corner.viewer .badge-portrait,.badge-portrait img,.badge-corner.viewer .badge-portrait img{width:44px;height:44px}.badge-corner.active .badge-portrait img{box-shadow:0 0 0 2px var(--accent-2),0 0 12px #d9a441cc}.badge-turn{width:17px;height:17px;font-size:.62rem}.badge-action{width:18px;height:18px}.badge-action .action-icon{width:12px;height:12px}.badge-corner .chip-name,.badge-corner.viewer .chip-name{font-size:.82rem;max-width:120px}.chip-stat{font-size:.7rem}.chip-action{font-size:.65rem}.map-area{flex:none;width:100%;aspect-ratio:var(--board-aspect, 3 / 2)}.map-tools{top:.4rem;right:.4rem}.map-tools button{padding:.35rem .75rem;font-size:1rem}.corner-mat,.corner-mat.bl,.corner-mat.tl,.corner-mat.tr,.corner-mat.br{position:fixed;left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);width:min(540px,96vw);z-index:42;--mat-font: .62rem}.standings:not(.compact){position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(320px,92vw);z-index:42}.prompt-card:not(.hidden-card){position:static;transform:none;width:auto;max-height:none;margin:.4rem .8rem 1rem;animation:unroll-flow .4s ease-out}.scroll-body{padding:.7rem .8rem;overflow:visible}.wait-card{width:calc(100vw - 1.6rem);bottom:.6rem;justify-content:center;text-align:center;font-size:.85rem}.event-toast{top:.5rem;width:calc(100vw - 1rem);font-size:.9rem}.game .hunter-caption{top:auto;bottom:.6rem;width:calc(100vw - 1.2rem);padding:.6rem .8rem .7rem}.game .hunter-caption h2{font-size:1.1rem;margin-bottom:.15rem}.game .hunter-caption .place{font-size:1.1rem}.game .hunter-caption p{font-size:.95rem;margin:.15rem 0 .35rem}.log-popover{left:.5rem;right:.5rem;top:.5rem;width:auto;max-height:calc(100dvh - 1rem)}.music-popover{right:.5rem;top:.5rem}.prompt-modal{padding:.5rem}.prompt-dialog{padding:.8rem .8rem 1rem;max-height:94dvh}.effect-popup{width:min(340px,calc(100vw - 1rem))}.overlay .box{padding:1.2rem 1rem}.score-table{font-size:.8rem}.setup{padding:1rem .8rem 3rem}.setup h1{font-size:1.8rem}.room-code{display:block;text-align:center}.room-code-value{font-size:2rem}}@media (max-width: 700px),(max-height: 520px){.turnbar{gap:.4rem}.turnbar-day{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;opacity:.8}.turnbar-day b{font-size:1rem;color:#f1d58a}.track{gap:.2rem;align-items:center}.track-step{flex:0 0 auto;gap:0;padding:.2rem;width:26px;height:26px;justify-content:center;border-radius:50%}.track-seg{display:block}.track-label{display:none}.track-step.act{background:color-mix(in srgb,var(--faction) 34%,#14101a);border-width:2px}.track-step.act.done{background:color-mix(in srgb,var(--faction) 62%,#14101a)}.track-step.act.active{background:color-mix(in srgb,var(--faction) 50%,#2b2233)}.track-step .marker{display:none}.track-step.done{border-color:var(--ok)}.track-step.done .track-seg{color:var(--ok)}.track-step.act .track-sub{display:flex;color:#fff}.track-step.act .track-sub:before{content:none}.track-step.act .action-icon{width:15px;height:15px}}@keyframes unroll-flow{0%{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}@media (max-height: 520px){.game{display:grid;grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) auto;height:100vh;height:100dvh}.topbar{grid-area:1 / 1 / 2 / -1;flex-wrap:nowrap;padding:.25rem .5rem;gap:.35rem}.topbar h1{display:none}.topbar-main{display:flex;align-items:center;gap:.3rem;flex:0 0 auto}.topbar .segment{font-size:.66rem;padding:.12rem .45rem}.topbar .spacer{display:none}.topbar-tools{display:flex;gap:.25rem;margin-left:auto;flex:0 0 auto}.topbar-tools button{padding:.2rem .45rem;font-size:.72rem}.wide-only{display:none}.event-scroll,.rumour-scroll-wrap{order:0}.event-scroll{flex:1 1 0;min-width:80px}.event-scroll.landed{flex:3 1 0}.event-text .notice-line{white-space:nowrap}.rumour-scroll-wrap{flex:1 1 0;min-width:80px}.rumour-scroll{width:100%}.notice-strip-body{flex:1 1 auto;min-width:0;max-width:none;padding:.12rem .5rem;font-size:.72rem}.notice-label{display:none}.notice-cap{margin:-2px 0}.rumour-popup-body{max-height:calc(100dvh - 5rem);overflow:auto}.turnbar{grid-area:2 / 1 / 3 / -1;padding:.15rem .5rem;gap:.4rem}.turnbar-day{font-size:.8rem}.track-step{padding:.1rem .45rem;font-size:.68rem}.game{padding-bottom:0}.table{grid-row:3;grid-column:1;flex-direction:row}.seats{order:-1;display:flex;flex-direction:column;align-items:center;gap:.3rem;flex:0 0 auto;width:56px;padding:.35rem .2rem;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;background:#0b090e;border-bottom:0;border-right:1px solid var(--border)}.standings.compact{position:static;transform:none;flex:0 0 auto;flex-direction:column;gap:.2rem;padding:.2rem .25rem .3rem;width:100%}.standings.compact .standings-title{display:none}.standing-mini{flex-direction:row;justify-content:center;gap:.25rem;width:100%}.standing-mini img{width:18px;height:18px;border-width:1px}.standing-mini b{font-size:.7rem}.badge-corner,.badge-corner.tr,.badge-corner.br{position:static;flex:0 0 auto;padding:0;background:transparent;border:none;box-shadow:none;border-radius:50%}.badge-text{display:none}.badge-cp{display:flex;right:-3px;top:-3px;min-width:17px;height:17px;font-size:.62rem}.badge-portrait,.badge-corner.viewer .badge-portrait,.badge-portrait img,.badge-corner.viewer .badge-portrait img{width:40px;height:40px}.badge-corner.active .badge-portrait img{box-shadow:0 0 0 2px var(--accent-2),0 0 12px #d9a441cc}.badge-turn{width:16px;height:16px;font-size:.6rem;right:-3px;bottom:-3px}.badge-action{width:17px;height:17px;left:-3px;bottom:-3px}.badge-action .action-icon{width:11px;height:11px}.map-area{flex:1 1 auto;width:auto;aspect-ratio:auto}.prompt-card:not(.hidden-card){grid-row:3;grid-column:2;position:static;transform:none;align-self:start;width:min(320px,42vw);max-height:calc(100% - .6rem);margin:.3rem .8rem .3rem 0;animation:unroll-flow .4s ease-out}.scroll-body{padding:.6rem .7rem;overflow-y:auto}.scroll-body h2{font-size:1.05rem}.wait-card{bottom:.4rem;width:auto;max-width:60vw;font-size:.8rem;padding:.35rem .7rem}.corner-mat,.corner-mat.bl,.corner-mat.tl,.corner-mat.tr,.corner-mat.br{position:fixed;left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);width:min(540px,90vw,calc(92dvh * 1712 / 1152));z-index:42;--mat-font: .62rem}.standings:not(.compact){position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(320px,92vw);max-height:92dvh;overflow:auto;z-index:42}.event-toast{top:3.6rem;width:min(320px,52vw);font-size:.8rem;max-height:6em}.game .hunter-caption{left:auto;right:.5rem;top:auto;bottom:.5rem;transform:none;width:min(320px,42vw);max-height:calc(100dvh - 4.5rem);overflow:auto;padding:.5rem .8rem .6rem;animation:unroll-flow .4s ease-out}.game .hunter-caption h2{font-size:1.05rem;margin-bottom:.1rem}.game .hunter-caption .place{font-size:1.05rem}.game .hunter-caption p{font-size:.9rem;margin:.1rem 0 .3rem}.log-popover{top:.4rem;max-height:calc(100dvh - .8rem)}.music-popover{top:.4rem}.prompt-modal{padding:.4rem}.prompt-dialog{max-height:96dvh;padding:.7rem .9rem .9rem}.prompt-dialog h2{font-size:1.05rem}.overlay .box.wide{max-height:96dvh;padding:1rem 1.2rem}}.hunter-caption{position:fixed;left:50%;top:130px;transform:translate(-50%);z-index:30;width:min(560px,92vw);padding:.9rem 1.2rem 1rem;text-align:center;background:#100c13f0;border:1px solid #8a2b2b;border-radius:12px;box-shadow:0 16px 50px #000000d9,0 0 30px #b8202a59;animation:toast-in .4s ease-out}.hunter-caption.battle-caption{border-color:#8a6a22;box-shadow:0 16px 50px #000000d9,0 0 30px #d9a44140}.hunter-caption h2{margin:0 0 .3rem;color:#e04b4b;font-family:var(--font-display);font-size:1.35rem}.hunter-caption .place{font-family:var(--font-heading);font-size:1.3rem;color:var(--accent-2);margin-bottom:.25rem}.hunter-caption p{margin:.2rem 0 .5rem;font-size:1.05rem}.hunter-caption .step{font-size:.8rem;color:var(--muted);font-family:var(--font-heading);letter-spacing:.06em}.hunter-caption .row{justify-content:center;margin-top:.4rem}.streets-clear{font-family:var(--font-display);font-size:1.8rem;color:#f1d58a;text-align:center;margin:.6rem 0 .8rem;text-shadow:0 0 18px rgba(241,213,138,.35)}.mind-reveal{display:flex;align-items:center;gap:1rem;margin:.4rem 0 .6rem}.mind-number{flex:0 0 auto;width:84px;height:84px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 40% 35%,#3b2c52,#14101c 70%);border:2px solid var(--accent-2);box-shadow:0 0 24px #d9a44159;font-family:var(--font-display);font-size:2.4rem;color:#f1d58a;line-height:1}.mind-number small{font-family:var(--font-heading);font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:4px}.mind-reveal .score-table{margin:0}.mind-reveal .hit{color:#7bd88f;font-weight:700}.mind-reveal .miss{color:var(--muted)}.results-peek{position:fixed;left:50%;bottom:1rem;transform:translate(-50%);z-index:30;padding:.55rem 1.1rem;font-family:var(--font-heading);font-size:.95rem;background:#100c13f0;border:1px solid #6a5222;border-radius:999px;box-shadow:0 8px 24px #000000b3}.game.has-tutor{height:100dvh;overflow:hidden;padding-bottom:var(--tutor-h, 7rem)}.game.has-tutor .table,.game.has-tutor .map-area{flex:1 1 auto;min-height:0}.tutor-dock{position:fixed;left:0;right:0;bottom:0;z-index:45;display:flex;justify-content:center;pointer-events:none}.tutor-dock>*{pointer-events:auto}.game.has-tutor .prompt-card:not(.hidden-card){bottom:calc(var(--tutor-h, 7rem) + .5rem);max-height:calc(100dvh - var(--tutor-h, 7rem) - 8rem)}.game.has-tutor .prompt-card.hidden-card,.game.has-tutor .wait-card{bottom:calc(var(--tutor-h, 7rem) + .5rem)}.game.modal-up .prompt-modal{align-items:flex-start;padding-bottom:calc(var(--tutor-h, 7rem) + 1rem)}.game.modal-up .prompt-dialog{max-height:calc(100dvh - var(--tutor-h, 7rem) - 2rem)}.demo-hint{margin:0 0 .5rem;padding:.35rem .5rem;border-left:3px solid var(--accent-2);background:#d9a4411f;font-size:.82rem;color:#f0e2c4}.demo-tutor{display:flex;flex-direction:column;width:min(760px,100%);max-height:min(60dvh,420px);min-height:0;padding:.4rem .7rem calc(.45rem + env(safe-area-inset-bottom));background:#100c13f5;border:1px solid #8a6a22;border-width:1px 1px 0;border-radius:14px 14px 0 0;box-shadow:0 -8px 30px #000c,0 0 24px #d9a4411f;animation:lesson-in .4s ease-out}@keyframes lesson-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.demo-tutor .demo-tutor-head{display:flex;align-items:baseline;gap:.4rem;flex:1 1 auto;min-width:0;padding:0;background:none;border:0;border-radius:0;color:inherit;font:inherit;letter-spacing:normal;text-align:left;text-transform:none;cursor:pointer}.demo-roll{flex:0 0 auto;color:var(--accent-2);font-size:.7rem;opacity:.8}.demo-tutor-body{flex:1 1 auto;min-height:0;overflow-y:auto}.demo-progress{flex:0 0 auto;height:3px;margin:-.4rem -.7rem .3rem;background:#d9a44126;border-radius:14px 14px 0 0;overflow:hidden}.demo-progress-fill{height:100%;background:linear-gradient(90deg,#8a6a22,var(--accent-2));transform-origin:left center;animation-name:demo-dwell;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes demo-dwell{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.demo-tutor .place{font-family:var(--font-heading);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.demo-tutor p{margin:.35rem 0 .5rem;line-height:1.4;font-size:.86rem}.demo-tutor .demo-tutor-actions{flex:0 0 auto;gap:.4rem;flex-wrap:wrap}.game .demo-note{font-size:.78rem;color:#cbbfa8;margin:0 0 .4rem}.demo-strip{display:flex;align-items:center;gap:.25rem;flex:0 0 auto;min-width:0}.demo-tutor .demo-drive{flex:0 0 auto;min-width:0;width:1.65rem;padding:.1rem 0;font-size:.85rem;line-height:1.1;letter-spacing:normal}.demo-pips{display:flex;align-items:center;gap:2px;flex:0 0 auto;margin:0 .15rem}.demo-pips i{width:4px;height:4px;border-radius:50%;background:#d9a44147}.demo-pips i.past{background:#d9a4418c}.demo-pips i.on{width:10px;border-radius:999px;background:var(--accent-2)}.demo-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--accent-2);font-family:var(--font-display);font-size:.8rem;letter-spacing:.01em}.demo-tutor .place{flex:0 0 auto;font-size:.62rem}.demo-tutor .demo-snippet{flex:0 0 auto;margin:.3rem 0 0;min-height:3.5em;font-size:.84rem;line-height:1.35;animation:beat-in .35s ease-out}@keyframes beat-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.demo-tutor .demo-tutor-body{margin-top:.35rem}.demo-tutor .demo-tutor-body p{font-size:.84rem}.demo-tutor .demo-hint{margin:.35rem 0 0}@media (max-width: 700px) and (min-height: 521px){.game{padding-bottom:calc(3.5rem + env(safe-area-inset-bottom))}.game.has-tutor .seats{order:-1}.game.has-tutor .event-toast{max-height:5em;font-size:.8rem}.game.has-tutor .map-area{aspect-ratio:auto}.game.has-tutor .prompt-card:not(.hidden-card){position:fixed;left:.5rem;right:.5rem;width:auto;margin:0;z-index:16}.game.has-tutor .scroll-body{overflow-y:auto}}@media (max-width: 700px){.demo-tutor p{font-size:.82rem;margin:.3rem 0 .45rem}.demo-tutor .demo-tutor-actions button{padding:.3rem .6rem;font-size:.8rem}}@media (max-height: 520px){.game.has-tutor{padding-bottom:0}.tutor-dock{left:56px}.demo-tutor{max-height:min(70dvh,240px)}.demo-tutor p{font-size:.8rem}.demo-tutor .demo-snippet{min-height:2.6em}}.demo-playon{display:flex;flex-direction:column;align-items:stretch;gap:.4rem;margin:.3rem 0 .5rem;padding:.55rem .65rem;background:#d9a44114;border:1px solid #8a6a22;border-radius:10px;font-size:.85rem;text-align:left}.demo-playon b{color:var(--accent-2)}.demo-playon .row{gap:.4rem;flex-wrap:wrap}.demo-waiting{flex:0 0 auto;padding:.1rem .4rem;border-radius:999px;background:var(--accent-2);color:#1a1206;font-family:var(--font-heading);font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
