/* ============================================================================
   PILOT · NEON NIHON — sample-fidelity layer  ([data-theme="neon"] only)
   Adds the motion/effects on top of signatures.css: neon-tube flicker, CRT
   scanline drift, node ignition + shimmer, single glow-budget, kana signage,
   wet sheen. All motion behind the global prefers-reduced-motion kill-switch.
   ============================================================================ */
[data-theme="neon"]{--ease:cubic-bezier(.2,.9,.25,1)}

/* wordmark = a flickering neon sign (rare dropouts, otherwise lit) ---------- */
[data-theme="neon"] .brandmark{text-shadow:0 0 6px color-mix(in srgb,var(--brand) 30%,transparent)}
[data-theme="neon"]:not([data-effects="off"]) .brandmark .dot{animation:n-flicker 7s steps(1,end) infinite}
@keyframes n-flicker{0%,42%,44%,88%,90%,100%{opacity:1;box-shadow:0 0 10px color-mix(in srgb,var(--brand) 65%,transparent)}43%,89%{opacity:.45;box-shadow:none}}

/* CRT scanline slow roll (signatures paints the overlay; we drift it) ------- */
[data-theme="neon"]:not([data-effects="off"]) .main::after{animation:n-scan 9s linear infinite}
@keyframes n-scan{from{background-position:0 0}to{background-position:0 6px}}

/* neon-tube: hover ignites a tube glow; active/live already lit in signatures */
[data-theme="neon"] .btn,[data-theme="neon"] .navitem,[data-theme="neon"] .tab,[data-theme="neon"] .tile{transition:all .15s var(--ease)}
[data-theme="neon"] .btn:hover{box-shadow:0 0 12px -3px color-mix(in srgb,var(--brand) 45%,transparent);border-color:color-mix(in srgb,var(--brand) 50%,var(--line))}
[data-theme="neon"] .btn.primary{box-shadow:0 0 16px -3px color-mix(in srgb,var(--brand) 60%,transparent)}
[data-theme="neon"] .tile:hover{border-color:color-mix(in srgb,var(--brand) 55%,var(--line));
  box-shadow:inset 0 0 22px color-mix(in srgb,var(--brand) 12%,transparent),0 0 18px -5px color-mix(in srgb,var(--brand) 45%,transparent)}
[data-theme="neon"] .tile:hover .well{box-shadow:0 0 12px -2px color-mix(in srgb,var(--brand) 50%,transparent)}

/* single glow-budget: the ONE live element = running pipeline node (ignites + breathes) */
[data-theme="neon"]:not([data-effects="off"]) .step.live .node{animation:n-node 1.6s ease-in-out infinite}
@keyframes n-node{0%,100%{box-shadow:0 0 6px color-mix(in srgb,var(--brand) 55%,transparent),0 0 0 3px color-mix(in srgb,var(--brand) 16%,transparent)}
  50%{box-shadow:0 0 15px color-mix(in srgb,var(--brand) 80%,transparent),0 0 0 5px color-mix(in srgb,var(--brand) 8%,transparent)}}
[data-theme="neon"] .step.live .bar i{background:linear-gradient(90deg,transparent,var(--brand),transparent);background-size:200% 100%}
[data-theme="neon"]:not([data-effects="off"]) .step.live .bar i{animation:n-shim 1.9s linear infinite}
@keyframes n-shim{from{background-position:160% 0}to{background-position:-60% 0}}

/* single glow-budget: the running node is THE hot atom; a status chip stays a
   flat tube outline (no halo) so two things never peak at once */
[data-theme="neon"] .chip.brand{box-shadow:none;border-color:color-mix(in srgb,var(--brand) 55%,var(--line))}
[data-theme="neon"] .chip.brand .d{box-shadow:0 0 6px color-mix(in srgb,var(--brand) 60%,transparent)}

/* "you-are-here": active nav/tab gets a neon underline tube --------------- */
[data-theme="neon"] .navitem[aria-current="true"]{position:relative}
[data-theme="neon"] .navitem[aria-current="true"]::after{content:"";position:absolute;left:11px;right:11px;bottom:3px;height:1.5px;
  background:var(--brand);box-shadow:0 0 8px color-mix(in srgb,var(--brand) 70%,transparent)}
[data-theme="neon"] .kpi.live .v{text-shadow:0 0 8px color-mix(in srgb,var(--brand) 55%,transparent),0 0 18px color-mix(in srgb,var(--brand) 28%,transparent)}

/* stacked kana signage tuned brighter on section eyebrows ------------------- */
[data-theme="neon"] .eyebrow .kana{color:var(--brand-ink);opacity:.75;text-shadow:0 0 6px color-mix(in srgb,var(--brand) 30%,transparent)}

/* wet-black sheen: a faint top highlight on every pane (city reflection) ---- */
[data-theme="neon"] .card,[data-theme="neon"] .proc-detail,[data-theme="neon"] .proc-list,
[data-theme="neon"] .inspector,[data-theme="neon"] .column,[data-theme="neon"] .wiki-side,
[data-theme="neon"] .admin-nav,[data-theme="neon"] .canvas{background-image:linear-gradient(180deg,rgba(255,255,255,.035),transparent 26%)}

/* display headers heavy; mono telemetry stays tabular ---------------------- */
[data-theme="neon"] h1.title,[data-theme="neon"] .lp h1{font-weight:800;letter-spacing:-.02em}

/* deepen the wet-city ambiance: brand-tinted corners + a faint street horizon */
[data-theme="neon"] body{background:
  radial-gradient(48% 38% at 10% -2%,color-mix(in srgb,var(--brand) 16%,transparent),transparent 68%),
  radial-gradient(42% 32% at 100% 6%,color-mix(in srgb,#35f0ff 12%,transparent),transparent 68%),
  radial-gradient(80% 40% at 50% 108%,color-mix(in srgb,var(--brand) 10%,transparent),transparent 60%),
  var(--bg)}
/* hero eyebrow gets a neon rule + the landing title a faint tube glow */
[data-theme="neon"] .lp .eyebrow::before,[data-theme="neon"] .eyebrow::before{content:"";width:16px;height:1.5px;background:var(--brand);box-shadow:0 0 6px color-mix(in srgb,var(--brand) 60%,transparent)}
[data-theme="neon"] .lp h1{text-shadow:0 0 18px color-mix(in srgb,var(--brand) 22%,transparent)}

/* neon focus ring ---------------------------------------------------------- */
[data-theme="neon"] :focus-visible{outline:0;box-shadow:0 0 0 1px var(--brand),0 0 10px color-mix(in srgb,var(--brand) 50%,transparent)}

/* command/search caret = brand; running ticker caret blinks ---------------- */
[data-theme="neon"] .search input,[data-theme="neon"] .composer textarea{caret-color:var(--brand)}
[data-theme="neon"] .ticker-line{border-left-color:var(--brand)}
[data-theme="neon"]:not([data-effects="off"]) .ticker-line .caret{animation:n-caret 1s steps(1) infinite}
@keyframes n-caret{0%,50%{opacity:1}51%,100%{opacity:.2}}
