:root{
  --bg:#071018;--panel:#0d1b27;--panel2:#122635;--line:#294557;
  --text:#f1f7fb;--muted:#91a7b6;--green:#54d7a1;--cyan:#64d7ea;
  --amber:#ffcc69;--red:#ff8581;--purple:#a797ff;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{background:var(--bg);color:var(--text);font-family:Inter,"Microsoft YaHei",system-ui,sans-serif}
body{margin:0;background:radial-gradient(circle at 88% 2%,#16464d 0,transparent 25%),radial-gradient(circle at 4% 92%,#182d4c 0,transparent 28%),var(--bg)}
button,select,input{font:inherit}
.page{width:min(1580px,96vw);margin:auto;padding:28px 0 40px}
.hero{display:flex;justify-content:space-between;gap:28px;padding:28px 30px;border:1px solid var(--line);border-radius:22px;background:#091722e8}
.eyebrow{color:var(--green);font-size:12px;font-weight:900;letter-spacing:.17em}
.hero h1{margin:14px 0 10px;font-size:clamp(38px,5.2vw,72px);line-height:.98;letter-spacing:-.05em}
.hero p{margin:0;color:var(--muted)}
.hero-meta{display:flex;flex-direction:column;align-items:flex-end;gap:10px;color:var(--muted);font-size:12px}
.hero-meta .status{padding:8px 12px;border-radius:999px;background:var(--amber);color:#2c2200;font-weight:900}
.warning{margin:14px 0;padding:14px 18px;border:1px solid #81672e;border-radius:14px;background:#332a14d9;color:#ffe7ae;line-height:1.55}
.warning strong{margin-right:12px}
.load-error{margin-bottom:14px;padding:17px;border:1px solid #8f3f42;border-radius:14px;background:#3a1b22;color:#ffdadd}
.workspace{display:grid;grid-template-columns:280px minmax(560px,1fr) 370px;gap:14px}
.panel{border:1px solid var(--line);border-radius:18px;background:#0a1925eb;padding:18px;box-shadow:0 18px 45px #0002}
.panel-title{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.panel-title>span{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#173549;color:var(--green);font-size:12px;font-weight:900}
.panel-title h2{margin:0;font-size:19px}
.controls label{display:block;margin:13px 0;color:var(--muted);font-size:11px}
.controls select{width:100%;margin-top:6px;padding:10px;border:1px solid #35566c;border-radius:10px;background:#112b3d;color:var(--text)}
.controls .check{display:flex;align-items:center;gap:8px;color:var(--text)}
.check input{accent-color:var(--green)}
.custom-weights{margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}
.subhead{display:flex;justify-content:space-between;align-items:center}
.subhead h3{margin:0;font-size:13px}.subhead b{color:var(--cyan);font-size:12px}
.weight-row{margin-top:10px}
.weight-row label{display:flex;justify-content:space-between;margin:0 0 3px}
.weight-row input{width:100%;accent-color:var(--green)}
.button-row{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:13px}
.button-row button{padding:9px;border:1px solid #36566a;border-radius:9px;background:#112c3e;color:var(--text);cursor:pointer}
.button-row button:hover{border-color:var(--green)}
.constraint-hint{margin-top:12px;padding:10px;border-radius:9px;background:#102536;color:var(--muted);font-size:10px;line-height:1.5}
.top-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.top-card{position:relative;min-width:0;padding:15px;border:1px solid #2d4c5e;border-radius:15px;background:linear-gradient(145deg,#112839,#0c1d2a);cursor:pointer;color:var(--text)}
.top-card:hover,.top-card.active{border-color:var(--green);box-shadow:0 0 0 2px #54d7a11b}
.top-card .rank{display:inline-grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#1a4050;color:var(--green);font-weight:900}
.top-card h3{min-height:44px;margin:13px 0 4px;font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.top-card .scenario-code{min-height:24px;margin:0;color:#6f8999;font-family:Consolas,monospace;font-size:8px;line-height:1.35;overflow-wrap:anywhere}
.top-card .score{display:block;margin:13px 0;color:#fff;font-size:32px;letter-spacing:-.04em}
.top-card .score small{color:var(--muted);font-size:10px}
.top-card dl{display:grid;gap:7px;margin:0}.top-card dl div{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid #1e394a;padding-bottom:6px}
.top-card dt{color:var(--muted);font-size:9px}.top-card dd{margin:0;font-size:10px;font-weight:800;text-align:right}
.top-card .tags{margin-top:10px}
.compare-toggle{position:absolute;top:14px;right:14px;display:flex;align-items:center;gap:4px;color:var(--muted);font-size:9px}
.compare-toggle input{accent-color:var(--amber)}
.empty{display:grid;place-items:center;min-height:460px;color:var(--muted)}
.detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.detail-head>div{min-width:0}.detail-head span{color:var(--green);font-size:11px}.detail-head h3{margin:4px 0 3px;font-size:15px;line-height:1.45;overflow-wrap:anywhere}.detail-head code{display:block;color:#718b9c;font-family:Consolas,monospace;font-size:8px;overflow-wrap:anywhere}
.detail-head>b{color:var(--cyan);font-size:28px}
.tags{display:flex;gap:5px;flex-wrap:wrap}
.tags span{padding:4px 7px;border-radius:999px;background:#173348;color:#b9d0df;font-size:8px}
.tags span.synthetic{background:#5a471c;color:#ffe29e}
.detail h4{margin:17px 0 9px;font-size:11px;color:#dcedf7}
.detail-metrics{display:grid;gap:7px}
.detail-metric{display:grid;grid-template-columns:1fr 54px 48px;gap:7px;align-items:center;padding:8px;border-radius:9px;background:#102536;font-size:9px}
.detail-metric span{color:#a8bbc8}.detail-metric b{text-align:right}.detail-metric em{text-align:right;color:var(--amber);font-style:normal}
.distance-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}
.distance-grid div{padding:10px;border:1px solid #284557;border-radius:9px}.distance-grid span{display:block;color:var(--muted);font-size:8px}.distance-grid b{display:block;margin-top:5px;color:var(--cyan);font-size:13px}
.detail article{margin-top:10px;padding:10px;border-left:3px solid var(--green);border-radius:0 9px 9px 0;background:#102435}
.detail article.robust{border-left-color:var(--amber)}
.detail article h4{margin:0 0 5px}.detail article p{margin:0;color:#a6bac7;font-size:10px;line-height:1.55}
.compare{margin-top:14px}
.compare-hint{margin:-5px 0 13px;color:var(--muted);font-size:11px}
.compare-layout{display:grid;grid-template-columns:1.3fr .8fr .8fr;gap:12px}
.table-wrap{grid-column:1/-1;overflow-x:auto;border:1px solid #274557;border-radius:12px}
table{width:100%;border-collapse:collapse;font-size:10px;white-space:nowrap}
th,td{padding:9px 10px;border-bottom:1px solid #1c3545;text-align:right}
th:first-child,td:first-child{text-align:left}th{color:#bcd0dc;background:#112638}td{color:#e7f2f8}
.chart-card{min-width:0;margin:0;padding:13px;border:1px solid #29485a;border-radius:13px;background:#0d2130}
.chart-card h3{margin:0 0 9px;font-size:12px}
#radarChart{display:block;width:100%;height:285px}
.score-bars{display:grid;gap:12px}.score-row{display:grid;grid-template-columns:92px 1fr 38px;gap:7px;align-items:center;font-size:9px}
.score-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-track{height:12px;border-radius:999px;background:#193447;overflow:hidden}.score-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),var(--cyan))}
.matrix-card{overflow-x:auto}.rank-matrix{display:grid;gap:6px;min-width:310px}.matrix-row{display:grid;grid-template-columns:100px repeat(4,1fr);gap:5px;align-items:center;font-size:8px}.matrix-row>span,.matrix-row>b{padding:7px;border-radius:7px;background:#102839;text-align:center}.matrix-row>span{text-align:left;color:#bdd0dc;overflow-wrap:anywhere}.matrix-head b{color:var(--amber)}
footer{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;padding:25px 10px 0;color:#708a9b;font-size:10px}
@media(max-width:1260px){.workspace{grid-template-columns:260px 1fr}.detail{grid-column:1/-1}.empty{min-height:120px}.compare-layout{grid-template-columns:1fr 1fr}.matrix-card{grid-column:1/-1}}
@media(max-width:820px){.page{width:94vw;padding-top:14px}.hero{display:block;padding:21px}.hero-meta{align-items:flex-start;margin-top:18px}.workspace{grid-template-columns:1fr}.top-cards{grid-template-columns:1fr}.compare-layout{grid-template-columns:1fr}.matrix-card{grid-column:auto}.distance-grid{grid-template-columns:1fr}.panel{padding:15px}}
@media(max-width:430px){.detail-metric{grid-template-columns:1fr 48px 44px}.button-row{grid-template-columns:1fr}.warning strong{display:block;margin-bottom:5px}}

body{font-size:15px;line-height:1.6}.hero h1{font-size:clamp(34px,2.55vw,40px);line-height:1.15}.hero p{font-size:15px}.eyebrow{font-size:13px}.hero-meta{font-size:13px}.controls label{font-size:14px}.subhead h3{font-size:15px}.constraint-hint,.compare-hint{font-size:14px}.top-card h3{font-size:16px}.top-card .scenario-code{font-size:12px}.top-card .score{font-size:32px}.top-card .score small,.top-card dt,.top-card dd,.compare-toggle{font-size:13px}.detail-head h3{font-size:16px}.detail-head code,.tags span,.detail h4,.detail-metric,.distance-grid span,.detail article p{font-size:13.5px}.detail-head span,.distance-grid b{font-size:14px}.table-wrap table{font-size:14px}.chart-card h3{font-size:15px}.score-row,.matrix-row{font-size:13px}
@media(max-width:820px){.hero h1{font-size:clamp(28px,8vw,32px);line-height:1.16}}
