:root{--bg:#0b1015;--surface:#10171d;--surface-2:#141c22;--surface-3:#19232b;--line:#26323b;--line-strong:#34434e;--text:#e8eef2;--text-dim:#b4c0c8;--text-mute:#8d9ca6;--accent:#b8f16e;--accent-ink:#13200c;--accent-soft:#1c2b16;--ban:#ff8a8f;--ban-ink:#ffc4c7;--ban-bg:#22141a;--ban-line:#6b3438;--pick:#c6f08a;--pick-ink:#dcf7b8;--pick-bg:#141f10;--pick-line:#47652f;--warn:#e8c66e;--warn-ink:#f2d98a;--warn-bg:#2a2412;--warn-line:#7c6230;--info:#9fd0ff;--mine:#5b8fb8;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-base:14px;--fs-lg:16px;--fs-xl:20px;--r-sm:5px;--r-md:8px;--r-lg:12px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:28px;--mono:ui-monospace,"Cascadia Mono",Consolas,monospace;font-family:Inter,Segoe UI Variable,Microsoft YaHei,system-ui,sans-serif;font-size:var(--fs-base);line-height:1.5;color:var(--text);background:var(--bg);font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}code{font-family:var(--mono);background:#0c151e;padding:1px 5px;border-radius:3px;color:#c1d0bc;font-size:var(--fs-xs)}h1{font-size:30px;letter-spacing:-1px;margin:10px 0 8px;font-weight:650;line-height:1.25}h1 em{font-style:normal;color:#8b989f;font-weight:400}.muted{color:var(--text-mute);font-size:var(--fs-sm)}.kicker,.panel-kicker{font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:1.2px;color:var(--text-mute)}.eyebrow{display:flex;align-items:center;gap:9px;font-size:var(--fs-xs);letter-spacing:2px;color:var(--text-mute)}.eyebrow>span{width:18px;height:2px;background:var(--accent)}@keyframes softpulse{50%{opacity:.35}}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:9px 16px;border:1px solid #bedf93;border-radius:var(--r-sm);background:var(--accent);color:#1c2b13;font-size:var(--fs-md);font-weight:650}.primary-button:hover:not(:disabled){background:#caf88e}.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border:1px solid #3e5464;border-radius:var(--r-sm);background:#1c2c37;color:#c3d3dd;font-size:var(--fs-sm)}.secondary-button:hover:not(:disabled){border-color:#5b7a8e;color:#fff}.secondary-button.sm{padding:5px 11px;font-size:var(--fs-xs)}.text-button{border:0;background:none;color:#a3c987;font-size:var(--fs-sm);padding:0}.text-button:hover{color:var(--accent)}.tool-btn{padding:4px 10px;border:1px solid #2f404d;border-radius:var(--r-sm);background:#152028;color:#c2d0d8;font-size:var(--fs-xs)}.tool-btn:hover:not(:disabled){border-color:#526d7f;color:#fff}.checkbox-row{display:inline-flex;align-items:center;gap:7px;font-size:var(--fs-sm);color:var(--text-dim)}.checkbox-row input{accent-color:var(--accent);margin:0}.button-row{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap}.seg-group{display:inline-flex;padding:2px;border:1px solid var(--line);border-radius:6px;background:#0b1015}.seg-group button{border:0;background:none;padding:4px 10px;border-radius:4px;color:var(--text-dim);font-size:var(--fs-xs);font-weight:600;white-space:nowrap}.seg-group button.active{background:#23361c;color:#e3f8c4}.tag{display:inline-block;padding:1px 6px;border-radius:3px;font-size:var(--fs-xs);font-weight:800;letter-spacing:.8px;line-height:1.5}.tag.ban{background:#5c1f25;color:#ffb0b4}.tag.pick{background:#2c4519;color:#d4f7a8}.tag.neutral{background:#1c272e;color:#c5d0d6}.lg{display:inline-block;padding:1px 7px;border-radius:3px;font-size:var(--fs-xs);font-weight:700}.lg.confirmed{background:#2c4519;color:#d4f7a8}.lg.auto{background:#4a3d16;color:var(--warn-ink)}.lg.excluded{background:#4d1f24;color:#ffb0b4}.lg.low{background:#3a3220;color:var(--warn)}.lg.pending{background:#1c272e;color:#c5d0d6}.alt-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border:1px solid #3c5260;border-radius:var(--r-sm);background:#18242c;color:#dce7ee;font-size:var(--fs-xs)}.alt-btn:hover{border-color:var(--accent);color:var(--accent);background:#172617}.bar{position:relative;height:22px;min-width:120px;border-radius:4px;background:#182128;overflow:hidden}.bar i{position:absolute;inset:0 auto 0 0;border-radius:4px}.bar.mine i{background:#3f6a8a}.bar b{position:relative;z-index:1;padding-left:8px;line-height:22px;font-size:var(--fs-sm)}.up,.down{display:block;font-size:var(--fs-sm)}.up{color:#d9f0bf}.down{color:#f0b9bb}.up small,.down small{display:inline;margin-left:4px;color:var(--text-mute)}.delta{font-weight:800;font-variant-numeric:tabular-nums}.delta.pos{color:var(--accent)}.delta.neg{color:var(--ban)}.app-shell{max-width:1920px;margin:auto;padding:0 40px}.skip-link{position:absolute;left:12px;top:-40px;z-index:20;padding:6px 10px;border-radius:4px;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:var(--fs-sm)}.skip-link:focus{top:12px}.topbar{display:flex;align-items:center;gap:40px;min-height:72px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand b{font-size:28px;letter-spacing:-1.5px}.brand-slash{color:var(--accent);padding-left:8px}.brand small{max-width:80px;font-size:var(--fs-xs);letter-spacing:1.5px;line-height:1.4;color:var(--text-mute)}.brand-mark{position:relative;display:grid;place-content:center;width:34px;height:34px;border-radius:9px;background:var(--accent);color:#10180e;font-size:26px;font-weight:900}.brand-mark span{position:absolute;right:4px;top:1px;font-size:12px}nav{display:flex;gap:26px;align-self:stretch}nav button{position:relative;padding:0;border:0;background:none;color:#9ba8b3;font-weight:600;font-size:var(--fs-md)}nav button:hover{color:var(--text)}nav button.active{color:#e7efdf}nav button.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent)}.nav-dot{display:inline-block;width:5px;height:5px;margin-left:7px;border-radius:50%;background:#d5ac65;vertical-align:middle}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:10px}.online-toggle{display:inline-flex;align-items:center;gap:7px;padding:6px 13px;border:1px solid var(--warn-line);border-radius:30px;background:#261f12;color:#f3d68b;font-size:var(--fs-sm);font-weight:600}.online-toggle i{width:7px;height:7px;border-radius:50%;background:#e5b94e}.online-toggle.on{border-color:#4b7236;background:#152314;color:#d6f5ab}.online-toggle.on i{background:var(--accent);box-shadow:0 0 8px #b8f16e66}.local-pill{display:flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid #26343b;border-radius:30px;background:#141d23;font-size:var(--fs-xs)}.local-pill i{width:6px;height:6px;border-radius:50%;background:#ac6e5d}.local-pill i.connected{background:var(--accent);box-shadow:0 0 8px #b8f16e33}.local-pill>span:last-child{margin-left:4px;padding-left:9px;border-left:1px solid #3b454c;letter-spacing:1px;color:var(--text-mute)}.demo-banner,.honesty-banner{display:flex;align-items:center;gap:12px;margin-top:16px;padding:10px 16px;border:1px solid #3c3a2c;border-radius:6px;background:#1d1d16;color:#b9b398;font-size:var(--fs-sm)}.demo-banner b,.honesty-banner b{color:#d3c78f;letter-spacing:.5px;font-size:var(--fs-sm);white-space:nowrap}.demo-banner>span{margin-left:auto;font-family:var(--mono);color:#a99f75;font-size:var(--fs-xs)}.warn-icon{display:grid;place-content:center;flex:none;width:16px;height:16px;border:1px solid #c3a16c;border-radius:50%;color:#dab57d;font-size:var(--fs-xs)}.error-banner,.notice-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:10px 16px;border:1px solid #823d43;border-radius:var(--r-sm);background:#391f23;color:#f4bcc0;font-size:var(--fs-md)}.notice-banner{border-color:#466c53;background:#1a2822;color:#c0dfc9}.banner-close{border:0;background:none;color:inherit;font-size:16px;line-height:1;padding:0 4px}.page-footer{display:flex;justify-content:space-between;gap:12px;padding:18px 0 24px;border-top:1px solid var(--line);color:#5d7380;font-size:var(--fs-xs);letter-spacing:1px}.page-footer i{display:inline-block;width:3px;height:3px;margin:0 6px;border-radius:50%;background:#6f8860;vertical-align:middle}.veto-page{padding-bottom:36px}.veto-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;padding:20px 0 16px}.veto-head h1{font-size:24px;margin:6px 0 0;letter-spacing:-.5px}.veto-steps{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:8px 12px;list-style:none;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--text-dim);font-size:var(--fs-sm)}.veto-steps li{display:flex;align-items:center;gap:6px}.veto-steps b{display:inline-grid;place-content:center;width:18px;height:18px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:var(--fs-xs)}.veto-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,460px);gap:var(--sp-4);align-items:start}.veto-side{position:sticky;top:12px}.workbench{display:grid;gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.drop{display:flex;align-items:center;gap:var(--sp-3);min-height:92px;padding:var(--sp-3) var(--sp-4);border:1.5px dashed #4d6b3c;border-radius:var(--r-md);background:#0c140e;cursor:pointer;transition:border-color .15s,background .15s}.drop:hover,.drop.over{border-color:var(--accent);background:#101b10}.drop.over{box-shadow:0 0 0 3px #b8f16e33}.drop.busy .drop-icon,.drop.busy .drop-thumb{animation:softpulse 1.2s infinite}.drop-icon{flex:none;width:52px;text-align:center;font-size:30px;color:var(--accent)}.drop-thumb{flex:none;height:68px;max-width:120px;object-fit:contain;border-radius:4px;background:#000}.drop-text{display:grid;gap:2px;flex:1;min-width:0}.drop-text b{font-size:var(--fs-lg);color:#e3f6c8}.drop-text span{font-size:var(--fs-sm);color:var(--text-dim)}.drop-side{display:grid;justify-items:end;gap:6px;flex:none;cursor:default}.drop-label{font-size:var(--fs-xs);color:var(--text-mute)}.roster{display:grid;gap:var(--sp-2);padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);background:#0c1217}.roster.opp{box-shadow:inset 3px 0 #a5474e}.roster.mine{box-shadow:inset 3px 0 var(--mine)}.roster-head{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2)}.roster-head b{font-size:var(--fs-md)}.roster-count{font-size:var(--fs-xs);color:var(--text-mute);font-variant-numeric:tabular-nums}.roster-hint{font-size:var(--fs-xs);color:var(--text-mute)}.roster-tools{margin-left:auto;display:flex;gap:6px}.chip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px;margin:0;padding:0;list-style:none}.chip-item{display:flex;align-items:center;gap:6px;min-height:38px;padding:3px 6px 3px 4px;border:1.5px solid #3f5360;border-radius:var(--r-sm);background:var(--surface-2)}.chip-item:focus-within{border-color:var(--accent)}.chip-item input{flex:1;min-width:0;padding:4px 2px;border:0;background:transparent;font-size:var(--fs-md);font-weight:600}.chip-item input:focus{outline:none}.chip-no{display:inline-grid;place-content:center;flex:none;width:20px;height:20px;border-radius:4px;background:#0b120b;color:#8aa583;font-size:var(--fs-xs);font-weight:700}.roster.mine .chip-no{background:#0d161e;color:#8eb8d8}.chip-id{padding:1px 5px;border-radius:3px;background:#223819;color:#cbeea1;font-family:var(--mono);font-size:var(--fs-xs)}.chip-conf{font-size:var(--fs-xs);color:var(--text-mute);font-variant-numeric:tabular-nums}.chip-st{font-size:var(--fs-xs);font-weight:700;white-space:nowrap;color:var(--text-dim)}.chip-del{flex:none;padding:0 3px;border:0;background:none;color:var(--text-mute);font-size:16px;line-height:1}.chip-del:hover{color:var(--ban)}.chip-item.confirmed{border-color:#5f8a3c;background:#121c12}.chip-item.confirmed .chip-st{color:#d4f7a8}.chip-item.auto,.chip-item.low{border-color:#8a6d2f;background:#1e1a10}.chip-item.auto .chip-st,.chip-item.low .chip-st{color:var(--warn-ink)}.chip-item.excluded{border-color:#8a3a42;background:#211216}.chip-item.excluded .chip-st{color:#ffb0b4}.chip-add{grid-column:1/-1;display:flex;gap:6px}.chip-add input{flex:1;min-width:0;padding:8px 10px;border:1px dashed var(--line-strong);border-radius:var(--r-sm);background:#090e12;font-size:var(--fs-sm)}.chip-add input:focus{outline:none;border-style:solid;border-color:var(--accent)}.chip-add input::placeholder{color:#6f818c}.wb-options{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4)}.wb-spacer{flex:1}.wb-msg{margin:0;padding:8px 12px;border-radius:var(--r-sm);background:var(--warn-bg);border:1px solid #55471f;color:var(--warn-ink);font-size:var(--fs-sm)}.wb-msg.error{background:#2b1519;border-color:#6b3438;color:#ffb0b4}.wb-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3)}.cta{padding:11px 20px;font-size:var(--fs-base)}.res-box{display:grid;gap:var(--sp-2);padding-top:var(--sp-3);border-top:1px solid var(--line)}.res-summary{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:var(--fs-sm);color:var(--text-dim)}.res-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.res-list li{display:grid;gap:4px;padding:8px 10px;border-radius:var(--r-sm);background:#ffffff06;border-left:3px solid var(--line-strong)}.res-list li.auto{border-left-color:#8a6d2f}.res-list li.excluded{border-left-color:#8a3a42}.res-line{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:var(--fs-md)}.res-team{padding:0 5px;border-radius:3px;background:#3a1d21;color:#ffb0b4;font-size:var(--fs-xs);font-weight:700}.res-team.mine{background:#1c3144;color:#a5d6ff}.res-reason{margin:0;font-size:var(--fs-sm);color:var(--text-dim)}.alt-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.alt-row small{font-size:var(--fs-xs);color:var(--text-mute)}.decision{display:grid;gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--line-strong);border-radius:var(--r-lg);background:linear-gradient(180deg,#121a20,#0e1419)}.decision-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3)}.decision-head b{display:block;margin-top:4px;font-size:var(--fs-xl);line-height:1.3}.decision.empty .decision-head b{color:var(--text-dim)}.decision-block{padding:var(--sp-3);border:1px solid;border-radius:var(--r-md)}.decision-block.ban{border-color:var(--ban-line);background:var(--ban-bg)}.decision-block.pick{border-color:var(--pick-line);background:var(--pick-bg)}.block-title{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:var(--fs-sm);color:var(--text-dim)}.decision ol{display:grid;gap:6px;margin:0;padding:0;list-style:none}.decision li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;background:#ffffff08}.decision li.top{padding:12px 10px;background:#ffffff10}.rank{font-size:var(--fs-lg);font-weight:800;text-align:center;color:var(--text-mute)}.ban li.top .rank{color:var(--ban)}.pick li.top .rank{color:var(--accent)}.map strong{font-size:var(--fs-lg)}.decision li.top .map strong{font-size:21px}.map small{margin-left:6px;font-size:var(--fs-xs);color:var(--text-mute)}.reason{display:block;margin-top:2px;font-size:var(--fs-xs);color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score{display:grid;justify-items:end;gap:3px}.score em{font-style:normal;font-weight:800;font-size:var(--fs-lg);font-variant-numeric:tabular-nums}.ban .score em{color:var(--ban-ink)}.pick .score em{color:var(--pick-ink)}.conf{padding:0 7px;border:1px solid var(--line-strong);border-radius:20px;font-style:normal;font-size:var(--fs-xs);color:var(--text-dim);white-space:nowrap}.conf.low{border-color:#7c6a3c;color:#d8bd75}.conf.high{border-color:#4d6c3c;color:#bfe19a}.decision-note{margin:0;font-size:var(--fs-xs);color:var(--text-mute)}.decision-warn{margin:0;padding:7px 10px;border:1px solid #55471f;border-radius:var(--r-sm);background:var(--warn-bg);color:var(--warn-ink);font-size:var(--fs-sm)}.decision-empty p{margin:0 0 8px;font-size:var(--fs-sm);color:var(--text-dim)}.decision-empty ul{display:grid;gap:8px;margin:0;padding:0;list-style:none;font-size:var(--fs-md);color:var(--text-dim)}.decision-empty li{display:flex;align-items:center;gap:8px}.decision-skeleton{display:grid;gap:var(--sp-3)}.decision-skeleton i{display:block;height:150px;border-radius:var(--r-md);background:linear-gradient(90deg,#152026,#1b272e 40%,#152026);animation:softpulse 1.4s infinite}.decision-progress{display:grid;gap:8px;padding-top:var(--sp-3);border-top:1px solid var(--line)}.progress-line{display:flex;align-items:center;gap:10px;font-size:var(--fs-xs);color:var(--text-dim);white-space:nowrap}.progress-bar{flex:1;height:4px;border-radius:4px;background:#1c262d;overflow:hidden}.progress-bar i{display:block;height:100%;background:var(--accent);transition:width .3s}.player-dots{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.pdot{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border:1px solid var(--line);border-radius:20px;background:#0f161b;font-size:var(--fs-xs)}.pdot i{width:6px;height:6px;border-radius:50%;background:#56636c}.pdot small{margin-left:3px;font-size:var(--fs-xs);color:var(--text-mute)}.pdot.ready i{background:var(--accent)}.pdot.fetching i{background:var(--warn);animation:softpulse 1s infinite}.pdot.hidden i,.pdot.missing i{background:#8f9aa3}.pdot.error i{background:var(--ban)}.pdot.opp{border-color:#4a2c30}.pdot.mine{border-color:#2c4155}.decision-msg{margin:0;font-size:var(--fs-xs);color:var(--text-mute)}.fold{margin-top:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-lg);background:#0d1317}.fold-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:12px var(--sp-4);cursor:pointer;list-style:none}.fold-summary::-webkit-details-marker{display:none}.fold-summary b{margin-right:10px;font-size:var(--fs-md)}.fold-summary small{font-size:var(--fs-xs);color:var(--text-mute)}.fold-summary:hover b{color:var(--accent)}.fold-caret{flex:none;padding:2px 10px;border:1px solid var(--line-strong);border-radius:20px;font-size:var(--fs-xs);color:var(--text-dim)}.fold[open]>.fold-summary{border-bottom:1px solid var(--line)}.fold-body{padding:var(--sp-3) var(--sp-4) var(--sp-4)}.matrix-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-3);margin-bottom:var(--sp-3)}.legend{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;font-size:var(--fs-sm);color:var(--text-dim)}.matrix-table-wrap,.heatmap-wrap{overflow-x:auto}.matrix-table,.heatmap table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.matrix-table th{padding:9px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:var(--fs-xs);font-weight:600;letter-spacing:.4px;color:var(--text-mute)}.matrix-table th small{display:block;font-weight:400}.matrix-table td{padding:9px 12px;border-bottom:1px solid #1b242b;vertical-align:middle;font-size:var(--fs-md)}.matrix-table td small{display:block;font-size:var(--fs-xs);color:var(--text-mute)}.matrix-table td>b{font-size:var(--fs-base)}.matrix-table td .tag{margin:3px 4px 0 0}.matrix-table th:first-child,.matrix-table td:first-child{position:sticky;left:0;z-index:1;background:#0d1317}.matrix-table tr.isBan td:first-child{box-shadow:inset 3px 0 #ff6b70}.matrix-table tr.isPick td:first-child{box-shadow:inset 3px 0 var(--accent)}.matrix-cards{display:none;gap:var(--sp-2)}.map-card{padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2)}.map-card header{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;margin-bottom:6px}.map-card header small{color:var(--text-mute);font-size:var(--fs-xs)}.map-card header .delta{margin-left:auto}.map-card p{margin:4px 0;font-size:var(--fs-sm);color:var(--text-dim)}.map-card.isBan{box-shadow:inset 3px 0 #ff6b70}.map-card.isPick{box-shadow:inset 3px 0 var(--accent)}.heatmap{margin-top:var(--sp-4)}.heatmap table{margin-top:8px}.heatmap td,.heatmap th{padding:7px 8px;border:1px solid #0d1317;text-align:center;font-size:var(--fs-sm)}.heatmap th{color:var(--text-mute);font-weight:600;font-size:var(--fs-xs)}.heatmap td:first-child,.heatmap th:first-child{text-align:left;white-space:nowrap}.formula{margin:var(--sp-3) 0 0;font-size:var(--fs-xs);line-height:1.7;color:var(--text-mute)}.tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}.tool-card{display:grid;gap:var(--sp-2);align-content:start}.search-row{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}.search-row input{flex:1;min-width:160px;padding:7px 10px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:#0b1015;font-size:var(--fs-sm)}.search-row input:focus{outline:none;border-color:var(--accent)}.tool-msg{margin:0;font-size:var(--fs-sm);color:var(--text-dim)}.cand-list{display:grid;gap:4px;margin:0;padding:0;list-style:none}.cand{display:flex;align-items:center;gap:10px;width:100%;padding:6px 10px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface-2);text-align:left}.cand:hover:not(:disabled){border-color:var(--accent)}.cand.exact{border-color:#5f8a3c}.cand img,.cand-avatar{flex:none;width:28px;height:28px;border-radius:5px;object-fit:cover}.cand-avatar{display:grid;place-content:center;background:#24323b;color:var(--text-dim);font-size:var(--fs-sm)}.cand-main{display:grid;min-width:0}.cand-main b{font-size:var(--fs-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cand-main code{background:none;padding:0;color:var(--text-mute)}.cand-tags{display:flex;flex-wrap:wrap;gap:4px 8px;margin-left:auto;font-size:var(--fs-xs);color:var(--text-mute)}.cand-tags .suffix{color:var(--info)}.cand-tags em{font-style:normal;color:var(--accent)}.cand-tags em.core{color:#d8bd75}.cand-add{flex:none;padding:2px 8px;border-radius:4px;background:var(--accent-soft);color:var(--accent);font-size:var(--fs-xs);font-weight:700}.cand.more{justify-content:center;border-style:dashed;color:var(--text-dim)}.ocr-result{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.ocr-result small{font-size:var(--fs-xs);color:var(--text-mute)}.hero{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-5);padding:32px 0 26px}.hero p{margin:0;color:var(--text-mute);font-size:var(--fs-md)}.session-state{display:flex;align-items:center;gap:16px}.session-state div{display:flex;flex-direction:column;gap:3px}.session-state small{font-size:var(--fs-xs);letter-spacing:1.4px;color:var(--text-mute)}.session-state b{font-size:var(--fs-base);font-weight:500}.session-state div>span{font-size:var(--fs-sm);color:var(--text-mute)}.status-orbit{position:relative;width:42px;height:42px;border:1px solid #365641;border-radius:50%}.status-orbit:before{content:"";position:absolute;inset:15px;border-radius:50%;background:var(--accent)}.status-orbit.waiting{border-color:#605239}.status-orbit.waiting:before{background:#cfb47d}.match-bar{position:relative;display:flex;align-items:center;gap:18px;padding:16px 22px;overflow:hidden;border:1px solid #2b373e;border-radius:9px;background:linear-gradient(105deg,#1b262c,#141d23 40%,#111a20)}.match-bar:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent)}.map-symbol{display:grid;place-content:center;width:48px;height:48px;border-radius:7px;background:#293535;color:#b8c0b8;font-size:30px}.match-bar small{display:block;font-size:var(--fs-xs);letter-spacing:1.4px;color:var(--text-mute)}.match-bar strong{display:block;margin-top:3px;font-size:var(--fs-base);font-weight:500}.match-meta{display:flex;gap:22px;margin-left:24px;padding-left:24px;border-left:1px solid #344048;color:#8a9aa5;font-size:var(--fs-sm)}.match-meta i{display:inline-block;width:5px;height:5px;margin-right:5px;border-radius:50%;background:var(--accent);vertical-align:middle}.match-count{margin-left:auto;display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:6px;text-align:right}.match-count b{font-size:24px;font-weight:500;color:var(--accent);font-variant-numeric:tabular-nums}.match-count>span{font-size:var(--fs-sm);color:#8a9aa5}.match-count small{grid-column:1/3;font-size:var(--fs-xs);letter-spacing:0}.section-title{display:flex;align-items:center;justify-content:space-between;margin:26px 0 14px}.section-title h2{margin:0;font-size:var(--fs-base);font-weight:600}.section-title h2 span{margin-left:12px;font-size:var(--fs-xs);letter-spacing:1.4px;color:var(--text-mute)}.section-title>div{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--text-mute)}.mini-line{width:11px;height:2px;background:#809b69}.cards-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.player-card{position:relative;display:flex;flex-direction:column;min-height:540px;overflow:hidden;border:1px solid #29343e;border-radius:10px;background:linear-gradient(160deg,#182128,#141b22 65%)}.player-card.ready:before{content:"";position:absolute;left:14px;right:14px;top:0;height:1px;background:linear-gradient(90deg,transparent,#a6d16b55,transparent)}.player-card:hover{border-color:#42534f}.card-top{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:14px 14px 0}.player-index{font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:1px;color:var(--text-mute)}.card-state{display:flex;align-items:center;gap:5px;font-size:var(--fs-xs);color:#a1ad9f;white-space:nowrap}.card-state i{width:5px;height:5px;border-radius:50%;background:var(--accent)}.hidden .card-state{color:#8e98a3}.hidden .card-state i{background:#7f8b94}.identity{padding:18px 8px 16px;text-align:center}.avatar{position:relative;isolation:isolate;display:grid;place-content:center;width:64px;height:64px;margin:auto;overflow:hidden;border-radius:17px;background:linear-gradient(145deg,#263a32,#485b42);box-shadow:inset 0 0 0 1px #8fae6833;color:#c9e8b2;font-size:25px;font-weight:500}.avatar:before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(135deg,transparent 0 11px,#ffffff06 11px 12px)}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-1{background:linear-gradient(135deg,#4c3e68,#32334e);color:#cfb8ff}.avatar-2{background:linear-gradient(135deg,#6b4e30,#342a22);color:#ebc490}.avatar-3{background:linear-gradient(135deg,#326174,#243747);color:#aae4ee}.avatar-4{background:#222b33;color:#748490;filter:grayscale(1)}.identity h3{margin:12px 0 4px;overflow:hidden;font-size:var(--fs-lg);font-weight:600;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.steam-id{font-family:var(--mono);font-size:var(--fs-xs);color:var(--text-mute)}a.steam-id:hover{color:var(--accent)}.rank-row{display:flex;align-items:center;justify-content:space-between;margin:0 14px;padding:10px 0;border-top:1px solid #29333c;border-bottom:1px solid #29333c;font-size:var(--fs-sm);color:var(--text-mute)}.rank-row b{font-weight:500;font-size:var(--fs-sm);color:#a9b5bd}.rank-row small{margin-left:6px;color:#596b77}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:16px 8px;padding:18px 16px}.metrics>div{display:flex;flex-direction:column;gap:3px}.metrics span{font-size:var(--fs-xs);letter-spacing:.6px;color:var(--text-mute)}.metrics b{font-size:24px;font-weight:600;line-height:1.15;letter-spacing:-.6px;font-variant-numeric:tabular-nums}.metrics b.positive{color:var(--accent)}.trend-block{padding:0 16px 14px}.trend-block>div:first-child{display:flex;align-items:baseline;justify-content:space-between}.trend-block span{font-size:var(--fs-xs);letter-spacing:.4px;color:var(--text-mute)}.trend-block b{font-size:var(--fs-sm);font-weight:500;color:#cbd5dc}.trend-block b small{font-size:var(--fs-xs);font-weight:400;color:var(--text-mute)}.trend-block svg{display:block;width:100%;height:66px;margin-top:8px;overflow:visible}.trend-axis{display:flex;justify-content:space-between}.trend-axis span{font-size:var(--fs-xs);color:#617480}.map-list{margin:0 16px 14px;padding-top:12px;border-top:1px solid #29333c}.small-label{display:flex;justify-content:space-between;font-size:var(--fs-sm);color:var(--text-dim)}.small-label span{font-size:var(--fs-xs);letter-spacing:1px;color:var(--text-mute)}.map-row{display:flex;align-items:center;gap:8px;margin-top:10px}.map-tile{display:grid;place-content:center;width:26px;height:28px;border:1px solid #6b675333;border-radius:4px;background:linear-gradient(140deg,#5a5342,#2c3638);color:#bcbea7;font-size:var(--fs-xs)}.map-row>span:nth-child(2){display:flex;flex-direction:column;font-size:var(--fs-sm);color:#adb9c0}.map-row small{font-size:var(--fs-xs);color:var(--text-mute)}.map-row b{margin-left:auto;font-size:var(--fs-sm);font-weight:500;color:#bfcacb}.card-source{display:flex;flex-direction:column;gap:2px;margin-top:auto;padding:10px 13px;border-top:1px solid #25303a;background:#0e171d80}.card-source>span{font-size:var(--fs-xs);color:var(--text-mute)}.card-source small{font-size:var(--fs-xs);line-height:1.6;color:#6a7f8b}.unavailable{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;min-height:280px;padding:28px 18px;text-align:center}.unavailable-icon{display:grid;place-content:center;width:50px;height:50px;margin-bottom:16px;border:1px solid #35434e;border-radius:15px;color:#71818b;font-size:28px}.unavailable b{font-size:var(--fs-md);font-weight:500;color:#a2afb9}.unavailable p{max-width:200px;font-size:var(--fs-sm);line-height:1.8;color:var(--text-mute)}.unavailable>span{margin-top:10px;font-size:var(--fs-xs);letter-spacing:1px;color:#617480}.fetching .unavailable-icon{animation:softpulse 1.5s infinite}.bottom-panels{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0 32px}.pipeline,.paste-panel{padding:20px 24px;border:1px solid #26333c;border-radius:9px;background:#111a21}.pipeline h3{margin:10px 0 14px;font-size:var(--fs-lg);font-weight:500}.pipeline-steps{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.pipeline-steps>span{display:flex;align-items:center;gap:7px;font-size:var(--fs-sm);color:#6f8491}.pipeline-steps i{padding:2px 5px;border:1px solid #34434e;border-radius:4px;font-family:var(--mono);font-size:var(--fs-xs);font-style:normal}.pipeline-steps .done{color:#bdcdb0}.pipeline-steps .done i{border-color:#557041;color:var(--accent)}.pipeline-steps b{font-weight:400;color:#4b5f6c}.pipeline p{margin:12px 0 8px;font-size:var(--fs-sm);color:var(--text-mute)}.paste-panel label{display:block;margin:10px 0 12px;font-size:var(--fs-md);color:#bdc7ce}.paste-panel textarea{width:100%;min-height:68px;padding:10px 12px;resize:vertical;border:1px solid #2d3b46;border-radius:var(--r-sm);background:#0d151b;color:#c2cdd3;font-size:var(--fs-sm);line-height:1.7}.paste-panel textarea::placeholder{color:#5d717d}.paste-panel>div:last-child{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.paste-panel small{font-size:var(--fs-xs);color:var(--text-mute)}.setup-version{text-align:right;font-size:var(--fs-xs);letter-spacing:1.6px;color:#66808e}.setup-version b{display:block;margin-top:5px;font-size:var(--fs-md);font-weight:400;letter-spacing:0;color:#b1c1ca}.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:32px}.setup-card{padding:24px 28px;border:1px solid #2c3c48;border-radius:10px;background:#141e26}.setup-card.wide{grid-column:1/3}.setup-card h2{margin:10px 0;font-size:var(--fs-xl);font-weight:500}.setup-card p,.guide li{font-size:var(--fs-md);line-height:1.85;color:#93a3ae}.setup-card .checkbox-row{margin:18px 0}.field-label{display:block;margin:20px 0 14px;font-size:var(--fs-sm);color:#a5b4bf}.field-label input{display:block;width:100%;margin-top:8px;padding:11px 14px;border:1px solid #364955;border-radius:var(--r-sm);background:#0c151c;color:#bfcbd1;font-family:var(--mono);font-size:var(--fs-md)}.setup-warning{padding:12px 16px;border:1px solid #554a28;border-radius:var(--r-sm);background:#28271c;color:#c4b88f;font-size:var(--fs-sm);line-height:1.8}.port-line{display:flex;align-items:center;gap:16px;padding:14px 0 20px;font-size:var(--fs-sm);color:#91a4ad}.port-line b{font-family:var(--mono);font-size:24px;color:#dce8de}.port-line small{margin-left:auto;color:#6d8796}.help-note{margin-top:18px;font-size:var(--fs-sm)!important}.path-list{padding-left:0;list-style:none;font-size:var(--fs-sm);color:#7b929f}.path-list li{margin-top:10px}.path-list li button{padding:0;border:0;background:none;color:#aecb96;text-align:left;font-family:var(--mono);font-size:var(--fs-sm)}.path-list small{display:block;font-size:var(--fs-xs);color:#6d8796}.log-diagnostics{display:flex;flex-wrap:wrap;gap:24px;padding-top:14px;font-size:var(--fs-sm);color:#8198a5}.log-diagnostics b{font-weight:500;color:#c5d7c0}@media(min-width:1700px){.app-shell{padding:0 56px}.player-card{min-height:600px}.trend-block svg{height:80px}.avatar{width:70px;height:70px}}@media(max-width:1200px){.app-shell{padding:0 24px}.topbar{gap:24px}.local-pill>span:last-child{display:none}.cards-grid{gap:10px}.metrics{padding:16px 12px}.metrics b{font-size:21px}.rank-row,.map-list{margin-left:10px;margin-right:10px}.trend-block{padding-left:10px;padding-right:10px}.match-meta{gap:14px;margin-left:10px;padding-left:14px}}@media(max-width:1100px){.veto-layout{grid-template-columns:minmax(0,1fr)}.veto-side{position:static}.veto-layout.has-result .veto-side{order:-1}.tools-grid{grid-template-columns:1fr}}@media(max-width:950px){.cards-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.brand small,.demo-banner>span,.match-meta,.section-title>div,.page-footer span:nth-child(2){display:none}.hero h1{font-size:26px}.bottom-panels{grid-template-columns:1fr}.honesty-banner{align-items:flex-start;flex-wrap:wrap}}@media(max-width:760px){.matrix-cards{display:grid}.matrix-table-wrap{display:none}.setup-grid{display:block}.setup-card{margin-bottom:14px;padding:20px}.setup-version{display:none}.port-line{flex-wrap:wrap}.port-line small{margin-left:0}}@media(max-width:650px){.app-shell{padding:0 14px}.topbar{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 12px;padding:12px 0 0}.topbar nav{grid-column:1/-1;order:3;justify-content:space-between;gap:8px;height:42px;margin-top:2px;border-top:1px solid var(--line)}.topbar nav button{flex:1;padding:0 4px}.brand b{font-size:22px}.brand-mark{width:28px;height:28px;font-size:20px}.topbar-right{gap:6px}.local-pill .pill-text{display:none}.veto-head{padding:16px 0 12px}.veto-head h1{font-size:20px}.veto-steps{display:none}.workbench,.decision{padding:var(--sp-3)}.drop{flex-wrap:wrap;min-height:0}.drop-side{width:100%;grid-auto-flow:column;justify-content:start;align-items:center}.chip-grid{grid-template-columns:1fr}.wb-spacer{display:none}.cta{width:100%}.decision li.top .map strong{font-size:18px}.hero{display:block;padding:24px 0}.session-state{margin-top:18px}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cards-grid .player-card:last-child{grid-column:1/3;min-height:400px}.player-card{min-height:520px}.fold-summary small{display:none}.page-footer{flex-wrap:wrap;letter-spacing:.4px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
