﻿:root{color-scheme:light;--ink:#192523;--mute:#4d615d;--edge:#d8e1de;--paper:#f2f6f4;--white:#fff;--accent:#08795d;--ok:#32b28f;--dash:#dbab5b;--blank:#d77760;--absent:#a494be;--outside:#778782}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.45 "Segoe UI",system-ui,sans-serif}
header{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#142b27;color:#fff;padding:27px max(24px,calc((100vw - 1520px)/2))}h1,h2,p{margin:0}h1{font-size:clamp(28px,4vw,44px);letter-spacing:-.04em;line-height:1.1;margin:5px 0 8px}h2{font-size:19px;letter-spacing:-.015em}.project{font-size:11px;font-weight:700;letter-spacing:.14em;color:#a6d9cb}.muted{color:var(--mute);font-size:13px}header .muted{color:#bbcec7}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
button,.primary{border:1px solid var(--edge);border-radius:7px;background:#fff;color:var(--ink);cursor:pointer;font:inherit;font-size:13px;font-weight:650;padding:8px 12px;white-space:nowrap}.primary{background:#a9ecd6;color:#11332c;border-color:#a9ecd6;display:inline-block}button:hover,.primary:hover{filter:brightness(.95)}:focus-visible{outline:3px solid #269d83;outline-offset:3px}button:disabled{opacity:.55;cursor:wait}
main,#feedback{max-width:1570px;margin:auto;padding:18px 24px 30px}#feedback{padding-block:10px;background:#e0f4ec}#feedback.error{background:#fae4dc;color:#742a17}
.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;background:#fff;border:1px solid var(--edge);padding:12px 14px;border-radius:10px}.filters label{display:flex;flex-direction:column;gap:3px;font-size:12px;font-weight:700;flex:1;min-width:155px}.filters .search{flex:1.5}select,input[type=search]{font:inherit;font-size:13px;height:35px;border:1px solid #b9c9c3;background:#fff;border-radius:6px;padding:0 9px;color:var(--ink);width:100%}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}.kpis article,.card,.method{border:1px solid var(--edge);border-radius:10px;background:var(--white);min-width:0}.kpis article{padding:12px 15px;display:grid;gap:3px;border-top:3px solid #6a847c}.kpis article.valid{border-top-color:var(--ok)}.kpis article.dash{border-top-color:var(--dash)}.kpis span{font-size:13px;font-weight:650;color:var(--mute)}.kpis strong{font-size:31px;line-height:1.12;letter-spacing:-.04em}.kpis small{color:var(--mute);font-size:11px}
.split{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(295px,1fr);gap:12px;margin-bottom:12px}.split.analysis{grid-template-columns:minmax(320px,1fr) minmax(0,1.65fr)}.cardhead{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:12px 14px}.viewport{background:#dfe9e4;position:relative;height:clamp(320px,48vh,620px);overflow:hidden}canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}canvas:active{cursor:grabbing}#modelmessage{position:absolute;top:16px;left:16px;padding:7px 10px;color:#172724;background:#fff;border-radius:6px;font-size:13px;pointer-events:none}#modelmessage:empty{display:none}.legend{display:flex;gap:10px;flex-wrap:wrap;padding:10px 14px;font-size:12px;color:var(--mute)}.legend span{display:flex;align-items:center;gap:6px}.swatch{display:inline-block;width:10px;height:10px;border-radius:3px}
#details{max-height:clamp(320px,48vh,620px);overflow:auto;padding:0 14px 10px}.detailrow{display:grid;grid-template-columns:minmax(90px,.75fr) minmax(100px,1.25fr);gap:8px;border-top:1px solid #e2ebe7;padding:7px 0;font-size:13px;overflow-wrap:anywhere}.detailrow b{font-weight:650}.detailrow small{display:block;color:var(--mute)}.detailrow.active{background:#e8f8f2}.raw{margin:9px 0;font-size:13px}.raw summary,.method summary{cursor:pointer;font-weight:650}
#chart{padding:0 14px 14px}.chartrow{display:grid;grid-template-columns:minmax(80px,1fr) minmax(100px,1.3fr) 55px;gap:8px;align-items:center;width:100%;border:0;text-align:left;padding:6px 2px;background:transparent;white-space:normal}.chartrow .bar{display:flex;height:10px;border-radius:4px;overflow:hidden;background:#edf2ef}.chartrow span:last-child{text-align:right;font-variant-numeric:tabular-nums}.tablewrap{overflow:auto;max-height:340px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:8px 10px;text-align:left;border-top:1px solid #e0e9e5}th{position:sticky;top:0;background:#eef4f0;z-index:1}td button{background:none;border:0;padding:0;color:#075e48;text-align:left;white-space:normal}tr.selected{background:#e4f6ee}.method{padding:11px 14px;color:var(--mute);font-size:13px}.method p{margin-top:6px}
@media(max-width:1000px){header{padding-inline:20px}.split,.split.analysis{grid-template-columns:1fr}.inspect #details{max-height:400px}}@media(max-width:620px){header{display:block}.actions{margin-top:14px}main{padding-inline:12px}.kpis{grid-template-columns:repeat(2,1fr)}.filters label{min-width:122px}}
@media print{header{background:#fff;color:#000;padding:10px 0}header .project,header .muted{color:#24372f}.actions,.filters,.cardhead button,#feedback{display:none!important}main{padding:0}.split{grid-template-columns:1fr}.viewport{height:330px}.tablewrap,#details{max-height:none;overflow:visible}.card,.kpis article{break-inside:avoid}body{background:#fff}*{print-color-adjust:exact}}

.model-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.model-actions [aria-pressed=true]{background:#d8f0e7;border-color:#8dc6b7}
.swatch.translucent{opacity:.32;border:1px solid #245d63}.swatch.textured{background-image:repeating-linear-gradient(135deg,transparent 0 2px,#143b3266 2px 3px)}
.edition-note{max-width:1570px;margin:auto;padding:9px 24px;color:var(--mute);font-size:13px}