:root{--ink:#172033;--paper:#f3f5f1;--panel:#fff;--muted:#68746f;--line:#d4dbd5;--moss:#2f5d50;--orange:#e8743b;--blue:#3d75b8;--violet:#7f5aa7}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}.topbar{min-height:72px;padding:12px 24px;background:#10201b;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px;position:sticky;top:0;z-index:10}.brand,.top-actions,.workspace-head,.legend,.controls{display:flex;align-items:center}.brand{gap:12px}.brand-mark{width:42px;height:42px;border-radius:10px;background:var(--orange);display:grid;place-items:center;font-weight:800}.brand strong,.brand small{display:block}.brand strong{font-size:17px}.brand small{font-size:11px;color:#cbd5d0;letter-spacing:.08em}.top-actions{gap:8px;flex-wrap:wrap}.button{border:1px solid var(--moss);border-radius:9px;padding:9px 13px;background:var(--moss);color:#fff;font:700 13px inherit;cursor:pointer;text-decoration:none}.button:hover,.button:focus-visible{background:var(--orange);border-color:var(--orange)}.button.secondary{background:transparent;border-color:#70857c}.button.full{width:100%;margin-top:8px}.shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:calc(100vh - 72px)}.sidebar{padding:22px;background:#e7ebe5;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:24px}.sidebar section{display:grid;gap:9px}.home-link,.download-link{color:var(--moss);font-weight:750;text-decoration:none}.home-link{padding:9px 11px;border:1px solid var(--moss);border-radius:9px;width:max-content}.download-link{text-decoration:underline}.eyebrow{margin:0;font:700 10px/1.2 ui-monospace,monospace;letter-spacing:.12em;color:var(--moss)}.muted{margin:0;color:var(--muted);font-size:12px}.mono{font-family:ui-monospace,monospace}.project-name,select{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:9px;font:inherit}.project-name{font-size:16px;font-weight:750}.sidebar label{display:grid;gap:4px;color:var(--muted);font-size:12px}.stats{grid-template-columns:1fr 1fr!important}.stats div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px}.stats strong,.stats small{display:block}.stats strong{font-size:22px}.stats small{font-size:10px;color:var(--muted)}.workspace{padding:26px;min-width:0}.workspace-head{justify-content:space-between;gap:18px;margin-bottom:16px}.workspace-head h1{margin:3px 0 0;font-size:clamp(24px,3vw,38px);letter-spacing:-.03em}.legend{gap:13px;color:var(--muted);font-size:11px}.legend i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:4px}.legend .low{background:#5b8cc0}.legend .mid{background:#9a68a9}.legend .high{background:#e66f3e}.canvas-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:15px;padding:10px;box-shadow:0 10px 30px #1720330c}canvas{display:block;width:100%;height:min(56vh,620px);border-radius:10px;background:#f9fbf8;cursor:pointer}.hint{position:absolute;left:24px;bottom:18px;margin:0;padding:6px 9px;border-radius:7px;background:#ffffffdb;color:var(--muted);font-size:11px}.controls{justify-content:space-between;gap:14px;margin:14px 0;color:var(--muted);font-size:12px}.controls label{display:flex;align-items:center;gap:8px}.controls select{width:auto}.results{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.7fr);gap:14px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;min-width:0}.detail{padding-top:12px;color:var(--muted);line-height:1.7}.detail strong{color:var(--ink);font-size:18px}.table-wrap{overflow:auto;max-height:290px;margin-top:11px}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:right;padding:8px;border-bottom:1px solid var(--line);white-space:nowrap}th:first-child,td:first-child{text-align:left}tr.selected{background:#fce9df}@media(max-width:820px){.topbar{align-items:flex-start}.shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line)}.results{grid-template-columns:1fr}.legend{display:none}.workspace{padding:16px}canvas{height:430px}}@media(max-width:560px){.topbar{position:relative;flex-direction:column}.top-actions{width:100%}.top-actions .button{flex:1;text-align:center}.workspace-head{align-items:flex-start}.controls{align-items:flex-start;flex-direction:column}.stats{grid-template-columns:repeat(4,1fr)!important}.stats div{padding:8px 5px}.stats strong{font-size:18px}}
