:root{--bg: #F8FAFC;--surface: #FFFFFF;--surface-sub: #F1F5F9;--ink: #0F172A;--ink-2: #475569;--ink-3: #94A3B8;--line: #CBD5E1;--line-soft: #E2E8F0;--brand: #164570;--brand-ink: #FFFFFF;--link: #2271ba;--tint-blue: #EAF1FB;--danger: #E11D48;--danger-tint: rgba(225,29,72,.06);--ok: #38A169;--ok-tint: rgba(56,161,105,.12);--warn: #D69E2E;--warn-tint: rgba(214,158,46,.14);--err: #C53030;--err-tint: rgba(197,48,48,.1);--info: #2C5282;--info-tint: rgba(44,82,130,.1);--chart: #2271ba;--chart-soft: rgba(34,113,186,.18);--heat0: #F3F8FE;--heat1: #D5E5F6;--heat2: #9CC3E8;--heat3: #5B96CE;--heat4: #2271ba;--heat5: #164570;--mono: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--shadow: 0 2px 8px rgba(15,23,42,.1);color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--bg: #151718;--surface: #1F2023;--surface-sub: #26282C;--ink: #ECEDEE;--ink-2: #A0AEC0;--ink-3: #8E8E93;--line: #3A3A3C;--line-soft: #2C2E31;--brand: #4DA3FF;--brand-ink: #0B1622;--link: #79B6F2;--tint-blue: rgba(77,163,255,.12);--danger: #EF6374;--danger-tint: rgba(239,99,116,.1);--ok: #34C759;--ok-tint: rgba(52,199,89,.14);--warn: #FF9500;--warn-tint: rgba(255,149,0,.14);--err: #EF6374;--err-tint: rgba(239,99,116,.12);--info: #4DA3FF;--info-tint: rgba(77,163,255,.12);--chart: #4DA3FF;--chart-soft: rgba(77,163,255,.22);--heat0: #22262B;--heat1: #1E3A57;--heat2: #21507E;--heat3: #2B6BAA;--heat4: #4DA3FF;--heat5: #8FC4FF;--shadow: 0 2px 10px rgba(0,0,0,.45)}}:root[data-theme=dark]{--bg: #151718;--surface: #1F2023;--surface-sub: #26282C;--ink: #ECEDEE;--ink-2: #A0AEC0;--ink-3: #8E8E93;--line: #3A3A3C;--line-soft: #2C2E31;--brand: #4DA3FF;--brand-ink: #0B1622;--link: #79B6F2;--tint-blue: rgba(77,163,255,.12);--danger: #EF6374;--danger-tint: rgba(239,99,116,.1);--ok: #34C759;--ok-tint: rgba(52,199,89,.14);--warn: #FF9500;--warn-tint: rgba(255,149,0,.14);--err: #EF6374;--err-tint: rgba(239,99,116,.12);--info: #4DA3FF;--info-tint: rgba(77,163,255,.12);--chart: #4DA3FF;--chart-soft: rgba(77,163,255,.22);--heat0: #22262B;--heat1: #1E3A57;--heat2: #21507E;--heat3: #2B6BAA;--heat4: #4DA3FF;--heat5: #8FC4FF;--shadow: 0 2px 10px rgba(0,0,0,.45)}:root[data-theme=light]{--bg: #F8FAFC;--surface: #FFFFFF;--surface-sub: #F1F5F9;--ink: #0F172A;--ink-2: #475569;--ink-3: #94A3B8;--line: #CBD5E1;--line-soft: #E2E8F0;--brand: #164570;--brand-ink: #FFFFFF;--link: #2271ba;--tint-blue: #EAF1FB;--danger: #E11D48;--danger-tint: rgba(225,29,72,.06);--ok: #38A169;--ok-tint: rgba(56,161,105,.12);--warn: #D69E2E;--warn-tint: rgba(214,158,46,.14);--err: #C53030;--err-tint: rgba(197,48,48,.1);--info: #2C5282;--info-tint: rgba(44,82,130,.1);--chart: #2271ba;--chart-soft: rgba(34,113,186,.18);--heat0: #F3F8FE;--heat1: #D5E5F6;--heat2: #9CC3E8;--heat3: #5B96CE;--heat4: #2271ba;--heat5: #164570;--shadow: 0 2px 8px rgba(15,23,42,.1)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font:14px/1.5 var(--sans);-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer}a{color:var(--link)}:focus-visible{outline:2px solid var(--link);outline-offset:1px}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.app{display:flex;min-height:100vh}.rail{width:232px;flex:none;background:var(--surface);border-right:1px solid var(--line-soft);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}.wordmark{padding:16px 16px 12px;border-bottom:1px solid var(--line-soft)}.wordmark .brand{font-weight:800;font-size:16px;letter-spacing:.2px;color:var(--brand)}.wordmark .brand span{color:var(--danger)}.wordmark .sub{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--ink-3);margin-top:2px}.navgroup{padding:14px 8px 4px}.navgroup h6{margin:0 8px 6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--ink-3)}.navitem{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;background:transparent;color:var(--ink-2);border-radius:4px;text-align:left;font-weight:500;text-decoration:none}.navitem .glyph{width:18px;text-align:center;opacity:.85}.navitem:hover{background:var(--surface-sub);color:var(--ink)}.navitem.active{background:var(--tint-blue);color:var(--brand);font-weight:700}.navitem .ro{margin-left:auto;font-size:9px;font-weight:700;letter-spacing:.6px;color:var(--ink-3);border:1px solid var(--line);border-radius:3px;padding:1px 4px}.rail .deferred{margin-top:auto;padding:12px 16px 16px;border-top:1px solid var(--line-soft);font-size:11px;color:var(--ink-3)}.rail .deferred b{color:var(--ink-2);font-weight:600}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:12px;padding:10px 20px;background:var(--surface);border-bottom:1px solid var(--line-soft);position:sticky;top:0;z-index:40}.topbar .crumb{font-weight:700;font-size:15px}.pill{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.4px}.pill.env{background:var(--brand);color:var(--brand-ink);text-transform:uppercase}.pill.proto{background:var(--warn-tint);color:var(--warn);border:1px dashed var(--warn)}.topbar .who{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:12px;color:var(--ink-2)}.who .avatar{width:26px;height:26px;border-radius:50%;background:var(--brand);color:var(--brand-ink);display:grid;place-items:center;font-size:11px;font-weight:800}.themebtn{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:4px;padding:4px 10px;font-size:12px}.content{padding:20px;max-width:1280px;width:100%;margin:0 auto}.viewhead{margin:2px 0 16px}.viewhead h1{margin:0;font-size:20px;letter-spacing:-.2px;text-wrap:balance}.viewhead p{margin:4px 0 0;color:var(--ink-2);max-width:72ch}.viewhead .srcnote{font-size:11px;color:var(--ink-3);margin-top:4px}.viewhead .srcnote code{font-family:var(--mono);font-size:10.5px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:16px}.tile{background:var(--surface);border:1px solid var(--line-soft);border-radius:6px;padding:12px 14px}.tile .k{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--ink-3)}.tile .v{font-size:24px;font-weight:800;letter-spacing:-.5px;margin-top:2px;font-variant-numeric:tabular-nums}.tile .d{font-size:11px;color:var(--ink-2);margin-top:2px}.tile.alert{border-color:var(--err)}.tile.alert .v{color:var(--err)}.panel{background:var(--surface);border:1px solid var(--line-soft);border-radius:6px;margin-bottom:16px}.panel>header{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line-soft)}.panel>header h3{margin:0;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--ink-2)}.panel>header .spacer{flex:1}.panel .body{padding:14px}.panel .note{font-size:11px;color:var(--ink-3)}.tablewrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:12.5px}table.data th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:var(--ink-3);font-weight:700;padding:8px 10px;border-bottom:1px solid var(--line);background:var(--surface-sub);white-space:nowrap}table.data td{padding:7px 10px;border-bottom:1px solid var(--line-soft);vertical-align:middle;white-space:nowrap}table.data tr.rowlink{cursor:pointer}table.data tr.rowlink:hover td{background:var(--tint-blue)}table.data td.num{text-align:right;font-variant-numeric:tabular-nums}.mono{font-family:var(--mono);font-size:11.5px}.dim{color:var(--ink-3)}.status{display:inline-flex;align-items:center;gap:5px;padding:1px 8px;border-radius:3px;font-size:11px;font-weight:700}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status.ok{color:var(--ok);background:var(--ok-tint)}.status.nochange{color:var(--info);background:var(--info-tint)}.status.fail{color:var(--err);background:var(--err-tint)}.status.warn{color:var(--warn);background:var(--warn-tint)}.status.neutral{color:var(--ink-2);background:var(--surface-sub)}.status.neutral:before,.status.nochange:before{opacity:.7}.chip{display:inline-block;padding:1px 7px;border:1px solid var(--line);border-radius:3px;font-size:10.5px;font-weight:600;color:var(--ink-2);margin:1px 2px 1px 0;background:var(--surface)}.chip.blue{border-color:var(--link);color:var(--link);background:var(--tint-blue)}.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:4px;padding:5px 12px;font-size:12px;font-weight:600}.btn:hover{border-color:var(--link);color:var(--link)}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink);text-transform:uppercase;letter-spacing:.8px;font-size:11px;font-weight:800}.btn.primary:hover{opacity:.92;color:var(--brand-ink)}.btn.danger{background:transparent;border-color:var(--danger);color:var(--danger)}.btn.danger:hover{background:var(--danger-tint)}.btn.sm{padding:3px 9px;font-size:11px}.btn[disabled]{opacity:.45;cursor:not-allowed}.filterrow{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line-soft)}.filterrow input[type=search],.filterrow select,.filterrow input[type=number],.modal input[type=text],.modal textarea,.modal select,.explain input{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:5px 9px;font:12.5px var(--sans)}.filterrow input[type=search]{min-width:220px}.filterrow label{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-3);font-weight:700}.chartrow{display:grid;grid-template-columns:2fr 1fr;gap:16px}@media (max-width: 900px){.chartrow{grid-template-columns:1fr}}.barchart{display:flex;align-items:flex-end;gap:4px;height:120px;padding-top:6px}.barchart .bar{flex:1;background:var(--chart);border-radius:3px 3px 0 0;min-height:3px;position:relative}.barchart .bar:hover{background:var(--brand)}.axislabels{display:flex;gap:4px;margin-top:4px}.axislabels span{flex:1;text-align:center;font-size:9px;color:var(--ink-3);font-variant-numeric:tabular-nums}.spark{display:block}.spark polyline{fill:none;stroke:var(--chart);stroke-width:1.5}.spark circle{fill:var(--chart)}#tooltip{position:fixed;z-index:90;pointer-events:none;display:none;background:var(--ink);color:var(--bg);padding:4px 9px;border-radius:4px;font-size:11px;font-weight:600;box-shadow:var(--shadow);white-space:nowrap}.drawer{position:fixed;top:0;right:-480px;width:460px;max-width:92vw;height:100vh;z-index:60;background:var(--surface);border-left:1px solid var(--line);box-shadow:var(--shadow);transition:right .2s ease;display:flex;flex-direction:column}.drawer.open{right:0}.drawer header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line-soft)}.drawer header h3{margin:0;font-size:14px;flex:1}.drawer .dbody{padding:14px 16px;overflow-y:auto;flex:1}.kv{display:grid;grid-template-columns:130px 1fr;gap:4px 10px;font-size:12.5px;margin-bottom:12px}.kv dt{color:var(--ink-3);font-size:10px;text-transform:uppercase;letter-spacing:.6px;font-weight:700;padding-top:2px}.kv dd{margin:0;overflow-wrap:anywhere;white-space:normal}.drawer .actions{padding:12px 16px;border-top:1px solid var(--line-soft);display:flex;gap:8px;flex-wrap:wrap}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:55;display:none}.scrim.show{display:block}.modal{position:fixed;z-index:70;top:50%;left:50%;transform:translate(-50%,-50%);width:560px;max-width:94vw;max-height:88vh;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:none}.modal.show{display:block}.modal header{padding:14px 18px 0}.modal header h3{margin:0;font-size:15px}.modal .mbody{padding:12px 18px}.modal .mfoot{padding:12px 18px 16px;display:flex;justify-content:flex-end;gap:8px}.modal .field{margin-bottom:10px}.modal .field label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-3);font-weight:700;margin-bottom:3px}.modal .field input[type=text],.modal .field textarea,.modal .field select{width:100%}.callout{border:1px solid var(--line);border-left:3px solid var(--info);background:var(--info-tint);border-radius:4px;padding:8px 12px;font-size:12px;margin:10px 0}.callout.warned{border-left-color:var(--warn);background:var(--warn-tint)}.callout.danger{border-left-color:var(--danger);background:var(--danger-tint)}#toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%) translateY(80px);background:var(--ink);color:var(--bg);padding:9px 18px;border-radius:5px;font-size:12.5px;font-weight:600;z-index:95;transition:transform .25s ease;box-shadow:var(--shadow)}#toast.show{transform:translate(-50%) translateY(0)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line-soft);padding:0 14px}.tabs button{border:0;background:none;padding:9px 12px;font-size:12.5px;font-weight:600;color:var(--ink-2);border-bottom:2px solid transparent}.tabs button.active{color:var(--brand);border-bottom-color:var(--brand)}.distbar{display:flex;height:14px;border-radius:3px;overflow:hidden;min-width:160px}.distbar i{display:block;height:100%}.distbar i+i{border-left:2px solid var(--surface)}.optrow{display:grid;grid-template-columns:1fr 200px 52px;gap:10px;align-items:center;padding:5px 0;font-size:12.5px;border-bottom:1px dashed var(--line-soft)}.optrow:last-child{border-bottom:0}.rulelist{display:grid;grid-template-columns:260px 1fr;gap:16px}@media (max-width: 900px){.rulelist{grid-template-columns:1fr}}.rulelist .list button{display:block;width:100%;text-align:left;border:1px solid var(--line-soft);background:var(--surface);border-radius:4px;padding:8px 10px;margin-bottom:6px;font-size:12px}.rulelist .list button.active{border-color:var(--link);background:var(--tint-blue)}.rulelist .list .rid{font-family:var(--mono);font-size:11px;font-weight:700}.rulelist .list .rdesc{color:var(--ink-3);font-size:10.5px;margin-top:1px}pre.json{background:var(--surface-sub);border:1px solid var(--line-soft);border-radius:4px;padding:10px 12px;font:11px/1.55 var(--mono);overflow-x:auto;margin:0}.trace{font:11.5px/1.7 var(--mono)}.trace .hit{color:var(--ok);font-weight:700}.trace .miss{color:var(--ink-3)}.rendered{border:1px solid var(--line);border-left:3px solid var(--ok);border-radius:4px;padding:10px 12px;font-size:13px;margin-top:8px;background:var(--surface)}.rendered.omit{border-left-color:var(--warn);color:var(--ink-2);font-style:italic}.elgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:8px}.elcard{border:1px solid var(--line-soft);border-radius:4px;padding:8px 10px;background:var(--surface)}.elcard .et{font-family:var(--mono);font-size:11px;font-weight:700;overflow-wrap:anywhere}.elcard .em{display:flex;justify-content:space-between;margin-top:4px;font-size:10px;color:var(--ink-3)}.cover{font-weight:700}.cover.yes{color:var(--ok)}.cover.no{color:var(--warn)}.heatwrap{overflow-x:auto}table.heat{border-collapse:collapse;font-size:11.5px;min-width:720px}table.heat th{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-3);padding:6px 8px;font-weight:700}table.heat th.rowh{text-align:left;white-space:nowrap;color:var(--ink-2)}table.heat td{border:2px solid var(--surface);background:var(--heat0);text-align:center;padding:9px 6px;min-width:84px;font-variant-numeric:tabular-nums;font-weight:600;border-radius:2px}table.heat td.h1{background:var(--heat1)}table.heat td.h2{background:var(--heat2)}table.heat td.h3{background:var(--heat3);color:#fff}table.heat td.h4{background:var(--heat4);color:#fff}table.heat td.h5{background:var(--heat5);color:#fff}table.heat td.void{background:transparent;color:var(--ink-3);font-weight:400}.legendrow{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:10.5px;color:var(--ink-3)}.legendrow i{width:22px;height:10px;border-radius:2px;display:inline-block}.footer{padding:18px 20px 26px;font-size:11px;color:var(--ink-3);text-align:center}.authscreen{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.authcard{width:380px;max-width:100%;background:var(--surface);border:1px solid var(--line-soft);border-radius:10px;box-shadow:var(--shadow);padding:28px 26px}.authcard .brand{font-weight:800;font-size:20px;letter-spacing:.2px;color:var(--brand)}.authcard .brand span{color:var(--danger)}.authcard .sub{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;color:var(--ink-3);margin:3px 0 22px}.authcard h1{font-size:16px;margin:0 0 14px}.authcard p.lead{color:var(--ink-2);font-size:13px;margin:0 0 16px}.field-block{margin-bottom:12px}.field-block label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-3);font-weight:700;margin-bottom:4px}.field-block input{width:100%;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:9px 11px;font:13px var(--sans)}.btn.block{width:100%;justify-content:center;text-align:center;padding:10px 12px}.autherr{color:var(--err);background:var(--err-tint);border:1px solid var(--err);border-radius:4px;padding:8px 10px;font-size:12px;margin-bottom:12px}.authnote{font-size:11px;color:var(--ink-3);margin-top:16px;text-align:center;line-height:1.5}.authnote code{font-family:var(--mono);font-size:10.5px}.splash{min-height:100vh;display:grid;place-items:center;color:var(--ink-3);font-size:13px;background:var(--bg)}.runform .field{margin-bottom:10px}.runlabel{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-3);font-weight:700;margin-bottom:4px}.runform select,.runform input[type=text],.runform input[type=number]{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:6px 9px;font:12.5px var(--sans)}.streakflag{margin-left:6px}.loadbar{padding:14px;font-size:12px;color:var(--ink-3)}.errbar{margin:0 0 16px}.placeholder{border:1px dashed var(--line);border-radius:8px;padding:48px 40px;text-align:center;color:var(--ink-2);background:var(--surface)}.placeholder .badge{display:inline-block;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--brand);background:var(--tint-blue);border-radius:999px;padding:3px 10px;margin-bottom:14px}.placeholder h2{margin:0 0 6px;font-size:16px;color:var(--ink)}.placeholder p{margin:0 auto;max-width:60ch;font-size:13px}.placeholder .srcnote{font-size:11px;color:var(--ink-3);margin-top:12px}.placeholder .srcnote code{font-family:var(--mono);font-size:10.5px}
