:root{color-scheme:light;--ink:#0d1526;--ink-2:#33405a;--muted:#6b7688;--faint:#9aa4b3;--paper:#faf9f6;--surface:#ffffff;--line:#e6e3dc;--line-2:#efece5;--line-strong:#cfd4dd;--signal:#c2703d;--signal-ink:#9c5528;--signal-wash:#f6ede4;--pos:#2f7d57;--neg:#b23b30;--warn:#b07d1e;--pos-wash:#eaf3ee;--neg-wash:#f7eae8;--warn-wash:#f6efdf;--radius:4px;--sans:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"SF Mono",ui-monospace,"JetBrains Mono",Menlo,Consolas,monospace}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--paper);color:var(--ink-2);font-family:var(--sans);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input{font:inherit}a{color:var(--signal-ink);text-decoration:none}a:hover{text-decoration:underline}.shell{min-height:100vh}.topbar{justify-content:space-between;gap:16px;padding:22px 32px;border-bottom:1.5px solid var(--ink);background:var(--paper)}.brand,.topbar{display:flex;align-items:baseline}.brand{gap:14px;flex-wrap:wrap}.brand h1{margin:0;font-size:17px;font-weight:680;letter-spacing:-.01em;color:var(--ink)}.brand span,.muted{color:var(--muted);font-size:12.5px}.brand span:before{content:"— ";color:var(--faint)}.dash-wrap,.panel.narrow{max-width:940px;margin:0 auto;padding:40px 32px 96px}.panel.narrow{max-width:600px}.brand span.tag,.confirm-block .role,.section-label{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--signal-ink)}.section-label{display:block;margin:0 0 14px}.section-label:before{content:"";display:inline-block;width:14px;height:1px;background:var(--signal);vertical-align:middle;margin-right:8px}.field{display:grid;grid-gap:7px;gap:7px;margin-bottom:16px}.field label,.muted.lbl,label.lbl{font-size:12px;font-weight:600;color:var(--ink-2)}input:not([type]),input[type=text]{width:100%;min-height:42px;border:1px solid var(--line-strong);border-radius:var(--radius);padding:0 12px;background:var(--surface);color:var(--ink)}input::placeholder{color:var(--faint)}input:focus{outline:none;border-color:var(--signal);box-shadow:0 0 0 3px var(--signal-wash)}.comp-row{display:flex;gap:8px;align-items:center;margin:8px 0}.comp-row input{flex:1 1}.row{display:flex;align-items:center;gap:10px}button{min-height:40px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:var(--radius);padding:0 16px;font-weight:550;cursor:pointer;transition:border-color .12s,background .12s}button:hover:not(:disabled){border-color:var(--ink-2)}button.primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}button.primary:hover:not(:disabled){background:#050a14}button:disabled{opacity:.45;cursor:default}button.ghost{color:var(--signal-ink);padding:4px;min-height:30px;font-size:13px}button.ghost,button.icon{border-color:transparent;background:transparent}button.icon{color:var(--faint);min-height:32px;padding:0 8px}.actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.error{color:var(--neg);font-size:13px;margin-top:12px}.hint{color:var(--muted);font-size:12.5px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.panel.narrow{border:none;background:transparent}.panel.narrow .panel-body{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:26px 26px 22px}.panel.narrow>.panel-body>h3{margin:0 0 4px;font-size:17px;color:var(--ink);letter-spacing:-.01em}.confirm-block{padding:16px 0;border-bottom:1px solid var(--line-2)}.confirm-block:first-of-type{padding-top:6px}.confirm-block:last-of-type{border-bottom:none}.confirm-block .role{margin-bottom:10px}.cand-list{display:flex;flex-direction:column;gap:6px}.cand{display:flex;align-items:center;gap:13px;width:100%;padding:8px 11px 8px 8px;border:1px solid var(--line);border-left:2px solid transparent;border-radius:var(--radius);background:var(--surface);cursor:pointer;text-align:left;min-height:0}.cand:hover{border-color:var(--line-strong)}.cand.active{border-color:var(--signal);border-left-color:var(--signal);background:var(--signal-wash)}.cand-cover{width:100px;height:47px;object-fit:cover;border-radius:3px;background:var(--line);flex:none}.cand-name{font-weight:550;font-size:13px;color:var(--ink);flex:1 1}.cand-id{font-family:var(--mono);font-size:11px;color:var(--faint)}.cand-check{color:var(--signal-ink);font-weight:700}.waiting{text-align:center;padding:90px 0;color:var(--muted)}.spinner{width:22px;height:22px;border:2px solid var(--line);border-top-color:var(--signal);border-radius:50%;margin:0 auto 18px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.dash-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:18px;margin-bottom:4px;border-bottom:1.5px solid var(--ink)}.dash-head h2{margin:0;font-size:30px;font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1.05}.dash-meta{font-size:12.5px;color:var(--muted)}.dash-meta code{font-family:var(--mono);font-size:11.5px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px}.card+.card{margin-top:16px}.dash-section{margin-top:34px}.badge{display:inline-flex;align-items:center;font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.03em;text-transform:uppercase;padding:2px 7px;border-radius:3px;border:1px solid var(--line-strong);color:var(--muted);white-space:nowrap}.badge.ok{color:var(--pos);background:var(--pos-wash)}.badge.ok,.badge.warn{border-color:transparent}.badge.warn{color:var(--warn);background:var(--warn-wash)}.badge.crit{color:var(--neg);background:var(--neg-wash);border-color:transparent}.badge.neutral{color:var(--ink-2);background:var(--line-2);border-color:transparent}table{width:100%;border-collapse:collapse;font-size:13px}td,th{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line-2)}th{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}td{color:var(--ink-2)}td.num,th.num{text-align:right;font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}tr:last-child td{border-bottom:none}.rel-pos{font-family:var(--mono)}.rel-pos.up{color:var(--pos)}.rel-pos.down{color:var(--neg)}.finding{padding:16px 0;border-bottom:1px solid var(--line-2)}.finding:first-child{padding-top:2px}.finding:last-child{border-bottom:none}.finding .f-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.finding .f-title{font-weight:620;font-size:14.5px;color:var(--ink)}.finding p{margin:5px 0;color:var(--ink-2);font-size:13px}.finding p b{color:var(--ink)}.finding .f-limit{color:var(--faint);font-size:12px}.metric-inline{font-family:var(--mono);font-size:11.5px;color:var(--muted)}.score-cells{display:flex;gap:22px;margin-top:8px;flex-wrap:wrap}.score-cells .sc{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--faint)}.score-cells .sc b{display:block;font-size:17px;font-weight:600;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:0}.limitations{margin:0;padding-left:16px;color:var(--faint);font-size:12.5px}.limitations li{margin-bottom:5px}.cross-list{margin:0 0 6px;padding-left:0;list-style:none}.cross-list li{margin-bottom:10px;font-size:14px;color:var(--ink);padding-left:16px;border-left:2px solid var(--signal);line-height:1.5}.panel-tabs{display:flex;gap:4px;margin-bottom:18px;flex-wrap:wrap}.panel-tab{padding:8px 14px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);font-size:13px;color:var(--muted);cursor:pointer;min-height:0}.panel-tab.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.panel-tab .r{font-family:var(--mono);font-size:9.5px;opacity:.65;margin-left:8px;text-transform:uppercase;letter-spacing:.05em}.subgrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:28px;gap:28px}.bar{height:4px;border-radius:2px;background:var(--line-2);overflow:hidden;margin-top:5px}.bar>span{display:block;height:100%}.bar.pain>span{background:var(--neg)}.bar.sell>span{background:var(--pos)}@media (max-width:720px){.subgrid{grid-template-columns:1fr;gap:22px}.topbar{padding:18px 20px}.dash-wrap,.panel.narrow{padding:28px 20px 72px}.dash-head h2{font-size:24px}}.topnav{display:flex;align-items:center;gap:6px}.navlink{font-size:13px;font-weight:550;color:var(--muted);padding:5px 12px;border-radius:var(--radius);border:1px solid transparent}.navlink:hover{text-decoration:none;color:var(--ink);background:var(--line-2)}.navlink.active{color:var(--paper);background:var(--ink);border-color:var(--ink)}.userchip{display:inline-flex;align-items:center;gap:7px;margin-left:6px;font-size:12.5px;color:var(--ink-2);font-weight:550;padding:5px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.userchip i{width:7px;height:7px;border-radius:50%;background:var(--pos)}.btn-primary-link{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:var(--radius);font-weight:550;font-size:14px}.btn-primary-link:hover{text-decoration:none;background:#050a14}.hist-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.hist-list{display:flex;flex-direction:column;gap:8px}.hist-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:var(--radius);background:var(--surface)}.hist-row:hover{text-decoration:none;border-color:var(--line-strong);border-left-color:var(--signal)}.hist-title{font-size:15px;font-weight:650;color:var(--ink);display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.hist-title .vs{font-size:12.5px;font-weight:500;color:var(--muted)}.hist-meta{gap:8px;flex-wrap:wrap;margin-top:5px;font-size:12px;color:var(--muted)}.hist-meta,.hist-right{display:flex;align-items:center}.hist-right{gap:10px;flex-shrink:0}.err-inline{color:var(--neg)}.tag-reuse{font-size:11px;color:var(--signal-ink);background:var(--signal-wash);padding:1px 7px;border-radius:3px;font-weight:600}.empty-state{text-align:center;padding:48px 0;color:var(--muted);display:flex;flex-direction:column;gap:14px;align-items:center}.spill{font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:999px;white-space:nowrap}.sp-done{color:var(--pos);background:var(--pos-wash)}.sp-run{color:var(--signal-ink);background:var(--signal-wash)}.sp-fail{color:var(--neg);background:var(--neg-wash)}.sp-queue{color:var(--muted);background:var(--line-2)}.rerun-box{margin-top:20px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.rerun-toggle{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.rerun-toggle input{width:16px;height:16px;margin-top:3px;accent-color:var(--signal)}.rerun-toggle strong{color:var(--ink)}.rerun-explain{margin-top:8px;font-size:12.5px;padding-left:26px}.warn-line{color:var(--signal-ink)}.ok-line{color:var(--muted)}.progress-track{margin:26px 0 20px}.progress-track,.pstep{display:flex;align-items:flex-start}.pstep{gap:11px;flex:1 1;position:relative}.pstep-node{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;font-family:var(--mono);flex-shrink:0;border:1.5px solid var(--line-strong);background:var(--surface);color:var(--faint)}.pstep.done .pstep-node{background:var(--pos);border-color:var(--pos);color:#fff}.pstep.active .pstep-node{background:var(--signal);border-color:var(--signal);color:#fff}.pstep.error .pstep-node{background:var(--neg);border-color:var(--neg);color:#fff}.pstep-text{padding-top:1px}.pstep-label{font-size:13px;font-weight:650;color:var(--faint)}.pstep.active .pstep-label,.pstep.done .pstep-label,.pstep.error .pstep-label{color:var(--ink)}.pstep-sub{font-size:11px;color:var(--faint);margin-top:1px}.pstep-line{position:absolute;top:15px;left:40px;right:-11px;height:1.5px;background:var(--line-strong);z-index:0}.pstep.done .pstep-line{background:var(--pos)}.progress-detail{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font-size:13px;color:var(--ink-2)}.progress-detail.error-detail{border-color:var(--neg);background:var(--neg-wash);color:var(--neg)}.result-top{display:flex;justify-content:flex-end;margin-bottom:8px}