/* Regennacht: cold blue phosphor terminal with red function keys. Loaded last and deliberately overrides
   every earlier look (sales-site blue, glossy pills, serif headlines) so all pages share one terminal style. */
:root[data-theme]{--nr-bg:#030a12;--nr-panel:#06121e;--nr-ink:#8fe3ff;--nr-hi:#e0f7ff;--nr-dim:#5f9ab8;--nr-line:#15384f;--nr-up:#6cf0b0;--nr-dn:#ff4b5c;--nr-warn:#ffd166;--nr-key:#ff4b5c;--nr-keyInk:#030a12;--nr-glow:rgba(143,227,255,.42);--nr-zebra:rgba(143,227,255,.04);--nr-tag:150,215,255;
 --td-night:var(--nr-bg);--td-ink:var(--nr-ink);--td-mid:var(--nr-ink);--td-dim:var(--nr-dim);--td-line:var(--nr-line);--td-blue:var(--nr-ink);--td-blue4:var(--nr-ink);--td-blue2:var(--nr-hi);--td-gold:var(--nr-warn);--td-ok:var(--nr-up);--td-dn:var(--nr-dn);--td-panel:var(--nr-panel);color-scheme:dark}
:root[data-theme=light]{--nr-bg:#eef2f6;--nr-panel:#f8fafc;--nr-ink:#0f2a3d;--nr-hi:#000;--nr-dim:#5d7489;--nr-line:#b9c8d6;--nr-up:#11804f;--nr-dn:#c0263a;--nr-warn:#8a5a00;--nr-key:#c0263a;--nr-keyInk:#fff;--nr-glow:transparent;--nr-zebra:#e6edf3;color-scheme:light}

:root[data-theme] body{background:var(--nr-bg)!important;color:var(--nr-ink)}
:root[data-theme] .shell{font-family:'VT323',ui-monospace,monospace;font-size:20px;line-height:1.35;color:var(--nr-ink);text-shadow:0 0 5px var(--nr-glow);overflow-x:clip}
/* one family, square corners, no soft shadows, no gradients anywhere inside the academy */
:root[data-theme] .shell *{font-family:inherit!important;font-size-adjust:.52;border-radius:0!important;box-shadow:none!important;text-shadow:inherit;color:inherit!important;border-color:var(--nr-line)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;letter-spacing:.02em}
:root[data-theme] .shell *:not(img):not(video):not(canvas):not(.td-bar):not(.td-bar *):not(.nr-bar):not(.nr-bar *):not(.nr-bg-ok){background-image:none!important}
:root[data-theme] .shell :is(img,video,canvas,svg,.leader-avatar,.avatar-option *){font-size-adjust:none}
:root[data-theme=dark] .shell::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:60;background:repeating-linear-gradient(to bottom,transparent 0 2px,rgba(0,0,0,.2) 2px 3px),radial-gradient(ellipse at center,transparent 60%,rgba(0,0,0,.45))}

/* surfaces */
:root[data-theme] .shell :is(section,article,aside,details,.td-pn,.notice,[class*="-card"]:not(.td-tcard *),[class*="panel"]:not(.td-tp):not([class*="panel-"]),.admin-card,.leader-board,.leader-guide,.journal-empty,.invite-link,dialog){background-color:var(--nr-panel)!important}
:root[data-theme] .shell :is(.td-pn,.admin-card,.notice,.leader-board,.leader-guide,[class*="-card"]){border:2px solid var(--nr-line)!important}
:root[data-theme] .shell main.page{background:transparent!important}
:root[data-theme] .shell :is(tr:nth-child(even) td,.row-item:nth-child(even),.leader-row:nth-child(even)){background-color:var(--nr-zebra)!important}

/* top bar, F-keys, command line */
:root[data-theme] .topbar{background:var(--nr-bg)!important;border-bottom:2px solid var(--nr-line)!important}
:root[data-theme] .fk-brand img{filter:hue-rotate(-20deg) saturate(.6) brightness(1.4)}
:root[data-theme] .fkeys a{border:2px solid var(--nr-line)!important;background:transparent!important;padding:2px 9px 2px 3px!important;text-transform:uppercase}
:root[data-theme] .fkeys a b{background:var(--nr-key)!important;color:var(--nr-keyInk)!important;padding:0 5px;text-shadow:none}
:root[data-theme] .fkeys a.on{background:var(--nr-ink)!important;color:var(--nr-bg)!important;border-color:var(--nr-ink)!important;text-shadow:none}
:root[data-theme] .fkeys a.on b{background:var(--nr-bg)!important;color:var(--nr-ink)!important}
:root[data-theme] .td-lang{border:2px solid var(--nr-line)!important;background:transparent!important}
:root[data-theme] .td-lang button[aria-pressed=true]{background:var(--nr-ink)!important;color:var(--nr-bg)!important;text-shadow:none}
:root[data-theme] .td-lang i{opacity:.4}
:root[data-theme] .td-cmd{background:var(--nr-panel)!important;border-bottom:2px solid var(--nr-line)!important;text-transform:uppercase}
:root[data-theme] .td-cmd .td-chip,:root[data-theme] .td-chip{background:var(--nr-key)!important;color:var(--nr-keyInk)!important;text-shadow:none;border:0!important}
:root[data-theme] .td-cmd-r,:root[data-theme] .td-kick,:root[data-theme] .eyebrow,:root[data-theme] .td-muted,:root[data-theme] small{color:var(--nr-dim)!important}
:root[data-theme] .footnote{color:var(--nr-dim)!important;border-top:2px solid var(--nr-line)!important;text-transform:uppercase}

/* headings: DOS prompt + blinking block cursor instead of the serif two-tone */
:root[data-theme] .shell :is(h1,h2,h3,h4){font-weight:400!important;text-transform:uppercase;line-height:1.05}
:root[data-theme] .shell :is(h1,h2,h3) em,:root[data-theme] .shell .td-two{font-style:normal!important;color:var(--nr-dim)!important}
:root[data-theme] .td-head h1{font-size:46px!important}
:root[data-theme] .td-head h1::before{content:'C:\\ROAN> ';color:var(--nr-dim)}
:root[data-theme] .td-head h1::after{content:'█';color:var(--nr-key);margin-left:6px;animation:nr-blink 1s steps(1) infinite}
@keyframes nr-blink{50%{opacity:0}}
:root[data-theme] .td-pt,:root[data-theme] .panel-section-label{background:var(--nr-ink)!important;color:var(--nr-bg)!important;text-shadow:none;text-transform:uppercase;padding:4px 12px!important;border:0!important}
:root[data-theme] .td-pt *{color:var(--nr-bg)!important}

/* buttons, chips, inputs */
:root[data-theme] .shell :is(.btn,.td-btn,.admin-refresh,.access-prompt-telegram){background:var(--nr-ink)!important;color:var(--nr-bg)!important;border:2px solid var(--nr-ink)!important;text-transform:uppercase;text-shadow:none}
:root[data-theme] .shell :is(.btn.secondary,.btn.ghost,.td-btn.ghost,.td-btn.o){background:transparent!important;color:var(--nr-ink)!important}
:root[data-theme] .shell :is(.btn,.td-btn):hover{background:var(--nr-hi)!important;border-color:var(--nr-hi)!important}
:root[data-theme] .shell :is(.btn.secondary,.td-btn.ghost):hover{background:var(--nr-ink)!important;color:var(--nr-bg)!important}
:root[data-theme] .shell :is(.btn,.td-btn) *{color:inherit!important}
:root[data-theme] .shell :is(.pill,.badge,.chip,.news-bias-pill){background:transparent!important;border:1px solid currentColor!important;text-transform:uppercase}
:root[data-theme] .shell :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),textarea,select){background:transparent!important;border:2px solid var(--nr-line)!important;color:var(--nr-ink)!important}
:root[data-theme] .shell :is(input,textarea,select):focus{outline:2px solid var(--nr-ink)!important;outline-offset:0}
:root[data-theme] .shell :is(input[type=checkbox],input[type=radio]){accent-color:var(--nr-ink)}
:root[data-theme] .shell a:focus-visible,:root[data-theme] .shell button:focus-visible{outline:2px solid var(--nr-key)!important;outline-offset:2px}
:root[data-theme] .shell [aria-pressed=true]:not(.td-lang button),:root[data-theme] .shell [aria-selected=true],:root[data-theme] .shell .is-active,:root[data-theme] .shell .active{background:var(--nr-ink)!important;color:var(--nr-bg)!important;text-shadow:none}

/* market colours stay readable in the single-colour terminal */
:root[data-theme] .shell :is(.bullish,.up,.long,.positive,.is-you .leader-points,.td-ok),:root[data-theme] .shell :is(.bullish,.up,.long,.positive) *{color:var(--nr-up)!important}
:root[data-theme] .shell :is(.bearish,.down,.short,.negative,.error,.high),:root[data-theme] .shell :is(.bearish,.down,.short,.negative,.error) *{color:var(--nr-dn)!important}
:root[data-theme] .shell :is(.medium,.warning,.td-gold){color:var(--nr-warn)!important}
:root[data-theme] .shell .is-you{background:var(--nr-ink)!important;color:var(--nr-bg)!important;text-shadow:none}
:root[data-theme] .shell .is-you *{color:var(--nr-bg)!important}

/* progress bars */
:root[data-theme] .shell :is(.progress-line,.td-bar,.nr-bar,[role=progressbar]){background:transparent!important}
:root[data-theme] .shell :is(.progress-line span,.td-bar i,.td-bar span,.nr-bar i){background:repeating-linear-gradient(90deg,var(--nr-ink) 0 10px,transparent 10px 13px)!important}
.nr-bar{height:18px;margin:10px 0;background:repeating-linear-gradient(90deg,var(--nr-line) 0 10px,transparent 10px 13px)!important;position:relative}
.nr-bar i{position:absolute;inset:0 auto 0 0}

/* light mode: printed listing, no glow */
:root[data-theme=light] .shell{text-shadow:none}
:root[data-theme=light] .td-head h1::after{color:var(--nr-key)}

/* ---------- F1 office ---------- */
.nr-office{width:100vw;margin:-8px 0 22px calc(50% - 50vw);background:#000;overflow:hidden;border-bottom:2px solid var(--nr-line)}
.nr-stage{transition:transform .5s cubic-bezier(.6,0,.3,1),opacity .5s;transform-origin:50% 50%}
.nr-stage.zoom{transform:scale(3.4);opacity:0}
.nr-scene{display:block;width:100%;height:auto;max-height:calc(100vh - 150px);min-height:280px;font-size-adjust:none!important}
.nr-scene *{font-size-adjust:none!important;text-shadow:none!important}
.nr-scene .deco{pointer-events:none}
.nr-scene .hs{cursor:pointer;outline:none}
.nr-scene .hs .obj{filter:drop-shadow(0 0 3px rgba(var(--nr-tag),.9)) drop-shadow(0 0 14px rgba(var(--nr-tag),.45));animation:nr-breathe 2.6s ease-in-out infinite}
.nr-scene .hs:nth-of-type(2n) .obj{animation-delay:-1.3s}
.nr-scene .hs:hover .obj,.nr-scene .hs:focus-visible .obj{animation:none;filter:brightness(1.3) drop-shadow(0 0 4px rgba(var(--nr-tag),1)) drop-shadow(0 0 26px rgba(var(--nr-tag),.85))}
@keyframes nr-breathe{50%{filter:drop-shadow(0 0 2px rgba(var(--nr-tag),.5)) drop-shadow(0 0 6px rgba(var(--nr-tag),.2))}}
.nr-scene .tag{pointer-events:none}
.nr-scene .tag rect{fill:rgba(3,10,18,.85);stroke:#ff4b5c;stroke-width:2}
.nr-scene .tag text{fill:#e0f7ff;font:22px 'VT323',monospace;letter-spacing:.04em}
.nr-scene .tag .dot{fill:#ff4b5c}
.nr-scene .tag .ring{fill:none;stroke:#ff4b5c;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:nr-ring 1.8s ease-out infinite}
@keyframes nr-ring{from{transform:scale(.6);opacity:1}to{transform:scale(2.4);opacity:0}}
.nr-scene .hs:hover .tag rect,.nr-scene .hs:focus-visible .tag rect{fill:#ff4b5c}
.nr-scene .hs:hover .tag text,.nr-scene .hs:focus-visible .tag text{fill:#030a12}
.nr-scene .hs:hover .tag .dot,.nr-scene .hs:focus-visible .tag .dot{fill:#030a12}
.nr-rain line{stroke:rgba(170,200,230,.38);stroke-width:1.4;animation:nr-rain .7s linear infinite}
.nr-rain.heavy line{stroke-width:1.8;animation-duration:.45s}
@keyframes nr-rain{from{transform:translate(0,-60px)}to{transform:translate(-14px,60px)}}
.nr-snow circle{fill:#fff;opacity:.85;animation:nr-snow 6s linear infinite}
@keyframes nr-snow{from{transform:translate(0,-210px)}to{transform:translate(18px,210px)}}
.nr-flash{animation:nr-flash 7s infinite}.nr-bolt{animation:nr-flash 7s infinite}
@keyframes nr-flash{0%,86%{opacity:0}87%{opacity:.85}88%{opacity:.1}90%{opacity:.6}92%,100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.nr-scene .hs .obj,.nr-scene .tag .ring,.nr-rain line,.nr-snow circle,.nr-flash,.nr-bolt{animation:none}}
.nr-ocap{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 16px;background:var(--nr-bg);border-top:2px solid var(--nr-line);text-transform:uppercase}
.nr-ocap .nr-lead{margin-right:8px;color:var(--nr-dim)!important}
.nr-ocap a{border:2px solid var(--nr-line);padding:1px 9px 1px 3px;text-decoration:none}
.nr-ocap a b{background:var(--nr-key)!important;color:var(--nr-keyInk)!important;padding:0 5px;margin-right:6px;text-shadow:none}
.nr-ocap a:hover{background:var(--nr-ink)!important;color:var(--nr-bg)!important}
.nr-progress{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.nr-pb{padding:12px 14px}
.nr-big{font-size:48px;line-height:1}
.nr-quiz{margin-top:16px}
.nr-pb .progress-module{display:block;padding:6px 0;text-decoration:none}
.nr-pb .progress-module>div:first-child{display:flex;justify-content:space-between;gap:10px}
.nr-pb .row-item{display:flex;justify-content:space-between;gap:12px;padding:8px 6px;text-decoration:none;border-bottom:1px solid var(--nr-line)}
.nr-pb .row-item p{margin:2px 0 0;color:var(--nr-dim)!important}
@media (max-width:760px){.nr-progress{grid-template-columns:minmax(0,1fr)}.td-head h1{font-size:34px!important}.nr-ocap .nr-lead{flex-basis:100%}}

/* learning map chart in phosphor colours */
:root[data-theme] html,:root[data-theme] .shell{background:var(--nr-bg)!important}
:root[data-theme] .chart-scroll{background:var(--nr-bg)!important;border:2px solid var(--nr-line)!important}
:root[data-theme] .chart-candles .up line,:root[data-theme] .chart-candles .up rect{stroke:var(--nr-up);fill:var(--nr-up)}
:root[data-theme] .chart-candles .dn line,:root[data-theme] .chart-candles .dn rect{stroke:var(--nr-dn);fill:var(--nr-bg)}
:root[data-theme] .chart-area{fill:var(--nr-ink);fill-opacity:.07}
:root[data-theme] .chart-grid line{stroke:var(--nr-line)}
:root[data-theme] .chart-axis text,:root[data-theme] .chart-region{fill:var(--nr-dim)}
:root[data-theme] .chart-tag{fill:var(--nr-key)}
:root[data-theme] .chart-tag-text{fill:var(--nr-keyInk)}
:root[data-theme] .chart-route .chart-stop .terrain-pin{background:var(--nr-bg)!important;border-color:var(--nr-dim)!important}
:root[data-theme] .chart-route .chart-stop.done .terrain-pin{border-color:var(--nr-ink)!important}
:root[data-theme] .chart-route .chart-stop.done .terrain-pin:after{background:var(--nr-ink)!important}
:root[data-theme] .chart-route .chart-stop.here .terrain-pin,:root[data-theme] .chart-route .chart-stop.here a:before{border-color:var(--nr-key)!important}
:root[data-theme] .chart-route .chart-stop.here .terrain-pin:after{background:var(--nr-key)!important}
:root[data-theme] .chart-route .summit-label:after{background:var(--nr-key)!important}
/* bigger, readable top bar */
:root[data-theme] .fkeys a,:root[data-theme] .td-lang button,:root[data-theme] .fk-brand span{font-size:19px!important}
:root[data-theme] .td-cmd{font-size:19px!important}
:root[data-theme] .fkeys a,:root[data-theme] .td-lang button{font-size:17px!important}
:root[data-theme] .fkeys a{padding:1px 7px 1px 2px!important}
:root[data-theme] .shell :is(small,.td-kick,.eyebrow,label,.td-seg *,.td-tabs *,[role=tab],.pill,th,.td-pt,.td-pt *){font-size:max(16px,1em)!important}
:root[data-theme] .shell :is(.avatar-option,[class*="avatar-choice"]){background-color:var(--nr-panel)!important}
:root[data-theme] .shell :is(.leader-board-head,.leader-avatar,.chart-avatar,.td-av){background-color:var(--nr-panel)!important;color:var(--nr-ink)!important}
@media (max-width:1600px){:root[data-theme] .fk-brand span{display:none}}
