@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Space+Grotesk:wght@400;500;700&display=swap";:root{--bg:#edf1ee;--panel-bg:#f6f9f4;--panel-border:#c8d5cc;--text-main:#1f2624;--text-muted:#54645b;--text-soft:#66786f;--btn-bg:#e9f0ea;--btn-border:#b6c6bc;--btn-text:#1b2a24;--focus:#2d7f6f;--font-body:"Space Grotesk", "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", "JetBrains Mono", monospace;font-family:var(--font-body);color:var(--text-main);background-color:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.45}*{box-sizing:border-box}body{background:radial-gradient(circle at 8% 5%, #25817c2b, transparent 38%), radial-gradient(circle at 90% 80%, #c8966329, transparent 42%), var(--bg);min-height:100svh;margin:0}#root{width:min(1100px,100%);margin:0 auto}.app-shell{gap:1.25rem;padding:2.5rem 1.25rem 3rem;display:grid}.page-header{color:#f4f2e7;text-align:left;background:linear-gradient(135deg,#082b3e 0%,#0d3f45 48%,#176654 100%);border-radius:1rem;padding:1.5rem;box-shadow:0 14px 30px #09232d42}.page-header h1{color:inherit;margin:.3rem 0 .9rem;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.1}.page-header p{max-width:75ch;margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.12em;opacity:.9;font-size:.8rem}.panel{background:var(--panel-bg);border:1px solid var(--panel-border);text-align:left;border-radius:1rem;padding:1rem}.controls-row{flex-wrap:wrap;gap:.65rem;margin-bottom:.9rem;display:flex}.file-upload,button{border:1px solid var(--btn-border);background:var(--btn-bg);color:var(--btn-text);font-family:var(--font-body);cursor:pointer;border-radius:.7rem;padding:.62rem .88rem;font-size:.95rem;font-weight:600;transition:transform .14s,box-shadow .14s}.file-upload{align-items:center;display:inline-flex}.file-upload input{display:none}button:hover,.file-upload:hover{transform:translateY(-1px);box-shadow:0 8px 18px #1130341f}button.ghost{background:0 0}.input-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.4rem;font-size:.75rem;display:block}textarea{border:1px solid var(--panel-border);box-sizing:border-box;width:100%;font-size:.85rem;line-height:1.5;font-family:var(--font-mono);color:var(--text-main);resize:vertical;background:#fff;border-radius:.85rem;padding:.9rem}textarea:focus,button:focus-visible,.file-upload:focus-within{outline:2px solid var(--focus);outline-offset:2px}.error-box{color:#8e1f1f;background:#fff0ec;border:1px solid #f5c8be;border-radius:.7rem;margin:.8rem 0 0;padding:.6rem .75rem}.panel h2{margin:0 0 .9rem;font-size:1.1rem}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.metric-card{border:1px solid var(--panel-border);background:linear-gradient(#fff 0%,#f9faf7 100%);border-radius:.8rem;min-height:6.7rem;padding:.8rem}.metric-good{border-color:#9ac5a7}.metric-warning{border-color:#e7c786}.metric-critical{border-color:#e9a18d}.metric-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin:0;font-size:.8rem}.metric-value{color:var(--text-main);font-size:1.32rem;line-height:1.2;font-family:var(--font-mono);margin:.45rem 0}.metric-hint{color:var(--text-soft);margin:0;font-size:.83rem}.footer-meta{color:var(--text-soft);margin:.95rem 0 0;font-size:.84rem}@media (width<=1080px){.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.app-shell{gap:1rem;padding:1.2rem .9rem 2rem}.page-header,.panel{padding:.9rem}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=460px){.metrics-grid{grid-template-columns:1fr}.controls-row{flex-direction:column}.file-upload,button{justify-content:center;width:100%}}
