:root{--bg:#0d1117;--panel:#161b22;--panel2:#1c2330;--line:#2d3748;--text:#e6edf3;--muted:#8b98a9;--corp:#4aa3ff;--runner:#ff6b5e;--ok:#3fd47a;--warn:#ffb020;--bad:#ff4d4d;--glow:#3fd47a;--card-sm-w:clamp(64px, min(5.3vw, 8.6vh), 96px);--card-sm-h:calc(var(--card-sm-w) * 1.41);--card-md-w:clamp(86px, min(7vw, 11.5vh), 132px);--card-md-h:calc(var(--card-md-w) * 1.41);--zoom-w:clamp(220px, min(20vw, 42vh), 330px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Noto Sans,sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--text);margin:0;font-size:14px}button{font:inherit;color:inherit;background:var(--panel2);border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:6px 10px}button:hover:not(:disabled){border-color:var(--glow)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:#1f6f43;border-color:#2ea05f;font-weight:600}button.primary.big{padding:10px 24px;font-size:1.15em}button.danger{background:#5a1d1d;border-color:#a33}button.link{color:var(--muted);background:0 0;border:none;padding:2px 0}input{font:inherit;color:inherit;background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:6px 8px}code{background:var(--panel2);border-radius:4px;padding:1px 5px}.small{color:var(--muted);font-size:.85em}.warn{color:var(--warn)}.center-box{background:var(--panel);border:1px solid var(--line);border-radius:12px;max-width:720px;margin:8vh auto;padding:24px 28px}.center-box h1{margin-top:0}.center-box form{align-items:end;gap:12px;display:flex}.center-box label{flex-direction:column;gap:4px;display:flex}.seats{gap:16px;margin:16px 0;display:flex}.seat{border:1px solid var(--line);background:var(--panel2);border-radius:10px;flex-direction:column;flex:1;gap:6px;padding:14px;display:flex}.seat.mine{border-color:var(--glow)}.seat h3{margin:0}.seat-deck{color:var(--muted);font-size:.9em}.join-help{color:var(--muted);margin-top:20px}.join-help b,.join-help code{color:var(--text)}.conn-banner{background:var(--warn);color:#000;text-align:center;z-index:100;padding:4px;font-weight:600;position:fixed;top:0;left:0;right:0}.toasts{z-index:200;flex-direction:column;gap:6px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.toast{border:1px solid var(--bad);background:#5a1d1d;border-radius:8px;padding:8px 14px}.game{grid-template-columns:minmax(0,1fr) 400px;height:100vh;display:grid;overflow:hidden}.table{background:radial-gradient(ellipse at center, #121a26 0%, var(--bg) 70%);flex-direction:column;min-width:0;display:flex;overflow:hidden}.side{border-left:1px solid var(--line);background:var(--panel);flex-direction:column;min-height:0;display:flex;overflow:hidden}.area-wrap{flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.area{scrollbar-width:thin;scrollbar-color:#3a4a60 transparent;flex:auto;align-items:flex-start;min-height:0;padding:6px 10px;display:flex;overflow:auto}.area.mine>*{margin-top:auto}.area.more-above{box-shadow:inset 0 14px 12px -12px #000c}.area.more-below{box-shadow:inset 0 -14px 12px -12px #000c}.area.more-above.more-below{box-shadow:inset 0 14px 12px -12px #000c,inset 0 -14px 12px -12px #000c}.more-hint{z-index:5;border:1px solid var(--glow);color:var(--text);cursor:pointer;background:#1b2636ee;border-radius:10px;padding:2px 12px;font-size:11px;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #000a}.more-hint.top{top:4px}.more-hint.bottom{bottom:4px}.status{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px;padding:4px 12px;display:flex}.status.corp .who b{color:var(--corp)}.status.runner .who b{color:var(--runner)}.status.active{box-shadow:inset 4px 0 0 var(--glow)}.stat{flex-direction:column;align-items:center;min-width:44px;line-height:1.1;display:inline-flex}.stat small{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72em}.stat b{font-size:1.05em}.stat.big b{font-size:1.35em}.stat.warn b{color:var(--warn)}.who{margin-right:6px}.run-strip{background:#2a1414;border-top:1px solid #5a2a2a;border-bottom:1px solid #5a2a2a;min-height:26px;padding:3px 12px;font-size:.92em}.run-strip.idle{background:0 0;border-color:#0000}.run-strip .broken{color:var(--muted);text-decoration:line-through}.card{cursor:default;border-radius:5px;flex:none;transition:transform .12s,box-shadow .12s;position:relative}.card img{object-fit:cover;border-radius:5px;width:100%;height:100%;display:block}.card.sm{width:var(--card-sm-w);height:var(--card-sm-h)}.card.md{width:var(--card-md-w);height:var(--card-md-h)}.card.rot.sm{width:var(--card-sm-h);height:var(--card-sm-w)}.card.rot img{width:var(--card-sm-w);height:var(--card-sm-h);left:calc((var(--card-sm-h) - var(--card-sm-w)) / 2);top:calc((var(--card-sm-w) - var(--card-sm-h)) / 2);position:absolute;transform:rotate(90deg)}.card.actionable{box-shadow:0 0 0 2px var(--glow), 0 0 12px var(--glow);cursor:pointer}.card.actionable:hover{transform:translateY(-3px)}.card.blocked{box-shadow:0 0 0 1px #556}.card.selected{box-shadow:0 0 0 3px var(--warn), 0 0 14px var(--warn)}.card.run-current{outline:3px solid var(--runner);outline-offset:2px}.card.private img{filter:brightness(.85)}.card .tag{text-align:center;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;background:#000000bf;border-radius:3px;padding:1px 2px;font-size:10px;position:absolute;bottom:2px;left:2px;right:2px;overflow:hidden}.card .private-tag{color:var(--muted)}.card .unrez-tag{color:var(--warn)}.card .seen-tag{color:#9fd}.card .strength{border:1px solid var(--line);background:#222c3a;border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:grid;position:absolute;top:-6px;right:-6px}.counters{pointer-events:none;flex-direction:column;gap:2px;display:flex;position:absolute;top:2px;left:2px}.counter{background:#000c;border-radius:9px;padding:0 5px;font-size:12px;font-weight:700;line-height:16px}.counter small{color:var(--muted);margin-left:2px;font-size:8px;font-weight:400}.counter.advancement{background:#1d3f7a}.counter.bits{background:#6a5300}.pile{width:var(--card-sm-w);height:var(--card-sm-h);border:1px dashed var(--line);border-radius:5px;flex:none;position:relative}.pile img{object-fit:cover;border-radius:5px;width:100%;height:100%}.pile.empty{opacity:.5}.pile.actionable{border:1px solid var(--glow);box-shadow:0 0 0 2px var(--glow), 0 0 12px var(--glow);cursor:pointer;transition:transform .1s}.pile.actionable:hover{transform:translateY(-3px)}.pile-label{text-align:center;background:#000b;border-radius:3px;font-size:10px;position:absolute;bottom:2px;left:2px;right:2px}.pile-label b{margin-left:4px}.label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;writing-mode:vertical-rl;align-self:center;font-size:.75em;transform:rotate(180deg)}.corp-area{align-items:flex-end;gap:12px;width:100%;display:flex}.corp-area.flipped{align-items:flex-start}.corp-area .forts{flex:auto;min-width:0}.corp-score .score-cards{grid-template-columns:repeat(2, var(--card-sm-w));gap:4px;display:grid}.corp-area.flipped .corp-score{order:0}.forts{align-items:flex-end;gap:10px;padding:4px;display:flex;overflow-x:auto}.corp-area.flipped .forts{align-items:flex-start}.fort{border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:4px;min-width:96px;padding:4px;display:flex}.fort.running{border-color:var(--runner);background:#2a141444}.fort.targetable{border-color:#2ea05f66}.fort-head{background:var(--panel2);border:1px solid var(--line);white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:.8em;font-weight:600}.fort-head.actionable{border-color:var(--glow);box-shadow:0 0 8px var(--glow);cursor:pointer}.fort.new-remote{border:1px dashed var(--line);justify-content:center;min-height:60px}.fort.new-remote.actionable{border-color:var(--glow);box-shadow:0 0 10px var(--glow);cursor:pointer}.ice-stack{flex-direction:column;align-items:center;gap:4px;display:flex}.fort-cards,.archives{gap:4px;display:flex}.score-row{align-items:center;gap:6px;min-height:30px;display:flex}.score-row .label{writing-mode:horizontal-tb;transform:none}.runner-area{align-items:flex-end;gap:16px;width:100%;display:flex}.runner-area.flipped{align-items:flex-start}.rig{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.rig-row{min-height:var(--card-sm-h);background:#ffffff05;border-radius:6px;align-items:center;gap:6px;padding:2px;display:flex;overflow-x:auto}.rig-row.empty{min-height:24px}.rig-row.empty .label{writing-mode:horizontal-tb;padding-left:4px;font-size:.68em;transform:none}.runner-piles{align-items:flex-start;gap:8px;display:flex}.score-col{flex-direction:column;gap:4px;min-width:70px;display:flex}.score-col .label{writing-mode:horizontal-tb;transform:none}.hand{border-top:1px solid var(--line);min-height:calc(var(--card-md-h) + 14px);background:#0a0e14;align-items:center;gap:6px;padding:6px 10px;display:flex;overflow-x:auto}.tracker{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 12px;font-size:.9em;display:flex}.turn-of.corp{color:var(--corp);font-weight:700}.turn-of.runner{color:var(--runner);font-weight:700}.run-badge{background:var(--runner);color:#000;border-radius:4px;padding:0 6px;font-weight:800}.prompt{border-bottom:1px solid var(--line);background:#12201a;max-height:48vh;padding:10px 12px;overflow:auto}.prompt.waiting{background:var(--panel);color:var(--muted)}.take-back{color:#cfe3ff;cursor:pointer;background:#22303f;border:1px solid #4b6a8a;border-radius:14px;align-self:flex-start;align-items:center;gap:8px;margin-bottom:6px;padding:3px 10px;font-size:.82em;display:inline-flex}.take-back:hover{border-color:var(--glow);background:#2c3f54}.take-back kbd{color:var(--muted);background:#0d1117;border:1px solid #4b6a8a;border-radius:4px;padding:0 5px;font-size:.85em}.prompt-title{margin-bottom:4px;font-size:1.05em;font-weight:700}.prompt-text{color:#c9d4e0;margin-bottom:8px;font-size:.92em}.choices{flex-direction:column;gap:4px;display:flex}.choice-group{flex-direction:column;gap:3px;margin-bottom:4px;display:flex}.group-title{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:4px;font-size:.72em}.choice{text-align:left;grid-template-columns:1fr auto;gap:2px 8px;padding:5px 8px;display:grid}.choice .cost{color:#ffd36b;font-weight:700}.choice .cost i{color:var(--muted);margin-left:1px;font-size:.75em;font-style:normal}.choice .why,.choice .hint{color:var(--muted);grid-column:1/-1;font-size:.78em}.choice.disabled .why{color:#d99}.choice.selected{border-color:var(--warn);background:#3a2f10}.choice.disabled{opacity:.6}button.pass{background:#2b2f3a;margin-top:6px}.multi-hint{color:var(--muted);font-size:.85em}.number-prompt,.trace-prompt{flex-direction:column;gap:8px;display:flex}.stepper{align-items:center;gap:12px;display:flex}.stepper .big{text-align:center;min-width:40px;font-size:1.8em;font-weight:800}.stepper.small{gap:6px}.boost-row{justify-content:space-between;align-items:center;display:flex}.radio{align-items:center;gap:6px;display:flex}.trace-sum{background:var(--panel2);border-radius:6px;padding:6px 8px}.note{color:var(--muted);font-size:.8em}.encounter-info{background:var(--panel2);border-radius:6px;margin-bottom:6px;padding:6px 8px}.encounter-info .subs{margin:4px 0;padding-left:18px}.encounter-info .subs .broken{color:var(--ok);text-decoration:line-through}.breakers{flex-wrap:wrap;gap:6px;display:flex}.breaker{background:#22303f;border-radius:4px;padding:1px 6px;font-size:.85em}.breaker.useless{opacity:.45}.preview{border-bottom:1px solid var(--line);gap:8px;min-height:160px;padding:8px 12px;display:flex}.preview.empty{color:var(--muted);justify-content:center;align-items:center;font-size:.9em}.preview img{object-fit:cover;border-radius:6px;flex:none;width:120px;height:169px}.preview-text{min-width:0;font-size:.86em}.pv-name{font-size:1.1em;font-weight:700}.pv-type{color:var(--muted)}.pv-stats{color:#ffd36b;margin:2px 0 4px}.rules-text p{margin:2px 0}.unverified{color:var(--muted);font-style:italic}.ico{vertical-align:middle;border-radius:8px;place-items:center;min-width:16px;height:16px;margin:0 2px;font-size:10px;font-weight:800;display:inline-grid}.ico.bits{color:#000;background:#ffd36b}.ico.action{color:#000;background:#4aa3ff}.ico.trash{background:0 0}.ico.sub{color:var(--warn);background:0 0}.log-wrap{flex-direction:column;flex:1;min-height:80px;display:flex}.log-head{color:var(--muted);border-bottom:1px solid var(--line);justify-content:space-between;padding:4px 12px;font-size:.78em;display:flex}.log{flex:1;padding:4px 12px;font-size:.86em;overflow-y:auto}.log-line{border-bottom:1px solid #ffffff08;padding:2px 0}.log-line.turn{color:var(--warn);margin-top:6px;font-weight:700}.log-line.run{color:#ffb4ad}.log-line.score{color:var(--ok);font-weight:600}.log-line.damage{color:#ff8a80}.log-line.trace{color:#b39ddb}.log-line.warn{color:var(--warn)}.log-line .rule{color:var(--muted);margin-left:8px;font-size:.85em;font-style:italic}.chat{border-top:1px solid var(--line);padding:4px 12px;font-size:.85em}.chat input{width:100%;margin-top:4px}.settings{padding:4px 12px 8px}.settings-body{flex-direction:column;gap:4px;font-size:.85em;display:flex}.ctx-menu{z-index:50;background:var(--panel);border:1px solid var(--glow);border-radius:8px;flex-direction:column;min-width:240px;padding:4px;display:flex;position:fixed;box-shadow:0 8px 30px #000a}.ctx-menu button{text-align:left;background:0 0;border:none}.ctx-menu button:hover:not(:disabled){background:var(--panel2)}.gameover{z-index:80;background:#000a;place-items:center;display:grid;position:fixed;inset:0}.gameover-box{background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:12px;max-width:520px;padding:24px 32px}.gameover .row{justify-content:center;gap:10px;display:flex}.choice.with-thumb{grid-template-columns:34px 1fr auto}.choice .thumb{object-fit:cover;border-radius:3px;grid-row:span 2;width:34px;height:48px}.choice.with-thumb .why,.choice.with-thumb .hint{grid-column:2/-1}.spotlight{align-items:center;gap:8px;margin-top:4px;display:flex}.spot{flex-direction:column;align-items:center;font-size:.8em;display:flex}.spot img{object-fit:cover;border-radius:5px;width:74px;height:104px;box-shadow:0 0 10px #ff6b5e88}.label-h{color:var(--muted);font-size:.8em}select{font:inherit;color:inherit;background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:4px 6px}.counter-chips{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.chip{color:#e6d0ff;cursor:help;white-space:nowrap;background:#3a1f4a;border:1px solid #6b3a8a;border-radius:9px;padding:1px 6px;font-size:11px}.chip b{margin-left:2px}.runner-c .chip{color:#ffd0d0;background:#4a1f1f;border-color:#8a3a3a}.fort-head .counter-chips{margin-left:6px}.fort-head .chip{padding:0 5px;font-size:10px}.card .host-tag{color:#d8b8ff;top:45%;bottom:auto}.card .diff-tag{color:var(--warn);bottom:16px}.custom-deck{flex-direction:column;gap:4px;display:flex}.custom-deck textarea{box-sizing:border-box;width:100%;color:var(--text);border:1px solid var(--line);resize:vertical;background:#0b1018;border-radius:6px;padding:6px;font-family:ui-monospace,monospace;font-size:12px}.custom-deck-row{align-items:center;gap:8px;display:flex}.custom-deck p{margin:0}.pv-note{border-left:3px solid var(--glow);color:var(--muted);background:#ffffff08;margin-top:8px;padding:6px 8px;font-size:.88em}.zoom{z-index:60;pointer-events:none;filter:drop-shadow(0 10px 30px #000c);position:fixed;top:50%;transform:translateY(-50%)}.zoom.right{right:412px}.zoom.left{left:12px}.zoom img{width:var(--zoom-w);height:calc(var(--zoom-w) * 1.41);border-radius:12px;display:block}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px;display:grid}.card-tile{text-align:center;flex-direction:column;align-items:center;gap:3px;padding:4px;display:flex}.card-tile img{aspect-ratio:365/515;object-fit:cover;border-radius:4px;width:100%}.card-tile .tile-label{font-size:.78em;line-height:1.15}.card-tile .cost{color:#ffd36b;font-size:.85em;font-weight:700}.card-tile .cost i{color:var(--muted);font-size:.75em;font-style:normal}.card-tile .why{color:#d99;font-size:.72em}.card-tile.selected{border-color:var(--warn);box-shadow:0 0 0 2px var(--warn);background:#3a2f10}.card-tile.disabled{opacity:.55}.card-tile:hover:not(:disabled) img{box-shadow:0 0 0 2px var(--glow)}.tile-blank{aspect-ratio:365/515;background:var(--panel2);border-radius:4px;place-items:center;width:100%;font-size:.75em;display:grid}.center-box.wide{max-width:900px}.lobby-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.lobby-head h1{margin:0}.quick{background:#12201a;border:1px solid #2ea05f88;border-radius:10px;flex-direction:column;gap:10px;margin:16px 0 8px;padding:14px 16px;display:flex}.quick h3,.quick p{margin:0}.quick-row{flex-wrap:wrap;align-items:flex-end;gap:18px;display:flex}.quick-row label{color:var(--muted);flex-direction:column;gap:4px;font-size:.9em;display:flex}.quick .primary.big{align-self:flex-start}.table-h{margin:18px 0 0}.seg{border:1px solid var(--line);border-radius:7px;display:inline-flex;overflow:hidden}.seg button{background:var(--panel2);color:var(--text);border:none;border-radius:0;padding:6px 12px}.seg button+button{border-left:1px solid var(--line)}.seg button.on{background:#1f6f43;font-weight:600}.tracker .leave{padding:2px 10px;font-size:.85em}.modal-back{z-index:120;background:#000a;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:8px;width:min(640px,92vw);padding:18px 22px;display:flex}.modal h3{margin:0}.modal textarea{width:100%;color:var(--text);border:1px solid var(--line);background:#0b1018;border-radius:6px;padding:8px;font-family:ui-monospace,monospace;font-size:12px}.modal .row{gap:8px;display:flex}.small-modal{width:min(420px,92vw)}.archives.viewable .pile,.pile.viewable{cursor:zoom-in}.archives.viewable .pile:hover,.pile.viewable:hover{outline:1px solid var(--glow)}.modal.pile-viewer{width:min(1180px,94vw);height:min(780px,88vh);padding:14px 18px}.pv-head{align-items:baseline;gap:12px;display:flex}.pv-head .pv-keys{color:var(--muted);margin-left:auto}.pv-body{flex:auto;gap:16px;min-height:0;display:flex}.pv-grid{scrollbar-width:thin;flex-wrap:wrap;flex:auto;align-content:flex-start;gap:10px;padding:4px 6px 4px 2px;display:flex;overflow-y:auto}.pv-section{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);flex:0 0 100%;margin-top:4px;font-size:.8em}.pv-section small{text-transform:none;letter-spacing:0;opacity:.8;margin-left:6px}.pv-none{color:var(--muted);flex:0 0 100%}.pv-tile{cursor:pointer;border:1px solid #0000;border-radius:8px;flex-direction:column;gap:3px;width:118px;padding:3px;display:flex;position:relative}.pv-tile img{object-fit:cover;border-radius:6px;width:110px;height:155px}.pv-tile.on{border-color:var(--glow);box-shadow:0 0 10px var(--glow)}.pv-tile.face-down img{filter:saturate(.6)brightness(.85)}.pv-tile-name{color:var(--muted);text-align:center;font-size:.72em;line-height:1.15}.pv-tag{border:1px solid var(--line);background:#0d1117e0;border-radius:6px;padding:1px 6px;font-size:.65em;position:absolute;top:6px;left:6px}.pv-tag.hidden{color:var(--warn);border-color:#ffb02088}.pv-tag.newest{color:var(--glow)}.pv-detail{border-left:1px solid var(--line);flex:0 0 340px;padding-left:14px;overflow-y:auto}.pv-detail .preview{border:none;flex-direction:column;padding:0}.pv-detail .preview img{width:300px;height:auto}.pv-detail .preview img.ice{width:300px}.pv-detail .preview-text{font-size:.92em}.gameover-reopen{z-index:70;position:fixed;top:10px;left:50%;transform:translate(-50%)}.gameover .row{flex-wrap:wrap}.deckbuilder{flex-direction:column;height:100vh;display:flex;overflow:hidden}.db-head{border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap;align-items:center;gap:14px;padding:8px 14px;display:flex}.db-head h2{margin:0;font-size:1.2em}.db-msg{color:var(--ok)}.db-body{flex:1;grid-template-columns:220px minmax(0,1fr) 330px;min-height:0;display:grid}.db-left,.db-deck{background:var(--panel);flex-direction:column;gap:14px;padding:10px 12px;display:flex;overflow-y:auto}.db-left{border-right:1px solid var(--line)}.db-deck{border-left:1px solid var(--line);gap:8px}.db-section{flex-direction:column;gap:5px;display:flex}.db-section p{margin:0}.db-saved{text-align:left;justify-content:space-between;gap:6px;display:flex}.db-saved.on{border-color:var(--glow);background:#12201a}.db-saved small.ok{color:var(--ok)}.db-saved small.warn{color:var(--warn)}.db-pool{flex-direction:column;min-width:0;min-height:0;display:flex}.db-toggles{border-bottom:1px solid var(--line);flex-direction:column;gap:5px;padding:8px 12px 6px;display:flex}.db-toggle-group{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.db-toggle-label{width:86px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.82em}.chip-toggle{color:var(--muted);background:0 0;border-radius:14px;align-items:baseline;gap:5px;padding:3px 9px;font-size:.88em;display:inline-flex}.chip-toggle small{opacity:.75;font-size:.85em}.chip-toggle.on{color:var(--text);background:#12201a;border-color:#2ea05f}.db-toggle-group.other-side .chip-toggle{opacity:.45;border-style:dashed}.db-toggle-group.other-side .chip-toggle:hover{opacity:.85}.db-toggle-group .link{padding:2px 4px}.db-set{border:1px solid var(--line);color:var(--muted);pointer-events:none;background:#0d1117d9;border-radius:4px;padding:0 4px;font-size:.7em;position:absolute;bottom:4px;left:4px}.db-filters{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.db-filters input[type=text],.db-filters input:not([type]){flex:1;min-width:200px}.db-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));align-content:start;gap:10px;padding:10px 12px;display:grid;overflow-y:auto}.db-card{cursor:pointer;border-radius:7px;transition:transform .1s;position:relative}.db-card img{aspect-ratio:365/515;object-fit:cover;border-radius:7px;width:100%;display:block}.db-card:hover{transform:translateY(-2px)}.db-card:hover img{box-shadow:0 0 0 2px var(--glow)}.db-card.in img{box-shadow:0 0 0 2px #2ea05f}.db-count{color:#fff;text-align:center;background:#1f6f43;border:1px solid #2ea05f;border-radius:12px;min-width:24px;padding:1px 6px;font-weight:800;position:absolute;top:4px;right:4px}.db-name{font-size:1.05em;font-weight:600}.db-status{border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:4px;padding:8px 10px;font-size:.88em;display:flex}.db-status.ok{background:#12201a;border-color:#2ea05f}.db-status.bad{background:#2a1414;border-color:#a33}.db-status-head{font-weight:700}.db-stats{flex-wrap:wrap;gap:10px;display:flex}.db-stats i{font-style:normal}.db-stats .ok{color:var(--ok)}.db-stats .warn{color:var(--warn)}.db-err{color:#ff9a9a}.db-warn{color:var(--warn)}.db-list{flex-direction:column;flex:1;gap:2px;min-height:120px;display:flex;overflow-y:auto}.db-row{align-items:center;gap:6px;padding:1px 0;font-size:.9em;display:flex}.db-row-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.db-row-meta{color:var(--muted)}button.tiny{padding:0 6px;line-height:18px}.db-actions{flex-wrap:wrap;gap:6px;display:flex}.db-errors{color:#ff9a9a;white-space:pre-wrap;margin:0;font-size:.85em}.db-zoom{z-index:60;pointer-events:none;border:1px solid var(--line);background:#0d1117ee;border-radius:12px;gap:10px;width:min(560px,46vw);padding:10px;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.db-zoom.right{right:350px}.db-zoom.left{left:240px}.db-zoom img{width:var(--zoom-w);height:calc(var(--zoom-w) * 1.41);border-radius:10px;flex:none}.db-zoom-text{min-width:0;font-size:.88em}.run-cost{color:#b9f3cf;cursor:help;white-space:nowrap;background:#16301f;border:1px solid #2ea05f88;border-radius:8px;margin-left:6px;padding:0 6px;font-size:.82em;font-weight:600}.run-cost.partial{color:#f3e6a5;background:#2b2a14;border-color:#b8a23f88}.run-cost.tight{color:#ffcf9e;background:#3a1f12;border-color:#c9773a}.run-cost.blocked,.run-cost.unknown{color:#ffb3b3;background:#2a1616;border-color:#a3333388}.run-cost.unknown{background:var(--panel2);border-color:var(--line);color:var(--muted)}.version-badge{z-index:40;color:var(--muted);border:1px solid var(--line);pointer-events:none;font-variant-numeric:tabular-nums;background:#0d1117d9;border-radius:10px;padding:2px 9px;font-size:.78em;position:fixed;bottom:8px;right:12px}.center-box.lobby{margin-bottom:max(8vh,44px)}.version-badge.warn{color:var(--warn);border-color:#ffb02088}.bans{background:#1d1416;border:1px solid #a3333366;border-radius:10px;flex-direction:column;gap:8px;margin:10px 0 4px;padding:12px 16px;display:flex;position:relative}.bans-head{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.bans-head h3{margin:0}.bans-head .small span[title]{cursor:help;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.bans p{color:var(--muted);margin:0}.bans-list{flex-wrap:wrap;gap:6px;display:flex}.ban-chip{background:#2a1618;border:1px solid #a3333388;border-radius:8px;align-items:center;gap:7px;padding:3px 4px 3px 3px;display:inline-flex}.ban-chip img{object-fit:cover;filter:grayscale(.6);border-radius:3px;width:26px;height:37px}.ban-name{flex-direction:column;line-height:1.15;display:flex}.ban-title{-webkit-text-decoration:line-through #ff4d4d99;text-decoration:line-through #ff4d4d99}.ban-name small{color:var(--muted);font-size:.75em}.ban-chip button.tiny{margin-left:2px}.bans-row{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.ban-search{flex:260px;max-width:380px;position:relative}.ban-search input{box-sizing:border-box;width:100%}.ban-matches{z-index:50;background:var(--panel);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:2px;padding:4px;display:flex;position:absolute;top:calc(100% + 3px);left:0;right:0;box-shadow:0 8px 24px #000a}.ban-matches button{text-align:left;background:0 0;border:none;justify-content:space-between;gap:10px;padding:4px 8px;display:flex}.ban-matches button:hover{background:var(--panel2)}.ban-matches small{color:var(--muted)}.ban-matches .small{padding:4px 8px}.ban-zoom{z-index:60;pointer-events:none;border:1px solid var(--line);background:#0d1117ee;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:8px;display:flex;position:fixed;top:50%;right:24px;transform:translateY(-50%)}.ban-zoom img{width:var(--zoom-w);height:calc(var(--zoom-w) * 1.41);border-radius:10px}.db-card.banned img{filter:grayscale(.85)brightness(.7)}.db-banned{color:#fff;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;background:#a33333e6;border-radius:4px;padding:2px 8px;font-size:.72em;font-weight:700;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)rotate(-12deg)}.db-row.banned .db-row-name{color:#ff9a9a;text-decoration:line-through}.random-sets{align-items:center;gap:6px}.db-gen-row{gap:6px;display:flex}.db-gen-row select{flex:1;min-width:0}.random-sets .small{color:var(--muted)}.modal.library{flex-direction:column;gap:8px;width:min(980px,94vw);height:min(760px,88vh);display:flex}.modal.library input{box-sizing:border-box;width:100%}.lib-body{flex:auto;gap:14px;min-height:0;display:flex}.lib-list{scrollbar-width:thin;flex-direction:column;flex:0 0 340px;gap:2px;padding-right:4px;display:flex;overflow-y:auto}.lib-row{text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;flex-direction:column;align-items:flex-start;padding:5px 8px;display:flex}.lib-row:hover{background:var(--panel2)}.lib-row.on{border-color:var(--glow);background:#1b2636}.lib-row small{color:var(--muted);font-size:.78em}.lib-detail{border-left:1px solid var(--line);flex:auto;padding-left:14px;overflow-y:auto}.lib-title{font-size:1.15em;font-weight:600}.lib-cards{columns:2;column-gap:18px;margin-top:8px;font-size:.9em}.lib-type{break-inside:avoid;margin-bottom:8px}.lib-type .group-title{text-transform:capitalize}.lib-type .banned{color:#ff9a9a;text-decoration:line-through}textarea{font:inherit;color:inherit;border:1px solid var(--line);resize:vertical;background:#0b1018;border-radius:6px;width:100%;padding:6px 8px}.ok{color:var(--ok)}.dim{opacity:.6}.nowrap{white-space:nowrap}.pre{white-space:pre-wrap}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stack{flex-direction:column;gap:10px;display:flex}.stack label,.modal label{color:var(--muted);flex-direction:column;gap:4px;font-size:.92em;display:flex}.stack input{font-size:1em}.center-box form.stack{flex-direction:column;align-items:stretch}.center-box.login{max-width:420px}.version-line{text-align:right;margin-top:12px}.info-banner{background:#14263b;border:1px solid #2c4f7a;border-radius:8px;margin:8px 0;padding:8px 12px}.info-banner.away{margin:6px 12px;font-size:.9em}.toast.info{background:#14263b;border-color:#2c4f7a}a.button{color:inherit;background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:6px 10px;text-decoration:none;display:inline-block}a.button.primary{background:#1f6f43;border-color:#2ea05f;font-weight:600}a{color:#7cb8ff}code.pw{-webkit-user-select:all;user-select:all;padding:2px 8px;font-size:1.15em}.vs{color:var(--muted);margin:0 6px;font-size:.85em;font-weight:400}.topbar{border-bottom:1px solid var(--line);background:var(--panel);z-index:50;flex-wrap:wrap;align-items:center;gap:4px;padding:6px 14px;display:flex;position:sticky;top:0}.topbar .brand{letter-spacing:.02em;margin-right:12px;font-weight:800}.topbar .spacer{flex:1}.topbar .who{color:var(--text);margin:0 6px 0 10px}.topbar .ver{margin-left:8px}button.nav{background:0 0;border-color:#0000}button.nav.on{background:var(--panel2);border-color:var(--line)}.lobby-page{grid-template-columns:minmax(0,1fr) 360px;gap:18px;max-width:1400px;height:calc(100vh - 48px);margin:0 auto;padding:16px;display:grid}.lobby-main{flex-direction:column;gap:12px;padding-right:4px;display:flex;overflow-y:auto}.lobby-side{flex-direction:column;gap:12px;min-height:0;display:flex}.lobby-page section h3,.table-page section h3{margin:0 0 6px}.play-tabs{gap:6px;margin-bottom:4px;display:flex}.play-tabs button{background:0 0;border-radius:8px;padding:6px 14px}.play-tabs button.on{background:#1f6f43;border-color:#2ea05f;font-weight:600}.quick{margin:0}.rules-box{border-top:1px solid var(--line);padding-top:8px}.paste-box{font-family:ui-monospace,monospace;font-size:12px}.tables{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 14px}.table-row{border-top:1px solid #ffffff10;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:4px 12px;padding:6px 0;display:grid}.table-row:first-of-type{border-top:none}.table-row .players{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.table-row .corp-name{color:#9fcbff}.table-row .runner-name{color:#ffaaa2}.table-row .actions{gap:6px;display:flex}.table-row .waiting{grid-column:1/-1}.table-row.mine .players:before{content:"★ ";color:var(--warn)}.recent-row{padding:2px 0}.recent-row .won{color:var(--text);font-weight:600}.online{background:var(--panel);border:1px solid var(--line);border-radius:10px;max-height:34vh;padding:10px 14px;overflow-y:auto}.online-row{align-items:center;gap:8px;padding:2px 0;display:flex}.online-row .who{flex:1}.dot{background:var(--ok);border-radius:50%;flex:none;width:8px;height:8px}.dot.table{background:var(--warn)}.dot.watching{background:#7cb8ff}.chat-panel{flex-direction:column;min-height:0;display:flex}.chat-panel.big{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex:1;padding:10px 14px}.chat-scroll{flex-direction:column;flex:1;gap:2px;min-height:60px;font-size:.92em;display:flex;overflow-y:auto}.chat-line.system{color:var(--muted)}.chat-line.spectator b{color:#7cb8ff}.chat-line.admin b{color:var(--warn)}.chat-panel form{margin-top:6px}.chat-panel input{width:100%}.chat.game-chat{flex-direction:column;max-height:26vh;padding:6px 12px;display:flex}.chat.game-chat .chat-scroll{min-height:40px;max-height:18vh}.watching{margin-top:4px}.prompt .spectating{margin-bottom:4px}.table-page{grid-template-columns:minmax(0,1fr) 360px;gap:18px;max-width:1400px;height:calc(100vh - 48px);margin:0 auto;padding:16px;display:grid}.table-main{padding-right:4px;overflow-y:auto}.table-side{flex-direction:column;gap:8px;min-height:0;display:flex}.table-page h2{margin:0}.seat.corp h3{color:#9fcbff}.seat.runner h3{color:#ffaaa2}.start-row{flex-wrap:wrap;align-items:center;gap:14px;margin:14px 0;display:flex}.page{max-width:1200px;margin:0 auto;padding:16px}.page h2{margin:4px 0 12px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-bottom:14px;padding:12px 16px}.panel h3{margin:0 0 8px}.cards-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;display:grid}.cards-2 .panel{margin-bottom:0}.account .cards-2{margin-bottom:14px}table.grid{border-collapse:collapse;width:100%;margin-top:8px;font-size:.92em}table.grid th,table.grid td{text-align:left;vertical-align:top;border-bottom:1px solid #ffffff12;padding:6px 8px}table.grid th{color:var(--muted);font-weight:600}table.grid td.won{font-weight:700}table.grid.narrow{width:auto}.status-chip{border:1px solid var(--line);white-space:nowrap;border-radius:10px;margin-left:6px;padding:1px 8px;font-size:.8em;display:inline-block}.status-chip.new{border-color:var(--warn);color:var(--warn)}.status-chip.planned,.status-chip.inprogress{color:#7cb8ff;border-color:#2c4f7a}.status-chip.done{color:var(--ok);border-color:#2ea05f}.status-chip.wontdo{opacity:.6}.status-chip.admin{border-color:var(--warn);color:var(--warn)}.report{border-top:1px solid #ffffff12}.report-head{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:10px;padding:8px 0;display:flex}.report-head b{flex:1;min-width:200px}.report-body{flex-direction:column;gap:8px;padding:0 0 12px 24px;display:flex}.report-body label{flex-direction:column;gap:4px;display:flex}.downloads{margin:8px 0}.modal.feedback{width:min(560px,94vw)}.modal.feedback input{width:100%}@media (width<=1000px){.lobby-page,.table-page{grid-template-columns:1fr;height:auto}.lobby-side,.table-side{min-height:360px}.table-row{grid-template-columns:1fr}}
