@font-face{font-family:'Oxanium ProDyn';src:url('../fonts/Oxanium-wght.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:'Departure Mono ProDyn';src:url('../fonts/DepartureMono-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:optional}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--pd-field);color:var(--pd-ivory);font-family:var(--pd-font-body);font-size:var(--fs-body);line-height:var(--lh-body)}
body{overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:var(--z-atmo);pointer-events:none;background-image:linear-gradient(var(--console-grid-color) var(--bw-hairline),transparent var(--bw-hairline)),linear-gradient(90deg,var(--console-grid-color) var(--bw-hairline),transparent var(--bw-hairline));background-size:var(--console-grid) var(--console-grid);mask-image:linear-gradient(to bottom,transparent,var(--pd-void),transparent)}
#veil{position:fixed;inset:0;z-index:var(--z-atmo);pointer-events:none;opacity:var(--alpha-dim)}

.crt-overlay{position:fixed;inset:0;z-index:var(--z-overlay);pointer-events:none;background:repeating-linear-gradient(180deg,color-mix(in srgb,var(--pd-void) 14%,transparent) 0,color-mix(in srgb,var(--pd-void) 14%,transparent) var(--bw-hairline),transparent var(--bw-hairline),transparent var(--crt-line-gap));animation:crt-breathe var(--crt-flicker) var(--ease-brand) infinite alternate;opacity:var(--alpha-dim)}
.crt-overlay::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 58%,color-mix(in srgb,var(--pd-void) 42%,transparent) 100%)}
@keyframes crt-breathe{from{opacity:var(--alpha-dim)}to{opacity:var(--alpha-muted)}}

.console{position:relative;z-index:var(--z-content);width:min(100%,var(--console-max));min-height:100vh;margin:0 auto;padding-inline:var(--sp-6)}
.chrome-bar{height:var(--console-header-h);display:flex;align-items:center;gap:var(--sp-5);border-bottom:var(--bw-signal) solid var(--pd-cyan-deep);background:var(--console-glass)}
.brand{display:flex;align-items:center;gap:var(--sp-3);margin-right:auto}
.brand-logo{width:var(--sp-8);height:var(--sp-8);filter:drop-shadow(var(--glow-signal-sm))}
.brand-name{display:block;font-family:var(--pd-font-hud);font-size:var(--fs-lead);letter-spacing:var(--ls-hud-wide);line-height:var(--lh-tight)}
.brand-sub,.system-id,.clock,.channel-strip{font-family:var(--pd-font-hud);text-transform:uppercase}
.brand-sub{display:block;color:var(--pd-ivory-dim);font-size:var(--fs-micro);letter-spacing:var(--ls-hud)}
.system-id{color:var(--pd-signal);font-size:var(--fs-micro);letter-spacing:var(--ls-hud)}
.clock{color:var(--pd-ivory-dim);font-size:var(--fs-meta);letter-spacing:var(--ls-label)}

.badge,.state-chip{display:inline-flex;align-items:center;gap:var(--sp-2);border:var(--bw-hairline) solid var(--console-line-ok);border-radius:var(--r-soft);padding:var(--sp-2) var(--sp-3);font-family:var(--pd-font-hud);font-size:var(--fs-micro);letter-spacing:var(--ls-hud);text-transform:uppercase;color:var(--pd-ok)}
.badge i,.feed-live i{width:var(--sp-2);height:var(--sp-2);border-radius:var(--r-dot);background:var(--pd-ok);box-shadow:var(--glow-signal-sm);animation:pulse var(--t-breathe) var(--ease-brand) infinite}
.badge.warn,.state-chip.warn{color:var(--pd-warn);border-color:var(--console-line-warn)}
.badge.warn i{background:var(--pd-warn)}
.badge.alert,.state-chip.alert{color:var(--pd-alert);border-color:var(--console-line-alert)}
.badge.alert i{background:var(--pd-alert)}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:var(--alpha-dim)}}

.channel-strip{display:flex;align-items:center;gap:var(--sp-6);min-height:var(--sp-8);padding:var(--sp-2) var(--sp-1);border-bottom:var(--bw-hairline) solid var(--pd-line);color:var(--pd-ivory-dim);font-size:var(--fs-micro);letter-spacing:var(--ls-label);white-space:nowrap;overflow:hidden}
.channel-strip b{color:var(--pd-signal);font-weight:400}.channel-strip em{color:var(--pd-ivory);font-style:normal}.channel-tail{margin-left:auto;color:var(--pd-ivory-dim)}

.cockpit{display:grid;grid-template-columns:var(--console-rail-w) minmax(0,1fr);grid-template-rows:auto var(--console-stream-h);gap:var(--sp-6);padding-block:var(--sp-6)}
.rail{grid-column:1;grid-row:1/3;display:flex;flex-direction:column;padding-right:var(--sp-4);border-right:var(--bw-hairline) solid var(--pd-line)}
.section-mark{display:flex;align-items:center;gap:var(--sp-3);color:var(--pd-signal);font-family:var(--pd-font-hud);font-size:var(--fs-micro);letter-spacing:var(--ls-hud);text-transform:uppercase;padding-bottom:var(--sp-3);border-bottom:var(--bw-hairline) solid var(--pd-line)}
.section-mark span,.panel-index{color:var(--pd-ivory-dim)}
.rail-break{margin-top:var(--sp-6)}

.metric-block{padding-block:var(--sp-4);border-bottom:var(--bw-hairline) solid var(--pd-line)}
.metric-block label,.metric-pair label,.order-grid label,.hygiene-block span{display:block;color:var(--pd-ivory-dim);font-family:var(--pd-font-hud);font-size:var(--fs-micro);letter-spacing:var(--ls-label);text-transform:uppercase}
.metric-block strong{display:block;margin-block:var(--sp-1) var(--sp-3);font-family:var(--pd-font-display);font-size:var(--fs-h2);line-height:var(--lh-tight)}
.metric-line{height:var(--chart-bar-h);background:var(--pd-line);overflow:hidden}.metric-line i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--pd-cyan-deep),var(--pd-signal));box-shadow:var(--glow-signal-sm);transition:width var(--t-med) var(--ease-enter)}
.metric-pair{display:grid;grid-template-columns:1fr 1fr;border-bottom:var(--bw-hairline) solid var(--pd-line)}
.metric-pair>div{padding-block:var(--sp-4)}.metric-pair>div+div{padding-left:var(--sp-4);border-left:var(--bw-hairline) solid var(--pd-line)}
.metric-pair strong{display:block;margin-top:var(--sp-1);font-family:var(--pd-font-display);font-size:var(--fs-h3);line-height:var(--lh-tight)}

.position-stack{padding-top:var(--sp-3)}
.position-row{display:grid;grid-template-columns:auto 1fr auto;gap:var(--sp-3);align-items:center;padding:var(--sp-3);border:var(--bw-hairline) solid var(--console-line-ok);background:var(--console-panel-bg)}
.position-row .status-dot,.check-dot{width:var(--sp-2);height:var(--sp-2);border-radius:var(--r-dot);background:var(--pd-ok)}
.position-row strong{display:block;font-family:var(--pd-font-hud);font-size:var(--fs-body-sm);letter-spacing:var(--ls-label);color:var(--pd-trace)}
.position-row span{display:block;font-family:var(--pd-font-hud);font-size:var(--fs-micro);color:var(--pd-ivory-dim)}
.hygiene-block{padding:var(--sp-3);border:var(--bw-hairline) solid var(--pd-line);background:var(--console-panel-bg);margin-top:var(--sp-3)}
.hygiene-block strong{display:block;font-family:var(--pd-font-display);font-size:var(--fs-h3);color:var(--pd-warn)}
.hygiene-block small{display:block;color:var(--pd-ivory-dim);font-size:var(--fs-meta);line-height:var(--lh-body)}
.private-refs{display:grid;gap:var(--sp-2);padding-top:var(--sp-3)}
.private-ref{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-2);font-family:var(--pd-font-hud);font-size:var(--fs-micro);text-transform:uppercase;color:var(--pd-ivory-dim)}
.private-ref .redact{justify-self:start;color:var(--pd-cyan-deep)}
.redact{filter:blur(var(--blur-redact));user-select:none}

.stage{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:var(--sp-6);min-width:0}
.execution-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:var(--sp-6)}
.source-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-6)}
.instrument{position:relative;overflow:hidden;border:var(--bw-hairline) solid var(--pd-line);background:var(--console-panel-bg)}
.instrument::before,.instrument::after{content:"";position:absolute;width:var(--console-corner);height:var(--console-corner);pointer-events:none}
.instrument::before{top:var(--sp-2);left:var(--sp-2);border-top:var(--bw-hairline) solid var(--pd-signal);border-left:var(--bw-hairline) solid var(--pd-signal)}
.instrument::after{right:var(--sp-2);bottom:var(--sp-2);border-right:var(--bw-hairline) solid var(--pd-cyan-deep);border-bottom:var(--bw-hairline) solid var(--pd-cyan-deep)}
.instrument-head{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4);border-bottom:var(--bw-hairline) solid var(--pd-line);background:var(--console-surface-strong)}
.instrument-head.compact{align-items:center}.instrument-head>div{margin-right:auto}
.panel-index,.panel-kicker,.unit-label,.feed-live{font-family:var(--pd-font-hud);font-size:var(--fs-micro);letter-spacing:var(--ls-hud);text-transform:uppercase}
.panel-kicker{display:block;color:var(--pd-signal)}
.instrument h1,.instrument h2{margin:0;font-family:var(--pd-font-display);font-weight:600;line-height:var(--lh-heading)}
.instrument h1{font-size:var(--fs-h3)}.instrument h2{font-size:var(--fs-body-sm);color:var(--pd-ivory-muted)}
.unit-label{color:var(--pd-ivory-dim)}

.decision-panel{background:var(--console-panel-deep);border-color:var(--console-line-signal)}
.telemetry-scan{position:absolute;z-index:var(--z-atmo);left:0;right:0;height:var(--sp-8);background:linear-gradient(to bottom,transparent,var(--console-scan-band),transparent);animation:telemetry-scan var(--t-ambient) var(--ease-brand) infinite;pointer-events:none}
@keyframes telemetry-scan{0%,16%{top:0;opacity:0}22%{opacity:1}55%{top:100%;opacity:0}100%{top:100%;opacity:0}}
.directive-state{padding:var(--sp-6) var(--sp-4) var(--sp-3);font-family:var(--pd-font-display);font-size:var(--fs-display);font-weight:700;line-height:var(--lh-tight);letter-spacing:var(--ls-display);color:var(--pd-ivory)}
.directive-state.warn{color:var(--pd-warn)}.directive-state.alert{color:var(--pd-alert)}.directive-state.ok{color:var(--pd-ok)}
.order-grid{display:grid;grid-template-columns:repeat(5,1fr);margin-inline:var(--sp-4);border-top:var(--bw-hairline) solid var(--pd-line);border-bottom:var(--bw-hairline) solid var(--pd-line)}
.order-grid>div{padding:var(--sp-3)}.order-grid>div+div{border-left:var(--bw-hairline) solid var(--pd-line)}
.order-grid strong{display:block;margin-top:var(--sp-1);font-family:var(--pd-font-hud);font-size:var(--fs-body-sm);color:var(--pd-trace)}
.directive-note{margin:0;padding:var(--sp-4);color:var(--pd-ivory-muted);font-size:var(--fs-body-sm)}
.decision-foot{display:flex;gap:var(--sp-6);padding:var(--sp-3) var(--sp-4);border-top:var(--bw-hairline) solid var(--pd-line);font-family:var(--pd-font-hud);font-size:var(--fs-micro);letter-spacing:var(--ls-label);color:var(--pd-ivory-dim)}
.decision-foot b{color:var(--pd-signal);font-weight:400}

.check-stack{padding:var(--sp-2) var(--sp-4) var(--sp-4)}
.check-row{display:grid;grid-template-columns:auto 1fr auto;gap:var(--sp-3);align-items:start;padding-block:var(--sp-3);border-bottom:var(--bw-hairline) solid var(--pd-line)}
.check-row:last-child{border-bottom:0}.check-dot{margin-top:var(--sp-1)}
.check-row.warn .check-dot{background:var(--pd-warn)}.check-row.alert .check-dot{background:var(--pd-alert)}
.check-copy strong{display:block;font-family:var(--pd-font-hud);font-size:var(--fs-meta);font-weight:400;color:var(--pd-ivory)}
.check-copy small{display:block;color:var(--pd-ivory-dim);font-size:var(--fs-micro);line-height:var(--lh-body)}
.check-state{font-family:var(--pd-font-hud);font-size:var(--fs-micro);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--pd-ok)}
.check-row.warn .check-state{color:var(--pd-warn)}.check-row.alert .check-state{color:var(--pd-alert)}

.chart-panel{min-width:0}.chart{display:block;width:100%;height:auto;padding:var(--sp-3)}
.chart .grid{stroke:var(--chart-grid);stroke-width:var(--bw-hairline)}
.chart .baseline{stroke:var(--pd-ivory-dim);stroke-width:var(--bw-hairline)}
.chart .axis{fill:var(--pd-ivory-dim);font-family:var(--pd-font-hud);font-size:var(--fs-micro)}
.chart .bar{fill:var(--pd-cyan-deep)}.chart .bar.positive{fill:var(--pd-signal)}.chart .bar.negative{fill:var(--pd-alert)}
.analyst-grid{display:grid;grid-template-columns:repeat(7,1fr);padding:var(--sp-3)}
.analyst{min-width:0;padding:var(--sp-3);border-right:var(--bw-hairline) solid var(--pd-line);border-bottom:var(--bw-hairline) solid var(--pd-line)}
.analyst:nth-child(7n){border-right:0}.analyst .sym,.analyst .split{font-family:var(--pd-font-hud)}
.analyst .sym{display:block;color:var(--pd-signal);font-size:var(--fs-meta);letter-spacing:var(--ls-label)}
.analyst .cons{display:block;font-family:var(--pd-font-display);font-size:var(--fs-h3);line-height:var(--lh-tight);margin-block:var(--sp-1)}
.analyst .split{display:flex;gap:var(--sp-2);color:var(--pd-ivory-dim);font-size:var(--fs-micro)}
.analyst .split .hi{color:var(--pd-ok)}.analyst .split .lo{color:var(--pd-alert)}

.stream{grid-column:2;grid-row:2;min-height:0;display:flex;flex-direction:column;background:var(--console-panel-deep)}
.stream-head{flex:0 0 auto}.feed-live{display:flex;align-items:center;gap:var(--sp-2);color:var(--pd-ok)}
.feed-live i{display:block}.feed-columns,.feed .row{display:grid;grid-template-columns:var(--console-feed-time) var(--console-feed-state) var(--console-feed-channel) minmax(0,1fr);gap:var(--sp-3);align-items:center}
.feed-columns{padding:var(--sp-2) var(--sp-4);border-bottom:var(--bw-hairline) solid var(--pd-line);font-family:var(--pd-font-hud);font-size:var(--fs-micro);letter-spacing:var(--ls-label);color:var(--pd-ivory-dim)}
.feed{position:relative;display:flex;flex:1;min-height:0;flex-direction:column;justify-content:flex-end;overflow:hidden;padding:var(--sp-2) var(--sp-4);font-family:var(--pd-font-hud);font-size:var(--fs-meta)}
.feed::after{content:"";position:absolute;inset:0 0 auto;height:var(--sp-8);background:linear-gradient(to bottom,var(--pd-void),transparent);pointer-events:none}
.feed .row{padding-block:var(--sp-1);color:var(--pd-ivory-dim);animation:row-in var(--feed-row-in) var(--ease-enter)}
.feed .row:last-child{color:var(--pd-ivory)}.feed time{color:var(--pd-trace)}
.feed .feed-state{text-transform:uppercase}.feed .feed-state.ok{color:var(--pd-ok)}.feed .feed-state.warn{color:var(--pd-warn)}.feed .feed-state.alert{color:var(--pd-alert)}
.feed .feed-channel{color:var(--pd-signal);text-transform:uppercase}.feed .feed-event{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@keyframes row-in{from{opacity:0;transform:translateY(var(--sp-2))}to{opacity:1;transform:none}}
.stream-meta{display:flex;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-2) var(--sp-4);border-top:var(--bw-hairline) solid var(--pd-line);font-family:var(--pd-font-hud);font-size:var(--fs-micro);letter-spacing:var(--ls-label);color:var(--pd-ivory-dim);text-transform:uppercase}

@media (max-width:1024px){
  .console{padding-inline:var(--sp-4)}
  .cockpit{grid-template-columns:1fr;grid-template-rows:auto auto auto}
  .rail{grid-column:1;grid-row:1;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-3);padding:0 0 var(--sp-4);border-right:0;border-bottom:var(--bw-hairline) solid var(--pd-line)}
  .section-mark,.rail-break{grid-column:1/-1;margin-top:0}.metric-block,.metric-pair{border:var(--bw-hairline) solid var(--pd-line);padding-inline:var(--sp-3)}
  .stage{grid-column:1;grid-row:2}.stream{grid-column:1;grid-row:3}
  .execution-grid{grid-template-columns:1fr}.analyst-grid{grid-template-columns:repeat(4,1fr)}.analyst:nth-child(7n){border-right:var(--bw-hairline) solid var(--pd-line)}.analyst:nth-child(4n){border-right:0}
}
@media (max-width:768px){
  .chrome-bar{height:auto;min-height:var(--console-header-h);flex-wrap:wrap;padding-block:var(--sp-3)}.brand{width:100%}.system-id{margin-right:auto}
  .channel-strip{flex-wrap:wrap;white-space:normal;gap:var(--sp-3)}.channel-tail{width:100%;margin-left:0}
  .source-grid{grid-template-columns:1fr}.order-grid{grid-template-columns:repeat(2,1fr)}.order-grid>div{border-bottom:var(--bw-hairline) solid var(--pd-line)}.order-grid>div+div{border-left:0}.order-grid>div:nth-child(even){border-left:var(--bw-hairline) solid var(--pd-line)}
  .analyst-grid{grid-template-columns:repeat(2,1fr)}.analyst:nth-child(4n){border-right:var(--bw-hairline) solid var(--pd-line)}.analyst:nth-child(2n){border-right:0}
  .feed-columns,.feed .row{grid-template-columns:var(--console-feed-time) var(--console-feed-state) minmax(0,1fr)}.feed-columns span:nth-child(3),.feed .feed-channel{display:none}
}
@media (max-width:640px){
  .console{padding-inline:var(--sp-3)}.rail{grid-template-columns:1fr}.metric-pair{grid-template-columns:1fr 1fr}.execution-grid,.source-grid{gap:var(--sp-3)}
  .directive-state{font-size:var(--fs-h1)}.decision-foot{flex-direction:column;gap:var(--sp-2)}
  .stream-meta{flex-direction:column}.feed-columns,.feed .row{grid-template-columns:var(--console-feed-time) var(--console-feed-state) minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){.telemetry-scan{animation:none;top:50%;opacity:var(--alpha-rest)}.feed .row,.badge i,.feed-live i{animation:none}}
