:root{--bg:#f4f6fa;--surface:#fff;--surface2:#f8faff;--text:#172033;--muted:#67748a;--line:#e2e7ef;--accent:#2457d6;--accent2:#1846bd;--good:#11885b;--bad:#c63d4b;--shadow:0 14px 45px rgba(26,39,66,.07);--radius:20px}*{box-sizing:border-box}html{background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{margin:0;background:radial-gradient(circle at 15% 0%,#eaf0ff 0,transparent 31%),var(--bg);min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.topbar{position:sticky;top:0;z-index:20;height:70px;padding:0 max(18px,calc((100vw - 1220px)/2));display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.85);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;color:var(--text);text-decoration:none}.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--accent);color:#fff;font-weight:900;box-shadow:0 10px 25px #2457d633}.brand strong{display:block;font-size:15px}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.top-actions{display:flex;gap:8px}.icon-button{width:42px;height:42px;border-radius:13px;border:1px solid var(--line);background:var(--surface);color:var(--text)}.page{width:min(1220px,100%);margin:0 auto;padding:28px 18px 54px}.hero{display:flex;justify-content:space-between;gap:24px;align-items:end;padding:18px 2px 24px}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.11em;color:var(--accent)}h1,h2,h3,p{margin:0}.hero h1{margin-top:6px;font-size:clamp(30px,5vw,46px);line-height:1.05;letter-spacing:-.03em}.hero p{margin-top:12px;color:var(--muted);max-width:720px;line-height:1.55}.hero-actions,.workspace-actions,.empty-actions,.form-actions{display:flex;gap:9px;flex-wrap:wrap}.primary,.secondary,.ghost,.danger,.mini{border-radius:12px;min-height:42px;padding:0 14px;border:1px solid transparent;font-weight:800}.primary{background:var(--accent);color:#fff}.primary:hover{background:var(--accent2)}.secondary{background:var(--surface);border-color:var(--line);color:var(--text)}.ghost{background:transparent;color:var(--accent);padding-inline:8px}.danger{background:#fff0f2;color:var(--bad)}.mini{min-height:34px;padding:0 10px;font-size:12px;background:var(--surface);border-color:var(--line)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.workspace{padding:16px}.workspace-head{display:flex;align-items:end;justify-content:space-between;gap:16px}.field{display:grid;gap:7px}.field>span{font-size:12px;font-weight:850;color:var(--muted)}.field.compact{min-width:min(420px,100%)}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:var(--surface2);color:var(--text);border-radius:13px;padding:11px 12px;outline:none}.field textarea{min-height:90px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(36,87,214,.1)}.field small,.muted,.hint{color:var(--muted);font-size:12px;line-height:1.45}.tip{display:flex;gap:10px;align-items:flex-start;padding:12px 13px;margin-top:13px;border:1px dashed #cfd8ea;background:#f7f9fe;border-radius:14px;color:#56647b;font-size:12px;line-height:1.5}.empty{margin-top:16px;padding:56px 20px;text-align:center}.empty-icon{font-size:42px}.empty h2{font-size:24px;margin-top:10px}.empty p{max-width:650px;margin:8px auto 19px;color:var(--muted);line-height:1.55}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;padding:26px 2px 13px}.section-heading h2{margin-top:4px;font-size:24px}.section-heading p{margin-top:5px;color:var(--muted);font-size:13px}.score-note{background:#eaf0ff;color:#2447a7;padding:8px 10px;border-radius:999px;font-size:11px;font-weight:850;white-space:nowrap}.ranking{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px}.rank-card{background:var(--surface);border:1px solid var(--line);border-radius:19px;padding:16px;box-shadow:var(--shadow)}.rank-card.top{border-color:#9db0ef;box-shadow:0 16px 45px rgba(36,87,214,.12)}.rank-top{display:flex;justify-content:space-between;align-items:center}.rank-no{font-size:11px;font-weight:900;color:var(--muted)}.coverage{font-size:10px;font-weight:800;color:var(--good);background:#eaf8f2;padding:6px 8px;border-radius:999px}.rank-card h3{font-size:18px;margin:10px 0 14px}.score-row{display:flex;align-items:center;gap:12px}.score-ring{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent) calc(var(--score)*1%),#e8edf6 0);position:relative}.score-ring:after{content:"";position:absolute;inset:7px;background:var(--surface);border-radius:50%}.score-ring b{position:relative;z-index:1;font-size:15px}.score-row strong{display:block;font-size:18px}.score-row small{display:block;color:var(--muted);margin-top:3px;font-size:11px}.progress{height:7px;border-radius:999px;overflow:hidden;background:#e9edf4;margin:12px 0}.progress i{display:block;height:100%;background:var(--accent);border-radius:999px}.rank-card details{border-top:1px solid var(--line);padding-top:10px}.rank-card summary{cursor:pointer;color:var(--accent);font-size:12px;font-weight:800}.contrib-list{display:grid;gap:7px;margin-top:10px}.contrib{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;font-size:11px}.contrib span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.contrib b{font-size:11px}.contrib i{grid-column:1/-1;height:5px;background:#edf0f6;border-radius:999px;overflow:hidden}.contrib em{display:block;height:100%;background:var(--accent)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px 0}.section-head h2{font-size:20px;margin-top:4px}.criteria-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;padding:16px 20px 20px}.criterion-card{border:1px solid var(--line);border-radius:16px;background:var(--surface2);padding:13px}.criterion-top{display:flex;justify-content:space-between;gap:10px}.criterion-title{display:block;font-weight:900}.criterion-title em{font-style:normal;font-size:9px;padding:4px 6px;background:#fff2d9;color:#995b00;border-radius:999px;margin-left:5px;vertical-align:2px}.criterion-meta{display:block;color:var(--muted);font-size:11px;margin-top:5px}.criterion-values{display:grid;gap:7px;margin-top:10px}.chip-button,.value-row{border:1px solid var(--line);background:var(--surface);border-radius:11px;color:var(--text);text-align:left}.chip-button{padding:9px}.chip-button b{display:block;font-size:12px}.chip-button span{display:block;margin-top:3px;color:var(--muted);font-size:10px}.criterion-foot{display:flex;justify-content:space-between;align-items:center;margin-top:10px;color:var(--muted);font-size:10px}.table-wrap{overflow:auto;padding:14px 20px 20px}.table-wrap table{width:100%;border-collapse:collapse;min-width:650px}.table-wrap th,.table-wrap td{padding:11px;border-bottom:1px solid var(--line);text-align:left;font-size:12px;white-space:nowrap}.table-wrap th{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.models-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:15px;margin-top:16px}.model-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:17px}.model-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.alt-label{font-size:9px;color:var(--accent);font-weight:900;letter-spacing:.1em}.model-head h3{font-size:22px;line-height:1.1;margin-top:4px}.model-head p{margin-top:7px;color:var(--muted);font-size:12px;line-height:1.5;white-space:pre-wrap}.model-actions,.item-actions{display:flex;gap:5px;flex-shrink:0}.model-score{display:grid;grid-template-columns:1fr auto;gap:0 12px;align-items:end;padding:12px 0;border-bottom:1px solid var(--line);margin-top:11px}.model-score span,.model-score small{color:var(--muted);font-size:10px}.model-score b{font-size:30px;line-height:1;grid-row:span 2}.model-section{padding-top:14px;margin-top:1px}.section-mini-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.section-mini-head strong{font-size:12px}.factor-row,.link-row{display:flex;gap:8px;align-items:center;padding:8px 0;border-bottom:1px dashed var(--line)}.factor-row:last-child,.link-row:last-child{border-bottom:0}.sign{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;font-weight:900;font-size:13px;flex-shrink:0}.sign.plus{background:#eaf8f2;color:var(--good)}.sign.minus{background:#fff0f2;color:var(--bad)}.factor-label{min-width:0;flex:1}.factor-label b,.factor-label small{display:block}.factor-label b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.factor-label small{margin-top:2px;color:var(--muted);font-size:10px}.link-row a{color:var(--accent);font-size:12px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-decoration:none}.value-row{display:flex;justify-content:space-between;gap:10px;width:100%;padding:9px 10px;margin-top:6px}.value-row span{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.value-row b{font-size:11px;white-space:nowrap}.modal-backdrop{position:fixed;inset:0;z-index:60;background:rgba(12,18,32,.45);display:grid;place-items:center;padding:14px}.modal{width:min(640px,100%);max-height:90vh;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:23px;box-shadow:0 30px 90px rgba(10,20,40,.27)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:15px 17px;border-bottom:1px solid var(--line)}.modal-head h3{font-size:18px}.form{display:grid;gap:12px;padding:17px}.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.checkline{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid var(--line);border-radius:13px;background:var(--surface2);font-size:12px}.checkline input{accent-color:var(--accent)}.modal-help{font-size:12px;color:var(--muted);line-height:1.5}.text-danger{background:none;border:0;color:var(--bad);font-size:12px;font-weight:800;text-align:left;padding:0}.toast-region{position:fixed;right:15px;bottom:15px;z-index:80;display:grid;gap:8px;max-width:min(380px,calc(100vw - 30px))}.toast{background:#152036;color:#fff;padding:11px 14px;border-radius:13px;box-shadow:0 18px 50px rgba(0,0,0,.18);font-size:12px;opacity:0;transform:translateY(8px);transition:.2s}.toast.show{opacity:1;transform:none}.toast.error{background:#8e2532}.footer-note{text-align:center;color:var(--muted);font-size:10px;margin:20px 0}.dark{}:root[data-theme="dark"]{--bg:#0c1220;--surface:#121a29;--surface2:#182235;--text:#edf2fa;--muted:#99a7bd;--line:#28354c;--shadow:0 18px 50px rgba(0,0,0,.23)}:root[data-theme="dark"] body{background:radial-gradient(circle at 15% 0%,#162446 0,transparent 32%),var(--bg)}:root[data-theme="dark"] .topbar{background:rgba(18,26,41,.86)}:root[data-theme="dark"] .tip{background:#121c2e;border-color:#33415b;color:#aebbd0}:root[data-theme="dark"] .coverage{background:#123225}:root[data-theme="dark"] .criterion-title em{background:#3a2c10;color:#f1c767}:root[data-theme="dark"] .score-ring:after{background:var(--surface)}
@media (max-width:760px){.topbar{height:62px;padding:0 13px}.brand-mark{width:37px;height:37px;border-radius:11px}.brand small{display:none}.page{padding:16px 12px 42px}.hero{display:block;padding:10px 2px 17px}.hero-actions{margin-top:14px}.workspace-head{display:block}.workspace-actions{margin-top:10px}.workspace-actions .secondary,.workspace-actions .ghost{flex:1}.field.compact{min-width:0}.section-heading{align-items:flex-start;display:block}.score-note{display:inline-block;margin-top:10px}.ranking{grid-template-columns:1fr}.criteria-grid{grid-template-columns:1fr;padding:14px}.models-grid{grid-template-columns:1fr}.row{grid-template-columns:1fr}.model-head{display:block}.model-actions{margin-top:9px}.table-wrap{padding-inline:12px}.top-actions{gap:5px}}

.contrib b.positive{color:var(--good)}.contrib b.negative{color:var(--bad)}.contrib b.neutral{color:var(--muted)}.contrib em.positive{background:var(--good)}.contrib em.negative{background:var(--bad)}.bulk-value{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.bulk-value .row{margin-top:7px}.bulk-value input{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;padding:9px 10px}
