/* Seasonal layer. Classic rules and artwork remain in their original files. */
.halloween-only { display: none; }
html[data-site-theme="halloween"] .classic-only { display: none; }
html[data-site-theme="halloween"] .halloween-only { display: inline; }
.home-hero h1 > :is(.classic-only, .halloween-only) { color: inherit; }

html[data-halloween-available="true"] { --event-bar-height: 68px; }
html[data-halloween-available="true"] .error-scene { min-height: calc(100svh - var(--event-bar-height)); }
.event-bar {
    position: relative;
    z-index: 51;
    min-height: 68px;
    border-bottom: 1px solid #674334;
    background: #171019;
    color: #f7e8d8;
}
.event-bar__inner {
    width: min(1240px, calc(100% - 48px));
    min-height: inherit;
    margin: 0 auto;
    padding-block: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    font-family: "Manrope", system-ui, sans-serif;
}
.event-bar__identity { display: flex; align-items: center; gap: 12px; }
.event-bar__identity img { flex: 0 0 auto; filter: sepia(1) saturate(2); }
.event-bar__identity strong { display: block; font-size: 14px; line-height: 1.5; }
.event-bar__identity strong span { margin-inline: 4px; color: #f3a66e; }
.event-bar__message { display: block; color: #c9b8c2; font-size: 12px; line-height: 1.5; }
.event-bar__choices {
    display: flex;
    flex: 0 0 auto;
    gap: 4px;
    padding: 3px;
    border: 1px solid #694632;
    border-radius: 4px;
    background: #0f0c12;
}
.event-bar__choices button {
    min-height: 44px;
    min-width: 92px;
    padding: 8px 16px;
    border: 1px solid transparent;
    border-radius: 2px;
    background: transparent;
    color: #dcc8d0;
    font: 700 12px/1.3 "Manrope", system-ui, sans-serif;
    cursor: pointer;
    transition: background-color 160ms ease, color 160ms ease;
}
.event-bar__choices button[aria-pressed="true"] {
    border-color: #e9a26c;
    background: #f3a66e;
    color: #1a1014;
}
.event-bar__choices button:hover { color: #fff2e5; background: #3a2830; }
.event-bar__choices button[aria-pressed="true"]:hover { background: #ffc18c; color: #1a1014; }
.event-bar [hidden] { display: none !important; }
.event-bar button:focus-visible { outline: 2px solid #ffe5bf; outline-offset: 3px; }

html[data-site-theme="halloween"] {
    --vn-bg: #100c13;
    --vn-bg-deep: #0b080f;
    --vn-surface: #211720;
    --vn-surface-raised: #30212b;
    --vn-surface-soft: #382630;
    --vn-text: #fff2e5;
    --vn-text-soft: #e5d0d5;
    --vn-muted: #c3acbc;
    --vn-border: rgba(230, 159, 108, 0.28);
    --vn-border-strong: rgba(244, 169, 112, 0.64);
    --vn-metal: #c28b69;
    --vn-gold: #f3a66e;
    --vn-gold-bright: #ffc18c;
    --vn-cyan: #ffdab2;
    --vn-cyan-strong: #ffd1a0;
    --vn-teal: #a77673;
    --vn-panel: linear-gradient(140deg, rgba(126, 65, 39, 0.16), transparent 55%), linear-gradient(180deg, rgba(39, 25, 34, 0.96), rgba(17, 12, 21, 0.97));
    --vn-panel-highlight: inset 0 1px 0 rgba(255, 219, 179, 0.08);
    scrollbar-color: #a77673 #0b080f;
}
html[data-site-theme="halloween"] body {
    background: var(--vn-bg);
    caret-color: var(--vn-gold-bright);
}
html[data-site-theme="halloween"] ::selection { background: #6d382d; color: #fff2e5; }
html[data-site-theme="halloween"] :focus-visible { outline-color: #ffdab2; }
html[data-site-theme="halloween"] input { accent-color: var(--vn-gold); }
html[data-site-theme="halloween"] body:is(.faq-page, .rules-page, .contacts-page, .legal-page, .profile-page, .auth-page)::before {
    content: "";
    background: linear-gradient(180deg, rgba(16, 12, 19, 0.48), rgba(16, 12, 19, 0.86) 65%, #100c13), url("../img/halloween/village.webp") center top / cover no-repeat;
}

/* The same autumn world surrounds browsing, accounts, and checkout. */
html[data-site-theme="halloween"] .home-scene { background: var(--vn-bg); }
html[data-site-theme="halloween"] .home-main::before {
    background: radial-gradient(ellipse at 10% 16%, rgba(188, 83, 34, 0.1), transparent 48%);
}
html[data-site-theme="halloween"] .home-main::after {
    background-image: linear-gradient(180deg, rgba(4, 10, 16, 0.4), rgba(4, 10, 16, 0.06) 44%, transparent 75%), url("../img/halloween/aurora-ember.webp");
}
html[data-site-theme="halloween"] .home-hero { background: transparent; }
html[data-site-theme="halloween"] .home-hero h1 { font-size: clamp(52px, 5.4vw, 78px); }
html[data-site-theme="halloween"] .home-hero__rule { color: var(--vn-muted); }
html[data-site-theme="halloween"] .home-hero__rule i { background: linear-gradient(90deg, #b47452, #b4745220); }
html[data-site-theme="halloween"] .home-hero__media { border-color: #b37b55; background: #100c13; }
html[data-site-theme="halloween"] .home-hero__mode { color: var(--vn-text-soft); background: #1b1019e8; }
html[data-site-theme="halloween"] .home-hero__mode i { background: var(--vn-gold); box-shadow: none; }
html[data-site-theme="halloween"] .home-hero__glass :is(.home-glass-pane, .home-glass-shard) { fill: #e9ad6f18; stroke: #ffd4a2; }
html[data-site-theme="halloween"] .home-glass-cracks polyline { stroke: #ffd4a2; }
html[data-site-theme="halloween"] .home-sky-runes svg { stroke: #f3a66e; filter: none; }
html[data-site-theme="halloween"] :is(.home-server-card, .home-status-card) { background: var(--vn-panel); }
html[data-site-theme="halloween"] .home-saga-section::after {
    top: -200px;
    background-image: url("../img/halloween/draugr-accent.webp");
    background-position: center top;
}
html[data-site-theme="halloween"] .home-feature-main::before { background: linear-gradient(115deg, transparent 60%, #df8b450a); }
html[data-site-theme="halloween"] .home-status-card__meter span { background: var(--vn-gold); box-shadow: none; }
html[data-site-theme="halloween"] .online-panel__dot:not(.is-pending):not(.is-offline) { background: var(--vn-success); box-shadow: none; }
html[data-site-theme="halloween"] .home-product-card__visual { border-color: var(--vn-border); }

/* Ember enamel and folded corners are the event's control language. */
html[data-site-theme="halloween"] :is(.vn-button, .site-copy, .site-header__auth-link, .cart-pay, .cart-login, .cart-clear, .cart-empty a, .auth-form button, .settings-form button, .profile-copy, .product-card__actions button, .store-details-modal__copy > button) {
    border-color: #966449;
    border-radius: 2px 10px 2px 10px;
    background: #281c26;
    color: var(--vn-text);
    box-shadow: inset 0 1px 0 #ffd7a514;
}
html[data-site-theme="halloween"] :is(.vn-button--gold, .site-header__auth-link:not(.site-header__auth-link--ghost), .cart-pay, .cart-login--primary, .cart-empty a, .auth-form button, .settings-form button, .product-card__actions button:first-child, .store-details-modal__copy > button) {
    border-color: #ffc18c #ce7946 #aa502c;
    background: linear-gradient(180deg, #f6b27a, #dc8c50);
    color: #211019;
}
html[data-site-theme="halloween"] :is(.vn-button, .site-copy, .site-header__auth-link, .cart-pay, .cart-login, .cart-clear, .cart-empty a, .auth-form button, .settings-form button, .profile-copy, .product-card__actions button, .store-details-modal__copy > button):hover {
    border-color: var(--vn-gold-bright);
    background: #49302f;
    color: #fff2e5;
    transform: none;
}
html[data-site-theme="halloween"] :is(.vn-button--gold, .site-header__auth-link:not(.site-header__auth-link--ghost), .cart-pay, .cart-login--primary, .cart-empty a, .auth-form button, .settings-form button, .product-card__actions button:first-child, .store-details-modal__copy > button):hover {
    background: #ffc18c;
    color: #211019;
}
html[data-site-theme="halloween"] .site-header { background: linear-gradient(180deg, #241822, #100c13); }
html[data-site-theme="halloween"] .site-header__nav-link { color: var(--vn-text-soft); }
html[data-site-theme="halloween"] .site-header__nav-link:is(:hover, .is-active) { color: var(--vn-gold); }
html[data-site-theme="halloween"] :is(.site-header__icon-link, .site-header__language, .site-header__avatar) { background: #22151f; }
html[data-site-theme="halloween"] .site-footer { background: linear-gradient(180deg, transparent, #100c13 28%, #0b080f); }
html[data-site-theme="halloween"] .site-footer__social a { background: #30202a; }

html[data-site-theme="halloween"] .store-page { background-image: none; }
html[data-site-theme="halloween"] .store-page::before {
    top: 0;
    height: auto;
    background: linear-gradient(180deg, #100c135c, #100c13 80%), url("../img/halloween/village.webp") center top / cover no-repeat;
}
html[data-site-theme="halloween"] .store-hero__story {
    background: linear-gradient(90deg, #100c13f0, #100c1390), url("../img/halloween/village.webp") center 70% / cover no-repeat;
}
html[data-site-theme="halloween"] :is(.store-join, .product-card, .store-panel, .store-toolbar, .store-details-modal__window, .cart-item) { background: var(--vn-panel); }
html[data-site-theme="halloween"] :is(.product-card__media, .product-card__badge, .store-details-modal__media) { background-color: #17101b; border-color: var(--vn-border-strong); }
html[data-site-theme="halloween"] :is(.store-tab, .store-filter, .store-amount-picker) { background-color: #241823; }
html[data-site-theme="halloween"] .store-tab.is-active { background: #593328; color: var(--vn-gold-bright); }
html[data-site-theme="halloween"] .store-featured { background: transparent; }
html[data-site-theme="halloween"] :is(.store-search input, .store-select select) { background: #120d17; }
html[data-site-theme="halloween"] .auth-card__aside { background: var(--vn-panel); }
html[data-site-theme="halloween"] :is(.legal-tabs a, .rules-nav > div, .faq-index > div, .legal-index nav, .store-details-modal__close) { background-color: #211720; }
html[data-site-theme="halloween"] .legal-tabs a[aria-current="page"] { background: #4a2b27; }
html[data-site-theme="halloween"] .auth-card__aside::after { background: radial-gradient(ellipse at top left, #b25d2b20, transparent 70%); }
html[data-site-theme="halloween"] :is(.auth-form input, .settings-form input, .cart-field input, .cart-field select) { background-color: #120d17; border-color: var(--vn-border-strong); }
html[data-site-theme="halloween"] .error-scene__art img { filter: sepia(0.5) hue-rotate(330deg) saturate(0.9); }
html[data-site-theme="halloween"] .error-scene::after { background: linear-gradient(90deg, #1d0c1950, transparent), linear-gradient(180deg, transparent 48%, #100c13b0); }

@media (max-width: 900px) {
    html[data-halloween-available="true"] .site-header__menu { top: calc(var(--vn-header-height) + var(--event-bar-height)); }
    html[data-site-theme="halloween"] .site-header__menu { background: #140e18f8; }
}
@media (max-width: 620px) {
    html[data-halloween-available="true"] { --event-bar-height: 96px; }
    .event-bar { min-height: 96px; }
    .event-bar__inner { width: calc(100% - 32px); padding-block: 10px; flex-direction: column; align-items: stretch; gap: 8px; }
    .event-bar__identity { justify-content: center; gap: 8px; }
    .event-bar__identity img { width: 24px; height: 24px; }
    .event-bar__message { display: none; }
    .event-bar__choices { align-self: center; padding: 0; }
    .event-bar__choices button { min-height: 44px; min-width: 112px; }
    html[data-site-theme="halloween"] .home-hero h1 { font-size: clamp(35px, 8.8vw, 52px); white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
    .event-bar__choices button { transition: none; }
}
