/* ============================================================================
   PILOT · MISSION DECK — sample-fidelity layer  ([data-theme="mission"] only)
   Refinement pass: armed corner brackets, booting/breathing reactor, pulsing
   pipeline node + shimmer bar, single-hot discipline, bronze command meniscus,
   engraved clock, Mission easing. Load AFTER signatures.css.
   All motion sits behind the global prefers-reduced-motion kill-switch (app.css).
   ============================================================================ */
[data-theme="mission"]{--ease:cubic-bezier(.2,.8,.2,1)}

/* grain film + page bloom -------------------------------------------------- */
[data-theme="mission"] body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:200;opacity:.04;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}
[data-theme="mission"][data-mode="light"] body::after{mix-blend-mode:multiply;opacity:.05}
[data-theme="mission"] body{background:radial-gradient(150% 100% at 50% -10%,color-mix(in srgb,var(--brand) 12%,var(--bg)) 0%,var(--bg) 55%),var(--bg)}

/* mission focus ring — cyan hairline + soft glow --------------------------- */
[data-theme="mission"] :focus-visible{outline:0;box-shadow:0 0 0 1px var(--brand),0 0 8px color-mix(in srgb,var(--brand) 45%,transparent)}

/* callsign-style section headers ------------------------------------------- */
[data-theme="mission"] .secttl,[data-theme="mission"] .colhead .cn{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-weight:500;font-size:12px;color:var(--fg-muted)}

/* cards as instruments: elevation wash ------------------------------------- */
[data-theme="mission"] .card{background:var(--surface);background-image:linear-gradient(180deg,rgba(174,233,242,.05) 0%,transparent 14%)}
[data-theme="mission"][data-mode="light"] .card{background-image:linear-gradient(180deg,rgba(255,255,255,.7) 0%,transparent 30%)}

/* ---- ARMED corner brackets (the signature interaction) -------------------- */
/* idle brackets are defined in signatures.css; here they ignite + snap inward
   on hover/focus/live. Only interaction lights them → resting stays dark.     */
[data-theme="mission"] .card:not(.kpi)::before,[data-theme="mission"] .card:not(.kpi)::after,
[data-theme="mission"] .tile::before,[data-theme="mission"] .tile::after,
[data-theme="mission"] .prose::before,[data-theme="mission"] .prose::after,
[data-theme="mission"] .proc-detail::before,[data-theme="mission"] .proc-detail::after,
[data-theme="mission"] .inspector::before,[data-theme="mission"] .inspector::after,
[data-theme="mission"] .wiki-side::before,[data-theme="mission"] .wiki-side::after,
[data-theme="mission"] .column::before,[data-theme="mission"] .column::after{
  border-color:color-mix(in srgb,var(--brand) 32%,transparent);opacity:.55;transition:all .22s var(--ease)}
/* ignite */
[data-theme="mission"] .card:not(.kpi):hover::before,[data-theme="mission"] .card:not(.kpi):hover::after,[data-theme="mission"] .card:not(.kpi):focus-within::before,[data-theme="mission"] .card:not(.kpi):focus-within::after,
[data-theme="mission"] .tile:hover::before,[data-theme="mission"] .tile:hover::after,[data-theme="mission"] .tile:focus-visible::before,[data-theme="mission"] .tile:focus-visible::after,
[data-theme="mission"] .prose:hover::before,[data-theme="mission"] .prose:hover::after,
[data-theme="mission"] .proc-detail:hover::before,[data-theme="mission"] .proc-detail:hover::after,[data-theme="mission"] .proc-detail:focus-within::before,[data-theme="mission"] .proc-detail:focus-within::after,
[data-theme="mission"] .inspector:hover::before,[data-theme="mission"] .inspector:hover::after,[data-theme="mission"] .inspector:focus-within::before,[data-theme="mission"] .inspector:focus-within::after,
[data-theme="mission"] .wiki-side:hover::before,[data-theme="mission"] .wiki-side:hover::after,
[data-theme="mission"] .column:hover::before,[data-theme="mission"] .column:hover::after{
  border-color:var(--brand);opacity:1;box-shadow:0 0 8px -1px var(--brand)}
/* snap inward 2px (top-left grows +, bottom-right grows -) */
[data-theme="mission"] .card:not(.kpi):hover::before,[data-theme="mission"] .tile:hover::before,[data-theme="mission"] .tile:focus-visible::before,[data-theme="mission"] .prose:hover::before,[data-theme="mission"] .proc-detail:hover::before,[data-theme="mission"] .inspector:hover::before,[data-theme="mission"] .wiki-side:hover::before,[data-theme="mission"] .column:hover::before{top:5px;left:5px}
[data-theme="mission"] .card:not(.kpi):hover::after,[data-theme="mission"] .tile:hover::after,[data-theme="mission"] .tile:focus-visible::after,[data-theme="mission"] .prose:hover::after,[data-theme="mission"] .proc-detail:hover::after,[data-theme="mission"] .inspector:hover::after,[data-theme="mission"] .wiki-side:hover::after,[data-theme="mission"] .column:hover::after{bottom:5px;right:5px}

/* ---- pipeline: spine + booting node pulse + shimmer bar -------------------- */
[data-theme="mission"] .pipe{position:relative}
[data-theme="mission"] .pipe::before{content:"";position:absolute;left:22px;top:20px;bottom:20px;width:1px;background:var(--line)}
[data-theme="mission"] .step{background:none}
[data-theme="mission"] .step:hover{background:color-mix(in srgb,var(--brand) 6%,transparent)}
[data-theme="mission"] .step .node{background:var(--bg);box-shadow:inset 0 1px 0 rgba(174,233,242,.08)}
[data-theme="mission"] .step.done .node{background:var(--ok);color:var(--bg)}
[data-theme="mission"] .step.live .node{border-color:var(--brand);color:var(--brand-ink);animation:m-node 1.8s var(--ease) infinite}
@keyframes m-node{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--brand) 60%,transparent)}70%{box-shadow:0 0 0 7px transparent}100%{box-shadow:0 0 0 0 transparent}}
[data-theme="mission"] .step.live .bar i{background:linear-gradient(90deg,var(--fg-faint),var(--brand) 50%,var(--fg-faint));background-size:220% 100%;animation:m-shim 2.2s ease-in-out infinite}
@keyframes m-shim{0%{background-position:120% 0}100%{background-position:-120% 0}}

/* ---- single hot element: only the live pipeline node pulses --------------- */
[data-theme="mission"] .chip.brand{box-shadow:none}
[data-theme="mission"] .lens.live{box-shadow:none}
[data-theme="mission"] .kpi.live .v{text-shadow:0 0 12px color-mix(in srgb,var(--brand) 45%,transparent)}

/* ---- bronze: the ONE CTA + the command/voice inputs (meniscus) ------------ */
[data-theme="mission"] .btn.primary{background:linear-gradient(180deg,color-mix(in srgb,var(--bronze) 12%,transparent),transparent);
  color:var(--bronze);border:1px solid color-mix(in srgb,var(--bronze) 55%,var(--line));text-transform:uppercase;letter-spacing:.1em;font-family:var(--font-mono);font-size:11px;transition:all .22s var(--ease)}
[data-theme="mission"] .btn.primary:hover{border-color:var(--bronze);box-shadow:0 4px 16px -6px color-mix(in srgb,var(--bronze) 60%,transparent)}
[data-theme="mission"] .btn{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;transition:all .22s var(--ease)}
[data-theme="mission"] .btn.ghost{border-color:color-mix(in srgb,var(--brand) 45%,var(--line))}
[data-theme="mission"] .search svg,[data-theme="mission"] .composer .send{color:var(--bronze)}
[data-theme="mission"] .composer .send{background:linear-gradient(180deg,color-mix(in srgb,var(--bronze) 14%,transparent),transparent);border:1px solid color-mix(in srgb,var(--bronze) 50%,var(--line))}
/* bronze meniscus: underline draws in on focus (command/voice) */
[data-theme="mission"] .search,[data-theme="mission"] .composer{position:relative}
[data-theme="mission"] .search::after,[data-theme="mission"] .composer::after{content:"";position:absolute;left:8px;right:8px;bottom:0;height:2px;pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--bronze),transparent);transform:scaleX(0);transition:transform .4s var(--ease)}
[data-theme="mission"] .search:focus-within::after,[data-theme="mission"] .composer:focus-within::after{transform:scaleX(1)}
[data-theme="mission"] .field input{caret-color:var(--bronze)}

/* ---- topbar: cyan wordmark, bronze hallmark, ENGRAVED clock --------------- */
[data-theme="mission"] .brandmark{font-family:var(--font-mono);letter-spacing:.3em}
[data-theme="mission"] .topbar .clock{background:none;padding:0;display:inline-flex;align-items:center;gap:1px}
[data-theme="mission"] .topbar .clock .cd{display:inline-block;min-width:20px;text-align:center;padding:2px 4px;border-radius:2px;color:var(--fg);
  background:var(--surface-2);box-shadow:inset 0 1px 0 rgba(174,233,242,.12)}
[data-theme="mission"][data-mode="light"] .topbar .clock .cd{box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
[data-theme="mission"] .topbar .clock .co{color:var(--fg-muted);padding:0 1px;animation:m-colon 2s steps(1) infinite}
@keyframes m-colon{0%,49%{opacity:1}50%,100%{opacity:.25}}

/* ---- reactor bloom behind the Landing hero: boots in, then breathes ------- */
[data-theme="mission"] #view-landing{position:relative}
[data-theme="mission"] #view-landing::before{content:"";position:absolute;top:-30px;left:50%;width:min(680px,80%);height:420px;border-radius:50%;pointer-events:none;z-index:0;
  transform:translateX(-50%);background:radial-gradient(closest-side,color-mix(in srgb,var(--brand) 26%,transparent),transparent 70%);
  animation:m-boot 1.4s var(--ease) both,m-breathe 7s ease-in-out 1.4s infinite}
@keyframes m-boot{0%{opacity:0;transform:translateX(-50%) scale(.9)}100%{opacity:.72;transform:translateX(-50%) scale(1)}}
@keyframes m-breathe{0%,100%{opacity:.5}50%{opacity:.82}}
[data-theme="mission"] #view-landing .lp{position:relative;z-index:1}
[data-theme="mission"] .tile{transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease)}
[data-theme="mission"] .tile:hover{transform:translateY(-3px);box-shadow:0 18px 40px -24px #000}

/* ---- nav as instrument shelf --------------------------------------------- */
[data-theme="mission"] .nav{background:var(--surface);box-shadow:inset -1px 0 0 var(--line)}
[data-theme="mission"] .navcap{color:var(--brand);opacity:.55}
[data-theme="mission"] .navitem{transition:all .2s var(--ease)}
[data-theme="mission"] .navitem[aria-current="true"]{box-shadow:0 0 10px -2px color-mix(in srgb,var(--brand) 50%,transparent)}

/* ---- small fidelity: wiki active rule, editor badges, tag --------------- */
[data-theme="mission"] .navlink[aria-current="page"]{box-shadow:inset 2px 0 0 var(--brand)}
[data-theme="mission"] .tbadge.text{color:var(--ok)}
[data-theme="mission"] .taglabel{background:var(--bronze);color:#0b1016}
[data-theme="mission"] .ticker-line{border-left-color:var(--bronze)}
[data-theme="mission"] .ticker-line .caret{background:var(--bronze);animation:m-colon 1.1s steps(1) infinite}
