/* BLACKGLASS Arcade layer. html[data-theme=arcade] = dark + neon. Clean (white) is the default. */
:root{--ar-green:#00ff9c;--ar-green-d:#0a7f4f;--ar-red:#ff2b4e;--ar-blue:#2f6bff;--ar-cyan:#00c2ff}
html[data-theme=arcade]{color-scheme:dark;
 --nx-bg:#05070b;--nx-surface:#0b1017;--nx-surface-2:#111823;--nx-border:#1b2a3a;--nx-border-strong:#24405a;
 --nx-text:#e6fff5;--nx-text-2:#8fb3a6;--nx-text-3:#5d7c72;--nx-accent:#00ff9c;--nx-accent-weak:rgba(0,255,156,.12);
 --nx-magenta:#ff2b4e;--nx-pos:#00ff9c;--nx-neg:#ff2b4e;--nx-warn:#ffd400;--nx-fact:#00ff9c;--nx-inference:#ffd400;--nx-speculation:#ff2b4e}
html[data-theme=arcade] body{background:radial-gradient(1200px 700px at 20% -10%,rgba(47,107,255,.14),transparent 60%),radial-gradient(900px 600px at 110% 10%,rgba(0,255,156,.08),transparent 60%),#05070b!important}
html[data-theme=arcade] body::before{background:linear-gradient(90deg,#0a7f4f,#2f6bff,#ff2b4e)!important;color:#fff!important}
html[data-theme=arcade] #nx-bar{background:rgba(5,7,11,.92)!important;border-bottom-color:#1b2a3a!important}
html[data-theme=arcade] .nx-links a.on{box-shadow:inset 0 -3px 0 var(--ar-green),0 6px 18px -8px var(--ar-green)!important}
html[data-theme=arcade] header,html[data-theme=arcade] nav:not(#nx-bar),html[data-theme=arcade] aside,html[data-theme=arcade] section,html[data-theme=arcade] article,html[data-theme=arcade] footer,
html[data-theme=arcade] [class*=card],html[data-theme=arcade] [class*=panel],html[data-theme=arcade] [class*=tile],html[data-theme=arcade] [class*=box],html[data-theme=arcade] .st,html[data-theme=arcade] .sit,html[data-theme=arcade] #top,html[data-theme=arcade] #tabs,html[data-theme=arcade] .wmi,html[data-theme=arcade] .row,html[data-theme=arcade] [class*=item]{background-color:rgba(11,16,23,.92)!important;color:var(--nx-text)}
html[data-theme=arcade] button,html[data-theme=arcade] .pill,html[data-theme=arcade] .chip,html[data-theme=arcade] [class*=btn],html[data-theme=arcade] input,html[data-theme=arcade] select,html[data-theme=arcade] textarea,html[data-theme=arcade] .chips label,html[data-theme=arcade] #top a,html[data-theme=arcade] .search a{background:#0b1017!important;color:var(--nx-text)!important;border-color:#24405a!important}
html[data-theme=arcade] button.on,html[data-theme=arcade] .pill.on,html[data-theme=arcade] .chips label:has(input:checked){background:rgba(0,255,156,.12)!important;color:var(--ar-green)!important;border-color:var(--ar-green)!important;box-shadow:0 0 12px -2px rgba(0,255,156,.6)!important}
html[data-theme=arcade] #nx-sheet .p,html[data-theme=arcade] #big .box,html[data-theme=arcade] #nx-q{background:#0b1017!important;color:var(--nx-text)}
html[data-theme=arcade] table{background:transparent}html[data-theme=arcade] th{background:#111823!important}
html[data-theme=arcade] h1,html[data-theme=arcade] h2,html[data-theme=arcade] h3,html[data-theme=arcade] b,html[data-theme=arcade] strong{color:var(--nx-text)}
html[data-theme=arcade] .hero h1 span{color:var(--ar-green)!important;-webkit-text-fill-color:var(--ar-green)!important;text-shadow:0 0 18px rgba(0,255,156,.55)!important}
html[data-theme=arcade] .cta .p{background:var(--ar-green)!important;color:#02130b!important;box-shadow:0 0 22px -4px rgba(0,255,156,.8)!important}
html[data-theme=arcade] .cta .s{background:transparent!important;color:var(--nx-text)!important}
html[data-theme=arcade] .nx-logo .bg-mark path:first-child{fill:#e6fff5}
html[data-theme=arcade] .FACT{background:rgba(0,255,156,.12)!important;color:#00ff9c!important}html[data-theme=arcade] .INFERENCE{background:rgba(255,212,0,.12)!important;color:#ffd400!important}html[data-theme=arcade] .SPECULATION{background:rgba(255,43,78,.14)!important;color:#ff6b82!important}
/* neon glow on live elements */
html[data-theme=arcade] .bd.live,html[data-theme=arcade] .badge.live,html[data-theme=arcade] .live{box-shadow:0 0 10px rgba(255,43,78,.85)!important;background:var(--ar-red)!important;color:#fff!important}
html[data-theme=arcade] .cam,html[data-theme=arcade] #g,html[data-theme=arcade] #globe{box-shadow:0 0 0 1px #1b2a3a,0 0 28px -10px rgba(0,194,255,.55)!important}
/* animated gradient border on active scanners */
@property --bg-ang{syntax:'<angle>';inherits:false;initial-value:0deg}
.bg-scanning{position:relative}
html[data-theme=arcade] .bg-scanning::after{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;pointer-events:none;
 background:conic-gradient(from var(--bg-ang),#00ff9c,#00c2ff,#2f6bff,#ff2b4e,#00ff9c);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:bg-spin 2.4s linear infinite}
@keyframes bg-spin{to{--bg-ang:360deg}}
/* CRT scanlines + noise option */
html[data-crt=on] body::after{content:"";position:fixed;inset:0;z-index:99990;pointer-events:none;
 background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 1px,transparent 1px 3px),radial-gradient(ellipse at center,transparent 60%,rgba(0,0,0,.35));mix-blend-mode:multiply;animation:bg-flick 6s steps(60) infinite}
@keyframes bg-flick{50%{opacity:.85}}
/* progress pulse on data refresh (driven by real fetches) */
#bg-prog{position:fixed;left:0;top:0;height:2px;width:0;z-index:99995;background:linear-gradient(90deg,#00ff9c,#00c2ff,#2f6bff);transition:width .3s,opacity .4s;opacity:0;pointer-events:none}
#bg-prog.on{opacity:1}
html[data-theme=arcade] #bg-prog{box-shadow:0 0 10px #00ff9c}
/* globe sweep while feeds update */
.bg-sweep{position:absolute;inset:0;pointer-events:none;border-radius:inherit;overflow:hidden;opacity:0;transition:opacity .4s;z-index:3}
.bg-sweep.on{opacity:1}
.bg-sweep::before{content:"";position:absolute;left:50%;top:50%;width:160%;aspect-ratio:1;transform:translate(-50%,-50%);background:conic-gradient(from 0deg,rgba(0,255,156,0) 0deg,rgba(0,255,156,0) 300deg,rgba(0,255,156,.28) 350deg,rgba(0,255,156,.55) 360deg);animation:bg-rot 2.2s linear infinite;border-radius:50%}
@keyframes bg-rot{to{transform:translate(-50%,-50%) rotate(360deg)}}
/* docked corner pill; panel only when the user opens it */
#bg-dock{position:fixed;left:12px;bottom:12px;z-index:9050;font:500 12px var(--nx-font);pointer-events:none}
#bg-dock>*{pointer-events:auto}
#bg-pill{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 11px;border-radius:999px!important;font:700 10.5px var(--nx-mono)!important;letter-spacing:.08em;cursor:pointer;opacity:.92}
#bg-pill i{width:7px;height:7px;border-radius:50%;background:var(--ar-green-d);display:inline-block}
html[data-theme=arcade] #bg-pill i{background:var(--ar-green);box-shadow:0 0 8px var(--ar-green)}
#bg-pill.flash{animation:bg-in 1s ease-out}
#bg-act{position:absolute;left:0;bottom:36px;width:360px;max-height:min(60vh,520px);display:flex;flex-direction:column;background:var(--nx-surface)!important;border:1px solid var(--nx-border)!important;border-radius:14px!important;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.25)!important}
#bg-act[hidden]{display:none}
#bg-act .bgd{display:flex;gap:6px;flex-wrap:wrap;padding:8px 10px;border-top:1px solid var(--nx-border)}
#bg-act .bgd button{height:30px;padding:0 10px;border-radius:999px!important;font:600 12px var(--nx-font);cursor:pointer}
@media(max-width:760px){#bg-act{width:calc(100vw - 24px)}}
#bg-act .bga-h{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--nx-border);font:700 11px var(--nx-mono);letter-spacing:.08em}
#bg-act .bga-h i{width:7px;height:7px;border-radius:50%;background:var(--ar-green);display:inline-block;margin-right:6px}
#bg-act .bga-list{overflow:auto;padding:4px 0}
#bg-act .ev{padding:7px 12px;border-bottom:1px solid var(--nx-border);font:500 12px/1.35 var(--nx-font)}
#bg-act .ev b{font:700 10.5px var(--nx-mono);letter-spacing:.06em;margin-right:6px}
#bg-act .ev small{display:block;color:var(--nx-text-2);font:400 11px var(--nx-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#bg-act .ev .k-scan{color:var(--ar-cyan)}#bg-act .ev .k-alert{color:var(--ar-red)}#bg-act .ev .k-data{color:var(--ar-green-d)}#bg-act .ev .k-repair{color:#c79a00}
html[data-theme=arcade] #bg-act .ev .k-data{color:var(--ar-green)}
#bg-act .ev.new{animation:bg-in .9s ease-out}
@keyframes bg-in{from{background:rgba(0,255,156,.22)}}
html[data-theme=arcade] #bg-act{box-shadow:0 0 30px -12px rgba(0,255,156,.5)!important}
html[data-theme=arcade] #bg-pill.bg-scanning::after{border-radius:999px}

@media(prefers-reduced-motion:reduce){.bg-sweep::before,html[data-theme=arcade] .bg-scanning::after,html[data-crt=on] body::after,#bg-act .ev.new{animation:none!important}}
/* connection lines forming (rabbit hole graph, triggered by real expand responses) */
#graph.bg-zapping line{stroke-dasharray:7 5;animation:bg-dash .5s linear infinite}
html[data-theme=arcade] #graph line{filter:drop-shadow(0 0 3px rgba(0,194,255,.7))}
html[data-theme=arcade] #graph circle{filter:drop-shadow(0 0 5px currentColor)}
@keyframes bg-dash{to{stroke-dashoffset:-24}}

body.bg-docked{padding-bottom:48px!important}
#bg-dock.inbar{position:relative;left:auto;bottom:auto;display:inline-flex}
#bg-dock.inbar #bg-act{position:fixed;left:auto;right:12px;bottom:auto;top:76px}

#nx-bar #bg-dock.inbar{margin-right:8px}
@media(max-width:760px){#bg-pill .bgp-t{display:none}#bg-pill{padding:0 9px}#bg-dock.inbar #bg-act{top:64px;right:8px;left:8px;width:auto}}
