:root{--bg: #f6f7f9;--panel: #ffffff;--ink: #16202c;--muted: #5b6b7c;--line: #dde3ea;--accent: #1f4e79;--accent-soft: #e8f0f8;--ok: #1e7a45;--ok-bg: #e2efda;--warn: #8a6100;--warn-bg: #fff2cc;--bad: #a63a1c;--bad-bg: #fce4d6;--hold: #24557f;--hold-bg: #deeaf6;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 var(--sans);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code,.mono{font-family:var(--mono)}.app{display:flex;min-height:100%}.side{width:208px;flex:0 0 208px;background:#10202f;color:#cdd9e4;padding:18px 0;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{padding:0 18px 16px}.brand b{display:block;font-size:18px;color:#fff;letter-spacing:-.01em}.brand span{font-size:11px;color:#7d94a8}.side nav a{display:block;padding:8px 18px;color:#cdd9e4;font-size:13.5px;border-left:3px solid transparent}.side nav a:hover{background:#17293a;text-decoration:none}.side nav a.on{background:#17293a;border-left-color:#4a9fe0;color:#fff;font-weight:600}.side .grp{padding:16px 18px 4px;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:#61788d}.side .foot{padding:16px 18px 0;font-size:11px;color:#61788d;line-height:1.6}.main{flex:1;min-width:0;padding:22px 26px 60px}.head{margin-bottom:18px}.head h1{margin:0 0 4px;font-size:21px;letter-spacing:-.015em}.head p{margin:0;color:var(--muted);max-width:76ch}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px 18px;margin-bottom:16px}.panel>h2{margin:0 0 10px;font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.row{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.row>*{min-width:0}.col{flex:1 1 320px}.spread{display:flex;justify-content:space-between;align-items:center;gap:12px}label.f{display:block;margin-bottom:12px}label.f>span.l{display:block;font-weight:600;font-size:12.5px;margin-bottom:3px}label.f>span.n{display:block;color:var(--muted);font-size:11.5px;margin-bottom:4px}input,select,textarea{width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:5px;font:13px var(--sans);background:#fff;color:var(--ink)}input.mono,select.mono{font-family:var(--mono)}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}button{padding:7px 14px;border-radius:5px;border:1px solid var(--accent);background:var(--accent);color:#fff;font:600 13px var(--sans);cursor:pointer}button.ghost{background:#fff;color:var(--accent)}button.quiet{background:#fff;color:var(--muted);border-color:var(--line)}button:disabled{opacity:.45;cursor:not-allowed}button.sm{padding:3px 9px;font-size:12px}.bignum{font-family:var(--mono);font-size:26px;font-weight:700;letter-spacing:-.01em;color:var(--accent);word-break:break-all}.bignum.empty{color:#a9b6c3;font-weight:500;font-size:19px}.segs{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.seg{font-family:var(--mono);font-size:12px;padding:2px 7px;border-radius:4px;background:var(--accent-soft);color:var(--accent);border:1px solid #cddff0}.seg.ser{background:#efe6f7;border-color:#ddc9ee;color:#5b3a80}.seg small{display:block;font-family:var(--sans);font-size:9.5px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.b{display:inline-block;padding:1px 7px;border-radius:10px;font-size:11px;font-weight:700;letter-spacing:.03em}.b.OK{background:var(--ok-bg);color:var(--ok)}.b.UNCOVERED{background:var(--warn-bg);color:var(--warn)}.b.FAIL{background:var(--bad-bg);color:var(--bad)}.b.HOLD{background:var(--hold-bg);color:var(--hold)}.b.grey{background:#eceff3;color:var(--muted)}.msg{padding:8px 11px;border-radius:6px;font-size:12.5px;margin-bottom:6px;line-height:1.45}.msg.bad{background:var(--bad-bg);color:#7c2c14}.msg.warn{background:var(--warn-bg);color:#6b4c00}.msg.ok{background:var(--ok-bg);color:#145c33}.msg.info{background:var(--accent-soft);color:#1a3f60}tr.pick{cursor:pointer}tr.pick:hover td{background:var(--accent-soft)}tr.pick .linkish{color:var(--accent)}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--line);padding:6px 8px;white-space:nowrap;position:sticky;top:0;background:var(--panel);z-index:1}td{padding:6px 8px;border-bottom:1px solid #eef1f5;vertical-align:top}tr:hover td{background:#fafbfc}td.mono,th.mono{font-family:var(--mono);font-size:12px}.scroll{max-height:68vh;overflow:auto}.panel .scroll.flush{margin:10px -18px -16px;border-top:1px solid var(--line);border-radius:0 0 7px 7px}.scroll.flush td{padding:9px 18px}.scroll.flush tr:last-child td{border-bottom:none}.wrap{white-space:normal}.dim{color:var(--muted)}.tiny{font-size:11.5px}.right{text-align:right}.tree{font-family:var(--mono);font-size:12.5px}.tree .n{display:flex;gap:8px;padding:2px 0;align-items:baseline}.tree .kids{margin-left:15px;border-left:1px dotted #c9d2dc;padding-left:11px}.tree .q{color:var(--muted);min-width:42px}.tree .c{color:var(--muted);margin-left:auto;white-space:nowrap}.stat{display:flex;gap:22px;flex-wrap:wrap}.stat div b{display:block;font-size:22px;line-height:1.15}.stat div span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.bar{height:7px;border-radius:4px;background:#eceff3;overflow:hidden;display:flex;margin-top:8px}.bar i{display:block;height:100%}.tooltip{display:none;position:fixed;z-index:200;max-width:420px;background:#16202c;color:#e8eef4;padding:7px 11px;border-radius:6px;font:12px/1.45 var(--sans);pointer-events:none;box-shadow:0 6px 20px #10202c59}.combo{position:relative}.combo-list{position:absolute;left:0;right:0;top:100%;margin-top:2px;background:#fff;border:1px solid var(--line);border-radius:6px;max-height:250px;overflow-y:auto;z-index:40;box-shadow:0 5px 16px #10202c24}.combo-opt{padding:6px 10px;cursor:pointer;font-size:12.5px;line-height:1.4;border-bottom:1px solid var(--bg)}.combo-opt:last-child{border-bottom:none}.combo-opt.hi{background:var(--accent-soft)}.navbadge{float:right;font-size:10.5px;padding:1px 7px;border-radius:9px;background:#ffffff24;color:#cfe0ef}
