*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:#1a1a1a;background-image:url(/assets/background-dark.jpg);background-size:cover;background-position:center;background-attachment:fixed;color:#fff}.app{min-height:100vh;min-height:100dvh;padding:20px}.game-container{max-width:1200px;margin:0 auto}.player-switcher{display:flex;gap:8px;margin:16px 0}.player-btn{background-color:#2a2a2a;color:#ccc;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-info{padding:8px 16px;border-radius:6px;background-color:#2a2a2a;margin:8px 0 16px;font-size:1.1em;text-align:center}.turn-info.my-turn{background-color:#2a4a2a;color:#4eff4a;font-weight:700}.zone{background-color:#2a2a2a;border-radius:8px;padding:16px;margin:16px 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}.hidden-label{visibility:hidden}.zone.empathy-active{border-color:#9b59b6;background-color:#2a2a3a}.zone.empathy-active.active-turn{border-left-color:#ffc832}.empathy-indicator{color:#9b59b6;font-size:.85em;font-weight:400}.hand-view-controls{margin:16px 0 0}.notes-strip-toggle{background-color:#3a3a3a;color:#ccc;border:1px solid #555;border-radius:6px;padding:8px 14px;min-height:40px;font-size:13px;cursor:pointer}.notes-strip-toggle.active{background-color:#9b59b6;border-color:#9b59b6;color:#fff}.zone-title{font-size:1.1em;font-weight:700;margin-bottom:12px}.zone-count{font-weight:400;opacity:.7}.turn-indicator{color:#ffc832;font-size:.85em}.cards{display:flex;gap:8px;flex-wrap:nowrap;align-items:flex-start}.cards.cards-wrap{flex-wrap:wrap}.card{position:relative;width:60px;height:84px;min-height:84px;max-height:84px;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}.card:hover{border-color:#ffffff80;transform:translateY(-4px)}.card.clued{transform:translateY(-4px)}.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(-4px)}.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.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.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%}.clue-info-suits,.clue-info-ranks{display:flex;justify-content:center;gap:1px;flex-wrap:wrap}.clue-pip{font-size:10px;font-weight:700;opacity:.4;width:14px;text-align:center;line-height:1.3}.clue-pip.clue-possible{opacity:1;font-size:11px}.clue-pip.clue-eliminated{opacity:.15;text-decoration:line-through}.clue-pip.clue-rank-pip{font-size:11px;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:#888}.pip-wrapper{display:inline-block;width:12px;height:12px;line-height:0}.pip-img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 .3px #000) drop-shadow(0 0 .3px #000) drop-shadow(0 1px 1px rgba(0,0,0,.3))}.pip-fade{opacity:.3}.pip-hide{display:none}.card-clue-badge{position:absolute;top:2px;right:4px;font-size:10px;opacity:.7}.card-rank{font-size:22px;line-height:1;-webkit-text-stroke:.5px rgba(0,0,0,.6);text-shadow:0 1px 2px rgba(0,0,0,.5)}.card-suit{font-size:11px;margin-top:4px;opacity:.9}.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;min-width:76px}.play-stack-label{font-size:.75em;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.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}.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}.discard-chrono-title{margin-top:12px}.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-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}.counters{display:flex;gap:16px;margin:16px 0;flex-wrap:wrap}.counter{background-color:#2a2a2a;padding:10px 16px;border-radius:6px;text-align:center;min-width:70px}.counter-name{font-size:.8em;opacity:.7;text-transform:uppercase;letter-spacing:.5px}.counter-value{font-size:1.5em;font-weight:700}.counter-value.strike{color:#e74c3c}.counter-value.pace-low{color:#4c4}.counter-value.pace-medium{color:gold}.counter-value.pace-high{color:#ff8c00}.counter-value.pace-zero{color:#f44}.actions{display:flex;gap:8px;margin:16px 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:#888;cursor:not-allowed}.clue-panel{background-color:#2a3a4a;border-radius:8px;padding:16px;margin:16px 0;width:fit-content}.clue-panel h3{margin-bottom:12px}.clue-recipients{display:flex;align-items:center;gap:8px;margin-bottom:12px}.clue-options{margin-bottom:12px}.clue-group{display:flex;align-items:center;gap:6px;margin-bottom:8px}.clue-group span{min-width:40px;font-size:.9em;opacity:.8}.clue-btn{padding:6px 12px;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:8px;width:100%}.rank-btn{background-color:#555;color:#fff;min-width:36px}.error{background-color:#ff444426;color:#ff6b6b;border:1px solid rgba(255,68,68,.3);padding:10px 16px;border-radius:6px;margin:12px 0;font-size:.9em}.field-error{color:#ff6b6b;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)}}.game-over{background-color:#2a2a2a;border:2px solid #ffc832;border-radius:8px;padding:24px;margin:24px 0;text-align:center}.game-result{font-size:1.5em;font-weight:700;margin:8px 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:#666}.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:#2a2a2a;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-picker{position:relative}.variant-picker-input{width:100%}.variant-picker-list{position:absolute;top:calc(100% + 4px);left:0;right:0;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}.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}.share-section{background-color:#2a3a4a;border-radius:8px;padding:16px;margin:16px 0;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.share-input{flex:1 1 12rem;min-width:0;cursor:pointer;text-overflow:ellipsis}.share-copy-button{flex:0 0 auto;padding:8px 16px;white-space:nowrap}.seats{display:flex;flex-direction:column;gap:8px}.seat{background-color:#2a2a2a;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:#1a1a1a;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:#e0a94a;border:1px solid rgba(255,193,74,.3);font-size:.85em;font-style:italic}.action-log{background-color:#2a2a2a;border-radius:8px;padding:16px;margin:16px 0}.action-log h3{margin-bottom:12px}.log-entries{max-height:200px;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:#4a9eff;min-width:80px;font-weight:700}.log-action{opacity:.9}.game-header{text-align:center;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;opacity:.5;padding:40px}.replay-list{display:flex;flex-direction:column;gap:8px}.replay-item{background-color:#2a2a2a;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:#333}.replay-config{font-weight:700;min-width:140px}.replay-details{opacity:.7;flex:1}.replay-date{font-size:.85em;opacity:.5}.replay-screen{margin-top:16px}.replay-controls-wrapper{padding:8px 12px;background:rgba(0,0,0,.3);border-radius:6px;margin:8px 0}.replay-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.replay-controls .action-button{min-width:40px;padding:8px 12px;font-size:16px;font-weight:700}.turn-counter{margin-left:12px;font-size:.95em;opacity:.8}.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-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:#aaa;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}.confirm-danger{background-color:#8a2a2a;border-color:#8a2a2a}.confirm-danger:hover{background-color:#a33}.replay-action-info{background-color:#2a3a4a;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:#2a2a2a;border-radius:8px;padding:16px;text-align:center}.stat-value{font-size:1.8em;font-weight:700;color:#4a9eff}.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:#00c795}.game-result-badge.defeat{background-color:#d55e002e;color:#ef7c33}.game-result-badge.draw{background-color:#f1c40f2e;color:#f1c40f}.game-result-badge.abandoned{background-color:#a6adb51f;color:#a6adb5;border-color:#a6adb599}.game-result-badge.unknown{color:#888;border-color:#444}.game-result-badge.terminated{background-color:#d09a9a1f;color:#d09a9a;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:#a78bfa;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:#4a9eff}.pagination-btn:disabled{opacity:.4;cursor:default}.pagination-btn.is-current{border-color:#4a9eff;background-color:#4a9eff26;color:#4a9eff;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:#2a2a2a}.leaderboard-row.is-you{background-color:#4a9eff1a}.lb-rank{width:50px;font-weight:700;opacity:.7}.lb-name{flex:1;font-weight:700}.lb-wins,.lb-played,.lb-winrate{width:80px;text-align:center}.lb-winrate{color:#4a9eff;font-weight:700}.sandbox-screen{margin-top:16px}.sandbox-origin{text-align:center;font-size:.85em;opacity:.6;margin-bottom:8px}.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:#4a9eff;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}.card[draggable=true]:active{cursor:grabbing}.game-layout{display:flex;flex-wrap:wrap;gap:16px}.game-layout-left{flex:1 1 0;min-width:0}.game-layout-right{flex:0 0 auto}.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-editor-close{background:none;border:none;color:#aaa;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:#ccc}.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:#4a9eff}.note-matrix-cell.eliminated{background-color:transparent;color:#555}.note-matrix-cell.auto-eliminated{background-color:#6464641a;color:#444;cursor:not-allowed;text-decoration:line-through}.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}.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:#aaa;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:#ccc;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:#888;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:#ccc;width:60px}.note-text{width:100%;font-size:12px;padding:6px;border:1px solid #444;border-radius:4px;background-color:#1a1a1a;color:#ccc;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:#adf}.tooltip-cell.eliminated{color:#444;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:#aaa;font-style:italic}.tooltip-text{margin-top:4px;color:#ccc;white-space:pre-wrap}.card-note-badges{position:absolute;bottom:2px;left:2px;display:flex;gap:2px;flex-wrap:wrap;max-width:calc(100% - 4px)}.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}.rewind-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;background:rgba(0,0,0,.3);border-radius:6px;margin:8px 0}.sandbox-timeline{display:flex;align-items:center;gap:8px;flex-basis:100%;flex-wrap:wrap;font-size:.85em;color:#ccc}.sandbox-timeline-slider{flex:1 1 120px;min-width:100px;max-width:260px}.sandbox-timeline-position{color:#bbb;white-space:nowrap}.sandbox-timeline-warning{color:#e0a33a;white-space:nowrap}.position-editor{display:flex;flex-direction:column;gap:12px;padding:12px;background:rgba(0,0,0,.3);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:#bbb;font-size:.9em}.position-players{display:flex;align-items:center;gap:6px;margin-left:auto;font-size:.9em;color:#ccc}.position-editor-problems{margin:0;padding:8px 8px 8px 24px;list-style:disc;background:rgba(180,60,60,.18);border-radius:4px;color:#f0b8b8;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:#ddd;font-size:.9em}.position-zone-count{color:#999;font-size:.8em}.position-zone-cards{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;min-height:40px}.position-zone-empty{color:#777;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:#ddd;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:#ccc;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:#ddd}.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:#ccc}.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:#eee;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}.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:#4a9eff;text-decoration:none;font-weight:600}.site-nav-link:hover{text-decoration:underline}.build-version{font-size:.72em;color:#888}.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:#ccc}.identity-badge{display:flex;align-items:center;gap:10px;font-size:.9em}.identity-name{color:#ddd;font-weight:600}.guest-badge{background-color:#444;color:#bbb;border-radius:10px;padding:1px 8px;font-size:.75em;text-transform:uppercase;letter-spacing:.05em}.link-button{background:none;border:none;color:#4a9eff;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:#888;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:#2a2a2a;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:#4a9eff;font-weight:600}.settings-hint{margin-top:10px;font-size:.8em;color:#888}.guest-upsell{margin-top:24px}.notice{background-color:#4a9eff26;color:#7ab8ff;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:#4a9eff}.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:#4a9eff}.rooms-th-arrow{font-size:.8em;letter-spacing:-.15em;color:#4a9eff}.rooms-tr{cursor:pointer;border-bottom:1px solid #333;transition:background-color .15s}.rooms-tr:hover{background-color:#333}.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-status{min-width:90px}.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}.rooms-host{font-size:.8em;opacity:.5;margin-top:3px}.rooms-status{display:inline-block;border-radius:10px;padding:2px 10px;font-size:.75em;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.rooms-status.status-waiting{background-color:#3a4a3a;color:#a9e5a9}.rooms-status.status-playing{background-color:#3a3a5a;color:#b7b7ff}.rooms-status.status-reviewing{background-color:#444;color:#bbb}.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;opacity:.6;white-space:nowrap}.rooms-zero{opacity:.3}.table-empty-seats{opacity:.5;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:#8fdca4}.result-defeat{background-color:#5a2222;color:#f0a3a3}.result-draw{background-color:#5a4a1d;color:#e8cf8a}.result-abandoned{background-color:#444;color:#bbb}.result-terminated{background-color:#3d2a2a;color:#d09a9a}.table-badge{display:inline-block;margin-left:8px;background-color:#444;color:#bbb;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-panel{margin:8px 0}.settings-panel-open{display:flex;flex-direction:column;gap:12px;padding:12px;border:1px solid #444;border-radius:6px;background-color:#ffffff08}.settings-panel-open h3{margin:0 0 4px}.settings-password{flex-wrap:wrap}.settings-password-state{font-size:.85em;opacity:.7;font-style:italic}.settings-actions{display:flex;gap:8px}.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:#e74c3c}.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:#2a2a2a;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{margin-bottom:20px}.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:#ff6b6b;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:#555;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;flex-wrap:wrap}.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:#e0a95a;font-size:.85em}.wizard-hand-issues li{margin:4px 0}.wizard-touch-mode{display:flex;align-items:center;gap:12px;margin:16px 0 8px}.wizard-touch-mode-label{font-size:.85em;opacity:.7}.wizard-mode-toggle{display:inline-flex;border:1px solid #3a3a3a;border-radius:6px;overflow:hidden}.wizard-mode-btn{background-color:#222;color:#ccc;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}.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:#ddd;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:#bbb;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}.wizard-create{width:100%;margin-top:8px}.wizard-hint{opacity:.6;font-size:.85em}.wizard-preview{flex:1 1 300px;min-width:0;position:sticky;top:16px;background-color:#2a3a4a;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:#ffd764;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-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:#ff6b6b;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:#e6e6f0;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:#7289da;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:#4a9eff;text-decoration:none}.profile-hlive a:hover{text-decoration:underline}.hlive-label{display:inline-block;background-color:#444;color:#bbb;border-radius:10px;padding:1px 8px;font-size:.75em;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.room-screen{display:grid;grid-template-columns:340px minmax(0,1fr);gap:20px;align-items:start;position:relative;--room-reopen-pill-height: 38px}.room-screen.room-panel-collapsed{grid-template-columns:minmax(0,1fr)}.room-screen.room-panel-collapsed .room-stage{padding-top:var(--room-reopen-pill-height)}.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-header{display:flex;flex-direction:column;gap:6px}.room-panel-titlebar{display:flex;align-items:center;gap:8px;min-width:0}.room-panel-name{margin:0;font-size:1.3em;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-collapse-btn{flex:0 0 auto;background-color:#2a2a2a;color:#ccc;border:1px solid #444;border-radius:6px;padding:2px 8px;font-size:1em;line-height:1.4;cursor:pointer}.room-collapse-btn:hover{background-color:#363636;color:#fff}.room-reopen-pill{position:absolute;top:0;left:0;z-index:5;height:var(--room-reopen-pill-height);box-sizing:border-box;background-color:#2a2a2a;color:#ccc;border:1px solid #444;border-radius:0 8px 8px 0;padding:8px 14px;font-size:.9em;font-weight:600;cursor:pointer;box-shadow:2px 2px 8px #0006}.room-reopen-pill:hover{background-color:#363636;color:#fff}.room-panel-badges{display:flex;align-items:center;gap:8px}.room-visibility{display:inline-block;background-color:#444;color:#bbb;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:#ffc832}.room-panel-owner{font-size:.9em;opacity:.85}.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:#2a2a2a;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:#2a2a2a;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-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:#b7b7ff;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:#4eff4a}.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:#2a2a2a;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}.chat-message-time{font-size:.7em;opacity:.5;margin-left:auto}.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:#666}.chat-input-meta{display:flex;align-items:center;gap:10px}.chat-char-count{font-size:.75em;opacity:.6}.chat-char-count-over{color:#ff6b6b;opacity:1}.chat-rate-hint{font-size:.78em;color:#ffb454}.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:#2a2a2a;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:#4eff4a}.ready-badge-off{background-color:#444;color:#999}.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:#b7b7ff}.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-screen{grid-template-columns:minmax(0,1fr)}}.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:#9ecbff;font-weight:600}.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:#2a2a2a;border-radius:12px;padding:4px 10px;font-size:.9em}.review-grant-button{font-size:.85em;padding:2px 10px}.review-follow-status{display:flex;align-items:center;gap:14px;flex-wrap:wrap;opacity:.85}.review-board-directing .card,.review-board-directing .counter,.review-board-directing .play-stack,.review-board-directing .discard-fan-group{cursor:pointer}.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 #ffd54af2,0 0 22px 8px #ffd54a99;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:#2a2a2a;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:#666}.feedback-remaining{margin-top:6px;font-size:.8em;color:#999;text-align:right}.feedback-remaining.over{color:#e74c3c}.feedback-thanks{margin:0;color:#ddd}.feedback-list{display:flex;flex-direction:column;gap:12px;align-items:stretch}.feedback-entry{background-color:#2a2a2a;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:#888;font-size:.8em}.feedback-submitter-gone{color:#888;font-style:italic}.feedback-entry-body{white-space:pre-wrap;overflow-wrap:anywhere;color:#ddd}.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:#e74c3c}.feedback-category-badge.ux{background-color:#4a9eff33;color:#4a9eff}.feedback-category-badge.feature{background-color:#2ecc7133;color:#2ecc71}.feedback-category-badge.other{background-color:#95a5a633;color:#95a5a6}.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:#242424;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:#888;cursor:pointer;font-size:14px;padding:0 2px}.suit-stop-remove:hover:not(:disabled){color:#e74c3c}.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:#888;border-top:1px solid #3a3a3a}.catalogue-option{display:flex;align-items:center;gap:8px;min-width:0}.catalogue-option-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalogue-option-owner{color:#888;font-size:.85em;margin-left:auto;flex-shrink:0}.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:#242424;border:1px solid #3a3a3a;border-radius:8px;flex-wrap:wrap}.profile-variant-name{font-weight:600}.profile-variant-details{color:#999;font-size:.85em}.profile-variant-actions{margin-left:auto;display:flex;gap:8px}.profile-variant-delete{color:#e08585}html,body{overflow-x:hidden}@media (max-width: 900px){.app{padding:12px}.game-layout{flex-direction:column}.game-layout-right{order:-1;flex:1 1 auto;width:100%}.zone{width:auto;max-width:100%;padding:10px;margin:10px 0}.card{width:clamp(44px,13vw,60px);height:clamp(62px,18.2vw,84px);min-height:0;max-height:none}.cards{gap:4px}.cards:not(.cards-wrap){overflow-x:auto}.clue-pip{font-size:9px}.clue-panel{width:auto;max-width:100%}.card-note-editor,.card-tooltip{max-width:calc(100vw - 16px)}}@media (pointer: coarse){.action-button,.clue-btn,.rank-btn,.player-btn,.notes-strip-toggle{min-height:44px}.clue-btn{padding:10px 14px}.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 status" "host watching" "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-status{grid-area:status;justify-self:end}.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:#ff6b6b}.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:#ff6b6b;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:#ff6b6b;border-color:#f446}.notice-new{color:#ffb26b;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:#7ab8ff}.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-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-bottom:16px;padding:12px 14px;background-color:#2a2a2a;border-radius:6px}.db-filter-field{display:flex;flex-direction:column;gap:4px}.db-filter-field label{font-size:.8em;color:#999}.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:#bbb;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:#4a9eff}.copy-link-btn.is-copied{border-color:#4caf50;color:#4caf50}.pin-btn.is-pinned{border-color:#e6b800;color:#e6b800}.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-owner,.db-variant-equivalents{font-size:.85em;color:#999}.db-variant-equivalents a{color:#4a9eff}.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:#999;font-size:.9em}.create-activity-option{cursor:pointer}.proposal-db-link{font-size:.85em;color:#999}.proposal-db-link a{color:#4a9eff}.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:#bbb}.profile-showcase-hint{color:#999;font-size:.9em}.profile-showcase-hint a{color:#4a9eff}.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:#4a9eff;text-decoration:none;white-space:nowrap}.variant-picker-footer a:not(.action-button):hover{text-decoration:underline}.variant-picker-summary{margin-left:auto;color:#999;font-size:.85em;flex-shrink:0}.db-aliases-back{margin-bottom:16px}.db-aliases-back a{color:#4a9eff}.db-aliases-subhead{margin:16px 0 8px;color:#bbb}.resolution-chooser-lead{margin:0 0 12px;color:#bbb;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:#e0a34a;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:#ffcf80}.position-insert-bar{flex:0 0 auto;align-self:flex-start;width:4px;height:84px;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-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:#e6b34c}.ui-config-preview-error{color:#e66}.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:#e66;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-infobox-base-count{margin-top:.45rem;color:var(--text-secondary, #999)}.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}
