/* Classic LSPD: dark navy surfaces and muted steel-blue accents. */
html.ns-active:not(.halloween) {
  --ns-ink: #0c1420; --ns-panel: #131f2e; --ns-line: #2a3a4d;
  --ns-copy: #e3e9f1; --ns-muted: #a8b6c7; --ns-copper: #829ab2;
  --bg: #0c1420; --bg-sidebar: #101a28; --bg-card: #152232;
  --bg-hover: #1b2b3e; --bg-active: #22354b; --border: #304359;
  --accent: #829ab2; --accent-glow: rgb(130 154 178 / .08); --text: #e3e9f1; --text-dim: #afbdce; --text-muted: #96a7bc;
}
html.ns-active:not(.halloween) body { background: var(--ns-ink); }
html.ns-active:not(.halloween) .main-wrapper { background: var(--ns-ink); border-color: var(--ns-line); }
html.ns-active:not(.halloween) .main-wrapper::before,
html.ns-active:not(.halloween) .main-wrapper.home-full-bg::before { background-image:linear-gradient(#0c1420e3,#0c1420f2),url('../images/tlo.png'); }
html.ns-active:not(.halloween) :is(.topbar,.ns-hero) { background-color: #111b28; border-color: var(--ns-line); }
html.ns-active:not(.halloween) .main-wrapper > .content { background-color:#111b283b; }
html.ns-active:not(.halloween).ns-home .main-wrapper > .content { background-color:var(--ns-ink); }
html.ns-active:not(.halloween) .ns-sidebar { background-color:#0f1217ec; border-color:#2d333b; }
html.ns-active:not(.halloween) .ns-rail { background: transparent; }
html.ns-active:not(.halloween) .ns-rail-button { color: #acb4be; }
html.ns-active:not(.halloween) .ns-rail-button:is(:hover,.is-active) { color: #e2e7ef; background: #232a32; border-color: #9aaec340; }
html.ns-active:not(.halloween) :is(.ns-brand strong,.ns-rail-button:is(:hover,.is-active) svg,.ns-directory-icon,.ns-module-head h2 svg,.ns-sidebar .reader-favorite-remove,.ns-footer-controls > button:hover) { color: #829ab2; }
html.ns-active:not(.halloween) .ns-hero-rule { background: #9bb0c5; }
html.ns-active:not(.halloween) :is(.ns-lead,.ns-hero-intro,.ns-directory-desc,.ns-change p,.ns-sidebar .ns-empty) { color: #b1b9c2; }
html.ns-active:not(.halloween) :is(.ns-directory h2,.ns-directory-row,.ns-module-head,.ns-sidebar .reader-favorites-heading,.ns-sidebar .reader-recent-heading,.ns-sidebar .reader-favorites-list li,.ns-sidebar .reader-recent-list li) { border-color: #2e343b; }
html.ns-active:not(.halloween) .ns-directory-row:hover { background: #1d232a; }
html.ns-active:not(.halloween) .ns-sidebar :is(.reader-favorites-heading,.reader-recent-heading) > svg { color: #829ab2; }
html.ns-active:not(.halloween) .ns-sidebar :is(.reader-favorites-heading,.reader-recent-heading):hover { background: transparent; }
html.ns-active:not(.halloween) .ns-sidebar :is(.reader-favorite-link,.reader-recent-link) { color: #d5dde8; }
html.ns-active:not(.halloween) .ns-sidebar :is(.reader-recent-link.is-current,.reader-favorite-link.is-current) { background: #222931; }
html.ns-active:not(.halloween) .ns-sidebar :is(.reader-favorite-link,.reader-recent-link)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238eb9e3' stroke-width='1.5'%3E%3Cpath d='M6 2h9l4 4v16H6ZM14 2v5h5M9 11h7M9 15h7M9 18h5'/%3E%3C/svg%3E"); }
html.ns-active:not(.halloween) .ns-module-head > button { color: #a7b9cd; }
html.ns-active:not(.halloween) .ns-change::before { background: #95abc1; }
html.ns-active:not(.halloween) .ns-change time { color: #97a1ac; }
html.ns-active:not(.halloween) .ns-change:hover strong { color: #b0c5da; }
html.ns-active:not(.halloween) .ns-footer { background: #13171ced; border-color: #2d333b; }
html.ns-active:not(.halloween) .ns-footer-copy { color: #bcc5cf; }
html.ns-active:not(.halloween) .ns-footer-copy small { color: #949fac; }
html.ns-active:not(.halloween) .ns-footer-controls > button { color: #c1cad6; }
html.ns-active:not(.halloween) .ns-footer-controls > button + button:not(.ns-theme-toggle) { border-color: #383e47; }
html.ns-active:not(.halloween) .ns-footer [data-season-open],
html.ns-active:not(.halloween) #sidebar .season-effect-sidebar { display: none !important; }
html.ns-active.halloween [data-ns-season-title] { display: none; }
html.ns-active:not(.halloween) .ns-footer .season-switch-track { background: #2c343e; border-color: #728090; }
html.ns-active:not(.halloween) .ns-footer .season-switch-track::after { transform: none; background: #c1cad3; }
html.ns-active:not(.halloween) #searchInput { background: #1a1f26; border-color: #333a43; color: #dae2eb; }
html.ns-active:not(.halloween) #searchInput::placeholder { color: #a2abb7; }
html.ns-active:not(.halloween) #searchInput:focus { background: #20262e; border-color: #8fa3b6; box-shadow: 0 0 0 2px #97aabd18; }
html.ns-active:not(.halloween) .ns-search-key { color: #a5afbb; border-color: #373e47; }
html.ns-active:not(.halloween) #searchDropdown.reader-search-open { background: var(--ns-panel); border-color: var(--border); }
html.ns-active:not(.halloween) .reader-search-heading { background:var(--ns-panel); color: var(--ns-muted); border-color: var(--ns-line); }
html.ns-active:not(.halloween) .reader-search-result { border-color: var(--ns-line); }
html.ns-active:not(.halloween) .reader-search-result > span { color: var(--text-dim); }
html.ns-active:not(.halloween) .reader-search-result:is(:hover,.is-selected) { background: var(--bg-active); }
html.ns-active:not(.halloween) .reader-search-result mark { color: #f0f5fc; background: #354c65; }
html.ns-active:not(.halloween) .ns-profile-avatar { border-color: #4a5460; background: #29313a; color: #c4d1df; }
html.ns-active:not(.halloween) .ns-profile .topbar-user-chip { border-color: #3e464f; }
html.ns-active:not(.halloween) .ns-profile .topbar-logout-btn { color: #afc2d6; }
html.ns-active:not(.halloween) .ns-profile-popover { border-color: #475059; background: #1a1f26; }
html.ns-active:not(.halloween) .ns-profile-popover p { color: #aeb9c4; border-color: #333a42; }
html.ns-active:not(.halloween) .ns-profile-popover button { color: #d2dbe6; }
html.ns-active:not(.halloween) .ns-profile-popover button:hover { background: #2c343e; }
html.ns-active:not(.halloween) #sidebar { border-color: #49525c; background: #161a21; }
html.ns-active:not(.halloween) #sidebar .sidebar-header { background: transparent; border-color: #363e46; }
html.ns-active:not(.halloween) #sidebar .nav-section-label { color: #a3b5c9; border-color: #343b44; }
html.ns-active:not(.halloween) #sidebar :is(.nav-item,.nav-group-header) { color: #bec7d3; border-color: #2e353e; }
html.ns-active:not(.halloween) #sidebar :is(.nav-item,.nav-group-header):is(:hover,.active) { background: #2a333d; border-color: #6c7d8f; color: #dfe7f1; }
html.ns-active:not(.halloween) #sidebar .nav-sublist { background: #101a27; border-color: #323a44; }
html.ns-active:not(.halloween) #sidebar :is(.season-toggle,.pq-menu,.online-block,.sidebar-kadet-bar,.kadet-mode-toggle) { background: #1e242b; border-color: #3a424b; color: #c9d1dc; }
html.ns-active:not(.halloween) .reader-article-tools { border-color: #333a42; }
html.ns-active:not(.halloween) :is(.reader-settings-button,.reader-star) { background: #222932; border-color: #54606c; color: #ccd6e2; }
html.ns-active:not(.halloween) .content-page .page-hero-banner { background: transparent; border-color: #3d454f; }
html.ns-active:not(.halloween) .content-page .phb-logo { background: #14191f; border-color: #748292; }
html.ns-active:not(.halloween) .content-page :is(.page-badge,.reg-kicker) { color: #a6b9cd; }
html.ns-active:not(.halloween) .content-page :is(.reg-intro,.km-head,.limity-card,.wyp-card,.sl-unit,.km-tile),
html.ns-active:not(.halloween).ns-home .content-page .reg-intro { background: #1a1f26; border-color: #343c45; }
html.ns-active:not(.halloween) .content-page .reg-warn { background: #281d2a; border-color: #77505d; }
html.ns-active:not(.halloween) .content-page .reg-kicker--danger { color: #efb7bd; }
html.ns-active:not(.halloween) .content-page .reg-item { background: #1a2027 !important; border-color: #3b444e !important; }
html.ns-active:not(.halloween) .content-page .reg-num { background: #2a323c; border-color: #6d7d8e; color: #c6d6e7; }
html.ns-active:not(.halloween) :is(.reader-settings-dialog,.reader-changes-dialog,.reader-preview-dialog,.pq-dialog) { background: #171c23; border-color: #515a64; color: #d3dce7; }
html.ns-active:not(.halloween) :is(.reader-settings-head,.reader-settings-footer,.pq-head,.pq-footer) { background: #151a20; border-color: #3a424b; }
html.ns-active:not(.halloween) :is(.reader-settings-close,.reader-dialog-close,.pq-close) { background: #272f37; border-color: #565e67; color: #cfdae7; }
html.ns-active:not(.halloween) .reader-settings-body fieldset { background: #1e252d; border-color: #3a424c; }
html.ns-active:not(.halloween) .reader-settings-body fieldset > p { color: #abb6c3; }
html.ns-active:not(.halloween) .reader-settings-choices label span { background: #222a33; border-color: #444e5a; color: #ced9e5; }
html.ns-active:not(.halloween) .reader-settings-choices input:checked + span { background: #3b4754; border-color: #97aabf; color: #e0e8f2; }
html.ns-active:not(.halloween) :is(.reader-settings-done,.reader-settings-reset,.reader-preview-close) { background: #404c59; border-color: #94a4ba; color: #dee6f1; }
html.ns-active:not(.halloween) .reader-change-row { background: #20262e; border-color: #3c444e; }
html.ns-active:not(.halloween) :is(.reader-changes-toolbar,.reader-change-footer) { border-color: #394049; }
html.ns-active:not(.halloween) .reader-changes-search { background: #14181f; border-color: #424b54; color: #cfd9e6; }
html.ns-active:not(.halloween) :is(.reader-change-date,.reader-change-link) { color: #b0c4da; }
html.ns-active:not(.halloween) .reader-update-date time { color: #bdc9d6; }
html.ns-active:not(.halloween) :is(.reader-update-date > span,.reader-update-unknown) { color: #99a4b1; }
html.ns-active:not(.halloween) .ns-footer-controls .reader-focus-button::after { background: #20262e; border-color: #56606b; color: #d6dfed; }
html.ns-active:not(.halloween) :is([data-ns-action],[data-ns-page],.ns-profile button,.ns-footer button):focus-visible { outline-color: #a6bdd5; }
@media (max-width: 768px) {
  html.ns-active:not(.halloween) #searchWrap.mobile-open { background: #171c23; }
}
/* The shared app frame follows the darker article palette as well. */
html.ns-active:not(.halloween) :is(.topbar,.ns-footer) { background:var(--ns-ink); border-color:var(--ns-line); }
html.ns-active:not(.halloween) :is(#sidebar,.ns-sidebar) { background:var(--bg-sidebar); border-color:var(--ns-line); }
html.ns-active:not(.halloween) #searchInput { background:var(--ns-panel); border-color:var(--ns-line); }

/* Legacy article accents follow the same muted palette as the app frame. */
html.ns-active:not(.halloween) .nav-section-line { background:var(--ns-line); }
html.ns-active:not(.halloween) #sidebar :is(.nav-item,.nav-group-header).active::before { background:var(--ns-copper); }
html.ns-active:not(.halloween) .main-wrapper .content-page :is(
  .kp-arrow,.c8-tag,.veh-spawn,.veh-gal-nav,
  .wyp-check,.wyp-unit-arrow,.rank-id,.tablet-kicker,.mdt-intro-kicker,
  .tablet-info-head
) { color:var(--ns-copper); }
html.ns-active:not(.halloween) .main-wrapper .content-page .tablet-info-list li::marker,
html.ns-active:not(.halloween) .main-wrapper .content-page .wyp-unit-arrow::after { color:var(--ns-copper); }
html.ns-active:not(.halloween) .main-wrapper .content-page .veh-rule-n,
html.ns-active:not(.halloween) .main-wrapper .content-page .veh-fact > span,
html.ns-active:not(.halloween) .main-wrapper .content-page .veh-find-field .reg-num { color:var(--ns-copper); }
html.ns-active:not(.halloween) .main-wrapper .content-page .veh-find-rank.is-on {
  color:var(--ns-copy); border-color:var(--ns-copper); background:var(--bg-active);
}
html.ns-active:not(.halloween) .main-wrapper .content-page .veh-find-input:focus {
  border-color:var(--ns-copper); box-shadow:0 0 0 2px var(--accent-glow);
}
html.ns-active:not(.halloween) :is(.logo-icon,.ns-brand img,.content-page .phb-logo img) { filter:none; }
html.ns-active:not(.halloween) :is(.ns-brand,.page-title,.phb-title) { text-shadow:none; }
html.ns-active:not(.halloween) ::-webkit-scrollbar-thumb { background:#334457; }
html.ns-active:not(.halloween) ::-webkit-scrollbar-thumb:hover { background:#50647b; }

/* Semantic accents stay readable against the dark navy surfaces. */
html.ns-active:not(.halloween) body .main-wrapper .content-page :is(.reg-item--ban,.wyp-item--forbidden) :is(.reg-num,.wyp-check),
html.ns-active:not(.halloween) body .main-wrapper .content-page :is(.reg-kicker--danger,.reg-hl-crime,.czg-red,.st-red,.veh-rule-kind--ban) { color:var(--ns-signal-danger) !important; }
html.ns-active:not(.halloween) body .main-wrapper .content-page .reg-item--ban { border-left-color:#b77d87 !important; }
html.ns-active:not(.halloween) body .main-wrapper .content-page .reg-warn {
  background:#241c26 !important; border-color:#533845; border-left-color:#b77d87;
}
html.ns-active:not(.halloween) body .main-wrapper .content-page .reg-item--warn .reg-num { color:var(--ns-signal-warning) !important; }
html.ns-active:not(.halloween) body .main-wrapper .content-page .reg-item--warn { border-left-color:#ac9265 !important; }
html.ns-active:not(.halloween) body .main-wrapper .content-page :is(.reg-item--ok,.reg-item--success) .reg-num,
html.ns-active:not(.halloween) body .main-wrapper .content-page :is(.veh-rule-kind--must,.czg-green,.c8-cmd,.c8-radio-cmd) { color:var(--ns-signal-success) !important; }
@media (max-width: 600px) {
  html.ns-active:not(.halloween) body { background: #0f1217; }
  html.ns-active:not(.halloween) .ns-rail { background: transparent; }
}
