:root{--bg: #f6f8fb;--card: #ffffff;--ink: #1e293b;--muted: #64748b;--line: #e2e8f0;--brand: #2563eb;--brand-d: #1d4ed8;--good: #16a34a;--bad: #dc2626;--warm: #d97706}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:15px}.app{min-height:100%;display:flex;flex-direction:column}.hero{background:linear-gradient(135deg,#1e3a8a,#2563eb);color:#fff;padding:32px 20px 26px}.hero-inner{max-width:960px;margin:0 auto}.hero h1{margin:0;font-size:30px;letter-spacing:-.5px}.tagline{margin:4px 0 10px;opacity:.92}.status{margin:0;font-size:13px;opacity:.95;display:flex;align-items:center;gap:8px}.dot{width:9px;height:9px;border-radius:50%;display:inline-block}.dot.ok{background:#4ade80}.dot.warm{background:#fbbf24}.dot.bad{background:#f87171}.tabs{max-width:960px;margin:-18px auto 0;padding:0 20px;display:flex;gap:8px}.tabs button{background:#fff;border:1px solid var(--line);border-bottom:none;padding:11px 18px;border-radius:10px 10px 0 0;cursor:pointer;font-size:14px;color:var(--muted)}.tabs button.active{color:var(--brand-d);font-weight:600;box-shadow:0 -2px 0 var(--brand) inset}.container{max-width:960px;margin:0 auto;padding:18px 20px 40px;width:100%}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:22px;box-shadow:0 1px 2px #0f172a0a}.card h2{margin:0 0 6px;font-size:20px}.card h3{margin:22px 0 8px;font-size:16px}textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;resize:vertical}.row{display:flex;gap:10px;align-items:center;margin:12px 0;flex-wrap:wrap}button{border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 16px;border-radius:8px;cursor:pointer;font-size:14px}button:hover{background:#f1f5f9}button.primary{background:var(--brand);border-color:var(--brand);color:#fff}button.primary:hover{background:var(--brand-d)}button:disabled{opacity:.55;cursor:default}.muted{color:var(--muted)}.small{font-size:12.5px}.error{color:var(--bad);background:#fef2f2;border:1px solid #fecaca;padding:10px 12px;border-radius:8px}code{background:#f1f5f9;padding:1px 5px;border-radius:4px;font-size:12.5px}.table-wrap{overflow-x:auto;margin-top:12px}table{border-collapse:collapse;width:100%;font-size:13.5px}table.small{font-size:12px}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-weight:600;background:#f8fafc;position:sticky;top:0}td.mono,.mono{font-family:ui-monospace,Menlo,Consolas,monospace}td.num,.num{text-align:right;font-variant-numeric:tabular-nums}tr.hi{background:#eff6ff;font-weight:600}.pill{padding:2px 8px;border-radius:999px;font-size:12px}.pill.strong{background:#dcfce7;color:#166534}.pill.weak{background:#fef9c3;color:#854d0e}.pill.none{background:#f1f5f9;color:#475569}.yes{color:var(--good);font-weight:600}.no{color:var(--muted)}.summary-grid{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0 4px}.stat{background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:12px 16px;min-width:120px}.stat.big{background:#eff6ff;border-color:#bfdbfe}.stat-value{font-size:20px;font-weight:700}.stat.big .stat-value{color:var(--brand-d)}.stat-label{font-size:12px;color:var(--muted);margin-top:2px}.chart{margin-top:8px}.preview{margin:14px 0;border:1px solid var(--line);border-radius:8px;padding:8px 12px;background:#fbfdff}.preview summary,details summary{cursor:pointer;color:var(--brand-d);font-size:13.5px}.single-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin:8px 0}.single-row .grow{flex:1;min-width:160px}.single-row label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.single-row input,.single-row select{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 11px;font-size:14px;font-family:ui-monospace,Menlo,Consolas,monospace;background:#fff;color:var(--ink)}.divider{height:1px;background:var(--line);margin:16px 0}.verdict{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:10px 14px;font-size:13.5px;margin:12px 0}.tilt{display:flex;gap:24px;flex-wrap:wrap}.metric-help{margin-top:18px;border-top:1px solid var(--line);padding-top:10px}.metric-help p{margin:8px 0}.footer{text-align:center;color:var(--muted);font-size:12px;padding:18px;border-top:1px solid var(--line)}ul{margin:6px 0;padding-left:20px}li{margin:3px 0}a{color:var(--brand-d)}
