/* Seasonal chrome; semantic colours in handbook articles keep their meaning. */
html.ns-active.halloween {
 --ns-ink:#14100e; --ns-panel:#241b16; --ns-line:#583d2a;
 --ns-copy:#f7eee5; --ns-muted:#c6b2a2; --ns-copper:#ff9b43;
 --bg:#14100e; --bg-sidebar:#19130f; --bg-card:#241b16;
 --bg-hover:#382519; --bg-active:#482b18; --border:#65452d;
 --accent:#ff9b43; --text:#f7eee5; --text-dim:#c6b2a2; --text-muted:#a98f7c;
}
html.ns-active.halloween .main-wrapper::before,
html.ns-active.halloween .main-wrapper.home-full-bg::before { background-image:linear-gradient(#140e0bb3,#140e0be6),var(--ns-scene); }
html.ns-active.halloween .main-wrapper > .content { background-color:#140e0b38; }
html.ns-active.halloween :is(.topbar,.ns-footer,#sidebar,.ns-sidebar) { background-color:#17120ff5; border-color:var(--ns-line); }
html.ns-active.halloween .topbar { background:#17120f; }
html.ns-active.halloween :is(.ns-profile-popover,#searchInput,.ns-search-key) { background:#241b16; border-color:var(--ns-line); color:var(--ns-copy); }
html.ns-active.halloween #searchInput:focus { background:#2d2017; border-color:var(--ns-copper); box-shadow:0 0 0 3px #ff9b4314; }
html.ns-active.halloween #searchInput::placeholder { color:#b8a392; }
html.ns-active.halloween .ns-profile-avatar { background:#392719; border-color:#805330; color:#ffc18d; }
html.ns-active.halloween :is(.ns-profile-popover button:hover,.reader-search-result:is(:hover,.is-selected)) { background:#3b281b; }
html.ns-active.halloween .reader-search-result > span { color:var(--ns-muted); }
html.ns-active.halloween :is(.reader-favorites-heading,.reader-recent-heading,.ns-module-head,.ns-change,.reader-recent-list li,.reader-favorites-list li) { border-color:var(--ns-line); }
html.ns-active.halloween .ns-sidebar :is(.reader-favorites,.reader-recent,.ns-changes) { background:#211912d9; border-color:var(--ns-line) !important; }
html.ns-active.halloween .ns-sidebar :is(.reader-favorites-heading,.reader-recent-heading):hover { background:#ff9b430c; }
html.ns-active.halloween .ns-sidebar :is(.reader-recent-link.is-current,.reader-favorite-link.is-current) { background:#3c281b; color:var(--ns-copy); }
html.ns-active.halloween .ns-sidebar :is(.reader-favorite-link,.reader-recent-link) { color:var(--ns-copy); }
html.ns-active.halloween :is(.ns-empty,.ns-change p,.reader-recent-link time,.reader-favorites-empty,.reader-recent-empty) { color:var(--ns-muted); }
html.ns-active.halloween .ns-sidebar .reader-section-toggle { background:#2e2016; border-color:#62432c; color:#ffb36b; }
html.ns-active.halloween :is(.ns-hero,.ns-directory-list) { background-color:var(--ns-ink); }
html.ns-active.halloween #sidebar :is(.nav-item.active,.nav-group-header.open) { background:#382519; border-color:#9b6135; }
html.ns-active.halloween #sidebar :is(.nav-item:hover,.nav-group-header:hover) { background:#302117; }
html.ns-active.halloween :is(.ns-group-toggle,.ns-group-count) { background:#2a1c13; color:#ffb36b; border-color:#805330; }
html.ns-active.halloween .reader-settings-hint { background:#382216; border:1px solid #71472b; border-left:3px solid #ff9b43; color:#efcfb3; }
html.ns-active.halloween .reader-settings-hint button { color:#ffc18d; }
html.ns-active.halloween :is(.kadet-mode-toggle,.kadet-mode-badge,.kadet-mode-status,.kadet-mode-switch) { background:#302016; border-color:#75492c; color:#e9cab0; }
html.ns-active.halloween .kadet-mode-toggle.is-on .kadet-mode-switch { background:#9a5628; border-color:#f39b53; }
html.ns-active.halloween .main-wrapper .content-page :is(.reg-intro,.limity-card,.wyp-card,.sl-unit,.km-tile,.unit-card,.reg-item) { border-color:#65472e !important; }
html.ns-active.halloween body .main-wrapper .content-page .km-head { background:transparent !important; }
html.ns-active.halloween body .main-wrapper .content-page .km-head .reg-kicker { color:var(--km-accent,var(--ns-copper)); }
html.ns-active.halloween :is(.reader-settings-dialog,.reader-preview-dialog,.reader-changes-dialog,.season-effects-dialog,.pq-dialog) { background:#1d1612; border-color:#855431; color:var(--ns-copy); }
html.ns-active.halloween :is(.reader-settings-head,.reader-changes-head,.reader-preview-head,.pq-head,.pq-footer) { border-color:#69432b; }
html.ns-active.halloween :is(.reader-change-item,.reader-changes-search,.reader-preview-content,.season-effect-option,.pq-option,.pq-rules > span) { background:#2a1e16; border-color:#67442b; }
html.ns-active.halloween :is(.reader-change-item:hover,.pq-option:hover,.season-effect-option:has(input:checked)) { background:#3c2819; border-color:#e18a43; }
html.ns-active.halloween :is(.pq-rule-note,.pq-answer-review,.season-effects-footer) { background:#332116; border-color:#a46736; }
html.ns-active.halloween :is(.pq-category,.pq-clock,.pq-option > span,.pq-answer-review small) { color:#ffb36b; }
html.ns-active.halloween :is(.reader-settings-head,.reader-settings-footer,.season-effects-head,.season-effects-footer) { background:#211710; border-color:#69432b; }
html.ns-active.halloween :is(.reader-settings-close,.reader-dialog-close,.season-effects-close,.pq-close) { background:#342216; border-color:#805330; color:#f0d5be; }
html.ns-active.halloween .reader-settings-body fieldset { background:#2b1d15; border-color:#67442b; }
html.ns-active.halloween .reader-settings-choices label span { background:#2d2017; border-color:#805330; color:#e9cfb9; }
html.ns-active.halloween .reader-settings-choices input:checked + span { background:#5a331a; border-color:#eea161; color:#fff1e4; }
html.ns-active.halloween :is(.reader-settings-done,.reader-settings-reset,.reader-preview-close) { background:#875027; border-color:#d88c4e; color:#fff1e4; }
html.ns-active.halloween .reader-change-row { background:#2a1e16; border-color:#67442b; }
html.ns-active.halloween :is(.reader-article-tools,.reader-changes-toolbar,.reader-change-footer) { border-color:#69432b; }
html.ns-active.halloween :is(.reader-settings-button,.reader-star) { background:#302116; border-color:#805330; color:#f0d5be; }
html.ns-active.halloween .content-page .page-hero-banner { background:transparent; border-color:var(--ns-line); }
html.ns-active.halloween .ns-footer-controls > button { color:#e6cbb5; }
html.ns-active.halloween .ns-footer-controls > button > svg { color:#d0b49b; }
html.ns-active.halloween .ns-footer-controls > button + button:not(.ns-theme-toggle) { border-color:#69432b; }
html.ns-active.halloween .ns-quiz-card { background:#1e1711; border-color:#65472e; }
html.ns-active.halloween .ns-quiz-copy { background:linear-gradient(90deg,#1e171188,#1e1711f5 26%); }
html.ns-active.halloween .main-wrapper .content-page :is(.tablet-custom-controls,.kr-say,.sl-quote,.limity-row,.page-img-wrap,.kt-hero,.kt-fact,.kt-facts) { background:color-mix(in srgb,var(--ns-panel) 85%,transparent); border-color:var(--ns-line); }
html.ns-active.halloween .main-wrapper .content-page .veh-find-input { background:#251b14; border-color:#805330; color:#f7eee5; }
html.ns-active.halloween .main-wrapper .content-page .reg-line { background:color-mix(in srgb,var(--ns-copper) 25%,transparent); }
html.ns-active.halloween .main-wrapper .home-page > div:not(.page-hero-banner):not(.home-lspd) { background:color-mix(in srgb,var(--ns-panel) 82%,transparent) !important; border-color:var(--ns-line) !important; }
html.ns-active.halloween .ns-brand > img { width:50px; height:50px; border-radius:50%; mix-blend-mode:screen; filter:brightness(1); }
html.ns-active.halloween .content-page .phb-logo { border-radius:50%; mix-blend-mode:screen; filter:brightness(1); }
html.ns-active.halloween .ns-directory-row { transition:background .2s,box-shadow .2s; }
html.ns-active.halloween .ns-directory-row:hover { background:#ff9b430d; box-shadow:inset 3px 0 #ff9b43; }
html.ns-active.halloween .ns-directory-icon { transition:transform .24s,color .24s; }
html.ns-active.halloween .ns-directory-row:hover .ns-directory-icon { transform:translateY(-2px) rotate(-4deg); color:#ffc18d; }
.ns-ambience { display:none; }
html.ns-active.halloween .ns-ambience { display:block; position:absolute; inset:var(--ns-header) 0 var(--ns-footer); z-index:4; overflow:hidden; pointer-events:none; contain:layout paint; }
.ns-web { position:absolute; top:0; width:145px; height:145px; opacity:.16; background:url('../images/halloween-web-depth.svg') top left / contain no-repeat; filter:sepia(1) saturate(2); transform-origin:top left; }
.ns-web-left { left:0; transform:perspective(480px) rotateX(var(--ns-web-y,0deg)) rotateY(var(--ns-web-x,0deg)); }
.ns-web-right { right:0; transform:scaleX(-1) perspective(480px) rotateX(var(--ns-web-y,0deg)); }
.ns-ember { position:absolute; left:var(--ember-x); bottom:-12px; width:3px; height:3px; background:#ff9b43; border-radius:50%; box-shadow:0 0 9px #ff822b; opacity:0; animation:ns-embers var(--ember-time) var(--ember-delay) infinite linear; }
.ns-moon { position:absolute; right:calc(var(--ns-aside) + 30px); top:20px; width:78px; height:78px; opacity:.22; background:url('../images/halloween-moon.svg') center / contain no-repeat; filter:sepia(1) saturate(1.5); animation:ns-moon-drift 22s ease-in-out infinite alternate; }
.ns-cloud { position:absolute; right:calc(var(--ns-aside) - 15px); top:55px; width:190px; height:70px; opacity:.16; background:url('../images/halloween-cloud.svg') center / contain no-repeat; animation:ns-cloud-drift 26s ease-in-out infinite alternate; }
.ns-bats { position:absolute; right:calc(var(--ns-aside) + 35px); top:120px; width:70px;height:35px;opacity:.24;background:url('../images/halloween-bats.svg') center / contain no-repeat;animation:ns-bat-flight 14s ease-in-out infinite alternate; }
.ns-ghost { position:absolute; left:12px; bottom:18%; width:34px;height:46px;opacity:0;background:url('../images/halloween-ghost.svg') center / contain no-repeat;filter:sepia(.8);animation:ns-ghost-visit 48s 5s linear infinite; }
.ns-autumn-leaf { position:absolute; left:15px;top:-35px;width:20px;height:24px;opacity:0;background:url('../images/halloween-leaf.svg') center / contain no-repeat;animation:ns-leaf-fall 23s -9s linear infinite; }
.ns-leaf-second { left:auto;right:12px;animation-duration:31s;animation-delay:-19s; }
html.ns-active.halloween .ns-brand > img { animation:ns-lantern-glow 8s ease-in-out infinite; }
html.ns-active.halloween:not(.ns-editing) .content-page { animation:ns-orange-page-in .3s ease-out both; }
html.ns-active.halloween[data-season-effects="standard"] .ns-ember:nth-of-type(n+8) { display:none; }
html.ns-active.halloween[data-season-effects="standard"] :is(.ns-ghost,.ns-autumn-leaf) { display:none; }
html.ns-active.halloween[data-season-effects="subtle"] :is(.ns-ember,.ns-cloud,.ns-moon,.ns-bats,.ns-ghost,.ns-autumn-leaf) { display:none; }
html.ns-active.halloween[data-season-effects="subtle"] .ns-brand > img { animation:none; }
html.ns-active.halloween.ns-editing .ns-ambience,
html.lspd-maintenance-lock .ns-ambience { display:none; }
html.ns-active.halloween .ns-ambience[data-paused] * { animation-play-state:paused; }
@keyframes ns-embers { 0%{opacity:0;transform:translate3d(0,0,0) scale(.7)} 12%{opacity:.55} 85%{opacity:.3} 100%{opacity:0;transform:translate3d(22px,-75vh,0) scale(.4)} }
@keyframes ns-moon-drift { to{transform:translate3d(-8px,7px,0)} }
@keyframes ns-cloud-drift { from{transform:translateX(12px)} to{transform:translateX(-55px)} }
@keyframes ns-bat-flight { to{transform:translate(-32px,14px) rotate(-7deg)} }
@keyframes ns-ghost-visit { 0%,72%,100%{opacity:0;transform:translateY(35px)} 77%,88%{opacity:.23} 94%{opacity:0;transform:translate(16px,-90px)} }
@keyframes ns-leaf-fall { 0%{opacity:0;transform:translateY(0) rotate(0deg)} 10%,85%{opacity:.28} 100%{opacity:0;transform:translate(26px,85vh) rotate(240deg)} }
@keyframes ns-lantern-glow { 50%{filter:brightness(1.15)} }
@keyframes ns-orange-page-in { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:none} }
@media(max-width:600px) { html.ns-active.halloween .ns-brand > img { width:36px;height:36px; } .ns-web { width:90px;height:90px;opacity:.15; } .ns-moon,.ns-cloud,.ns-bats,.ns-autumn-leaf { display:none; } }
@media(prefers-reduced-motion:reduce) {
 html.ns-active.halloween .ns-brand > img,html.ns-active.halloween .content-page,.ns-ambience * { animation:none !important; transition:none !important; }
 .ns-ember,.ns-ghost,.ns-autumn-leaf { display:none; } .ns-web-left { transform:none; } .ns-web-right { transform:scaleX(-1); }
}
