*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;--page-colour: var(--board-background, var(--page-background, #484848));--tone: var(--board-tone, var(--page-tone, 0));--on-background: rgb(calc(255*(1 - clamp(0, var(--tone), 1))) calc(255*(1 - clamp(0, var(--tone), 1))) calc(255*(1 - clamp(0, var(--tone), 1))));--on-box: rgb(calc(255*(1 - clamp(0, var(--tone) - 1, 1))) calc(255*(1 - clamp(0, var(--tone) - 1, 1))) calc(255*(1 - clamp(0, var(--tone) - 1, 1))));--on-text: var(--on-background);--accent-lean: calc(37.5% * var(--tone));--box-fill: rgba(0, 0, 0, .3);--box-fill-clue: rgba(0, 24, 48, .35);--box-fill-hover: rgba(255, 255, 255, .06);background-color:var(--page-colour);background-image:radial-gradient(farthest-corner circle at 47% 3%,#fff 0%,#ececec 15%,#b5b5b5 45%,#9a9a9a 100%),url(/assets/background-grain.jpg);background-blend-mode:multiply,multiply;background-size:cover,512px 512px;background-position:center,0 0;background-repeat:no-repeat,repeat;background-attachment:fixed,fixed;color:var(--on-text)}*{--text-soft: rgb(from var(--on-text) r g b / calc(.85 + .05 * var(--tone)));--text-muted: rgb(from var(--on-text) r g b / calc(.7 + .05 * var(--tone)));--text-secondary: var(--text-muted);--text-faint: rgb(from var(--on-text) r g b / calc(.55 + .1 * var(--tone)));--accent-text: color-mix(in oklab, #4a9eff, var(--on-text) var(--accent-lean))}.player-btn,.discard-view-btn,.text-input,.form-row select,.wizard-field select,.confirm-dialog,.modal-dialog,.card-note-editor,.card-tooltip,.collapse-bar,.nav-bar-collapse,.guest-badge,.table-badge,.wizard-back,.wizard-num,.wizard-mode-btn,.touch-chip,.touch-cell,.chat-input,.feedback-body-input,.reserved-tag,.ready-badge-on,.ready-badge-off,.proposal-badge,.review-director-badge,.review-hypo-request,.note-turn-input,.note-tag-input,.clue-chip,.rank-btn,.other-btn,.action-button,.variant-picker-list,.result-abandoned,.hlive-label,.room-visibility,.time-format-option,.clue-entry-index,.sandbox-code-input,.sandbox-yaml-paste-input,.note-text,.touch-grid,.clue-entry,.clue-swatch-grid,.wizard-suit-row,.wizard-yaml pre,.chat-panel,.card,.card-rank,.tracked-hole-count,.confirm-overlay,.modal-overlay,.db-showcase-badge,.db-blessed-badge{--on-text: #fff;--accent-lean: 0%;color:var(--on-text)}.app{min-height:100vh;min-height:100dvh;--app-pad: 20px;padding:var(--app-pad);position:relative}.app:has(>.game-container>.nav-bar-reopen){padding-top:calc(var(--collapse-bar-height) + 6px)}.game-container{max-width:1200px;margin:0 auto}.game-container:has(.game-layout){max-width:none}.player-switcher{display:flex;gap:8px;margin:16px 0}.player-btn{background-color:#2a2a2a;color:var(--text-soft);border:2px solid #444;padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.player-btn:hover{border-color:#888}.player-btn.active{background-color:#4a9eff;color:#fff;border-color:#4a9eff}.player-btn.current-turn{box-shadow:0 0 8px #ffc83299}.turn-status{padding:3px 10px;border-radius:6px;background-color:var(--box-fill);--on-text: var(--on-box);color:var(--on-text);font-size:1em;white-space:nowrap}.turn-status.my-turn{background-color:#2a4a2a;color:color-mix(in oklab,#4eff4a,var(--on-text) var(--accent-lean));font-weight:700}.sound-toggle{background:none;border:none;padding:0 4px;font-size:1em;line-height:1;cursor:pointer;opacity:.65}.sound-toggle:hover,.sound-toggle:focus-visible{opacity:1}.zone{background-color:var(--box-fill);--on-text: var(--on-box);color:var(--on-text);border-radius:8px;padding:10px;margin:8px 0;width:fit-content;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.zone{border:2px solid transparent;border-left-width:3px}.zone.active-turn{border-left-color:#ffc832}.zone.empathy-active{border-color:#9b59b6;background-color:#2a2a3a}.zone.empathy-active.active-turn{border-left-color:#ffc832}.empathy-indicator{color:color-mix(in oklab,#9b59b6,var(--on-text) var(--accent-lean));font-size:.85em;font-weight:400}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.empathy-pin-toggle{margin-left:6px;padding:0 3px;border:1px solid transparent;border-radius:4px;background:none;color:var(--text-faint);font-size:.85em;line-height:1.4;cursor:pointer;opacity:.45;vertical-align:middle}.empathy-pin-toggle:hover{opacity:.85}.empathy-pin-toggle.pinned{border-color:#9b59b6;color:color-mix(in oklab,#9b59b6,var(--on-text) var(--accent-lean));opacity:1}.zone.empathy-pinned{border-style:dashed;border-color:#9b59b6}.zone-title{font-size:1em;font-weight:700;margin-bottom:6px}.zone-count{font-weight:400;color:var(--text-muted)}.zone-hidden-count{font-size:.85em;opacity:.5;font-style:italic}.turn-indicator{color:color-mix(in oklab,#ffc832,var(--on-text) var(--accent-lean));font-size:.85em}.cards{display:flex;gap:8px;flex-wrap:nowrap;align-items:flex-start}.cards.cards-wrap{flex-wrap:wrap}:root{--hand-card-w: 76px;--hand-card-h: 106px;--shared-card-w: 60px;--shared-card-h: 84px;--card-w: var(--shared-card-w);--card-h: var(--shared-card-h);--collapse-bar-height: 22px}.card{position:relative;width:var(--card-w);height:var(--card-h);min-height:var(--card-h);max-height:var(--card-h);border-radius:6px;border:2px solid rgba(255,255,255,.2);display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overflow:hidden;flex-shrink:0;--clue-raise: -4px}.card:hover{border-color:#ffffff80;transform:translateY(-4px)}.card.clued{transform:translateY(var(--clue-raise))}.card-clued-bar{position:absolute;left:3px;right:3px;top:100%;height:3px;border-radius:2px;background:var(--clue-bar-colour, #ffffff);pointer-events:none;z-index:3}.card.clued>.card-clued-bar{top:calc(100% - var(--clue-raise))}.card:has(.card-clued-bar){overflow:visible}.clue-chip{position:absolute;top:2px;left:50%;transform:translate(-50%);min-width:14px;height:13px;padding:0 4px;border-radius:7px;border:1px solid rgba(0,0,0,.45);background:#3c3c46;color:#fff;font-size:10px;line-height:11px;font-weight:700;text-align:center;white-space:nowrap;box-shadow:0 1px 2px #00000080;z-index:4}.clue-chip-swatch{min-width:0;width:13px;padding:0}.card:has(.clue-chip-pop){overflow:visible}.clue-chip-pop{position:absolute;bottom:calc(100% + 5px);left:50%;transform:translate(-50%);z-index:60;background:#1e1e24;border:1px solid #555;border-radius:4px;padding:4px 6px;color:color-mix(in oklab,#e6e6e6,var(--on-text) var(--accent-lean));font-size:11px;font-weight:400;white-space:nowrap;pointer-events:none}.clue-chip-pop-title{margin-bottom:2px}.clue-chip-pop .note-matrix{margin:0}.clue-chip-pop table{margin-bottom:0}.card.clued-now{box-shadow:0 0 10px 3px var(--clue-now-glow, rgba(0, 229, 255, .55));border-color:var(--clue-now-glow, rgba(0, 229, 255, .75))}.card.not-selectable.clued-now:hover{transform:translateY(-4px);border-color:var(--clue-now-glow, rgba(0, 229, 255, .75))}.card.clue-preview{box-shadow:0 0 12px 4px #ffff64b3;border-color:#ffff64cc}.card.clue-preview-maybe{box-shadow:0 0 8px 2px #ffff644d;border-color:#ffff6473;border-style:dashed}.card.not-selectable{cursor:default}.card.not-selectable:hover{transform:none;border-color:#fff3}.card.not-selectable.clued:hover{transform:translateY(var(--clue-raise))}.card.not-selectable.clue-preview:hover{transform:translateY(-4px);border-color:#ffff64cc}.card.not-selectable.clue-preview-maybe:hover{transform:translateY(-4px);border-color:#ffff6473}.card.selectable{border-color:#ffffff4d}.card.selected{border-color:#ff6b35;transform:translateY(-6px);box-shadow:0 4px 12px #ff6b3566}.card.preplayed{border-color:#3ad6d6;box-shadow:0 0 10px 3px #3ad6d680;animation:preplay-pulse 1.6s ease-in-out infinite}@keyframes preplay-pulse{0%,to{box-shadow:0 0 10px 3px #3ad6d680}50%{box-shadow:0 0 14px 5px #3ad6d6d9}}@media (prefers-reduced-motion: reduce){.card.preplayed{animation:none}}.card.card-generic{background-color:#3a3a42;border-color:#ffffff40;color:var(--text-soft);justify-content:flex-start;padding:3px 2px;overflow:hidden}.card-generic-props{display:flex;flex-direction:column;gap:1px;width:100%;font-size:8px;font-weight:400;line-height:1.15}.card-generic-prop{display:flex;justify-content:space-between;gap:2px}.card-generic-prop-name{opacity:.65;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-generic-prop-value{font-weight:700;flex-shrink:0}.card.face-down{background-color:#445;border-color:#556;cursor:default}.card.face-down:hover{transform:none;border-color:#556}.card.face-down.selectable{cursor:pointer}.card.face-down.selectable:hover{border-color:#ffffff80;transform:translateY(-4px)}.card.face-down.selectable.clued:hover{transform:translateY(var(--clue-raise))}.card.face-down.selected{border-color:#ff6b35;transform:translateY(-6px);box-shadow:0 4px 12px #ff6b3566}.card.face-down.has-clue-info{background-color:#3a3a5a;border-color:#667}.clue-info{display:flex;flex-direction:column;gap:3px;padding:2px;width:100%;position:relative;z-index:3;max-height:100%;overflow:hidden}.clue-info-suits,.clue-info-ranks{display:flex;justify-content:center;gap:1px;flex-wrap:wrap}.clue-pip{font-size:calc(var(--card-w) * 10 / 60);font-weight:700;opacity:.4;width:calc(var(--card-w) * 14 / 60);text-align:center;line-height:1.3}.clue-pip.clue-possible{opacity:1;font-size:calc(var(--card-w) * 11 / 60)}.clue-pip.clue-eliminated{opacity:.15;text-decoration:line-through}.clue-pip.clue-rank-pip{font-size:calc(var(--card-w) * 11 / 60);font-weight:900;color:#fff;-webkit-text-stroke:1px #000;text-shadow:0 0 3px rgba(0,0,0,1),0 0 1px rgba(0,0,0,1),0 1px 2px rgba(0,0,0,.8)}.clue-pip.clue-rank-pip.clue-eliminated{color:var(--text-faint)}.pip-wrapper{display:inline-block;width:calc(var(--card-w) / 5);height:calc(var(--card-w) / 5);line-height:0}.pip-img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(-.5px -.5px 0 #000) drop-shadow(.5px -.5px 0 #000) drop-shadow(-.5px .5px 0 #000) drop-shadow(.5px .5px 0 #000) drop-shadow(0 1px 1px rgba(0,0,0,.3))}.pip-tint{width:100%;height:100%;background-color:var(--pip-tint);-webkit-mask-image:var(--pip-mask);mask-image:var(--pip-mask);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.pip-wrapper:has(.pip-tint){filter:drop-shadow(-1px -1px 0 #000) drop-shadow(1px -1px 0 #000) drop-shadow(-1px 1px 0 #000) drop-shadow(1px 1px 0 #000) drop-shadow(0 1px 1px rgba(0,0,0,.3))}.pip-fade{opacity:.3}.pip-locally-struck{position:relative}.pip-locally-struck:after{content:"";position:absolute;left:-1px;right:-1px;top:50%;height:2px;transform:translateY(-50%) rotate(-20deg);background-color:#e25a5a;box-shadow:0 0 2px #000000e6;border-radius:1px;pointer-events:none}.pip-hide{display:none}.card-clue-badge{position:absolute;top:2px;right:4px;font-size:10px;opacity:.7;z-index:3}.card-status-badge{position:absolute;top:2px;left:2px;width:13px;height:13px;z-index:3;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}.card-status-badges{position:absolute;top:2px;left:2px;z-index:3;display:flex;flex-direction:column;gap:1px}.card-status-badges .card-status-badge{position:static}.card-status-badge svg{display:block;width:100%;height:100%}.card-trash{opacity:var(--card-trash-alpha, .65)}.card-rank{font-size:calc(var(--card-w) * 22 / 60);line-height:1;-webkit-text-stroke:.5px rgba(0,0,0,.6);text-shadow:0 1px 2px rgba(0,0,0,.5);position:relative;z-index:3}.card-suit{font-size:calc(var(--card-w) * 11 / 60);margin-top:4px;opacity:.9;position:relative;z-index:3}.play-stacks{display:flex;gap:12px;flex-wrap:wrap}.play-stack{display:flex;flex-direction:column;align-items:center;gap:4px;border:2px solid;border-radius:8px;padding:6px 8px;background-color:#0003;background-clip:padding-box;min-width:76px;position:relative}.play-stack-direction{position:absolute;top:3px;right:5px;font-size:.65em;line-height:1;color:#ffffff8c;pointer-events:auto;cursor:help}.play-stack.play-stack-suitless{border-color:#ffffff40;color:var(--text-soft)}.play-stack-suitless-cards{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;max-width:140px}.play-stack-label{font-size:.75em;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.play-stack-name{font-size:.7em;font-weight:600;letter-spacing:.4px;color:#ffffff8c;text-align:center;align-self:stretch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.play-stack-card{cursor:default!important}.play-stack-card:hover{transform:none!important}.play-stack-card.rewindable{cursor:pointer!important}.play-stack-card.rewindable:hover{transform:translateY(-4px)!important;border-color:#ffffff80}.play-stack-empty{background-color:#ffffff0d;border-color:#ffffff1a;cursor:default!important}.play-stack-empty:hover{transform:none!important;border-color:#ffffff1a}.tracked-stacks .play-stack{border-style:dashed}.tracked-stacks-hint{margin-left:8px;font-size:.7em;font-weight:400;font-style:italic;color:#ffffff73;cursor:help}.tracked-stack-body{display:flex;align-items:center;gap:4px}.tracked-stack-face{padding:0;font:inherit;font-weight:700;color:inherit;cursor:pointer!important}.tracked-stack-face:hover{border-color:#ffffff80}.tracked-stack-steppers{display:flex;flex-direction:column;gap:3px}.tracked-stack-step{font-size:.6em;line-height:1;padding:3px 5px;border:1px solid rgba(255,255,255,.25);border-radius:4px;background:rgba(255,255,255,.08);color:#fffc;cursor:pointer}.tracked-stack-step:hover:not(:disabled){background:rgba(255,255,255,.2)}.tracked-stack-step:disabled{opacity:.3;cursor:default}.tracked-stack-strip{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:4px;z-index:30;display:flex;gap:3px;padding:5px;background:#2a2a3a;border:1px solid rgba(255,255,255,.3);border-radius:6px;box-shadow:0 4px 12px #00000080}.tracked-stack-strip button{min-width:26px;padding:4px 6px;border:1px solid rgba(255,255,255,.25);border-radius:4px;background:rgba(255,255,255,.08);color:#ffffffd9;font-weight:700;cursor:pointer}.tracked-stack-strip button:hover{background:rgba(255,255,255,.2)}.tracked-stack-strip .strip-current{border-color:#4a9eff;background:rgba(74,158,255,.25)}.tracked-stacks-body{display:flex;align-items:flex-start;gap:14px}.tracked-hole-pile{display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:6px}.tracked-hole-back{cursor:default!important;background-color:#3c3c50;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.06) 0 3px,transparent 3px 8px),repeating-linear-gradient(-45deg,rgba(255,255,255,.06) 0 3px,transparent 3px 8px);border-color:#ffffff47}.tracked-hole-back:hover{transform:none!important}.tracked-hole-count{font-size:1.1em;font-weight:700;color:#ffffffd9;text-shadow:0 1px 3px rgba(0,0,0,.8)}.tracked-accounting{margin-top:8px;font-size:.78em;color:#fff9;cursor:help}.tracked-accounting[data-tone=warn]{color:color-mix(in oklab,#e6b34a,var(--on-text) var(--accent-lean))}.tracked-accounting[data-tone=danger]{color:color-mix(in oklab,#e05a5a,var(--on-text) var(--accent-lean))}.tracked-stack.tracked-stack-proven{border-style:solid}.tracked-stack-proven .tracked-stack-face{cursor:default!important}.tracked-stack-provenmark{color:color-mix(in oklab,#5dbb63,var(--on-text) var(--accent-lean));font-weight:700;font-size:.9em;cursor:help;min-width:20px;text-align:center}.tracked-stack.tracked-stack-conflict .tracked-stack-face{border-color:#e05a5a;box-shadow:0 0 6px #e05a5a99}.tracked-stack-strip .strip-impossible{opacity:.35;text-decoration:line-through;text-decoration-color:#e05a5a;text-decoration-thickness:2px;cursor:default}.deck-zone{min-width:calc(var(--card-w) + 40px)}.deck-pile-draggable{cursor:grab}.hand-character{margin-left:8px;padding:0 6px;border-radius:8px;background-color:#3a2e4d;color:color-mix(in oklab,#d8c8f0,var(--on-text) var(--accent-lean));font-size:.8em;font-weight:600;white-space:nowrap;cursor:help}.deck-pile{position:relative;--deck-offset: 3px;--deck-max-depth: 4;width:calc(var(--card-w) + var(--deck-offset) * var(--deck-max-depth));height:calc(var(--card-h) + var(--deck-offset) * var(--deck-max-depth));margin:4px 0}.deck-back{position:absolute;left:calc(var(--deck-depth, 0) * var(--deck-offset));bottom:calc(var(--deck-depth, 0) * var(--deck-offset));cursor:default;transition:none;background-color:#3c3c50;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.06) 0 3px,transparent 3px 8px),repeating-linear-gradient(-45deg,rgba(255,255,255,.06) 0 3px,transparent 3px 8px);border-color:#ffffff29;box-shadow:0 1px 3px #0006}.deck-back:hover{transform:none;border-color:#ffffff29}.deck-back-top{border-color:#ffffff47;box-shadow:0 3px 10px #00000080}.deck-back-empty{left:0;bottom:0;background:rgba(255,255,255,.04);background-image:none;border:2px dashed rgba(255,255,255,.14);box-shadow:none}.deck-pile-count{position:absolute;left:0;bottom:0;width:var(--card-w);height:var(--card-h);display:flex;align-items:center;justify-content:center;font-size:1.4em;font-weight:700;color:#ffffffeb;text-shadow:0 1px 4px rgba(0,0,0,.9);pointer-events:none}.deck-pile-count-low{color:color-mix(in oklab,#ffc832,var(--on-text) var(--accent-lean))}.deck-caption{font-size:.72em;color:var(--text-muted);text-align:center;width:calc(var(--card-w) + 12px)}.card-flight.card-flight-back{background-color:#3c3c50;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.06) 0 3px,transparent 3px 8px),repeating-linear-gradient(-45deg,rgba(255,255,255,.06) 0 3px,transparent 3px 8px);border-color:#ffffff47}.card-flight-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:900}.card-flight{position:absolute;left:0;top:0;visibility:hidden;transition:none;will-change:transform;cursor:default;box-shadow:0 6px 18px #00000073;--card-w: var(--hand-card-w);--card-h: var(--hand-card-h)}@media (max-width: 900px){.card-flight{--card-w: clamp(44px, 17vw, var(--hand-card-w));--card-h: clamp(62px, 23.8vw, var(--hand-card-h))}}.celebration-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:950;overflow:hidden;--celebration-scrim-opacity: .5}.celebration-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#000;opacity:0;animation:celebration-scrim 3s linear forwards}@keyframes celebration-scrim{0%{opacity:0}6%{opacity:var(--celebration-scrim-opacity, .5)}88%{opacity:var(--celebration-scrim-opacity, .5)}to{opacity:0}}.celebration-volley{position:absolute;width:0;height:0}.celebration-particle{position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;will-change:transform,opacity;box-shadow:0 0 8px 2px currentColor}.celebration-glitter{width:5px;height:5px;left:-2.5px;top:-2.5px;box-shadow:0 0 6px 3px currentColor,0 0 14px 4px currentColor}.celebration-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 70% 34% at 50% 38%,rgba(255,220,130,.42) 0%,rgba(255,180,70,.22) 42%,rgba(255,150,40,0) 100%);opacity:0;will-change:opacity;animation:celebration-glow 1.9s ease-out forwards}@keyframes celebration-glow{0%{opacity:0}14%{opacity:1}45%{opacity:.65}to{opacity:0}}.celebration-flash{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 46% 68%,rgba(255,255,245,.95) 0%,rgba(255,170,90,.6) 35%,rgba(255,70,40,.25) 65%,rgba(255,40,20,0) 100%);opacity:0;will-change:opacity;animation:celebration-flash .34s ease-out forwards}@keyframes celebration-flash{0%{opacity:1}22%{opacity:.85}to{opacity:0}}.celebration-fireball{position:absolute;width:190px;height:190px;margin:-95px 0 0 -95px;border-radius:50%;background:radial-gradient(circle,rgba(255,252,235,.95) 0%,rgba(255,205,110,.9) 22%,rgba(255,110,40,.75) 48%,rgba(190,40,15,.35) 74%,rgba(120,20,10,0) 100%);opacity:0;will-change:transform,opacity;animation:celebration-fireball .85s cubic-bezier(.12,.75,.3,1) forwards}@keyframes celebration-fireball{0%{transform:scale(.15);opacity:1}30%{transform:scale(1.15);opacity:1}60%{transform:scale(1.5);opacity:.55}to{transform:scale(1.9);opacity:0}}.celebration-smoke{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(255,190,130,.85) 0%,rgba(190,120,80,.5) 40%,rgba(110,88,80,.28) 70%,rgba(80,70,66,0) 100%);filter:blur(12px);opacity:0;will-change:transform,opacity;animation-name:celebration-smoke;animation-timing-function:ease-out;animation-fill-mode:forwards}@keyframes celebration-smoke{0%{transform:translateZ(0) scale(.35);opacity:0}25%{opacity:var(--smoke-opacity, .2)}to{transform:translate3d(var(--smoke-drift, 0),var(--smoke-rise, -120px),0) scale(1.7);opacity:0}}.celebration-ember{width:6px;height:6px;left:-3px;top:-3px;border-radius:30%;box-shadow:0 0 6px 2px currentColor}.celebration-shaking{will-change:transform;animation:celebration-blast-shake .42s cubic-bezier(.36,.07,.19,.97)}@keyframes celebration-blast-shake{0%{transform:translateZ(0)}12%{transform:translate3d(-9px,5px,0)}26%{transform:translate3d(8px,-4px,0)}40%{transform:translate3d(-6px,-3px,0)}56%{transform:translate3d(5px,3px,0)}72%{transform:translate3d(-3px,2px,0)}88%{transform:translate3d(2px,-1px,0)}to{transform:translateZ(0)}}.celebration-banner{position:absolute;left:0;right:0;top:34%;text-align:center;will-change:transform,opacity;animation:celebration-banner 2.6s cubic-bezier(.16,1,.3,1) forwards}.celebration-banner-text{display:inline-block;font-size:clamp(2.4rem,9vw,7rem);font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:0 .2em}@keyframes celebration-banner{0%{opacity:0;transform:scale(1.5)}12%{opacity:1;transform:scale(1)}80%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.04)}}.celebration-banner-victory{animation:celebration-banner-victory 6.4s cubic-bezier(.16,1,.3,1) forwards}@keyframes celebration-banner-victory{0%{opacity:0;transform:scale(1.5)}5%{opacity:1;transform:scale(1)}22%{opacity:.9;transform:scale(.94)}88%{opacity:.9;transform:scale(.94)}to{opacity:0;transform:scale(1.02)}}.celebration-banner-victory .celebration-banner-text{color:color-mix(in oklab,#ffdb70,var(--on-text) var(--accent-lean));text-shadow:0 0 18px rgba(255,200,80,.85),0 0 46px rgba(255,170,40,.6),0 4px 10px rgba(0,0,0,.8)}.celebration-banner-good .celebration-banner-text{color:color-mix(in oklab,#ffc07a,var(--on-text) var(--accent-lean));text-shadow:0 0 14px rgba(255,160,90,.6),0 4px 10px rgba(0,0,0,.8)}.celebration-banner-disappointing .celebration-banner-text{color:color-mix(in oklab,#9fb0c0,var(--on-text) var(--accent-lean));letter-spacing:.04em;text-transform:none;font-size:clamp(1.8rem,6vw,4.4rem);text-shadow:0 3px 8px rgba(0,0,0,.8)}.celebration-banner-strikeout .celebration-banner-text{color:color-mix(in oklab,#ff5a48,var(--on-text) var(--accent-lean));text-shadow:0 0 16px rgba(255,60,40,.8),0 8px 26px rgba(255,110,50,.45),0 4px 10px rgba(0,0,0,.85)}.celebration-banner-strikeout{animation:celebration-banner-strikeout 3.2s cubic-bezier(.16,1,.3,1) forwards}@keyframes celebration-banner-strikeout{0%{opacity:0;transform:scale(1.6)}6%{opacity:0;transform:scale(1.6)}16%{opacity:1;transform:scale(1)}84%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.04)}}@media (prefers-reduced-motion: reduce){.celebration-banner{animation:celebration-banner-fade 2.6s ease-in-out forwards}.celebration-banner-strikeout{animation:celebration-banner-fade 3.2s ease-in-out forwards}.celebration-banner-victory{animation:celebration-banner-fade 6.4s ease-in-out forwards}.celebration-shaking,.celebration-flash,.celebration-fireball,.celebration-glow,.celebration-smoke{animation:none;opacity:0}@keyframes celebration-banner-fade{0%{opacity:0}10%{opacity:1}80%{opacity:1}to{opacity:0}}}.discard-title{display:flex;align-items:center;gap:12px}.discard-view-toggle{display:flex;border:1px solid #555;border-radius:5px;overflow:hidden}.discard-view-btn{background-color:#333;color:var(--text-muted);border:none;padding:2px 8px;font-size:.7em;font-weight:400;letter-spacing:.3px;cursor:pointer}.discard-view-btn+.discard-view-btn{border-left:1px solid #555}.discard-view-btn:hover{background-color:#3d3d3d;color:var(--text-soft)}.discard-view-btn.active{background-color:#4a9eff;color:#fff}.discard-zone-empty{min-width:220px}.discard-empty-slot{display:flex;align-items:center;justify-content:center;min-height:calc(var(--card-h) + 12px);padding:8px;border:2px dashed rgba(255,255,255,.14);border-radius:8px;text-align:center}.discard-empty-hint{color:color-mix(in oklab,#6a6a6a,var(--on-text) var(--accent-lean));font-size:.75em;font-style:italic;line-height:1.3}.discard-fan{display:flex;gap:10px;flex-wrap:wrap}.discard-fan-group{display:flex;flex-direction:column;align-items:center;gap:4px}.discard-fan-label{font-size:.75em;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.discard-fan-suitless .discard-fan-label{color:var(--text-muted)}.discard-fan-cards{display:flex;align-items:flex-start}.discard-fan-cards .card{margin-left:-36px;cursor:default}.discard-fan-cards .card:first-child{margin-left:0}.discard-fan-cards .card:hover{transform:none;z-index:1}.discard-fan-cards .card.rewindable{cursor:pointer}.discard-fan-cards .card.rewindable:hover{border-color:#fff9}.discard-fan-cards .card .card-rank{position:absolute;top:3px;left:5px;font-size:16px}.discard-fan-cards .card .card-suit{position:absolute;top:22px;left:5px;margin-top:0}.discard-fan-cards .card.card-compact{margin-left:calc(var(--card-w) * -.5)}.discard-fan-cards .card.card-compact:first-child{margin-left:0}.discard-fan-cards .card-compact .card-rank{top:1px;left:3px;font-size:calc(var(--card-w) * .42)}.discard-fan-cards .card-compact .card-suit{top:calc(var(--card-w) * .48);left:3px}.counters{display:flex;gap:10px;margin:8px 0;flex-wrap:wrap}.counter{background-color:var(--box-fill);--on-text: var(--on-box);color:var(--on-text);padding:4px 12px;border-radius:6px;text-align:center;min-width:64px}.counter-name{font-size:.7em;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.counter-value{font-size:1.25em;font-weight:700;line-height:1.2}.counter-value.strike{color:color-mix(in oklab,#e74c3c,var(--on-text) var(--accent-lean))}.counter-value.pace-low{color:color-mix(in oklab,#44cc44,var(--on-text) var(--accent-lean))}.counter-value.pace-medium{color:color-mix(in oklab,#ffd700,var(--on-text) var(--accent-lean))}.counter-value.pace-high{color:color-mix(in oklab,#ff8c00,var(--on-text) var(--accent-lean))}.counter-value.pace-zero{color:color-mix(in oklab,#ff4444,var(--on-text) var(--accent-lean))}.actions{display:flex;gap:8px;margin:8px 0;flex-wrap:wrap}.action-button{background-color:#4a9eff;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;cursor:pointer;transition:background-color .2s}.action-button:hover{background-color:#3a8eef}.action-button:disabled{background-color:#444;color:var(--text-faint);cursor:not-allowed}.clue-panel{background-color:var(--box-fill-clue);--on-text: var(--on-box);color:var(--on-text);border-radius:8px;padding:10px;margin:8px 0;width:fit-content}.clue-panel h3{font-size:1em;margin-bottom:6px}.clue-recipients{display:flex;align-items:center;gap:8px;margin-bottom:6px}.clue-options{margin-bottom:0}.clue-group{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:6px}.clue-btn{width:38px;box-sizing:border-box;padding:6px 0;text-align:center;border:2px solid rgba(255,255,255,.2);border-radius:4px;cursor:pointer;font-weight:700;font-size:13px;transition:all .2s}.clue-btn:hover:not(:disabled){border-color:#fff9;transform:scale(1.05)}.clue-btn:disabled{opacity:.5;cursor:not-allowed}.clue-btn.clue-selected{border-color:#fff;box-shadow:0 0 8px #fff9;transform:scale(1.1)}.clue-confirm-btn{margin-top:6px;width:100%}.rank-btn{background-color:#555;color:#fff;min-width:36px}.other-btn{background-color:#555;color:#fff;padding:6px 12px}.error{background-color:#ff444426;color:color-mix(in oklab,#ff6b6b,var(--on-text) var(--accent-lean));border:1px solid rgba(255,68,68,.3);padding:10px 16px;border-radius:6px;margin:12px 0;font-size:.9em}.route-error{background-color:#ff444414;border:1px solid rgba(255,68,68,.25);border-radius:8px;padding:24px 28px;margin:24px 0;max-width:640px}.route-error h2{margin:0 0 12px;color:color-mix(in oklab,#ff6b6b,var(--on-text) var(--accent-lean));font-size:1.3em}.route-error p{margin:0 0 12px;line-height:1.5}.route-error-detail{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em;background-color:var(--box-fill);--on-text: var(--on-box);color:var(--on-text);border-radius:4px;padding:10px 12px;overflow-wrap:anywhere}.route-error-actions{display:flex;gap:10px;margin:16px 0;flex-wrap:wrap}.route-error-hint{font-size:.85em;opacity:.75}.field-error{color:color-mix(in oklab,#ff6b6b,var(--on-text) var(--accent-lean));font-size:.8em;margin-top:-4px}.action-toast{position:fixed;top:calc(20px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);background-color:#e74c3cf2;color:#fff;padding:16px 32px;border-radius:8px;font-size:1.1em;font-weight:700;z-index:1000;cursor:pointer;animation:toast-shake .5s ease-out;box-shadow:0 4px 24px #e74c3c99;max-width:90vw;text-align:center;border:2px solid rgba(255,255,255,.3)}@keyframes toast-shake{0%{opacity:0;transform:translate(-50%) translateY(-20px)}30%{opacity:1;transform:translate(-50%) translateY(0)}40%{transform:translate(calc(-50% + 8px)) translateY(0)}50%{transform:translate(calc(-50% - 8px)) translateY(0)}60%{transform:translate(calc(-50% + 4px)) translateY(0)}70%{transform:translate(calc(-50% - 4px)) translateY(0)}to{transform:translate(-50%) translateY(0)}}.loading{text-align:center;padding:40px;font-size:1.2em}.text-input{background-color:#2a2a2a;color:#fff;border:2px solid #444;padding:10px 14px;border-radius:6px;font-size:14px;outline:none;transition:border-color .2s}.text-input:focus{border-color:#4a9eff}.text-input::placeholder{color:var(--text-faint)}.name-screen{margin-top:40px;text-align:center}.name-screen h2{margin-bottom:20px}.name-form{display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap}.name-form .text-input{width:250px;max-width:100%}.home-screen{margin-top:24px}.home-section{background-color:var(--box-fill);--on-text: var(--on-box);color:var(--on-text);border-radius:8px;padding:20px;margin:16px 0}.home-section h2{margin-bottom:12px;font-size:1.2em}.section-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:0;margin:0;background:none;border:none;color:inherit;font:inherit;cursor:pointer;text-align:left}.section-chevron{display:inline-block;font-size:.85em;opacity:.7;transition:transform .15s ease}.section-chevron.is-open{transform:rotate(90deg)}.create-form{display:flex;flex-direction:column;gap:14px}.create-form-actions{display:flex;gap:12px;flex-wrap:wrap}.custom-variant-btn{white-space:nowrap;background-color:#6a4aa0}.custom-variant-btn:hover{background-color:#7a5ab0}.sandbox-gate{display:inline-flex;cursor:not-allowed}.sandbox-gate .sandbox-btn:disabled{opacity:.5;cursor:not-allowed}.form-rows{display:flex;flex-direction:column;gap:12px;max-width:36rem}.form-row{display:grid;grid-template-columns:7em minmax(0,1fr);gap:10px;align-items:start}.form-row-label{text-align:right;white-space:nowrap;opacity:.85;padding-top:10px}.form-row-control{display:flex;align-items:center;gap:8px;min-width:0}.form-row-control>select,.form-row-control>.text-input,.form-row-control>.variant-picker{flex:1;min-width:0}.form-row select{background-color:#333;color:#fff;border:2px solid #444;padding:8px 12px;border-radius:6px;font-size:14px}@media (min-width: 900px){.form-rows-split{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;row-gap:12px;max-width:52rem}.form-rows-split .form-row-span{grid-column:1 / -1}}@media (max-width: 560px){.form-row{grid-template-columns:1fr;gap:4px}.form-row-label{text-align:left;padding-top:0}}.variant-wizard-btn{flex:0 0 auto;white-space:nowrap}.variant-picker{position:relative}.variant-picker-input{width:100%}.variant-picker-list{position:absolute;top:calc(100% + 4px);left:0;right:auto;min-width:min(100%,92vw);max-width:92vw;z-index:20;margin:0;padding:4px;list-style:none;max-height:260px;overflow-y:auto;background-color:#333;border:2px solid #444;border-radius:6px;box-shadow:0 6px 20px #00000080}@media (min-width: 700px){.variant-picker-list{--picker-room: min(92vw, 720px);min-width:min(max(100%,520px),var(--picker-room));max-width:var(--picker-room)}}.variant-picker-option{padding:8px 12px;border-radius:4px;cursor:pointer;font-size:14px}.variant-picker-option.is-highlighted{background-color:#4a9eff;color:#fff}.variant-picker-option.is-selected:after{content:"✓";float:right;opacity:.8}.variant-picker-empty{padding:8px 12px;font-size:14px;opacity:.6;font-style:italic}.lobby-screen{margin-top:24px}.seats{display:flex;flex-direction:column;gap:8px}.seat{background-color:var(--box-fill);--on-text: var(--on-box);color:var(--on-text);border-radius:6px;padding:12px 16px;display:flex;align-items:center;gap:12px;border-left:3px solid #444}.seat-you{border-left-color:#4a9eff}.seat-empty{opacity:.5;border-left-color:#333}.seat-number{font-size:.85em;opacity:.6;min-width:50px}.seat-name{font-weight:700;flex:1}.seat-host{font-size:.8em;background-color:#ffc832;color:color-mix(in oklab,#1a1a1a,var(--on-text) var(--accent-lean));padding:2px 8px;border-radius:4px;font-weight:700}.start-button{margin-top:16px;font-size:16px;padding:12px 32px}.waiting-msg{margin-top:16px;text-align:center;opacity:.7;font-style:italic}.reconnecting-hint{margin:8px 0;padding:6px 12px;border-radius:6px;background-color:#ffc14a1f;color:color-mix(in oklab,#e0a94a,var(--on-text) var(--accent-lean));border:1px solid rgba(255,193,74,.3);font-size:.85em;font-style:italic}.action-log{background-color:var(--box-fill);--on-text: var(--on-box);color:var(--on-text);border-radius:8px;padding:10px;margin:8px 0}.action-log h3{font-size:1em;margin-bottom:6px}.log-entries{max-height:clamp(140px,22vh,300px);overflow-y:auto}.log-entry{display:flex;gap:10px;padding:4px 0;font-size:.9em;border-bottom:1px solid #333}.log-entry:last-child{border-bottom:none}.log-turn{opacity:.5;min-width:30px}.log-player{color:var(--accent-text);min-width:80px;font-weight:700}.log-action{opacity:.9}.game-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin:8px 0}.config-label{font-size:.9em;opacity:.6;text-transform:uppercase;letter-spacing:.5px}.config-info{font-size:.85em;opacity:.6}.lobby-config{font-size:.9em;opacity:.7;margin-bottom:8px}.replay-list-screen{margin-top:24px}.replay-list-screen h2{margin-bottom:16px}.empty-state{text-align:center;color:var(--text-muted);padding:40px}.replay-list{display:flex;flex-direction:column;gap:8px}.replay-item{background-color:var(--box-fill);--on-text: var(--on-box);color:var(--on-text);border-radius:6px;padding:14px 16px;display:flex;align-items:center;gap:16px;cursor:pointer;border-left:3px solid #444;transition:all .2s}.replay-item:hover{border-left-color:#4a9eff;background-color:var(--box-fill-hover)}.replay-config{font-weight:700;min-width:140px}.replay-details{color:var(--text-muted);flex:1}.replay-date{font-size:.85em;color:var(--text-faint)}.replay-screen{margin-top:16px}.replay-controls-wrapper{padding:8px 12px;background-color:var(--box-fill);--on-text: var(--on-box);color:var(--on-text);border-radius:6px;margin:8px 0}.replay-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.replay-transport{row-gap:10px}.replay-controls .action-button{min-width:40px;padding:8px 12px;font-size:16px;font-weight:700}.replay-steps{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.replay-steps .action-button{flex-shrink:0}.turn-counter{margin-left:12px;font-size:.95em;opacity:.8}.replay-transport-fork{display:flex;align-items:center;margin-left:auto;padding-left:16px;border-left:1px solid rgba(255,255,255,.1)}@media (max-width: 640px){.replay-transport-fork{border-left:none;padding-left:0}}.replay-aside{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.fork-hypothetical-button{font-weight:400;opacity:.85}.fork-hypothetical-button:hover{opacity:1}.replay-view-as{display:flex;gap:8px;align-items:center;justify-content:center;margin:8px 0 16px}.perspective-picker{margin:8px 0 16px}.perspective-buttons{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap}.perspective-status{text-align:center;margin-top:6px;font-size:.9em;opacity:.8}.perspective-lock.active{background-color:#b8860b;border-color:#b8860b}.player-btn:disabled{opacity:.5;cursor:not-allowed}.player-btn:disabled:hover{border-color:#444}.confirm-overlay,.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.confirm-dialog,.modal-dialog{background-color:#2a2a2a;border:1px solid #444;border-radius:8px;padding:20px 24px;max-width:420px;box-shadow:0 8px 32px #00000080}.confirm-dialog h3{margin-top:0}.confirm-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}.modal-dialog{display:flex;flex-direction:column;width:100%;max-width:640px;max-height:calc(100vh - 32px);padding:0;outline:none}.modal-wide{max-width:min(820px,calc(100vw - 32px))}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid #3a3a3a}.modal-title{margin:0;font-size:1.15em}.modal-close{background:none;border:none;color:var(--text-muted);font-size:1.2em;line-height:1;cursor:pointer;padding:4px 8px;border-radius:6px}.modal-close:hover{background-color:#ffffff14;color:#fff}.modal-body{padding:20px;overflow-y:auto}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.modal-actions .action-button{margin-top:0;padding:10px 20px;font-size:14px}.modal-propose-game .modal-body{min-height:328px}.modal-propose-game .variant-picker-list{--picker-room:calc(min(820px, 100vw - 32px) - 50px - 7em)}.confirm-danger{background-color:#8a2a2a;border-color:#8a2a2a}.confirm-danger:hover{background-color:#a33}.replay-action-info{background-color:var(--box-fill-clue);--on-text: var(--on-box);color:var(--on-text);border-radius:6px;padding:10px 16px;text-align:center;margin:8px 0;font-size:1.05em}.log-entry.log-current{background-color:#4a9eff26;border-radius:4px;padding:4px 6px}.log-entry.log-clickable{cursor:pointer}.log-entry.log-clickable:hover{background:rgba(255,255,255,.1)}.home-nav{display:flex;gap:8px;margin:16px 0}.home-nav .action-button{flex:1;text-align:center}.profile-screen{margin-top:24px;max-width:700px;margin-left:auto;margin-right:auto}.profile-screen h2{margin-bottom:16px}.profile-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:16px 0}.stat-card{background-color:var(--box-fill);--on-text: var(--on-box);color:var(--on-text);border-radius:8px;padding:16px;text-align:center}.stat-value{font-size:1.8em;font-weight:700;color:var(--accent-text)}.stat-label{font-size:.8em;opacity:.6;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.game-result-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;font-size:.75em;font-weight:700;border-radius:4px;border:1px solid transparent}.game-result-badge.victory{background-color:#009e732e;color:color-mix(in oklab,#00c795,var(--on-text) var(--accent-lean))}.game-result-badge.good{background-color:#e69f002e;color:color-mix(in oklab,#f0b429,var(--on-text) var(--accent-lean))}.game-result-badge.disappointing,.game-result-badge.defeat{background-color:#d55e002e;color:color-mix(in oklab,#ef7c33,var(--on-text) var(--accent-lean))}.game-result-badge.strikeout{background-color:#a03c1438;color:color-mix(in oklab,#c9603a,var(--on-text) var(--accent-lean));border-color:#c9603a99}.game-result-badge.draw{background-color:#f1c40f2e;color:color-mix(in oklab,#f1c40f,var(--on-text) var(--accent-lean))}.game-result-badge.abandoned{background-color:#a6adb51f;color:color-mix(in oklab,#a6adb5,var(--on-text) var(--accent-lean));border-color:#a6adb599}.game-result-badge.unknown{color:var(--text-faint);border-color:#444}.game-result-badge.terminated{background-color:#d09a9a1f;color:color-mix(in oklab,#d09a9a,var(--on-text) var(--accent-lean));border-color:#d09a9a99}.custom-config-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:6px;font-size:.7em;font-weight:700;border-radius:4px;background-color:#8b5cf62e;color:color-mix(in oklab,#a78bfa,var(--on-text) var(--accent-lean));vertical-align:middle}.games-table{min-width:460px}.col-gh-variant{min-width:170px}.col-gh-players,.col-gh-result{min-width:70px}.col-gh-finished{min-width:110px}.games-variant{font-weight:700}.pagination{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.pagination-btn{min-width:30px;padding:4px 8px;background:none;border:1px solid #444;border-radius:4px;color:inherit;font:inherit;font-size:.85em;cursor:pointer}.pagination-btn:hover:not(:disabled){border-color:#4a9eff;color:var(--accent-text)}.pagination-btn:disabled{opacity:.4;cursor:default}.pagination-btn.is-current{border-color:#4a9eff;background-color:#4a9eff26;color:var(--accent-text);cursor:default}.pagination-gap{padding:0 4px;opacity:.6}.leaderboard-screen{margin-top:24px;max-width:700px;margin-left:auto;margin-right:auto}.leaderboard-screen h2{margin-bottom:16px}.leaderboard-table{width:100%;border-collapse:collapse}.leaderboard-header{display:flex;padding:10px 16px;font-size:.8em;text-transform:uppercase;letter-spacing:.5px;opacity:.6;border-bottom:1px solid #444}.leaderboard-row{display:flex;padding:12px 16px;align-items:center;border-bottom:1px solid #333;transition:background-color .2s}.leaderboard-row:hover{background-color:var(--box-fill-hover)}.leaderboard-row.is-you{background-color:#4a9eff1a}.lb-rank{width:50px;font-weight:700;color:var(--text-muted)}.lb-name{flex:1;font-weight:700}.lb-wins,.lb-played,.lb-winrate{width:80px;text-align:center}.lb-winrate{color:var(--accent-text);font-weight:700}.sandbox-screen{margin-top:16px}.sandbox-origin{text-align:center;font-size:.85em;opacity:.6;margin-bottom:8px}.variant-link{color:inherit;text-decoration:none}a.variant-link:hover{text-decoration:underline}.variant-details{display:inline-block;text-align:left;max-width:520px}.variant-details>summary{cursor:pointer;text-align:center}.variant-details-body{margin-top:6px;padding:8px 10px;border:1px solid #3a3a3a;border-radius:4px}.variant-details-dims{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:0}.variant-details-dims dt{font-weight:600;color:var(--text-soft)}.variant-details-dims dd{margin:0}.variant-details-heading{font-weight:600;color:var(--text-soft);margin:8px 0 4px}.variant-details-clue-list{margin:0;padding-left:20px}.variant-details-clue-list li{margin-bottom:2px}.variant-details-unknown{font-style:italic;color:var(--text-muted)}.variant-details-cells{margin-top:8px;color:var(--text-muted)}.sandbox-btn{background-color:#6b5b95}.sandbox-btn:hover{background-color:#5a4a84}.toggle-label{display:flex;align-items:center;gap:6px;font-size:.9em;cursor:pointer}.hypo-section{text-align:center;margin:16px 0}.back-btn{background:none;border:none;color:var(--accent-text);cursor:pointer;font-size:.95em;padding:4px 0;margin-bottom:12px}.back-btn:hover{text-decoration:underline}.zone.drop-target-active,.play-area.drop-target-active,.play-stacks.drop-target-active{outline:2px dashed #4a9eff;outline-offset:-2px;background-color:#4a9eff1a}.card[draggable=true]{cursor:grab;touch-action:none}.card[draggable=true]:active{cursor:grabbing}.card[draggable=true] .pip-wrapper,.card[draggable=true] .clue-pip{pointer-events:none}.card-drag-ghost{position:fixed;left:0;top:0;margin:0;z-index:1000;pointer-events:none;opacity:.85;transition:none;will-change:transform;box-shadow:0 6px 18px #00000073;cursor:grabbing}.game-layout{display:grid;column-gap:16px;row-gap:0;justify-items:start;align-items:start;grid-template-columns:fit-content(60%) minmax(0,1fr);grid-template-areas:"top       top" "hands     actions" "discards  counters" "transport log"}@media (max-width: 999px){.game-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"top" "hands" "actions" "discards" "counters" "transport" "log"}}@media (min-width: 1250px){.game-layout{grid-template-columns:fit-content(55%) minmax(0,1fr);grid-template-areas:"top       hands" "discards  hands" "counters  hands" "actions   hands" "transport log"}}@media (min-width: 1650px){.game-layout{grid-template-columns:fit-content(45%) max-content minmax(0,1fr);grid-template-areas:"top       hands transport" "discards  hands log" "counters  hands log" "actions   hands log"}}.game-layout-shared,.game-board-shared{display:contents}.game-board-shared>.shared-top-row{grid-area:top}.game-board-shared>.shared-discards{grid-area:discards}.game-board-shared>.counters{grid-area:counters}.game-layout-hands{grid-area:hands}.game-layout-actions{grid-area:actions}.game-layout-transport{grid-area:transport}.game-layout-log{grid-area:log}.game-layout-log{justify-self:stretch;min-width:0}.game-layout-transport,.game-layout-actions{max-width:100%;min-width:0}.shared-discards,.game-layout-hands,.game-board-shared>.counters{max-width:100%;min-width:0}.game-layout-hands .game-board{display:flex;flex-direction:column;align-items:stretch;width:fit-content;max-width:100%}.game-layout-hands .zone{width:auto}.game-layout-hands .zone+.zone{margin-top:0}.shared-top-row{display:flex;gap:8px;align-items:stretch;justify-self:stretch}.shared-top-row>.zone{flex:0 1 auto;min-width:0}.shared-top-row>.deck-zone{flex:0 0 auto}.shared-discards{display:flex;flex-direction:column;align-items:start}.game-layout-hands{--card-w: var(--hand-card-w);--card-h: var(--hand-card-h)}.game-layout-hands .card-rank{font-size:calc(var(--card-w) * 29 / 76)}.game-layout-hands .card-suit{font-size:calc(var(--card-w) * 15 / 76)}.game-layout-hands .clue-pip{font-size:calc(var(--card-w) * 13 / 76);width:calc(var(--card-w) * 19 / 76)}.game-layout-hands .clue-pip.clue-possible,.game-layout-hands .clue-pip.clue-rank-pip{font-size:calc(var(--card-w) * 15 / 76)}.game-layout-hands .card-status-badge{width:calc(var(--card-w) * 17 / 76);height:calc(var(--card-w) * 17 / 76)}.game-layout-hands .pip-wrapper{width:calc(var(--card-w) * 16 / 76);height:calc(var(--card-w) * 16 / 76)}.game-layout-hands .card-clue-badge,.game-layout-hands .card-note-badge{font-size:calc(var(--card-w) * 13 / 76)}.shared-top-row,.shared-discards{--compact-w: calc(var(--card-w) * 2 / 3);--compact-h: calc(var(--card-h) * 2 / 3)}.card.card-compact{--card-w: min(var(--compact-w), var(--compact-fit, 9999px));--card-h: calc(min(var(--compact-w), var(--compact-fit, 9999px)) * 7 / 5);border-width:1px;border-radius:4px;box-shadow:0 2px 6px #0006}.card-compact .card-rank{font-size:calc(var(--card-w) * .55)}.card-compact .card-suit{font-size:calc(var(--card-w) * .3);margin-top:1px}.card-compact .pip-wrapper{width:calc(var(--card-w) * .35);height:calc(var(--card-w) * .35)}.play-stacks.play-stacks-compact{gap:4px}.play-stack.play-stack-compact{min-width:0;padding:2px 3px;gap:2px}.play-stack-compact .play-stack-name{display:none}.deck-zone.deck-zone-compact{--card-w: var(--compact-w);--card-h: var(--compact-h);min-width:0}.deck-zone-compact .deck-pile-count{font-size:1em}.card-note-editor{position:fixed;z-index:1000;background-color:#2a2a2a;border:1px solid #555;border-radius:8px;padding:12px;min-width:240px;max-width:320px;box-shadow:0 8px 24px #0009}.note-editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:700;font-size:.9em}.note-turn-tag{display:flex;align-items:center;gap:2px;margin-left:auto;margin-right:6px;font-size:11px;font-weight:400;color:var(--text-muted)}.note-turn-input{font-size:11px;padding:1px 2px;border:1px solid #444;border-radius:4px;background-color:#1a1a1a;color:var(--text-soft);width:46px}.note-editor-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:16px;padding:0 4px}.note-editor-close:hover{color:#fff}.note-matrix table{border-collapse:collapse;margin-bottom:8px}.note-matrix th,.note-matrix td{width:28px;height:24px;text-align:center;font-size:11px;padding:1px}.note-matrix-header{cursor:pointer;font-weight:700;color:var(--text-soft)}.note-matrix-header:hover{color:#fff}.note-matrix-suit{font-weight:700;padding-right:6px}.note-matrix-cell{cursor:pointer;border:1px solid #444;border-radius:3px;transition:background-color .15s}.note-matrix-cell.possible{background-color:#4a9eff33;color:var(--accent-text)}.note-matrix-cell.eliminated{background-color:transparent;color:var(--text-faint)}.note-matrix-cell.auto-eliminated{background-color:#d6444438;color:color-mix(in oklab,#7a4a4a,var(--on-text) var(--accent-lean));cursor:not-allowed;text-decoration:line-through}.note-matrix-cell.locally-eliminated{background-image:repeating-linear-gradient(45deg,rgba(226,90,90,.55) 0,rgba(226,90,90,.55) 1.5px,transparent 1.5px,transparent 4.5px)}.note-matrix-cell.locally-eliminated:hover{background-color:#4a9eff4d}.note-matrix-cell:hover:not(.auto-eliminated){background-color:#4a9eff4d}.cell-matrix th,.cell-matrix td{width:18px;height:16px;font-size:9px;padding:0}.cell-matrix .note-matrix-header,.cell-matrix .note-matrix-cell{cursor:default}.cell-matrix .note-matrix-cell:hover{background-color:inherit}.constrained-ragged{position:relative}.constrained-ragged-mark{position:absolute;top:2px;right:2px;width:0;height:0;border-top:6px solid #e0a53f;border-left:6px solid transparent;pointer-events:none}.card:has(.constrained-matrix-pop){overflow:visible}.card:has(.clue-chip-pop) .constrained-matrix-pop{display:none}.constrained-matrix-pop{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);z-index:60;background:#1e1e24;border:1px solid #555;border-radius:4px;padding:4px 6px;pointer-events:none}.constrained-matrix-pop .note-matrix{margin:0}.constrained-matrix-pop table{margin-bottom:0}.pin-chooser-slots{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.pin-chooser-slot{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid #444;border-radius:4px}.pin-chooser-slot-head{display:flex;align-items:baseline;gap:6px}.pin-chooser-slot-name{font-weight:700}.pin-chooser-slot-question{color:var(--text-muted);font-size:12px}.pin-chooser-choices{display:flex;gap:6px}.pin-choice.selected{border-color:#4a9eff;background-color:#4a9eff40}.pin-confirm:disabled{opacity:.5;cursor:not-allowed}.note-characteristics{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px}.note-char-pill{font-size:11px;padding:2px 8px;border-radius:12px;border:1px solid #555;background-color:transparent;color:var(--text-soft);cursor:pointer;transition:all .15s}.note-char-pill:hover{border-color:#888}.note-char-pill.active{color:#fff}.note-custom-tags{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px}.note-custom-tag{font-size:11px;padding:2px 6px;background-color:#3a3a4a;border-radius:4px;display:flex;align-items:center;gap:4px}.note-custom-tag button{background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:10px;padding:0}.note-tag-input{font-size:11px;padding:2px 6px;border:1px solid #444;border-radius:4px;background-color:#1a1a1a;color:var(--text-soft);width:60px}.note-text{width:100%;font-size:12px;padding:6px;border:1px solid #444;border-radius:4px;background-color:#1a1a1a;color:var(--text-soft);resize:vertical;font-family:inherit}.card-tooltip{position:fixed;z-index:999;background-color:#2a2a2a;border:1px solid #555;border-radius:6px;padding:8px;min-width:120px;max-width:240px;box-shadow:0 4px 12px #00000080;pointer-events:none;font-size:11px}.tooltip-matrix{margin-bottom:4px}.tooltip-matrix-row{display:flex;gap:2px;align-items:center}.tooltip-suit{font-weight:700;width:14px;text-align:center}.tooltip-cell{width:16px;height:16px;text-align:center;line-height:16px;font-size:10px;border-radius:2px}.tooltip-cell.possible{background-color:#4a9eff40;color:color-mix(in oklab,#aaddff,var(--on-text) var(--accent-lean))}.tooltip-cell.eliminated{color:color-mix(in oklab,#444,var(--on-text) var(--accent-lean));text-decoration:line-through}.tooltip-chars{display:flex;gap:3px;margin-top:4px}.tooltip-char-badge{font-size:10px;padding:1px 5px;border-radius:8px;color:#fff;font-weight:700}.tooltip-tags{margin-top:4px;color:var(--text-muted);font-style:italic}.tooltip-text{margin-top:4px;color:var(--text-soft);white-space:pre-wrap}.card-note-border{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:4px;pointer-events:none;z-index:2;box-shadow:inset 0 0 0 var(--note-border-width, 4px) var(--note-border-colour, transparent),inset 0 0 0 calc(var(--note-border-width, 4px) + 1px) #000c}.card-note-badges{position:absolute;bottom:2px;left:2px;display:flex;gap:2px;flex-wrap:wrap;max-width:calc(100% - 4px);z-index:3}.card-note-badge{font-size:10px;padding:1px 3px;border-radius:4px;color:#fff;font-weight:700;line-height:1;border:1px solid rgba(255,255,255,.85);box-shadow:0 0 0 1px #0000008c;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-note-badge-text{background-color:#2c3e50;font-weight:400}.card-mark-badges{position:absolute;top:2px;left:50%;transform:translate(-50%);display:flex;gap:2px;flex-wrap:wrap;justify-content:center;max-width:calc(100% - 4px);z-index:3;pointer-events:none}.card-mark-badge{font-size:9px;padding:1px 3px;border-radius:4px;background-color:#6a3d9a;color:#fff;font-weight:700;line-height:1;text-transform:lowercase;border:1px solid rgba(255,255,255,.85);box-shadow:0 0 0 1px #0000008c;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rewind-bar{padding:8px 12px;background-color:var(--box-fill);--on-text: var(--on-box);color:var(--on-text);border-radius:6px;margin:8px 0}.sandbox-code-paste{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;margin-left:6px}.sandbox-code-input{width:15em;min-width:8em;padding:6px 8px;border:1px solid rgba(255,255,255,.25);border-radius:4px;background:rgba(0,0,0,.35);color:inherit;font-size:.85em}.sandbox-code-input:focus{outline:none;border-color:#3ad6d6cc}.sandbox-code-error{color:color-mix(in oklab,#ff6b6b,var(--on-text) var(--accent-lean));font-size:.8em;flex-basis:100%}.sandbox-setup{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;padding:10px 12px;border:1px solid rgba(58,214,214,.6);border-radius:6px;background:rgba(58,214,214,.12)}.sandbox-setup-row{display:flex;align-items:center;flex-wrap:wrap;gap:16px}.sandbox-setup-field{display:inline-flex;align-items:center;gap:6px;font-size:.85em}.sandbox-setup-field select{padding:4px 6px;border:1px solid rgba(255,255,255,.25);border-radius:4px;background:rgba(0,0,0,.35);color:inherit;font-size:1em}.sandbox-setup-modifiers{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.sandbox-setup-label{font-size:.85em;opacity:.85}.sandbox-setup-list{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px}.sandbox-option{display:inline-flex;align-items:center;gap:4px;font-size:.85em;white-space:nowrap}.sandbox-setup-cast{display:flex;flex-direction:column;gap:6px;flex-basis:100%}.sandbox-option-seat{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:.85em}.sandbox-option-seat label,.sandbox-option-parameter{display:inline-flex;align-items:center;gap:4px}.sandbox-option-seat select,.sandbox-option-parameter input{padding:4px 6px;border:1px solid rgba(255,255,255,.25);border-radius:4px;background:rgba(0,0,0,.35);color:inherit;font-size:1em}.sandbox-option-parameter input{width:5em}.sandbox-setup-error{color:color-mix(in oklab,#ff6b6b,var(--on-text) var(--accent-lean));font-size:.8em;flex-basis:100%}.preplay-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 12px;margin:8px 0;border:1px solid rgba(58,214,214,.6);border-radius:6px;background:rgba(58,214,214,.12)}.preplay-label{color:color-mix(in oklab,#bdf3f3,var(--on-text) var(--accent-lean));font-size:.9em}.preplay-cancel{padding:4px 12px;font-size:.85em}.custom-actions{margin-top:0}.custom-action-prompt{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;margin:8px 0;border:1px solid rgba(74,158,255,.6);border-radius:6px;background:rgba(74,158,255,.12)}.custom-action-prompt-label{color:color-mix(in oklab,#cfe4ff,var(--on-text) var(--accent-lean));font-size:.9em;font-weight:600}.custom-action-prompt .clue-recipients{margin-bottom:0}.custom-action-prompt-arg{display:flex;align-items:center;gap:6px;font-size:.9em;color:color-mix(in oklab,#cfe4ff,var(--on-text) var(--accent-lean))}.custom-action-prompt-number{width:5em;padding:4px 6px;border-radius:4px;border:1px solid #4a5a6a;background:#1e2a36;color:color-mix(in oklab,#e6edf3,var(--on-text) var(--accent-lean));font-size:.9em}.custom-action-confirm,.custom-action-cancel{padding:4px 12px;font-size:.85em}.sandbox-timeline{display:flex;align-items:center;gap:8px;flex-basis:100%;flex-wrap:wrap;font-size:.85em;color:var(--text-soft)}.sandbox-timeline-slider{flex:1 1 120px;min-width:100px;max-width:260px}.sandbox-timeline-position{color:var(--text-muted);white-space:nowrap}.sandbox-timeline-warning{color:color-mix(in oklab,#e0a33a,var(--on-text) var(--accent-lean));white-space:nowrap}.position-editor{display:flex;flex-direction:column;gap:12px;padding:12px;background-color:var(--box-fill);--on-text: var(--on-box);color:var(--on-text);border-radius:6px}.position-editor-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.position-editor-head h3{margin:0;font-size:1.05em}.position-editor-summary{color:var(--text-muted);font-size:.9em}.position-players{display:flex;align-items:center;gap:6px;margin-left:auto;font-size:.9em;color:var(--text-soft)}.position-editor-problems{margin:0;padding:8px 8px 8px 24px;list-style:disc;background:rgba(180,60,60,.18);border-radius:4px;color:color-mix(in oklab,#f0b8b8,var(--on-text) var(--accent-lean));font-size:.85em}.position-editor-zones{display:flex;flex-direction:column;gap:8px}.position-zone{padding:8px;background:rgba(255,255,255,.04);border-radius:4px}.position-zone-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.position-zone-label{font-weight:600;color:var(--text-soft);font-size:.9em}.position-zone-count{color:var(--text-muted);font-size:.8em}.position-zone-cards{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;min-height:40px}.position-zone-empty{color:var(--text-faint);font-size:.85em;font-style:italic}.position-card-slot{display:flex;flex-direction:column;align-items:center;gap:2px}.position-card{cursor:grab}.position-card-controls{display:flex;gap:2px}.position-card-button{background:rgba(255,255,255,.1);border:none;border-radius:3px;color:var(--text-soft);cursor:pointer;font-size:.85em;line-height:1;padding:2px 5px}.position-card-button:hover:not(:disabled){background:rgba(255,255,255,.2)}.position-card-button:disabled{opacity:.3;cursor:default}.position-picker{margin-top:8px;padding:8px;background:rgba(0,0,0,.4);border-radius:4px}.position-picker-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;color:var(--text-soft);font-size:.85em}.position-picker-grid{display:flex;flex-direction:column;gap:4px}.position-picker-row{display:flex;gap:4px;flex-wrap:wrap}.position-picker-cell{border:none;cursor:pointer;padding:0}.position-picker-wild{border:1px dashed rgba(255,255,255,.45);background-color:#ffffff0f;color:var(--text-soft)}.position-card-constrained{border:1px dashed rgba(255,255,255,.35)}.position-editor-counters{display:flex;gap:12px;flex-wrap:wrap}.position-counter{display:flex;align-items:center;gap:4px;padding:4px 8px;background:rgba(255,255,255,.04);border-radius:4px;font-size:.85em;color:var(--text-soft)}.position-counter-name{margin-right:2px}.position-counter-value{width:52px;background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.15);border-radius:3px;color:var(--text-soft);padding:2px 4px;text-align:center}.position-editor-actions{display:flex;gap:8px}.position-editor .action-button.small,.position-picker .action-button.small{padding:3px 8px;font-size:.8em}.position-editor .action-button.active{background:#3a6ea5}.position-editor .action-button.primary{background:#2e7d4f}.position-editor .action-button.primary:hover:not(:disabled){background:#35915b}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.collapse-bar{display:flex;align-items:center;justify-content:center;width:100%;height:var(--collapse-bar-height);box-sizing:border-box;padding:0;background-color:#2a2a2a;color:var(--text-soft);border:1px solid #444;border-radius:6px;font-size:.8em;font-weight:600;line-height:1;cursor:pointer}.collapse-bar:hover{background-color:#363636;color:#fff}.nav-bar-reopen{position:absolute;top:0;left:0;right:0;width:auto;z-index:6;border-top:none;border-radius:0 0 8px 8px}.nav-bar-collapse{position:absolute;top:0;left:50%;transform:translate(-50%);height:var(--app-pad);box-sizing:border-box;display:flex;align-items:center;padding:0 10px;background-color:#2a2a2a;color:var(--text-muted);border:1px solid #444;border-top:none;border-radius:0 0 6px 6px;font-size:.72em;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer}.nav-bar-collapse:hover{color:#fff;background-color:#363636}.chevron{width:.9em;height:.6em;flex-shrink:0}.collapse-bar .chevron,.nav-bar-collapse .chevron{margin-left:6px}.app-brand{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.app-brand h1{margin:0}.app-title-link{color:inherit;text-decoration:none}.app-title-link:hover{text-decoration:underline}.brand-logo{display:block;max-height:48px;max-width:100%}.site-nav{display:flex;align-items:flex-start;gap:20px}.site-nav-item{display:flex;flex-direction:column}.site-nav-link{color:var(--accent-text);text-decoration:none;font-weight:600}.site-nav-link:hover{text-decoration:underline}.build-version{font-size:.72em;color:var(--text-faint)}.discord-link{display:flex;flex-direction:column;align-items:center;gap:2px}.discord-mark{width:26px;height:auto;fill:#5865f2}.discord-subtext{font-size:.7em}.testing-release-banner{display:flex;align-items:center;justify-content:center;gap:12px;background-color:#7a5d0e;color:#fff;font-weight:600;text-align:center;padding:8px 16px;border-radius:6px;margin:4px 0 12px}.testing-release-dismiss{background:none;border:none;color:#fff;cursor:pointer;font-size:1em;line-height:1;padding:2px 6px}.testing-release-dismiss:hover{color:var(--text-soft)}.identity-badge{display:flex;align-items:center;gap:10px;font-size:.9em}.identity-name{color:var(--text-soft);font-weight:600}.guest-badge{background-color:#444;color:var(--text-muted);border-radius:10px;padding:1px 8px;font-size:.75em;text-transform:uppercase;letter-spacing:.05em}.link-button{background:none;border:none;color:var(--accent-text);cursor:pointer;font-size:.9em;padding:0}.link-button:hover{text-decoration:underline}.login-options{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:20px}.discord-btn{background-color:#5865f2;min-width:250px}.discord-btn:hover{background-color:#4752c4}.login-divider{display:flex;align-items:center;width:250px;color:var(--text-faint);font-size:.85em}.login-divider:before,.login-divider:after{content:"";flex:1;border-bottom:1px solid #444}.login-divider span{padding:0 12px}.login-error{margin-bottom:16px}.account-settings{margin-top:24px}.settings-section{background-color:var(--box-fill);--on-text: var(--on-box);color:var(--on-text);border-radius:8px;padding:20px;margin:16px 0}.settings-section h3{margin-bottom:12px}.link-row{display:flex;align-items:center;gap:12px}.hanab-handle{color:var(--accent-text);font-weight:600}.settings-hint{margin-top:10px;font-size:.8em;color:var(--text-faint)}.time-format-options{display:flex;flex-wrap:wrap;gap:8px}.time-format-option{display:flex;flex-direction:column;gap:2px;padding:8px 14px;border:1px solid #444;border-radius:6px;background-color:#333;color:inherit;cursor:pointer;text-align:left}.time-format-option:hover:not(:disabled){border-color:#666}.time-format-option.selected{border-color:#4a9eff;background-color:#4a9eff1f}.time-format-option:disabled{opacity:.6;cursor:default}.time-format-label{font-size:.9em;font-weight:600}.time-format-hint{font-size:.75em;color:var(--text-muted);font-variant-numeric:tabular-nums}.guest-upsell{margin-top:24px}.notice{background-color:#4a9eff26;color:color-mix(in oklab,#7ab8ff,var(--on-text) var(--accent-lean));border:1px solid rgba(74,158,255,.3);padding:10px 16px;border-radius:6px;margin:12px 0;font-size:.9em}.rooms-table-wrap{display:flex;flex-direction:column;gap:12px}.rooms-toolbar{display:flex;gap:8px;flex-wrap:wrap}.rooms-sort-btn{font-size:.85em;padding:6px 12px}.rooms-sort-btn:disabled{opacity:.4;cursor:default}.rooms-table-scroll{overflow-x:auto}.rooms-table{width:100%;border-collapse:collapse;min-width:720px}.rooms-th{text-align:left;padding:0;border-bottom:1px solid #444;vertical-align:bottom}.rooms-th.is-sorted{color:var(--accent-text)}.rooms-th-btn{display:inline-flex;align-items:center;gap:5px;width:100%;padding:8px 10px;background:none;border:none;color:inherit;font:inherit;font-size:.8em;font-weight:600;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;text-align:left}.rooms-th-btn:hover{color:var(--accent-text)}.rooms-th-arrow{font-size:.8em;letter-spacing:-.15em;color:var(--accent-text)}.rooms-tr{cursor:pointer;border-bottom:1px solid #333;transition:background-color .15s}.rooms-tr:hover{background-color:var(--box-fill-hover)}.row-link-host{position:relative}.row-link{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:block}.row-link:focus-visible{outline:2px solid #4a9eff;outline-offset:-2px}.row-link-host a:not(.row-link),.row-link-host button,.row-link-host [data-row-above]{position:relative;z-index:2}.rooms-table td{padding:10px;vertical-align:top}.col-room{min-width:160px}.col-host{min-width:130px}.col-players{min-width:160px}.col-watching{min-width:80px}.col-activity{min-width:130px}.col-variant{min-width:120px}.col-active{min-width:110px}.rooms-name{display:flex;align-items:center;flex-wrap:wrap;gap:2px}.rooms-name-text{font-weight:700;color:inherit;text-decoration:none}.rooms-name-text:visited{color:color-mix(in oklab,#a8a8b4,var(--on-text) var(--accent-lean))}a.rooms-name-text:hover{text-decoration:underline}.rooms-host{font-size:.8em;opacity:.5;margin-top:3px}.rooms-seat-count{font-weight:600;margin-right:8px}.rooms-seat-names{font-size:.85em;opacity:.8}.rooms-variant{font-size:.9em;opacity:.8}.rooms-activity{font-size:.9em;font-weight:600}.rooms-proposed{display:block;margin-top:3px;font-size:.8em;opacity:.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.rooms-active{font-size:.85em;color:var(--text-muted);white-space:nowrap}.rooms-zero{color:var(--text-faint)}.rooms-watching-btn{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;border-bottom:1px dotted transparent}.rooms-watching-btn:hover,.rooms-watching-btn:focus-visible{border-bottom-color:currentColor}.rooms-audience-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.rooms-audience-row{display:flex;align-items:center}.table-empty-seats{color:var(--text-faint);font-style:italic}.result-badge{display:inline-block;margin-left:8px;border-radius:10px;padding:1px 8px;font-size:.7em;font-weight:600;text-transform:uppercase;letter-spacing:.05em;vertical-align:middle}.result-victory{background-color:#1f4d2a;color:color-mix(in oklab,#8fdca4,var(--on-text) var(--accent-lean))}.result-good{background-color:#55401a;color:color-mix(in oklab,#e8b871,var(--on-text) var(--accent-lean))}.result-disappointing,.result-defeat{background-color:#5a2222;color:color-mix(in oklab,#f0a3a3,var(--on-text) var(--accent-lean))}.result-strikeout{background-color:#451717;color:color-mix(in oklab,#e08a70,var(--on-text) var(--accent-lean))}.result-unknown{background-color:#3a3a3a;color:var(--text-muted)}.result-draw{background-color:#5a4a1d;color:color-mix(in oklab,#e8cf8a,var(--on-text) var(--accent-lean))}.result-abandoned{background-color:#444;color:var(--text-muted)}.result-terminated{background-color:#3d2a2a;color:color-mix(in oklab,#d09a9a,var(--on-text) var(--accent-lean))}.seed-label-badge{border:none;font-family:inherit;cursor:pointer}.seed-label-badge.is-copied{color:color-mix(in oklab,#7bd88f,var(--on-text) var(--accent-lean))}.table-badge{display:inline-block;margin-left:8px;background-color:#444;color:var(--text-muted);border-radius:10px;padding:1px 8px;font-size:.7em;font-weight:600;text-transform:uppercase;letter-spacing:.05em;vertical-align:middle}.table-lock{margin-left:6px;font-size:.85em;vertical-align:middle}.clock-inputs{flex-wrap:wrap;gap:16px}.clock-field{display:flex;align-items:center;gap:6px;font-size:.9em;opacity:.85}.clock-number{width:8ch;flex:none;box-sizing:content-box;padding:10px 8px}.settings-password{flex-wrap:wrap}.settings-password-state{font-size:.85em;opacity:.7;font-style:italic}.clock-bar{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:8px 0}.clock-chip{display:flex;flex-direction:column;align-items:center;min-width:84px;padding:6px 12px;border:1px solid #444;border-radius:6px;background-color:#ffffff08}.clock-chip.clock-active{border-color:#4a9eff;box-shadow:0 0 6px #4a9eff80}.clock-chip.clock-expired .clock-time{color:color-mix(in oklab,#e74c3c,var(--on-text) var(--accent-lean))}.clock-seat-name{font-size:.75em;opacity:.7}.clock-time{font-size:1.3em;font-weight:700;font-variant-numeric:tabular-nums}.clock-chip.speed-total{border-color:#888;background-color:#ffffff12}.counter.terminate-button{border:none;font:inherit;color:inherit;cursor:pointer;background-color:#3d2424}.counter.terminate-button:hover{background-color:#542c2c}.counter.terminate-button .counter-value{font-size:1.25em;line-height:1.2}.counter.terminate-button.vote-cast{box-shadow:0 0 0 2px #ffbe46f2,0 0 14px 4px #ffb43c99;animation:terminate-vote-pulse 1.4s ease-in-out infinite}@keyframes terminate-vote-pulse{50%{box-shadow:0 0 0 2px #ffbe468c,0 0 8px 2px #ffb43c59}}@media (prefers-reduced-motion: reduce){.counter.terminate-button.vote-cast{animation:none}}.card.speedrun-clueable:hover{outline:2px solid #4a9eff;outline-offset:1px}.pregame-actions{display:flex;flex-direction:column;gap:12px;margin-top:16px;align-items:flex-start}.leave-button{background-color:#6a3030}.leave-button:hover{background-color:#7a3838}.wizard-screen{margin-top:24px}.wizard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.wizard-back{background-color:#444}.wizard-back:hover{background-color:#555}.wizard-body{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}.wizard-editor{flex:1 1 480px;min-width:0;background-color:var(--box-fill);--on-text: var(--on-box);color:var(--on-text);border-radius:8px;padding:20px}.wizard-field{display:flex;flex-direction:column;gap:4px;font-size:.85em}.wizard-field>span{opacity:.7}.wizard-field select,.wizard-num{background-color:#333;color:#fff;border:2px solid #444;padding:6px 10px;border-radius:6px;font-size:14px}.wizard-num{width:90px}.wizard-name,.wizard-description{margin-bottom:20px}.wizard-description-input{resize:vertical;min-height:68px;font-family:inherit}.wizard-description-count{font-size:.85em;color:var(--text-faint)}.wizard-description-error{font-size:.85em;color:color-mix(in oklab,#e08080,var(--on-text) var(--accent-lean))}.wizard-suits-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.wizard-add-suit{font-size:.85em;padding:6px 14px}.wizard-suit-row{background-color:#222;border:1px solid #3a3a3a;border-radius:6px;padding:12px;margin-bottom:10px}.wizard-suit-main{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.wizard-suit-name{flex:1 1 120px;min-width:100px}.wizard-check{display:flex;align-items:center;gap:6px;font-size:.85em;white-space:nowrap}.wizard-remove-suit{background-color:transparent;color:color-mix(in oklab,#ff6b6b,var(--on-text) var(--accent-lean));border:none;font-size:1.1em;cursor:pointer;padding:4px 8px;border-radius:4px;margin-left:auto}.wizard-remove-suit:hover:not(:disabled){background-color:#ff6b6b26}.wizard-remove-suit:disabled{color:var(--text-faint);cursor:not-allowed}.wizard-custom-colours{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;padding-top:10px;padding-left:4px;border-top:1px dashed #3a3a3a}.wizard-globals{display:flex;gap:20px;margin:20px 0 0;flex-wrap:wrap}.wizard-ranks,.wizard-clues,.wizard-strikes{margin:20px 0}.wizard-ranks h3,.wizard-clues h3,.wizard-strikes h3{margin-bottom:8px}.wizard-hand-sizes{margin:20px 0}.wizard-hand-sizes h3{margin-bottom:4px}.wizard-hand-hint{margin:0 0 10px}.wizard-hand-boxes{display:flex;gap:10px;flex-wrap:wrap}.wizard-hand-field{align-items:center}.wizard-hand-num{width:56px;text-align:center}.wizard-hand-issues{margin:10px 0 0;padding-left:20px;color:color-mix(in oklab,#e0a95a,var(--on-text) var(--accent-lean));font-size:.85em}.wizard-hand-issues li{margin:4px 0}.wizard-rank-issues{max-width:640px}.wizard-mode-toggle{display:inline-flex;border:1px solid #3a3a3a;border-radius:6px;overflow:hidden}.wizard-mode-btn{background-color:#222;color:var(--text-soft);border:none;padding:6px 16px;font-size:.85em;cursor:pointer}.wizard-mode-btn:hover:not(:disabled){background-color:#2c2c2c}.wizard-mode-btn.wizard-mode-active{background-color:#3d6ea5;color:#fff;cursor:default}.wizard-mode-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 12px}.clue-mode-slider{max-width:420px;margin:0 0 16px}.clue-mode-range{width:100%;margin:0;accent-color:#3d6ea5;cursor:pointer}.clue-mode-nodes{display:flex;justify-content:space-between;margin-top:2px}.clue-mode-node{background:none;border:none;padding:2px 0;color:var(--text-muted);font-size:.85em;cursor:pointer}.clue-mode-node:first-child{text-align:left}.clue-mode-node:last-child{text-align:right}.clue-mode-node:hover{color:var(--text-soft)}.clue-mode-node-current{color:#fff;font-weight:600}.touch-grid{background-color:#1e1e1e;border:1px solid #3a3a3a;border-radius:6px;padding:12px;margin-bottom:16px}.touch-palette{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:12px}.touch-palette-label{font-size:.8em;opacity:.6;margin:0 4px 0 8px}.touch-palette-label:first-child{margin-left:0}.touch-chip{display:inline-flex;align-items:center;gap:5px;background-color:#2a2a2a;color:var(--text-soft);border:2px solid transparent;border-radius:6px;padding:4px 10px;font-size:.85em;cursor:pointer}.touch-chip:hover{background-color:#333}.touch-chip-active{border-color:#6aa9e9;background-color:#333}.touch-chip-swatch{width:14px;height:14px;border-radius:3px;border:1px solid rgba(255,255,255,.3);display:inline-block}.touch-grid-scroll{overflow-x:auto}.touch-table{border-collapse:collapse}.touch-table th,.touch-table td{padding:2px;text-align:center}.touch-corner{width:90px}.touch-col-head,.touch-row-head-btn{background-color:transparent;color:var(--text-muted);border:none;cursor:pointer;font-size:.85em;padding:4px 8px;border-radius:4px}.touch-row-head{text-align:right;white-space:nowrap}.touch-row-head-btn{max-width:120px;overflow:hidden;text-overflow:ellipsis}.touch-col-head:hover,.touch-row-head-btn:hover{background-color:#333;color:#fff}.touch-cell{width:26px;height:26px;background-color:#2a2a2a;border:1px solid #444;border-radius:4px;cursor:pointer;padding:0}.touch-cell:hover{border-color:#6aa9e9}.touch-cell-on{background-color:#6aa9e9;border-color:#6aa9e9}.touch-grid-hint{margin-top:10px}.clue-list{margin-bottom:16px}.clue-entry{background-color:#1e1e1e;border:1px solid #3a3a3a;border-radius:6px;padding:12px;margin-bottom:10px}.clue-entry-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.clue-entry-index{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background-color:#2a2a2a;color:var(--text-muted);font-size:.8em}.clue-entry-caption{font-size:.85em;opacity:.75;flex:1}.clue-entry-order{display:flex;gap:4px}.clue-move,.clue-remove{padding:2px 8px;font-size:.85em}.clue-entry-descriptors{display:flex;align-items:flex-start;gap:12px;margin-bottom:8px;flex-wrap:wrap}.clue-swatch-field{position:relative;display:flex;align-items:center;gap:6px}.clue-swatch{border:1px dashed #666;color:var(--text-muted)}.clue-swatch-clear{padding:2px 8px;font-size:.75em}.clue-swatch-grid{position:absolute;top:100%;left:0;z-index:5;background-color:#222;border:1px solid #3a3a3a;border-radius:6px;padding:8px}.clue-label-field{position:relative}.clue-label-count{font-size:.75em;opacity:.6}.clue-entry-issue{color:color-mix(in oklab,#e58a8a,var(--on-text) var(--accent-lean));font-size:.85em;margin:4px 0 8px}.clue-entry-dead{margin:4px 0 8px}.clue-add{margin-top:4px}.wizard-hint{color:var(--text-muted);font-size:.85em}.wizard-preview{flex:1 1 300px;min-width:0;position:sticky;top:16px;background-color:var(--box-fill-clue);--on-text: var(--on-box);color:var(--on-text);border-radius:8px;padding:20px}.wizard-preview h3{margin-bottom:12px}.wizard-preview-stale{opacity:.6;transition:opacity .15s}.wizard-blessed{background-color:#ffc83226;border:1px solid rgba(255,200,50,.5);color:color-mix(in oklab,#ffd764,var(--on-text) var(--accent-lean));padding:12px 16px;border-radius:6px;margin-bottom:16px;font-size:1em}.wizard-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0 0 16px}.wizard-stats dt{font-size:.75em;text-transform:uppercase;letter-spacing:.05em;opacity:.6}.wizard-stats dd{font-size:1.3em;font-weight:600;margin-top:2px}.wizard-warnings{list-style:disc;margin:12px 0;padding:10px 16px 10px 32px;background-color:#f39c121f;border:1px solid rgba(243,156,18,.35);border-radius:6px;color:color-mix(in oklab,#f0b357,var(--on-text) var(--accent-lean));font-size:.9em}.wizard-warnings li+li{margin-top:6px}.wizard-yaml summary{cursor:pointer;font-size:.9em;opacity:.8}.wizard-yaml pre{margin-top:10px;background-color:#1a1a1a;border-radius:6px;padding:12px;font-size:.8em;line-height:1.4;overflow-x:auto;max-height:320px;overflow-y:auto}.wizard-errors{background-color:#ff444426;border:1px solid rgba(255,68,68,.3);color:color-mix(in oklab,#ff6b6b,var(--on-text) var(--accent-lean));padding:12px 16px;border-radius:6px;font-size:.9em}.wizard-errors-title{font-weight:600;margin-bottom:8px}.wizard-errors ul{margin:0;padding-left:20px}.wizard-errors li{margin:4px 0}.avatar-initial{background-color:#3a3a4a;color:color-mix(in oklab,#e6e6f0,var(--on-text) var(--accent-lean));border:1px solid #556;text-transform:uppercase;-webkit-user-select:none;user-select:none}.player-link{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none}a.player-link:hover .player-link,a.player-link:hover{text-decoration:underline}.player-link--plain{cursor:default}.zone-title .player-link{align-items:baseline}.profile-header{display:flex;align-items:center;gap:12px}.profile-discord-link{display:inline-block;margin-top:4px;color:color-mix(in oklab,#7289da,var(--on-text) var(--accent-lean));font-size:.9em;text-decoration:none}.profile-discord-link:hover{text-decoration:underline}.profile-hlive{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:.9em}.profile-hlive a{color:var(--accent-text);text-decoration:none}.profile-hlive a:hover{text-decoration:underline}.hlive-label{display:inline-block;background-color:#444;color:var(--text-muted);border-radius:10px;padding:1px 8px;font-size:.75em;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.room-screen{display:grid;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);gap:20px;position:relative;--room-toggle-height: var(--collapse-bar-height);--room-band-height: clamp(380px, 46vh, 560px)}.room-screen.room-panel-collapsed{gap:12px}.room-panel-wrap{min-width:0}.room-panel{display:flex;flex-direction:column;gap:14px;background-color:#ffffff08;border:1px solid #333;border-radius:8px;padding:16px;min-width:0}.room-panel.room-band{flex-direction:column;align-items:stretch;gap:10px;min-height:var(--room-band-height);--room-band-pad-top: 14px;padding:var(--room-band-pad-top) 16px 12px;position:relative}.room-band-titlebar{display:flex;align-items:center;gap:12px;flex:0 0 auto;min-width:0;padding-bottom:8px;border-bottom:1px solid #333}.room-band-lanes{display:flex;flex-direction:row;align-items:stretch;gap:16px;flex:1 1 auto;min-height:0;min-width:0}.room-band-lane{display:flex;flex-direction:column;gap:10px;min-width:0;overflow-y:visible}.room-band-lane-activity{flex:1 1 340px}.room-audience-box{flex:1 1 auto;min-height:72px;max-height:260px;overflow-y:auto;background-color:#ffffff08;border:1px solid #333;border-radius:6px;padding:6px 8px}.room-audience-box .audience-section h3{position:sticky;top:-6px;background-color:#232323;padding:2px 0}.room-audience-box .audience-section{margin:0}.room-band-lane-chat{flex:2 1 320px;overflow:hidden}.room-band-lane-chat .chat-panel{min-height:0;flex:1 1 0}.room-band-lane-chat .chat-messages-wrap{flex:1 1 0;min-height:0}.room-band-lane-chat .chat-messages{max-height:none;min-height:0;height:100%}.room-panel-name{margin:0;font-size:1.2em;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-copy-link-btn{flex:0 0 auto;margin-left:auto;background-color:#2a2a2a;color:var(--text-soft);border:1px solid #444;border-radius:6px;padding:3px 10px;font-size:.85em;white-space:nowrap;cursor:pointer}.room-copy-link-btn:hover{background-color:#363636;color:#fff}.room-copy-link-failed{border-color:#a05050;color:color-mix(in oklab,#ffb0b0,var(--on-text) var(--accent-lean))}.room-collapse-btn{position:absolute;top:0;left:50%;transform:translate(-50%);height:var(--room-band-pad-top);box-sizing:border-box;display:flex;align-items:center;padding:0 12px;background-color:#2a2a2a;color:var(--text-soft);border:1px solid #444;border-top:none;border-radius:0 0 6px 6px;cursor:pointer}.room-collapse-btn:hover{background-color:#363636;color:#fff}.room-reopen-pill{height:var(--room-toggle-height);width:100vw;margin-left:calc(50% - 50vw);border-radius:0 0 8px 8px}.app:has(>.game-container>.nav-bar-reopen) .room-reopen-pill{margin-top:-6px;border-top:none}.room-reopen-pill:hover{background-color:#363636;color:#fff}.room-reopen-pill-attention{border-color:#3ad6d6;color:color-mix(in oklab,#eaffff,var(--on-text) var(--accent-lean));animation:room-attention-pulse 1.6s ease-in-out infinite}@keyframes room-attention-pulse{0%,to{box-shadow:0 0 8px 2px #3ad6d673}50%{box-shadow:0 0 14px 5px #3ad6d6d9}}.room-attention-dot{display:inline-block;width:8px;height:8px;margin-left:6px;border-radius:50%;background-color:#3ad6d6;vertical-align:middle}@media (prefers-reduced-motion: reduce){.room-reopen-pill-attention{animation:none;box-shadow:0 0 10px 3px #3ad6d699}}.room-panel-badges{display:flex;align-items:center;gap:8px;flex:0 0 auto}.room-visibility{display:inline-block;background-color:#444;color:var(--text-muted);border-radius:10px;padding:1px 8px;font-size:.7em;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.room-visibility-unlisted{background-color:#4a3a2a;color:color-mix(in oklab,#ffc832,var(--on-text) var(--accent-lean))}.room-panel-owner{font-size:.9em;opacity:.85;flex:0 0 auto;white-space:nowrap}.audience-section{margin:4px 0}.audience-section h3{margin:0 0 4px;font-size:1em}.audience-list{font-size:.9em;opacity:.85}.audience-empty{font-size:.85em;opacity:.55}.participant-audience-you{font-weight:600}.audience-compact{margin-left:12px;font-size:.8em;opacity:.65}.room-current h3{margin:0 0 6px;font-size:1em}.room-current-card{background-color:var(--box-fill);--on-text: var(--on-box);color:var(--on-text);border:1px solid #383838;border-radius:6px;padding:10px 12px;font-weight:600}.room-current-empty{font-size:.85em;opacity:.55}.room-proposals h3{margin:0 0 6px;font-size:1em}.room-proposals-empty{font-size:.85em;opacity:.55}.room-proposals-list{display:flex;flex-direction:column;gap:8px}.room-proposal{background-color:var(--box-fill);--on-text: var(--on-box);color:var(--on-text);border:1px solid #383838;border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.room-proposal-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.room-proposal-label{font-weight:600}.room-proposal-by{font-size:.85em;opacity:.75}.room-proposal-reserved{font-size:.8em;opacity:.65}.room-proposal-options{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.8em;opacity:.85}.room-proposal-option{border:1px solid #4a4a4a;border-radius:4px;padding:1px 6px;white-space:nowrap}.room-proposal-actions{display:flex;gap:6px;flex-wrap:wrap}.room-proposal-actions .action-button{padding:4px 12px;font-size:.85em}.reserved-tag{display:inline-block;background-color:#3a3a5a;color:color-mix(in oklab,#b7b7ff,var(--on-text) var(--accent-lean));border-radius:10px;padding:1px 8px;font-size:.7em;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.reserved-tag-you{background-color:#2a4a2a;color:color-mix(in oklab,#4eff4a,var(--on-text) var(--accent-lean))}.room-propose-actions,.room-settings-actions{display:flex;gap:8px;flex-wrap:wrap}.room-propose-actions .action-button,.room-settings-actions .action-button{flex:1 1 auto;white-space:nowrap}.room-replay-empty{padding:12px 4px;opacity:.7;font-size:.9em}.room-replay-list{display:flex;flex-direction:column;gap:8px;max-height:50vh;overflow-y:auto}.room-replay-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;text-align:left;background-color:var(--box-fill);--on-text: var(--on-box);color:var(--on-text);border:1px solid #383838;border-radius:6px;padding:10px 12px;color:inherit;cursor:pointer;font:inherit}.room-replay-item:hover{border-color:#4a9eff}.room-replay-item.is-selected{border-color:#4a9eff;background-color:#4a9eff1f}.room-replay-config{font-weight:600}.room-replay-details{font-size:.85em;opacity:.75}.room-replay-date{margin-left:auto;font-size:.8em;opacity:.6}.chat-panel{display:flex;flex-direction:column;gap:8px;border:1px solid #333;border-radius:8px;padding:12px;background-color:#ffffff05}.chat-panel-title{margin:0;font-size:1em}.chat-messages{display:flex;flex-direction:column;gap:8px;max-height:320px;min-height:120px;overflow-y:auto;padding-right:4px}.chat-empty{font-size:.85em;opacity:.5;padding:8px 0}.chat-message{display:flex;flex-direction:column;gap:2px;padding:4px 6px;border-radius:6px}.chat-message-own{background-color:#4a9eff14;border-left:2px solid rgba(74,158,255,.4)}.chat-message-head{display:flex;align-items:center;gap:8px}.chat-message-sender{font-weight:600;font-size:.85em;min-width:0}.chat-message-time{font-size:.7em;opacity:.5;margin-left:auto;flex-shrink:0;white-space:nowrap}.chat-message-body{font-size:.9em;line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere}.chat-input-row{display:flex;flex-direction:column;gap:6px}.chat-input{background-color:#2a2a2a;color:#fff;border:2px solid #444;padding:8px 10px;border-radius:6px;font-size:14px;font-family:inherit;outline:none;resize:vertical;transition:border-color .2s}.chat-input:focus{border-color:#4a9eff}.chat-input:disabled{opacity:.6}.chat-input::placeholder{color:var(--text-faint)}.chat-input-meta{display:flex;align-items:center;gap:10px}.chat-char-count{font-size:.75em;opacity:.6}.chat-char-count-over{color:color-mix(in oklab,#ff6b6b,var(--on-text) var(--accent-lean));opacity:1}.chat-rate-hint{font-size:.78em;color:color-mix(in oklab,#ffb454,var(--on-text) var(--accent-lean))}.chat-send{margin-left:auto;padding:6px 16px;font-size:13px}.chat-signin-hint{font-size:.85em;opacity:.6;padding:6px 0}.room-stage{min-width:0}.room-stage-empty .empty-state{margin-top:40px}.seating-view,.replay-activity-card{display:flex;flex-direction:column;gap:14px}.seating-header{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.seating-header h2{margin:0}.seating-variant{opacity:.7;font-size:.9em}.participant-seats{display:flex;flex-direction:column;gap:8px}.participant-seat{background-color:var(--box-fill);--on-text: var(--on-box);color:var(--on-text);border-radius:6px;padding:12px 16px;display:flex;align-items:center;gap:12px;border-left:3px solid #444}.participant-seat-you{border-left-color:#4a9eff}.participant-seat-reserved{border-left-color:#6a6ab0;opacity:.85}.participant-seat-empty{opacity:.5;border-left-color:#333}.participant-seat-number{font-size:.85em;opacity:.6;min-width:50px}.participant-seat-name{font-weight:700;flex:1}.participant-seat-open{font-weight:400;opacity:.6}.ready-badge{font-size:.7em;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:10px;padding:1px 8px}.ready-badge-on{background-color:#2a4a2a;color:color-mix(in oklab,#4eff4a,var(--on-text) var(--accent-lean))}.ready-badge-off{background-color:#444;color:var(--text-muted)}.seating-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.seating-actions .action-button{margin-top:0;font-size:16px;padding:12px 32px}.seating-msg{font-size:.9em;opacity:.7}.replay-activity-body{display:flex;flex-direction:column;gap:4px}.replay-activity-name{font-size:1.1em;font-weight:600}.proposal-badge{background-color:#3a3a5a;color:color-mix(in oklab,#b7b7ff,var(--on-text) var(--accent-lean))}.create-proposal-toggle{margin:8px 0;font-size:.9em}.create-proposal-fields{margin-top:8px}.room-password-gate{display:flex;flex-direction:column;gap:12px;max-width:360px;margin:40px auto;text-align:center}.room-password-gate .text-input{text-align:center}@media (max-width: 900px){.room-panel.room-band{min-height:0}.room-band-lanes{flex-direction:column}.room-band-titlebar{flex-wrap:wrap;row-gap:6px}.room-band-lane,.room-band-lane-chat{overflow:visible;max-width:none}.room-audience-box{flex:0 0 auto;min-height:0;max-height:none;overflow:visible}.room-band-lane-chat .chat-panel,.room-band-lane-chat .chat-messages-wrap{flex:0 0 auto}.room-band-lane-chat .chat-messages{max-height:320px;min-height:120px;height:auto}}.shared-review{display:flex;flex-direction:column;gap:14px}.review-direction-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.review-director-badge{display:inline-flex;align-items:center;gap:6px;background-color:#2a2a2a;border-radius:12px;padding:4px 12px;font-size:.9em}.review-director-you{background-color:#1f3a5f;color:color-mix(in oklab,#9ecbff,var(--on-text) var(--accent-lean));font-weight:600}.review-rematch-button{margin-left:auto}.review-raised-hands{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.review-raised-hand{display:inline-flex;align-items:center;gap:8px;background-color:var(--box-fill);--on-text: var(--on-box);color:var(--on-text);border-radius:12px;padding:4px 10px;font-size:.9em}.review-grant-button{font-size:.85em;padding:2px 10px}.review-hypo-request{display:inline-flex;align-items:center;gap:8px;background-color:#2a2a2a;border-radius:12px;padding:4px 10px;font-size:.9em}.review-hypo-accept,.review-hypo-dismiss{font-size:.85em;padding:2px 10px}.hypo-code-box{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;max-width:100%;min-width:0}.hypo-code-input{flex:0 0 auto;box-sizing:border-box;width:20ch;padding:8px 10px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hypo-code-refusal,.hypo-code-accepted{flex:1 0 100%;min-width:0;font-size:.9em;margin-top:2px}.hypo-code-accepted{opacity:.85}.hypo-code-summary{font-family:monospace;font-size:.9em;opacity:.9}.hypo-code-steps{opacity:.75}.review-follow-status{display:flex;align-items:center;gap:14px;flex-wrap:wrap;opacity:.85}.shared-hypo{display:flex;flex-direction:column;gap:12px}.shared-hypo-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.shared-hypo-badge{display:inline-flex;align-items:center;gap:6px;background-color:#3a2f1f;color:color-mix(in oklab,#f0d9a0,var(--on-text) var(--accent-lean));border-radius:12px;padding:4px 12px;font-size:.9em;font-weight:600}.shared-hypo-rejoin{background-color:#3a2f1f;border-color:#6b5730}.shared-hypo-unreproducible,.shared-hypo-conflict{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.shared-hypo-unavailable{margin:8px 0;padding:8px 14px}.review-share-hypo-button{font-weight:600}.review-board-directing .card,.review-board-directing .counter,.review-board-directing .play-stack,.review-board-directing .discard-fan-group{cursor:pointer}@property --gesture-glow{syntax: "<color>"; inherits: true; initial-value: #ffd54a;}.gesture-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:890}.gesture-glow{position:absolute;border-radius:8px;box-shadow:0 0 0 3px color-mix(in srgb,var(--gesture-glow) 95%,transparent),0 0 22px 8px color-mix(in srgb,var(--gesture-glow) 60%,transparent);animation:gesture-pulse 2.4s ease-out forwards}@keyframes gesture-pulse{0%{opacity:0;transform:scale(1.15)}12%{opacity:1;transform:scale(1)}70%{opacity:1}to{opacity:0}}.transfer-ownership{display:flex;flex-direction:column;gap:12px}.transfer-blurb,.transfer-empty{margin:0;opacity:.85}.transfer-candidates{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.transfer-candidate{display:flex;align-items:center;gap:12px;background-color:var(--box-fill);--on-text: var(--on-box);color:var(--on-text);border-radius:6px;padding:10px 14px}.transfer-candidate .action-button{margin-left:auto}.transfer-seated-tag{font-size:.75em;text-transform:uppercase;letter-spacing:.05em;opacity:.6}.transfer-actions{display:flex;justify-content:flex-end}.feedback-body-input{width:100%;background-color:#2a2a2a;color:#fff;border:2px solid #444;padding:8px 10px;border-radius:6px;font-size:14px;font-family:inherit;outline:none;resize:vertical;transition:border-color .2s}.feedback-body-input:focus{border-color:#4a9eff}.feedback-body-input::placeholder{color:var(--text-faint)}.feedback-remaining{margin-top:6px;font-size:.8em;color:var(--text-muted);text-align:right}.feedback-remaining.over{color:color-mix(in oklab,#e74c3c,var(--on-text) var(--accent-lean))}.feedback-thanks{margin:0;color:var(--text-soft)}.feedback-list{display:flex;flex-direction:column;gap:12px;align-items:stretch}.feedback-entry{background-color:var(--box-fill);--on-text: var(--on-box);color:var(--on-text);border:1px solid #3a3a3a;border-radius:8px;padding:12px 14px}.feedback-entry-meta{display:flex;align-items:center;gap:10px;margin-bottom:8px}.feedback-when{margin-left:auto;color:var(--text-faint);font-size:.8em}.feedback-submitter-gone{color:var(--text-faint);font-style:italic}.feedback-entry-body{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-soft)}.feedback-category-badge{font-size:.75em;font-weight:700;text-transform:uppercase;padding:3px 8px;border-radius:4px;text-align:center}.feedback-category-badge.bug{background-color:#e74c3c33;color:color-mix(in oklab,#e74c3c,var(--on-text) var(--accent-lean))}.feedback-category-badge.ux{background-color:#4a9eff33;color:var(--accent-text)}.feedback-category-badge.feature{background-color:#2ecc7133;color:color-mix(in oklab,#2ecc71,var(--on-text) var(--accent-lean))}.feedback-category-badge.other{background-color:#95a5a633;color:color-mix(in oklab,#95a5a6,var(--on-text) var(--accent-lean))}.suit-appearance{position:relative;flex-shrink:0}.suit-appearance-swatch{width:30px;height:30px;border-radius:6px;border:2px solid #3a3a3a;cursor:pointer;padding:0}.suit-appearance-swatch:hover{border-color:#6a6a6a}.suit-appearance-panel{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:300px;padding:10px;background-color:var(--box-fill);--on-text: var(--on-box);color:var(--on-text);border:1px solid #3a3a3a;border-radius:8px;box-shadow:0 6px 18px #00000080;display:flex;flex-direction:column;gap:10px}.suit-appearance-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:6px}.swatch-option{width:100%;aspect-ratio:1;border-radius:4px;border:2px solid transparent;cursor:pointer;padding:0}.swatch-option:hover{border-color:#8a8a8a}.swatch-option.swatch-selected{border-color:#fff}.suit-appearance-stops{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.suit-appearance-preview{display:inline-block;width:100%;height:14px;border-radius:4px;border:1px solid #3a3a3a}.suit-stop{display:inline-flex;align-items:center;gap:2px}.suit-stop-swatch{width:24px;height:24px;border-radius:4px;border:2px solid #3a3a3a;cursor:pointer;padding:0}.suit-stop-active .suit-stop-swatch{border-color:#fff}.suit-stop-remove{background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:14px;padding:0 2px}.suit-stop-remove:hover:not(:disabled){color:color-mix(in oklab,#e74c3c,var(--on-text) var(--accent-lean))}.suit-stop-remove:disabled{opacity:.3;cursor:default}.suit-stop-add{font-size:.8em;padding:3px 8px}.wizard-actions{display:flex;gap:10px;align-items:center}.suit-swatch-strip{display:inline-flex;gap:2px;vertical-align:middle}.suit-swatch{width:12px;height:12px;border-radius:3px;border:1px solid rgba(0,0,0,.4)}.variant-picker-group{padding:6px 10px 2px;font-size:.75em;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);border-top:1px solid #3a3a3a}.catalogue-option{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.variant-picker-option .db-variant-description{margin-top:-2px;font-size:.8em;color:var(--text-muted);white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.catalogue-option-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalogue-option-aside{display:flex;align-items:center;gap:8px;margin-left:auto;flex:0 1 auto;min-width:0;overflow:hidden;opacity:.75}.catalogue-option-owner{color:var(--text-faint);font-size:.85em;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-variants{margin-top:24px}.profile-variant-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}.profile-variant-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background-color:var(--box-fill);--on-text: var(--on-box);color:var(--on-text);border:1px solid #3a3a3a;border-radius:8px;flex-wrap:wrap}.profile-variant-name{font-weight:600}.profile-variant-details{color:var(--text-muted);font-size:.85em}.profile-variant-actions{margin-left:auto;display:flex;gap:8px}.variant-delete-btn{color:color-mix(in oklab,#e08585,var(--on-text) var(--accent-lean))}html,body{overflow-x:hidden}@media (max-width: 900px){.app{--app-pad: 12px}.shared-top-row{flex-wrap:wrap}.zone{max-width:100%}.card{min-height:0;max-height:none}:root{--card-w: clamp(44px, 13vw, var(--shared-card-w));--card-h: clamp(62px, 18.2vw, var(--shared-card-h))}.game-layout-hands .zone{--card-w: clamp( 36px, calc((100vw - 2 * var(--app-pad) - 25px - (var(--hand-cards, 5) - 1) * 4px) / var(--hand-cards, 5)), var(--hand-card-w) );--card-h: calc(var(--card-w) * 7 / 5)}.cards{gap:4px}.cards:not(.cards-wrap){overflow-x:auto}.clue-pip{font-size:9px}.clue-panel{max-width:100%}.card-note-editor,.card-tooltip{max-width:calc(100vw - 16px)}}@media (max-width: 600px){.game-layout-transport{justify-self:stretch}}@media (max-width: 450px){.zone,.clue-panel{width:auto}.game-layout-hands,.shared-discards,.game-layout-actions{justify-self:stretch}.game-layout-hands .game-board{width:auto}}@media (pointer: coarse){.action-button,.clue-btn,.rank-btn,.other-btn,.player-btn{min-height:44px}.clue-btn{padding:10px 0}.touch-cell{width:36px;height:36px}}@media (max-width: 700px){.rooms-table{display:block;min-width:0}.rooms-table thead{display:none}.rooms-table tbody{display:flex;flex-direction:column;gap:10px}.rooms-tr{display:grid;grid-template-columns:1fr auto;grid-template-areas:"room watching" "host host" "players players" "activity activity" "variant active";gap:4px 10px;padding:12px;background-color:#2a2a2a;border-radius:8px;border-bottom:none}.rooms-table td{display:block;padding:0;min-width:0}.col-room{grid-area:room}.col-host{grid-area:host}.col-players{grid-area:players}.col-watching{grid-area:watching;justify-self:end}.col-activity{grid-area:activity}.col-variant{grid-area:variant}.col-active{grid-area:active;justify-self:end}.col-watching:before{content:"watching ";font-size:.8em;opacity:.6}.col-watching:has(.rooms-zero),.col-activity:has(.rooms-zero),.col-variant:has(.rooms-zero){display:none}}.context-menu{position:fixed;z-index:1100;min-width:190px;background-color:#23232b;border:1px solid #444;border-radius:6px;padding:4px;box-shadow:0 6px 18px #00000080;display:flex;flex-direction:column}.context-menu-item{display:flex;flex-direction:column;align-items:flex-start;gap:1px;background:none;border:none;color:inherit;font:inherit;text-align:left;padding:7px 10px;border-radius:4px;cursor:pointer}.context-menu-item:hover,.context-menu-item:focus-visible{background-color:#ffffff14;outline:none}.context-menu-danger{color:color-mix(in oklab,#ff6b6b,var(--on-text) var(--accent-lean))}.context-menu-hint{font-size:.75em;opacity:.6}.warning-banner{display:block;background-color:#b5541c;color:#fff;text-decoration:none;text-align:center;font-weight:600;padding:8px 16px;border-radius:6px;margin:4px 0 12px}.warning-banner:hover{background-color:#cf6224}.chat-message-purged{font-style:italic;opacity:.55}.chat-purged-badge{margin-left:6px;font-size:.7em;font-style:normal;text-transform:uppercase;letter-spacing:.05em;color:color-mix(in oklab,#ff6b6b,var(--on-text) var(--accent-lean));border:1px solid rgba(255,68,68,.4);border-radius:4px;padding:0 4px;vertical-align:middle}.name-purged{font-style:italic;opacity:.55}.chat-messages-wrap{position:relative;display:flex;flex-direction:column;min-height:0}.chat-jump-newest{position:absolute;right:12px;bottom:8px;width:30px;height:30px;border-radius:50%;border:1px solid #555;background-color:#2d2d38;color:inherit;font-size:1em;cursor:pointer;box-shadow:0 2px 8px #0006}.chat-jump-newest:hover{background-color:#3a3a48}.report-target{margin:10px 0;padding:8px 12px;border-left:3px solid #666;background-color:#ffffff0a;border-radius:0 6px 6px 0;font-style:italic;overflow-wrap:anywhere}.rename-input{width:100%;box-sizing:border-box}.purge-scope{border:1px solid #333;border-radius:6px;padding:8px 12px;margin:10px 0}.purge-scope legend{font-size:.85em;opacity:.7;padding:0 4px}.purge-scope-option{display:flex;align-items:center;gap:8px;padding:3px 0;cursor:pointer}.reports-screen{display:flex;flex-direction:column;gap:20px;text-align:left}.reports-section h3{margin:0 0 8px}.notice-list,.report-list{display:flex;flex-direction:column;gap:10px}.notice-entry,.report-entry{border:1px solid #333;border-radius:8px;padding:10px 14px;background-color:#ffffff05}.notice-unread{border-color:#b5541c;background-color:#b5541c14}.notice-meta,.report-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:.85em;margin-bottom:6px}.notice-kind-badge,.report-kind-badge{border:1px solid #555;border-radius:4px;padding:1px 6px;font-size:.85em;text-transform:uppercase;letter-spacing:.04em;opacity:.85}.notice-kind-chat_timeout,.notice-kind-ban{color:color-mix(in oklab,#ff6b6b,var(--on-text) var(--accent-lean));border-color:#f446}.notice-new{color:color-mix(in oklab,#ffb26b,var(--on-text) var(--accent-lean));font-weight:700;text-transform:uppercase;font-size:.8em}.notice-actions,.report-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.report-when{opacity:.55}.report-status-open{color:color-mix(in oklab,#7ab8ff,var(--on-text) var(--accent-lean))}.report-status-resolved{opacity:.7}.report-parties{display:inline-flex;align-items:center;gap:6px}.report-parties-arrow{opacity:.5}.report-context summary{cursor:pointer;font-size:.85em;opacity:.75;margin:4px 0}.report-context-list{display:flex;flex-direction:column;gap:2px;font-size:.85em;padding:6px 10px;border-left:2px solid #444;margin:4px 0}.report-context-reported{background-color:#ff44441f;border-radius:4px;padding:1px 4px}.report-context-sender{font-weight:600;opacity:.8}.reports-resolved summary{cursor:pointer;margin:10px 0 6px;opacity:.75}.report-thanks{margin:4px 0 10px}.warn-reporter-button{background-color:#4a2a6a;border-color:#8a5ec2;background-image:repeating-linear-gradient(45deg,rgba(186,133,255,.28) 0 6px,transparent 6px 12px)}.warn-reporter-button:hover{background-color:#5c3585}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.db-screen h2{margin-bottom:16px}.db-screen-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.db-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-bottom:16px;padding:12px 14px;background-color:var(--box-fill);--on-text: var(--on-box);color:var(--on-text);border-radius:6px}.db-filter-field{display:flex;flex-direction:column;gap:4px}.db-filter-field label{font-size:.8em;color:var(--text-muted)}.db-filter-field .text-input,.db-filter-field input,.db-filter-field select{min-width:0}.db-filter-field input[type=text]{width:160px}.db-score-range{display:flex;align-items:center;gap:6px}.db-score-range input{width:64px}.db-filter-actions{display:flex;gap:8px}a.action-button{display:inline-block;text-decoration:none;text-align:center}.copy-link-btn,.pin-btn{background:none;border:1px solid #555;border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:13px;line-height:1;padding:4px 7px;transition:all .15s}.copy-link-btn:hover,.pin-btn:hover{border-color:#4a9eff;color:var(--accent-text)}.copy-link-btn.is-copied{border-color:#4caf50;color:color-mix(in oklab,#4caf50,var(--on-text) var(--accent-lean))}.pin-btn.is-pinned{border-color:#e6b800;color:color-mix(in oklab,#e6b800,var(--on-text) var(--accent-lean))}.replay-item .copy-link-btn{margin-left:auto}.col-gdb-players{min-width:140px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-gdb-score{min-width:60px}.col-gdb-actions{white-space:nowrap}.col-gdb-actions .pin-btn{margin-left:6px}.db-variant-list{display:flex;flex-direction:column;gap:10px}.db-variant-section+.db-variant-section{margin-top:22px}.db-variant-section-title{display:flex;align-items:baseline;gap:8px;margin:0 0 8px;font-size:1em;color:var(--text-soft)}.db-variant-section-note{font-size:.8em;font-weight:400;color:var(--text-faint)}.db-blessed-item{border-left:3px solid #c9a227}.db-showcase-item{border-left:3px solid #4a90b8}.db-showcase-badge{padding:1px 6px;border-radius:999px;background:#1e2e38;border:1px solid #4a90b8;color:color-mix(in oklab,#7fc4e8,var(--on-text) var(--accent-lean));font-size:.72em;font-weight:600;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}.variant-source-problem{font-size:.85em;color:color-mix(in oklab,#e0a0a0,var(--on-text) var(--accent-lean))}.db-blessed-badge{padding:1px 6px;border-radius:999px;background:#3a3320;border:1px solid #c9a227;color:color-mix(in oklab,#e0c060,var(--on-text) var(--accent-lean));font-size:.72em;font-weight:600;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}.db-blessed-description{flex-basis:100%;font-size:.85em;color:var(--text-muted)}.db-blessed-source{font-size:.8em;color:var(--text-faint)}.db-variant-description{flex-basis:100%;font-size:.85em;color:var(--text-muted);white-space:pre-wrap;overflow-wrap:anywhere}.db-variant-owner{font-size:.85em;color:var(--text-muted)}.db-variant-records{font-size:.85em;color:var(--text-muted);display:flex;flex-wrap:wrap;gap:4px 10px}.db-variant-record{color:color-mix(in oklab,#d4b106,var(--on-text) var(--accent-lean));cursor:default}.db-variant-equivalents{font-size:.85em;color:var(--text-muted)}.db-variant-equivalents a{color:var(--accent-text)}.create-activity-choice{margin:8px 0;padding:8px 12px;border:1px solid #444;border-radius:6px;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.9em}.create-activity-choice legend{padding:0 4px;color:var(--text-muted);font-size:.9em}.create-activity-option{cursor:pointer}.proposal-db-link{font-size:.85em;color:var(--text-muted)}.proposal-db-link a{color:var(--accent-text)}.profile-db-links{display:flex;gap:10px;margin-bottom:20px}.profile-hlive-setting{margin-bottom:20px}.profile-showcase{margin-bottom:24px}.profile-showcase h4{margin:12px 0 8px;color:var(--text-muted)}.profile-showcase-hint{color:var(--text-muted);font-size:.9em}.profile-showcase-hint a{color:var(--accent-text)}.variant-picker-footer{position:sticky;bottom:-4px;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px -4px -4px;padding:8px 12px;border-top:1px solid #444;border-bottom-left-radius:4px;border-bottom-right-radius:4px;background-color:#2f2f2f}.variant-picker-footer .custom-variant-btn{flex:0 0 auto;padding:6px 12px;font-size:13px}.variant-picker-footer a:not(.action-button){color:var(--accent-text);text-decoration:none;white-space:nowrap}.variant-picker-footer a:not(.action-button):hover{text-decoration:underline}.variant-picker-summary{color:var(--text-muted);font-size:.85em;flex-shrink:0;white-space:nowrap}.db-aliases-back{margin-bottom:16px}.db-aliases-back a{color:var(--accent-text)}.db-aliases-subhead{margin:16px 0 8px;color:var(--text-muted)}.resolution-chooser-lead{margin:0 0 12px;color:var(--text-muted);font-size:.9em}.resolution-chooser-outcomes{display:flex;flex-direction:column;gap:8px}.resolution-outcome{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;width:100%}.resolution-outcome-summary{flex:1}.resolution-outcome-ends{color:color-mix(in oklab,#e0a34a,var(--on-text) var(--accent-lean));font-size:.8em;white-space:nowrap}.resolution-chooser-actions{display:flex;justify-content:flex-end;margin-top:16px}.position-editor-body{display:flex;flex-direction:column;gap:12px;min-width:0}@media (min-width: 1100px){.position-editor-body.position-editor-docked{flex-direction:row;align-items:flex-start;gap:24px}.position-editor-docked .position-editor-zones{flex:1 1 auto;min-width:0}.position-picker-dock{flex:0 0 auto;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow-y:auto}}.position-picker-dock .position-picker{margin-top:0;border:1px solid rgba(255,255,255,.12)}.position-zone-focused{background:rgba(90,150,220,.12);box-shadow:inset 0 0 0 1px #78b4ff80}.position-card-armed{box-shadow:0 0 0 2px #ffbe46f2,0 0 14px 4px #ffb43c99;border-color:#ffc85ae6;animation:position-armed-pulse 1.4s ease-in-out infinite}@keyframes position-armed-pulse{50%{box-shadow:0 0 0 2px #ffbe46f2,0 0 20px 7px #ffb43cd9}}@media (prefers-reduced-motion: reduce){.position-card-armed{animation:none}}.position-picker-substituting{box-shadow:inset 0 0 0 1px #ffbe468c}.position-picker-substituting .position-picker-head{color:color-mix(in oklab,#ffcf80,var(--on-text) var(--accent-lean))}.position-insert-bar{flex:0 0 auto;align-self:flex-start;width:4px;height:var(--card-h);margin:0 -2px;border-radius:2px;background:rgba(120,200,255,.95);box-shadow:0 0 8px 2px #78c8ffd9,0 0 16px 5px #50aaff80;pointer-events:none}.position-picker-cell.position-cell-met{opacity:.72;filter:saturate(.72)}.position-picker-cell.position-cell-met:hover{opacity:1;filter:none}.position-picker-cell.position-cell-exceeded{background-image:repeating-linear-gradient(45deg,rgba(255,90,90,.55) 0,rgba(255,90,90,.55) 4px,transparent 4px,transparent 9px);box-shadow:inset 0 0 0 2px #ff6e6ed9}.position-cell-badge{position:absolute;top:1px;right:2px;padding:0 3px;border-radius:6px;background:rgba(200,40,40,.95);color:#fff;font-size:9px;font-weight:700;line-height:13px;pointer-events:none}.position-picker-cell{position:relative;cursor:grab}.position-picker-cell:active{cursor:grabbing}.ui-configs-screen{max-width:860px;margin:0 auto;padding:1rem}.ui-configs-intro{color:var(--text-secondary, #aaa);margin-bottom:1rem}.ui-config-rows{display:flex;flex-direction:column;gap:.75rem}.ui-config-row{border:1px solid var(--border-color, #444);border-radius:8px;padding:.75rem;background:var(--panel-bg, rgba(255, 255, 255, .03))}.ui-config-row-disabled{border-style:dashed;background:var(--panel-bg-muted, rgba(255, 255, 255, .01))}.ui-config-row-disabled .ui-config-name,.ui-config-row-disabled .ui-config-scope,.ui-config-row-disabled .ui-config-yaml{opacity:.6}.ui-config-row-disabled .ui-config-enabled-option{opacity:1}.ui-config-row-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.ui-config-name{flex:0 1 220px;font-weight:600}.ui-config-scope-summary{flex:1;color:var(--text-secondary, #aaa);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-config-row-actions{display:flex;gap:.35rem}.ui-config-scope{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.35rem;font-size:.9rem}.ui-config-scope-label{color:var(--text-secondary, #aaa)}.ui-config-timing-option{display:inline-flex;align-items:center;gap:.25rem;cursor:pointer}.ui-config-regex{flex:1 1 180px;font-family:monospace}.ui-config-preview{font-size:.8rem;color:var(--text-secondary, #9c9);margin-bottom:.35rem}.ui-config-preview-warn{color:color-mix(in oklab,#e6b34c,var(--on-text) var(--accent-lean))}.ui-config-preview-error{color:color-mix(in oklab,#e66,var(--on-text) var(--accent-lean))}.ui-config-yaml{width:100%;font-family:monospace;font-size:.85rem;resize:vertical;box-sizing:border-box}.ui-configs-actions{display:flex;align-items:center;gap:.75rem;margin:1rem 0}.ui-configs-save-error{color:color-mix(in oklab,#e66,var(--on-text) var(--accent-lean));font-size:.9rem}.ui-configs-conflicts h3{margin-bottom:.35rem}.ui-configs-conflict-hint{color:var(--text-secondary, #aaa);font-size:.9rem;margin-bottom:.75rem}.ui-config-conflict-set{border:1px solid #7a5a2a;border-radius:8px;padding:.6rem .75rem;margin-bottom:.75rem}.ui-config-conflict-paths{font-size:.85rem;margin-bottom:.4rem}.ui-config-conflict-paths code{margin-left:.4rem;padding:.05rem .3rem;background:rgba(255,255,255,.07);border-radius:4px}.ui-config-conflict-members{margin:0;padding-left:1.25rem}.ui-config-conflict-members li{margin:.15rem 0}.ui-config-conflict-members .conflict-superseded{opacity:.55}.ui-config-make-win{margin-left:.6rem;font-size:.75rem}.ui-config-infobox{position:relative;display:inline-flex}.ui-config-infobox-toggle{font-size:.75rem;padding:.15rem .5rem;border-radius:6px;border:1px solid var(--border-color, #444);background:rgba(255,255,255,.06);color:inherit;cursor:pointer}.ui-config-infobox-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:40;min-width:320px;max-width:460px;max-height:320px;overflow-y:auto;padding:.6rem .75rem;border:1px solid var(--border-color, #444);border-radius:8px;background:var(--panel-bg, #1d1d22);box-shadow:0 6px 18px #00000073;font-size:.8rem;text-align:left}.ui-config-infobox-title{font-weight:600;margin-bottom:.4rem}.ui-config-infobox-empty{color:var(--text-secondary, #aaa)}.ui-config-infobox-leaves{list-style:none;margin:0;padding:0}.ui-config-infobox-leaves li{margin:.2rem 0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem}.ui-config-layer{padding:.02rem .35rem;border-radius:4px;font-weight:600}.ui-config-layer-user{background:rgba(80,160,255,.18)}.ui-config-layer-variant{background:rgba(160,120,255,.18)}.ui-config-shadowed{color:var(--text-secondary, #999);font-size:.72rem}.ui-config-layer-link{color:inherit;text-decoration:none}a.ui-config-layer-link:hover{text-decoration:underline}.ui-config-infobox-base-count{margin-top:.45rem;color:var(--text-secondary, #999)}.ui-config-infobox-tune{margin-top:.55rem;padding-top:.5rem;border-top:1px solid var(--border-color, #444);color:var(--text-secondary, #aaa);line-height:1.5}.ui-config-infobox-tune code{color:inherit;background:rgba(255,255,255,.08);border-radius:3px;padding:0 .2em}.ui-config-db-filters{display:flex;gap:.5rem;margin-bottom:.75rem}.ui-config-db-name{font-weight:600}.ui-config-copy-state{font-size:.8rem;color:var(--text-secondary, #9c9);align-self:center}.ui-config-db-yaml{font-family:monospace;font-size:.85rem;background:rgba(255,255,255,.05);border-radius:6px;padding:.5rem;overflow-x:auto}.ui-configs-platform{margin-top:1.25rem}.ui-config-platform-layer{margin-bottom:.4rem}.ui-config-platform-layer summary{cursor:pointer;color:var(--text-secondary, #bbb)}.ui-bundle{border:1px solid var(--border-color, #446);border-radius:8px;padding:.7rem .85rem;margin:.75rem 0;text-align:left}.ui-bundle-banner{border-color:#4a6fa5;background:rgba(80,140,220,.08)}.ui-bundle-title{font-weight:600;margin-bottom:.5rem}.ui-bundle-diff{border-collapse:collapse;font-size:.85rem;margin-bottom:.5rem}.ui-bundle-diff th,.ui-bundle-diff td{text-align:left;padding:.15rem .75rem .15rem 0}.ui-bundle-diff th{color:var(--text-secondary, #aaa);font-weight:500}.ui-bundle-diff-shadowed td,.ui-bundle-diff-already_equal td{opacity:.6}.ui-bundle-outcome{color:var(--text-secondary, #9c9);font-size:.78rem}.ui-bundle-yaml summary{cursor:pointer;color:var(--text-secondary, #bbb);font-size:.85rem}.ui-bundle-actions{display:flex;align-items:center;gap:.6rem;margin-top:.5rem}.ui-bundle-decided{color:var(--text-secondary, #aaa);font-size:.9rem}.ui-bundle-editor{margin-top:.75rem}.sandbox-entry{display:flex;flex-direction:column;gap:12px;padding:12px}.sandbox-yaml-paste-details{margin:12px 0}.sandbox-yaml-paste-details>summary{cursor:pointer;font-size:.85em;opacity:.85}.sandbox-yaml-paste{display:flex;flex-direction:column;gap:8px;margin-top:8px;padding:10px 12px;border:1px solid rgba(58,214,214,.6);border-radius:6px;background:rgba(58,214,214,.12)}.sandbox-yaml-paste-field{display:flex;flex-direction:column;gap:6px;font-size:.85em}.sandbox-yaml-paste-input{width:100%;box-sizing:border-box;padding:6px 8px;border:1px solid rgba(255,255,255,.25);border-radius:4px;background:rgba(0,0,0,.35);color:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;resize:vertical}.sandbox-yaml-paste-note{margin:0;font-size:.8em;opacity:.75}.sandbox-yaml-paste-problem{margin:0;padding:6px 8px;border-radius:4px;background:rgba(214,58,58,.18);color:color-mix(in oklab,#ffb3b3,var(--on-text) var(--accent-lean));font-size:.85em;white-space:pre-wrap}.sandbox-yaml-paste-submit{align-self:flex-start}.modal-yaml-editor{max-width:min(980px,calc(100vw - 32px))}.yaml-editor,.yaml-editor-body{display:flex;flex-direction:column;gap:10px}.yaml-editor-controls{display:flex;flex-wrap:wrap;gap:12px}.yaml-editor-field{display:flex;flex-direction:column;gap:4px;flex:1 1 220px;min-width:0}.yaml-editor-source-field{display:flex;flex-direction:column;gap:4px}.yaml-editor-label{font-size:.8em;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.yaml-editor-starter{min-width:0}.yaml-editor-source{width:100%;box-sizing:border-box;min-height:22em;padding:8px 10px;border:1px solid rgba(255,255,255,.25);border-radius:4px;background:rgba(0,0,0,.35);color:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em;line-height:1.45;resize:vertical;white-space:pre;overflow:auto}.yaml-editor-problem{margin:0;padding:8px 10px;border-radius:4px;background:rgba(214,58,58,.18);color:color-mix(in oklab,#ffb3b3,var(--on-text) var(--accent-lean));font-size:.85em;white-space:pre-wrap;overflow-wrap:anywhere}.yaml-editor-saved{margin:0;font-size:.85em;color:color-mix(in oklab,#8fd18f,var(--on-text) var(--accent-lean))}.yaml-editor-preview{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border:1px solid #3a3a3a;border-radius:4px;background:rgba(255,255,255,.03);font-size:.85em}.yaml-editor-preview-line{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline}.yaml-editor-preview-line span{color:var(--text-muted)}.yaml-editor-actions{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.yaml-editor-actions code{display:inline-block;padding:2px 6px;border-radius:3px;background:rgba(0,0,0,.35);font-size:.95em;overflow-wrap:anywhere}.yaml-editor-warnings{margin:0;padding-left:18px;color:color-mix(in oklab,#e0c07a,var(--on-text) var(--accent-lean))}.yaml-editor-footer{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
