/* Optional palettes: retain the original light nostalgia theme unless selected.
   These tint backgrounds, never the whole page or the original game artwork. */
:root { --sr-ui-focus:#68804b; }
html[data-season='halloween'] {
    --sr-ink:#422b1d; --sr-paper:#dfbb84; --sr-line:#a57649;
    --sr-surface:#e2bd88; --sr-surface-alt:#d5ac73; --sr-surface-raised:#f0cea0;
    --sr-heading:#633816; --sr-muted:#593923; --sr-link:#683717;
    --sr-heading-bg:linear-gradient(#74462b,#41271d); --sr-heading-ink:#ffe1ac;
    --sr-button-bg:linear-gradient(#9b6236,#62381f); --sr-button-ink:#fff1d0;
    --sr-input:#f7dbb3; --sr-rare:#633700; --sr-magic:#1e435b;
    --sr-success:#386333; --sr-danger:#963d30; --sr-ui-focus:#a14b20;
    --sr-stone-wash:#3d1d1766; --sr-frame-wash:#b44d1717;
}
html[data-sr-theme='dark'] {
    color-scheme:dark;
    --sr-ink:#e8d9bf; --sr-paper:#332c22; --sr-line:#7d6947;
    --sr-surface:#302a21; --sr-surface-alt:#3d3326; --sr-surface-raised:#463b2c;
    --sr-heading:#f1d294; --sr-muted:#c4b394; --sr-link:#edc480;
    --sr-heading-bg:linear-gradient(#51432e,#30281e); --sr-heading-ink:#f5deb0;
    --sr-button-bg:linear-gradient(#625035,#413322); --sr-button-ink:#fce9be;
    --sr-input:#221e19; --sr-rare:#ffd16f; --sr-magic:#91c9ef;
    --sr-success:#a8cf8b; --sr-danger:#f2a08d; --sr-ui-focus:#dfb769;
    --sr-stone-wash:#15120fbd; --sr-frame-wash:#18130edc;
}
html[data-sr-theme='dark'][data-season='halloween'] {
    --sr-line:#9c673e; --sr-heading:#ffc283; --sr-heading-ink:#ffdaad;
    --sr-heading-bg:linear-gradient(#603b29,#34221c);
    --sr-button-bg:linear-gradient(#76482c,#492b1e); --sr-ui-focus:#eea45f;
    --sr-link:#ffc58a; --sr-stone-wash:#24110ed4;
}

/* Controls stay available beside the mobile hamburger, not inside its menu. */
.sr-nostalgia .sr-display-controls { display:flex; align-items:center; gap:4px; flex-shrink:0; padding-left:5px; }
.sr-nostalgia .sr-display-controls button {
    display:inline-flex; align-items:center; justify-content:center; width:40px; height:36px;
    padding:4px; margin:0 !important; border:1px solid #a48b54; border-radius:3px;
    background:linear-gradient(#786747,#453a28); color:#ffe2a0; cursor:pointer;
    box-shadow:inset 0 0 2px #b7a16b;
}
.sr-nostalgia .sr-display-controls [hidden] { display:none !important; }
.sr-nostalgia .sr-display-controls button:hover { background:#665333; color:#fff1c6; }
.sr-nostalgia .sr-display-controls button:focus-visible { outline:2px solid var(--sr-ui-focus); outline-offset:3px; }
.sr-nostalgia .sr-theme-toggle .sr-lamp-bulb { fill:#efcc7540; }
html[data-sr-theme='dark'] .sr-nostalgia .sr-theme-toggle { color:#c9b792; background:#28231c; border-color:#89724c; }
html[data-sr-theme='dark'] .sr-theme-toggle .sr-lamp-rays { opacity:.22; }
html[data-sr-theme='dark'] .sr-theme-toggle .sr-lamp-bulb { fill:none; }

/* Halloween decoration is tied to the existing feature flag AND visitor switch.
   Pure SVG/CSS, no added particle loops, scripts, network services or timers. */
.sr-halloween-banner { display:none; }
html[data-season='halloween'] .sr-halloween-banner {
    display:flex; position:relative; align-items:center; gap:16px; min-height:98px;
    padding:13px 25px; overflow:hidden; border:1px solid #a36b38; border-top:0;
    color:#ffe0a9; background:radial-gradient(ellipse at 5% 100%,#a545244d,transparent 55%),linear-gradient(100deg,#281c18,#4b2c20 55%,#29201d);
    box-shadow:inset 0 -1px #e6b25a30; isolation:isolate;
}
.sr-halloween-banner::after {
    content:''; position:absolute; top:0; right:0; width:150px; height:130px;
    background:url('../images/nostalgia/halloween-web.svg') top right / contain no-repeat; pointer-events:none; z-index:-1;
}
.sr-halloween-pumpkin { flex-shrink:0; filter:drop-shadow(0 2px 6px #de782640); }
.sr-halloween-eyebrow { color:#d4ad83; font-size:10px; text-transform:uppercase; letter-spacing:.17em; }
.sr-halloween-banner p { margin:0 0 2px; color:#ffd99c; font:24px/1.2 Georgia,'Times New Roman',serif; }
.sr-halloween-copy { color:#d9bc98; font-size:11px; }
.sr-halloween-moon { margin-left:auto; margin-right:54px; width:32px; height:32px; border-radius:50%; background:#edd3a6; box-shadow:0 0 16px #dba86435; position:relative; flex-shrink:0; }
.sr-halloween-moon::after { content:''; position:absolute; top:-3px; left:10px; width:29px; height:29px; border-radius:50%; background:#33231c; }
html[data-season='halloween'] .sr-site-footer > .container { border-top-color:#a36b38; background:#302019e8; color:#dfbd94; }
html[data-season='halloween'] .sr-site-footer > .container::before { content:'✦'; display:block; color:#db9c59; font-size:16px; line-height:1.4; }

/* High-specificity opt-in rules also cover page-local / legacy inline colors. */
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia {
    --bs-body-color:var(--sr-ink); --bs-body-bg:var(--sr-surface);
    color:var(--sr-ink); background:linear-gradient(var(--sr-stone-wash),var(--sr-stone-wash)),url('../images/nostalgia/original/pt_allpg.jpg') repeat !important;
}
html:is([data-sr-theme='dark'],[data-season='halloween']) .sr-topbar {
    background:linear-gradient(var(--sr-stone-wash),var(--sr-stone-wash)),url('../images/nostalgia/original/top_02.jpg') repeat-x;
}
html[data-sr-theme='dark'] .sr-wordmark img { filter:invert(1) sepia(.65) saturate(.7); }
html:is([data-sr-theme='dark'],[data-season='halloween']) .sr-inner-main,
html:is([data-sr-theme='dark'],[data-season='halloween']) .sr-home-body {
    color:var(--sr-ink);
    background:linear-gradient(var(--sr-frame-wash),var(--sr-frame-wash)),
        url('../images/nostalgia/original/main_01.jpg') top center / 100% 62px no-repeat,
        url('../images/nostalgia/original/main_04.jpg') bottom center / 100% 76px no-repeat,
        url('../images/nostalgia/original/main_02.jpg') left top / 49px 40px repeat-y,
        url('../images/nostalgia/original/main_03.jpg') right top / 34px 40px repeat-y,#eddba9;
}
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :is(
    .card,.card-body,.accordion-item,.accordion-body,.list-group-item,
    #questAccordion .quest-card,#questAccordion .accordion-body,#questAccordion .accordion-item,
    .market-preview-card,.market-item-card,.market-section,.game-chest-section,.web-chest-section,
    .vip-chest-section,.gold-transfer-section,.storage-container,.leaderboard,.leaderboard.vip,
    .modal-content,.toast,.sr-monster-card,.sr-monster-region,.sr-map-panel) {
    color:var(--sr-ink) !important; background:var(--sr-surface) !important; border-color:var(--sr-line) !important;
    box-shadow:0 2px 6px #140e092b !important;
}
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :is(
    .sr-page-main h1,.sr-inner-main > h2,.sr-inner-main > .container > h2,.main-ranking-header,
    .sr-page-main h2.text-primary,.sr-page-main h3.text-primary,.server-info h2,.server-commands h2,
    .market-preview-title,.market-item-title,.item-details-title,.game-chest-section h2,.web-chest-section h2,
    .vip-chest-section h2,.gold-transfer-section h2,.market-section h3,.leaderboard-title,
    .leaderboard.vip .leaderboard-title,.gold-box h4,.sr-monster-description h3,.sr-home-body .section-lead) {
    color:var(--sr-heading) !important; text-shadow:none !important;
}
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :is(
    .card-header,.accordion-header .accordion-button,.accordion-header .accordion-button.collapsed,
    .accordion-header .accordion-button:not(.collapsed),#questAccordion .accordion-button,
    .server-info h2 > span,.server-commands h2 > span,.sr-inner-main > h2 > span,
    .sr-inner-main > .container > h2 > span,.sr-guide-section-heading,.sr-monster-region > summary,
    .sr-map-panel-heading) {
    background:var(--sr-heading-bg) !important; color:var(--sr-heading-ink) !important; border-color:var(--sr-line) !important;
}
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :is(.card-header h3,.card-header h4,.card-header h5,.sr-guide-section-heading h2,.sr-map-panel-heading h2) { color:var(--sr-heading-ink) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia .sr-inner-main a:not(.btn):not(.dropdown-item):not(.nav-link),
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia .sr-home-body .link-primary { color:var(--sr-link); }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :is(.sr-guide-section-heading > a,.sr-worldmap .sr-map-original) { color:var(--sr-heading-ink) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :is(
    .sr-inner-main .text-muted,.sr-home-body .text-muted,.sr-page-main .text-secondary,.market-preview-sub,
    .market-preview-line,.chest-tip,.chest-tip span,.pagination-arrows > span,.last-updated,.last-updated span,
    .empty-state-message p,.web-chest-section > p,.market-section > p,.sr-refresh-note,.sr-guide-eyebrow,
    .sr-map-eyebrow,.sr-monster-results,.sr-region-description,.sr-monster-hp,.sr-monster-detail dt,
    .sr-monster-note,.sr-monster-description small,.sr-monster-code code,.sr-map-toolbar-note,
    .sr-map-caption p + p) { color:var(--sr-muted) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia .sr-refresh-note svg :is(circle,path) { stroke:var(--sr-muted); }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :is(.sr-worldmap,.sr-world-guide,.sr-monster-detail,.sr-monster-name) { color:var(--sr-ink); }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :is(.sr-page-main .text-primary,.sr-page-main .text-info) { color:var(--sr-heading) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :is(
    .form-control,.form-select,.input-group-text,.market-section input,.market-section select,
    .sr-page-main input[type='number'],.sr-monster-filters input,.sr-monster-filters select) {
    color:var(--sr-ink) !important; background-color:var(--sr-input) !important; border-color:var(--sr-line) !important;
}
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia input::placeholder { color:var(--sr-muted); opacity:1; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :is(
    .gold-box,.schedule-info,.schedule-info .list-inline-item,.sr-filter-chip,.sr-monster-filters,
    .sr-guide-source,.sr-map-note,.sr-map-toolbar,.sr-map-caption,.empty-state-message,.vip-cooldown-alert) {
    background:var(--sr-surface-alt) !important; color:var(--sr-ink) !important; border-color:var(--sr-line) !important;
}
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :is(.sr-filter-chip a,.sr-monster-hp,.sr-monster-level,.sr-unique-mark) { color:var(--sr-link) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :is(.sr-monster-level,.sr-unique-mark,.market-item-vip,.sr-monster-unique) { background:var(--sr-surface-raised) !important; border-color:var(--sr-line) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :is(.sr-monster-detail,.sr-monster-description,.sr-region-count,.sr-monster-empty) { border-color:var(--sr-line); }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :is(.sr-monster-card > summary:hover,.sr-guide-navigation a:hover,.sr-map-navigation a:hover,.market-preview-item) { background:var(--sr-surface-raised); }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :is(.sr-guide-navigation a,.sr-worldmap .sr-map-navigation a) { background:var(--sr-button-bg); color:var(--sr-button-ink) !important; border-color:var(--sr-line); }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia .sr-worldmap .sr-map-navigation a[aria-current='page'] { color:var(--sr-heading-ink) !important; background:var(--sr-heading-bg); border-color:var(--sr-ui-focus); box-shadow:inset 0 -2px var(--sr-ui-focus); }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia .sr-worldmap .sr-map-viewport { background:linear-gradient(var(--sr-stone-wash),var(--sr-stone-wash)),url('../images/nostalgia/original/pt_allpg.jpg'); }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia .table {
    --bs-table-color:var(--sr-ink); --bs-table-bg:var(--sr-surface); --bs-table-border-color:var(--sr-line);
    --bs-table-striped-bg:var(--sr-surface-alt); --bs-table-striped-color:var(--sr-ink);
    --bs-table-hover-bg:var(--sr-surface-raised); --bs-table-hover-color:var(--sr-ink);
    color:var(--sr-ink) !important; background:var(--sr-surface) !important;
}
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :is(.card-body .table,.accordion-body .table,.market-section table,.leaderboard-table) :is(th,td),
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia .market-section td { color:var(--sr-ink) !important; border-color:var(--sr-line) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :is(.card-body .table,.accordion-body .table,.market-section table,.leaderboard-table,.leaderboard) thead th { color:var(--sr-heading-ink) !important; background:var(--sr-heading-bg) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia .leaderboard-table { color:var(--sr-ink) !important; background:var(--sr-surface) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia .leaderboard-table tbody tr:nth-child(odd) { background:var(--sr-surface) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia .leaderboard-table tbody tr:nth-child(even) { background:var(--sr-surface-alt) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia .leaderboard-table tbody tr:hover { background:var(--sr-surface-raised) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia .leaderboard-table :is(.name-cell,.stat,.empty-row,.stat-zero,.guild-cell.none) { color:var(--sr-ink) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia .leaderboard-table :is(td.rank-badge,td.rank-badge.top2,td.rank-badge.top3) { color:var(--sr-heading) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia .leaderboard-table span[style*='color:#16e716'] { color:var(--sr-success) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia .leaderboard-table span[style*='color:#e74141'] { color:var(--sr-danger) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia .guild-cell { color:var(--sr-success); }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :is(.item-tooltip,.item-tooltip-static) { background:var(--sr-surface) !important; color:var(--sr-ink) !important; border-color:var(--sr-line) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :is(.item-tooltip,.item-tooltip-static) :is(.tt-section,.tt-row) { border-color:var(--sr-line) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :is(.item-tooltip,.item-tooltip-static) :is(.tt-row,.tt-row > span,.tt-white,.stat-section-title.white) { color:var(--sr-ink) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :is(.item-tooltip,.item-tooltip-static) :is(.tt-blue,.tt-blue > span,.stat-section-title.blue) { color:var(--sr-magic) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :is(.market-item-card,.market-section) :is(.item-name,.market-item-opt) { color:var(--sr-ink) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :is(.item-tooltip,.item-tooltip-static) :is(b,.tt-gold),
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :is(.market-preview-gold,.gold-box p,.gold-arrow,.gold-text,#feeResult,#sellForm > p,#sellForm .tt-gold,.market-section .gold-text),
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :is(.market-item-card,.market-section) .item-name-rare { color:var(--sr-rare) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :is(.item-tooltip,.item-tooltip-static) .tt-row > .tt-gold { color:var(--sr-rare) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia .item-tooltip .sr-shop-id { color:var(--sr-muted); }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia .item-tooltip .sr-shop-id > span { color:var(--sr-ink) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia .market-preview-item { color:var(--sr-ink) !important; border-color:var(--sr-line); }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :is(.grid-container,.chest-style-vip,.market-item-iconbox) { background:var(--sr-surface-alt) !important; border-color:var(--sr-line) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia .grid-item { background:#493b28 !important; border-color:var(--sr-line) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia .empty-slot { background:var(--sr-surface) !important; border-color:var(--sr-line) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :is(.modal-header,.modal-body,.modal-footer,.toast-body,#liveToast .toast-body,#vipModalMessage b,.modal-content .close) { color:var(--sr-ink) !important; border-color:var(--sr-line) !important; }
html[data-sr-theme='dark'] body.sr-nostalgia :is(#liveToast,.modal-content) .btn-close { filter:invert(1) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia .sr-page-main .text-success:not(.badge) { color:var(--sr-success) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia .sr-page-main .text-danger:not(.badge) { color:var(--sr-danger) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :is(.sr-page-main .btn-primary,.btn-secondary,.btn-outline-dark,.arrow-btn,#CalcFeeBtn,#vipModalCancel,.market-section form > button,.sr-worldmap button,.sr-guide-reset) { color:var(--sr-button-ink) !important; background:var(--sr-button-bg) !important; border-color:var(--sr-line) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :is(.sr-page-main .btn-warning,.sr-page-main .btn-info,.sr-page-main .btn-outline-info) { color:var(--sr-button-ink) !important; background:var(--sr-button-bg) !important; border-color:var(--sr-line) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia .alert-info { background:var(--sr-surface-alt) !important; color:var(--sr-ink) !important; border-color:var(--sr-line) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia .alert-info a { color:var(--sr-link) !important; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia .sr-page-main .text-dark:not(.badge):not(.card-header) { color:var(--sr-ink) !important; }
/* Bootstrap's .text-body keeps its light-theme RGB color. Quest NPCs, locations
   and objectives must use the dark palette without changing light-mode badges. */
html[data-sr-theme='dark'] body.sr-nostalgia #questAccordion .text-body { color:var(--sr-ink) !important; }
html[data-sr-theme='dark'] body.sr-nostalgia .alert-danger { background:#472c27; border-color:#a76755; color:#ffcab9; }
html[data-sr-theme='dark'] body.sr-nostalgia .alert-warning { background:#463722; border-color:#947745; color:#f9dda2; }
html[data-sr-theme='dark'] body.sr-nostalgia .alert-success { background:#2b3826; border-color:#697c4f; color:#cce0b2; }
html:is([data-sr-theme='dark'],[data-season='halloween']) body.sr-nostalgia :focus-visible { outline-color:var(--sr-ui-focus) !important; }
html[data-sr-theme='dark'] body.sr-nostalgia .sr-site-footer > .container { background:#211c17; border-color:var(--sr-line); }
html[data-season='halloween'] body.sr-nostalgia .custom-navbar .nav-link { background:linear-gradient(#773d2526,#2b1a164d),url('../images/nostalgia/original/navigation-stone-button.png') center / 100% 100%; border-color:#8b5d36; }
html[data-season='halloween'] body.sr-nostalgia .custom-navbar .dropdown-menu { background:#402c20 !important; border-color:#b67d45 !important; }

@media (max-width:991.98px) {
    .sr-nostalgia .custom-navbar > .container { justify-content:space-between; }
    .sr-nostalgia .custom-navbar .navbar-toggler { order:1; }
    .sr-nostalgia .sr-display-controls { order:2; padding:3px 10px 3px 0; }
    .sr-nostalgia .custom-navbar .navbar-collapse { order:3; }
}
@media (max-width:600px) {
    html[data-season='halloween'] .sr-halloween-banner { min-height:88px; padding:12px 14px; gap:10px; }
    .sr-halloween-pumpkin { width:48px; height:50px; }
    .sr-halloween-banner p { font-size:22px; }
    .sr-halloween-eyebrow { font-size:9px; letter-spacing:.1em; }
    .sr-halloween-moon { display:none; }
}
