:root{--bg-0:oklch(15% .012 260);--bg-1:oklch(18% .013 260);--bg-2:oklch(21% .014 260);--bg-3:oklch(25% .015 260);--line:oklch(100% 0 0/.1);--line-strong:oklch(100% 0 0/.18);--ink-0:oklch(94% .006 90);--ink-1:oklch(78% .008 260);--ink-2:oklch(60% .01 260);--ink-3:oklch(46% .01 260);--crit:oklch(58% .19 18);--high:oklch(63% .2 25);--med:oklch(74% .15 70);--low:oklch(64% .13 250);--ok:oklch(68% .15 150);--info:oklch(64% .13 250);--gap:oklch(60% .01 260);--signal:oklch(74% .13 200);--signal-dim:oklch(74% .13 200/.18);--env-cloud:oklch(64% .13 250);--env-onprem:oklch(66% .15 310);--font-sans:"Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Fraunces", Georgia, serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--text-xs:.72rem;--text-sm:.82rem;--text-base:.9rem;--text-lg:1.05rem;--text-xl:1.4rem;--text-hero:clamp(2.4rem, 1rem + 5vw, 4.2rem);--space:4px;--radius:8px;--radius-lg:14px;--shadow-1:0 1px 2px oklch(0% 0 0/.3);--shadow-2:0 8px 30px oklch(0% 0 0/.4);--dur:.22s;--ease:cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-0);color:var(--ink-0);font-family:var(--font-sans);font-size:var(--text-base);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;line-height:1.5;overflow-x:hidden}body:after{content:"";z-index:0;pointer-events:none;filter:blur(20px);background:radial-gradient(40% 50% at 78% 8%,oklch(55% .13 200/.14),#0000 60%),radial-gradient(45% 45% at 12% 20%,oklch(50% .15 300/.12),#0000 60%),radial-gradient(50% 50% at 60% 95%,oklch(52% .12 160/.1),#0000 60%);animation:26s ease-in-out infinite alternate aurora;position:fixed;inset:-20%}@keyframes aurora{0%{transform:translate(0,0)scale(1)}50%{transform:translate(2%,-1.5%)scale(1.06)}to{transform:translate(-1.5%,1%)scale(1.03)}}body:before{content:"";pointer-events:none;opacity:.35;z-index:1;mix-blend-mode:overlay;background-image:repeating-linear-gradient(0deg,oklch(100% 0 0/.015) 0 1px,#0000 1px 3px);position:fixed;inset:0}a{color:var(--signal);text-decoration:none}a:hover{text-decoration:underline}::selection{background:var(--signal-dim)}code,.mono{font-family:var(--font-mono);font-size:.86em}*{scrollbar-width:thin;scrollbar-color:var(--bg-3) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--bg-3);border-radius:8px}.reveal{opacity:0;transition:opacity .6s var(--ease), transform .6s var(--ease);will-change:opacity, transform;transform:translateY(14px)}.reveal.in{opacity:1;transform:none}.route-fade{animation:routeIn .42s var(--ease) both}@keyframes routeIn{0%{opacity:0;transform:translateY(10px)scale(.995)}to{opacity:1;transform:none}}.gauge{place-items:center;display:grid;position:relative}.gauge svg{position:absolute;inset:0}.gauge-center{text-align:center;z-index:1}.gauge-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:2.4rem;font-weight:600;line-height:1}.gauge-label{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-top:4px;font-size:.62rem}.spark-line{stroke-dasharray:260;stroke-dashoffset:260px;animation:draw 1.1s var(--ease) .2s forwards}@keyframes draw{to{stroke-dashoffset:0}}.skeleton{background:linear-gradient(90deg, var(--bg-2) 0%, var(--bg-3) 50%, var(--bg-2) 100%);background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer;display:inline-block}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.spectrum{flex-direction:column;gap:8px;display:flex}.spectrum-bar{background:var(--bg-2);border-radius:5px;height:10px;display:flex;overflow:hidden;box-shadow:inset 0 1px 2px oklch(0% 0 0/.3)}.spectrum-seg{width:0;height:100%;animation:segGrow .9s var(--ease) both}@keyframes segGrow{0%{width:0!important}}.spectrum-legend{color:var(--ink-2);flex-wrap:wrap;gap:10px;font-size:.66rem;display:flex}.spectrum-key i{vertical-align:middle;border-radius:2px;width:7px;height:7px;margin-right:4px;display:inline-block}.pulse-dot{background:var(--ok);width:7px;height:7px;box-shadow:0 0 0 0 color-mix(in oklch, var(--ok) 70%, transparent);animation:pulse-ring 2.4s var(--ease) infinite;border-radius:50%;display:inline-block}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 color-mix(in oklch, var(--ok) 60%, transparent)}70%{box-shadow:0 0 0 7px #0000}to{box-shadow:0 0 #0000}}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}body:after{animation:none}.reveal{opacity:1;transform:none}.spark-line{stroke-dashoffset:0;animation:none}}.palette-overlay{z-index:900;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:overlayIn .18s var(--ease) both;background:oklch(8% .01 260/.55);justify-content:center;align-items:flex-start;padding-top:14vh;display:flex;position:fixed;inset:0}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.palette{background:linear-gradient(180deg, var(--bg-2), var(--bg-1));border:1px solid var(--line-strong);width:min(560px,92vw);animation:paletteIn .22s var(--ease) both;border-radius:14px;overflow:hidden;box-shadow:0 30px 80px oklch(0% 0 0/.6),0 0 0 1px oklch(74% .13 200/.12)}@keyframes paletteIn{0%{opacity:0;transform:translateY(-10px)scale(.98)}to{opacity:1;transform:none}}.palette-input{width:100%;color:var(--ink-0);font-size:1rem;font-family:var(--font-sans);border:none;border-bottom:1px solid var(--line);background:0 0;outline:none;padding:16px 18px}.palette-list{max-height:46vh;margin:0;padding:6px;list-style:none;overflow-y:auto}.palette-list li{cursor:pointer;border-radius:8px;grid-template-columns:70px 1fr auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.palette-list li.sel{background:var(--signal-dim);box-shadow:inset 0 0 0 1px oklch(74% .13 200/.3)}.palette-group{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-size:.6rem}.palette-label{color:var(--ink-0);font-size:.88rem}.palette-hint{color:var(--ink-3);font-size:.7rem}.palette-empty{text-align:center;color:var(--ink-3);padding:16px;font-size:.85rem}.palette-foot{border-top:1px solid var(--line);color:var(--ink-3);gap:10px;padding:8px 14px;font-size:.66rem;display:flex}.palette-foot kbd{font-family:var(--font-mono);background:var(--bg-3);color:var(--ink-2);border-radius:4px;padding:1px 5px}.chip{font-size:var(--text-xs);background:var(--bg-2);border:1px solid var(--line);color:var(--ink-1);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;display:inline-flex}.chip[style*=--chip-tone]{border-color:color-mix(in oklch, var(--chip-tone) 45%, transparent);color:var(--ink-0)}.chip.clickable{cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease)}.chip.clickable:hover{background:var(--bg-3);border-color:var(--line-strong)}.chip-x{color:var(--ink-3);cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;line-height:1}.chip-x:hover{color:var(--crit)}.prov-badge{letter-spacing:.1em;color:var(--prov);background:color-mix(in oklch, var(--prov) 12%, transparent);border:1px solid color-mix(in oklch, var(--prov) 35%, transparent);border-radius:5px;align-items:center;gap:6px;padding:3px 8px;font-size:.62rem;font-weight:600;display:inline-flex}.prov-dot{background:var(--prov);border-radius:50%;width:6px;height:6px}.state-badge{font-size:var(--text-xs);color:var(--st);white-space:nowrap;background:color-mix(in oklch, var(--st) 12%, transparent);border:1px solid color-mix(in oklch, var(--st) 30%, transparent);border-radius:5px;padding:2px 8px}.delta-badge{font-size:var(--text-xs);color:var(--d);align-items:center;gap:5px;font-weight:600;display:inline-flex}.delta-g{font-size:.9em}.conf-pill{color:var(--cf);text-transform:uppercase;letter-spacing:.04em;border:1px solid color-mix(in oklch, var(--cf) 32%, transparent);border-radius:4px;padding:1px 6px;font-size:.66rem}.conflict-badge{font-size:var(--text-xs);color:var(--med);background:color-mix(in oklch, var(--med) 12%, transparent);border:1px solid color-mix(in oklch, var(--med) 34%, transparent);cursor:pointer;border-radius:5px;padding:2px 8px}.conflict-badge:hover{background:color-mix(in oklch, var(--med) 22%, transparent)}.pri-pill{color:var(--p);border:1px solid color-mix(in oklch, var(--p) 34%, transparent);border-radius:4px;padding:1px 7px;font-size:.68rem;font-weight:600}.metric-tile{text-align:left;cursor:pointer;border-radius:var(--radius);background:var(--bg-1);border:1px solid var(--line);border-left:3px solid var(--accent);transition:transform var(--dur) var(--ease), background var(--dur) var(--ease), border-color var(--dur) var(--ease);flex-direction:column;gap:2px;padding:14px 16px;display:flex;position:relative;overflow:hidden}.metric-tile:hover{background:var(--bg-2);border-color:var(--line-strong);transform:translateY(-2px)}.metric-tile:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.mt-value{font-family:var(--font-display);color:var(--mt);font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:600;line-height:1}.mt-label{font-size:var(--text-xs);color:var(--ink-1);margin-top:4px;line-height:1.25}.mt-sub{color:var(--ink-3);font-size:.66rem}.mt-delta{margin-top:2px;font-size:.66rem}.mt-delta.up{color:var(--crit)}.mt-delta.down{color:var(--ok)}.mt-drill{color:var(--ink-3);opacity:0;transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);position:absolute;top:12px;right:12px;transform:translate(-4px)}.metric-tile:hover .mt-drill{opacity:1;color:var(--signal);transform:none}.tabs-row{border-bottom:1px solid var(--line);gap:2px;display:flex;overflow-x:auto}.tab-btn{color:var(--ink-2);cursor:pointer;font-size:var(--text-sm);white-space:nowrap;transition:color var(--dur) var(--ease);background:0 0;border:0;padding:9px 14px;position:relative}.tab-btn:hover,.tab-btn.on{color:var(--ink-0)}.tab-btn.on:after{content:"";background:var(--signal);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:10px;right:10px}.tab-count{color:var(--ink-3);background:var(--bg-2);border-radius:8px;margin-left:6px;padding:0 6px;font-size:.68rem}.evi-rail{flex-wrap:wrap;gap:6px;display:flex}.evi-chip{font-size:var(--text-xs);color:var(--ink-2);background:var(--bg-2);border:1px solid var(--line);border-radius:6px;padding:3px 8px}.drawer-scrim{z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:scrimIn .2s var(--ease);background:oklch(0% 0 0/.42);justify-content:flex-end;display:flex;position:fixed;inset:0}@keyframes scrimIn{0%{opacity:0}to{opacity:1}}.drawer{background:var(--bg-1);border-left:1px solid var(--line-strong);width:min(600px,96vw);height:100%;box-shadow:var(--shadow-2);animation:drawerIn .28s var(--ease);flex-direction:column;display:flex;overflow:hidden}@media (width<=720px){.drawer{border-left:0;width:100vw}.drawer-head{padding:14px 16px 10px}.drawer-body{padding:14px 16px 40px}.drawer-close{width:34px;height:34px}}@keyframes drawerIn{0%{opacity:.6;transform:translate(24px)}to{opacity:1;transform:none}}.drawer-head{border-bottom:1px solid var(--line);background:linear-gradient(180deg, var(--bg-2), var(--bg-1));padding:18px 20px 12px}.drawer-head-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.drawer-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-size:.64rem}.drawer-head-right{align-items:center;gap:10px;margin-left:auto;display:flex}.drawer-close{background:var(--bg-3);color:var(--ink-1);cursor:pointer;border:0;border-radius:6px;width:26px;height:26px;font-size:17px;line-height:1}.drawer-close:hover{background:var(--crit);color:#fff}.drawer-title{font-size:var(--text-lg);color:var(--ink-0);margin:0;font-weight:600;line-height:1.3}.drawer-subtitle{font-size:var(--text-sm);color:var(--ink-2);margin-top:4px}.drawer-actions{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.drawer-body{flex:1;padding:16px 20px 40px;overflow-y:auto}.dfield{margin-bottom:14px}.dfield-k{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px;font-size:.64rem;display:block}.dfield-v{font-size:var(--text-sm);color:var(--ink-0);line-height:1.5}.dfield-v.mono{font-family:var(--font-mono);font-size:.8rem}.drawer-metarow{flex-wrap:wrap;gap:6px;margin:10px 0 4px;display:flex}.d-actionbtn{font-size:var(--text-xs);background:var(--bg-2);border:1px solid var(--line);color:var(--ink-1);cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);border-radius:6px;padding:5px 10px}.d-actionbtn:hover{background:var(--bg-3);border-color:var(--signal);color:var(--ink-0)}.d-actionbtn.ok{border-color:color-mix(in oklch, var(--ok) 40%, transparent);color:var(--ok)}.d-entity{font-family:var(--font-mono);background:var(--bg-2);border:1px solid var(--line);cursor:pointer;border-radius:6px;align-items:center;gap:6px;margin:3px 4px 0 0;padding:4px 9px;font-size:.78rem;display:inline-flex}.d-entity:hover{border-color:var(--signal);color:var(--ink-0)}.d-entity .et{font-family:var(--font-sans);color:var(--ink-3);text-transform:uppercase;font-size:.6rem}.d-timeline{margin:0;padding:0;list-style:none}.d-timeline li{border-left:1px solid var(--line);padding:0 0 14px 18px;position:relative}.d-timeline li:before{content:"";background:var(--tl-dot,var(--ink-3));border-radius:50%;width:7px;height:7px;position:absolute;top:3px;left:-4px}.d-tl-to{color:var(--ink-0);font-weight:600;font-size:var(--text-sm)}.d-tl-reason{font-size:var(--text-xs);color:var(--ink-2)}.d-tl-meta{color:var(--ink-3);font-size:.64rem}.d-empty{font-size:var(--text-sm);color:var(--ink-3);padding:10px 0}.d-conflict{border:1px solid color-mix(in oklch, var(--med) 30%, transparent);border-radius:var(--radius);background:color-mix(in oklch, var(--med) 6%, transparent);margin-bottom:10px;padding:12px}.proj-warn{font-size:var(--text-sm);color:var(--med);background:color-mix(in oklch, var(--med) 10%, transparent);border:1px solid color-mix(in oklch, var(--med) 34%, transparent);border-radius:8px;margin-bottom:12px;padding:9px 12px;line-height:1.5}.shell{z-index:2;flex-direction:column;min-height:100%;display:flex;position:relative}.masthead{background:linear-gradient(180deg, var(--bg-1), var(--bg-0));border-bottom:1px solid var(--line-strong);z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:stretch;gap:24px;height:68px;padding:0 20px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;padding-right:8px;display:flex}.brand-mark{width:28px;height:28px;filter:drop-shadow(0 0 10px color-mix(in oklch, var(--signal) 45%, transparent));display:block}.brand-name{font-family:var(--font-mono);letter-spacing:.22em;font-size:.9rem;font-weight:700}.brand-sub{color:var(--ink-2);letter-spacing:.04em;font-size:.66rem}.tabs{flex:1;align-items:stretch;gap:2px;display:flex}.tab{color:var(--ink-2);transition:color var(--dur) var(--ease);border-bottom:2px solid #0000;flex-direction:column;justify-content:center;gap:1px;padding:0 18px;display:flex;position:relative}.tab:hover{color:var(--ink-0);text-decoration:none}.tab.active{color:var(--ink-0);border-bottom-color:var(--signal)}.tab.active:after{content:"";background:var(--signal);height:2px;box-shadow:0 0 12px var(--signal);position:absolute;inset:auto 0 0}.tab-n{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.1em;font-size:.62rem}.tab-label{font-size:.92rem;font-weight:600}.tab-hint{color:var(--ink-3);font-size:.62rem}.cmdk-hint{background:var(--bg-2);border:1px solid var(--line-strong);cursor:pointer;transition:all var(--dur) var(--ease);border-radius:7px;align-self:center;align-items:center;gap:3px;padding:6px 8px;display:flex}.cmdk-hint:hover{border-color:var(--signal);box-shadow:0 0 12px var(--signal-dim)}.cmdk-hint kbd{font-family:var(--font-mono);color:var(--ink-2);font-size:.7rem}.scope{flex-direction:column;justify-content:center;gap:3px;display:flex}.live-badge{font-family:var(--font-mono);letter-spacing:.12em;color:var(--ok);align-items:center;gap:5px;font-size:.56rem;display:inline-flex}.fixture-mode .live-badge{color:var(--env-onprem)}.fixture-mode .pulse-dot{background:var(--env-onprem)}.scope-label{color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase;font-size:.6rem}.scope-select{background:var(--bg-2);color:var(--ink-0);border:1px solid var(--line-strong);font-size:.8rem;font-family:var(--font-sans);border-radius:6px;padding:5px 8px}.fixture-banner{background:color-mix(in oklch, var(--env-onprem) 22%, var(--bg-1));border-bottom:1px solid var(--env-onprem);color:var(--ink-0);text-align:center;padding:7px 20px;font-size:.8rem}.fixture-banner strong{font-family:var(--font-mono)}.content{flex:1;width:100%;max-width:1500px;margin:0 auto;padding:22px}.section-head{margin-bottom:18px}.section-title{font-family:var(--font-display);font-size:var(--text-xl);margin:0;font-weight:600}.section-sub{color:var(--ink-2);margin-top:2px;font-size:.82rem}.as-of{font-family:var(--font-mono);color:var(--ink-3);font-size:.68rem}.grid{gap:14px;display:grid}@media (width<=720px){.masthead{flex-wrap:wrap;align-items:center;gap:8px 10px;height:auto;padding:8px 10px}.brand{padding-right:0}.brand-sub,.cmdk-hint{display:none}.scope{flex-direction:row;align-items:center;gap:8px;margin-left:auto}.scope-label{display:none}.scope-select{min-height:40px;padding:8px 10px}.tabs{scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;flex:1 0 100%;order:3;gap:6px;margin:2px -10px -2px;padding:2px 10px 6px;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{border:1px solid var(--line);background:var(--bg-1);scroll-snap-align:start;border-radius:999px;flex-direction:row;flex:none;align-items:center;gap:7px;min-height:44px;padding:9px 14px}.tab.active{border-color:var(--signal);background:var(--signal-dim);border-bottom-color:var(--signal)}.tab.active:after{display:none}.tab-n{font-size:.58rem}.tab-hint{display:none}.tab-label{white-space:nowrap;font-size:.82rem}.fixture-banner{text-align:left;padding:6px 12px;font-size:.72rem}.content{padding:14px 12px}.section-title{font-size:1.18rem}}.boot{z-index:1000;background:radial-gradient(60% 50% at 50% 40%, oklch(20% .03 260/.9), transparent), var(--bg-0);animation:bootIn .5s var(--ease) both;place-items:center;display:grid;position:fixed;inset:0}.boot.leaving{animation:bootOut .7s var(--ease) forwards}@keyframes bootIn{0%{opacity:0}to{opacity:1}}@keyframes bootOut{to{opacity:0;filter:blur(6px);transform:scale(1.04)}}.boot-core{flex-direction:column;align-items:center;width:min(440px,86vw);display:flex}.boot-mark{filter:drop-shadow(0 0 24px oklch(74% .13 200/.45))}.boot-diamond{stroke-dasharray:260;stroke-dashoffset:260px;animation:drawMark 1s var(--ease) forwards}.boot-diamond.inner{stroke-dasharray:150;stroke-dashoffset:150px;animation-delay:.2s}.boot-dot{opacity:0;animation:dotIn .5s var(--ease) .9s forwards}@keyframes drawMark{to{stroke-dashoffset:0}}@keyframes dotIn{to{opacity:1}}.boot-mark{animation:24s linear infinite markSpin}@keyframes markSpin{to{transform:rotate(360deg)}}.boot-word{font-family:var(--font-mono);letter-spacing:.6em;color:var(--ink-0);animation:fadeUp .6s var(--ease) .5s both;margin:20px 0 2px 6px;font-size:1.5rem;font-weight:700}.boot-tag{letter-spacing:.34em;color:var(--ink-3);animation:fadeUp .6s var(--ease) .7s both;font-size:.6rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.boot-steps{flex-direction:column;gap:7px;width:100%;margin:30px 0 20px;padding:0;list-style:none;display:flex}.boot-steps li{transition:color .3s var(--ease), opacity .3s var(--ease);align-items:center;gap:10px;font-size:.8rem;display:flex}.boot-steps li.pending{color:var(--ink-3);opacity:.4}.boot-steps li.active{color:var(--ink-0)}.boot-steps li.done{color:var(--ink-2)}.boot-tick{font-family:var(--font-mono);text-align:center;width:14px}.boot-steps li.done .boot-tick{color:var(--ok)}.boot-steps li.active .boot-tick{color:var(--signal);animation:.9s steps(2,end) infinite blink}@keyframes blink{50%{opacity:.3}}.boot-bar{background:var(--bg-3);border-radius:2px;width:100%;height:2px;overflow:hidden}.boot-bar span{background:linear-gradient(90deg, var(--signal), oklch(72% .15 260));height:100%;box-shadow:0 0 10px var(--signal);transition:width .45s var(--ease);display:block}@media (prefers-reduced-motion:reduce){.boot{display:none}}
