/* One seasonal palette for every UCP page and Owner/Admin surface. */
body.abyss-ucp[data-theme="winter"],
body.fi-panel-admin:has(> .abyss-filament-theme[data-theme="winter"]) {
    --ucp-text: #f8efff;
    --ucp-muted: #c9b3d5;
    --ucp-subtle: #ad93bc;
    --ucp-line: rgba(187, 114, 227, .29);
    --ucp-accent: #d39cff;
    --ucp-action: #b46bff;
    --ucp-accent-secondary: #ff637f;
    --ucp-accent-rgb: 193, 132, 255;
    --ucp-page-background: transparent;
    --ucp-panel: linear-gradient(145deg, rgba(29, 17, 39, .89), rgba(17, 12, 29, .89));
    --ucp-panel-soft: rgba(45, 22, 52, .47);
    --ucp-panel-raised: #1a1024;
    --ucp-field-background: rgba(17, 8, 25, .65);
    --ucp-hero-shade: linear-gradient(90deg, rgba(23, 6, 34, .78), rgba(26, 6, 38, .35) 55%, rgba(38, 6, 25, .65));
    --ucp-news-feature-image: url('/assets/branding/abyss-news-feature.jpg');
}
body.abyss-ucp[data-theme="winter"] > .abyss-winter-snow,
body.fi-panel-admin > .abyss-winter-snow { z-index: 0; }

/* Abyss winter: shared website and UCP art, with surface-specific treatments. */
body.public-site[data-theme="winter"] {
    background-color: #07121e;
}
body.public-updates[data-theme="winter"] {
    background: linear-gradient(180deg, rgba(5, 13, 24, .7), rgba(5, 13, 24, .88)), url('/assets/branding/abyss-winter-scene.png?v=20261023') center top / cover fixed !important;
}
body.public-site[data-theme="winter"] .hero-background {
    background-image: url('/assets/branding/abyss-winter-scene.png?v=20261023');
    background-position: center 36%;
}
body[data-theme="winter"] .abyss-auth-bg {
    background-image: url('/assets/branding/abyss-winter-scene.png?v=20261023') !important;
    opacity: .44;
}
/* Theme-specific layers live behind the existing full-width dashboard grid. */
body[data-theme="winter"] .abyss_app_background {
    background-position: center top;
    background-size: cover;
    background-attachment: fixed;
}
body[data-theme="winter"] .ucp-dashboard {
    position: relative;
    isolation: isolate;
    background: transparent;
}
body[data-theme="winter"] .ucp-dashboard .ucp-dashboard-shell { position: relative; z-index: 1; }
body[data-theme="winter"] .ucp-dashboard .ucp-dashboard-eyebrow { display: none; }
.abyss-winter-snow {
    position: fixed;
    inset: 0;
    z-index: 230;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

@media (max-width: 740px) {
    body[data-theme="winter"] .abyss_app_background {
        background-attachment: scroll;
        background-position: center top;
        background-size: 100% 100%, auto 100vh;
        background-repeat: no-repeat;
    }
}


/* Every UCP route shares the dashboard's winter backdrop and translucent panels. */
body.abyss-ucp[data-theme="winter"] {
    background: linear-gradient(180deg, rgba(5, 13, 24, .24), rgba(6, 14, 25, .53)),
        url('/assets/branding/abyss-winter-scene.png?v=20261023') center top / cover fixed #07121e;
}

body.abyss-ucp[data-theme="winter"] .abyss-auth-shade,
body.abyss-ucp[data-theme="winter"] .abyss-maintenance-shade {
    background: linear-gradient(110deg, rgba(5, 13, 24, .62), rgba(8, 19, 34, .78) 50%, rgba(5, 13, 24, .82));
}
body.abyss-ucp[data-theme="winter"] .abyss-maintenance-main {
    background: #07121e;
}
body.abyss-ucp[data-theme="winter"] .abyss-maintenance-bg {
    background-image: url('/assets/branding/abyss-winter-scene.png?v=20261023') !important;
    opacity: .54;
}
body.abyss-ucp[data-theme="winter"] .abyss-auth-bg {
    opacity: .54;
}

/* Apply the same scene to all public website sections without changing their layout. */
body.public-site[data-theme="winter"] :is(.inside-build, .development-section, .updates-section, .access-section) {
    background: linear-gradient(180deg, rgba(5, 13, 24, .87), rgba(5, 13, 24, .93)),
        url('/assets/branding/abyss-winter-scene.png?v=20261023') center top / cover fixed #07121e;
}
body.public-site[data-theme="winter"] .access-scene {
    background: linear-gradient(90deg, rgba(5, 13, 24, .84), rgba(5, 13, 24, .52), rgba(5, 13, 24, .78)),
        url('/assets/branding/abyss-winter-scene.png?v=20261023') center 44% / cover;
}
body.public-site[data-theme="winter"] .site-footer {
    background: #07121e;
}

/* Filament Admin is also part of the UCP theme surface. */
body.fi-panel-admin:has(> .abyss-filament-theme[data-theme="winter"]) {
    background: linear-gradient(180deg, rgba(5, 13, 24, .27), rgba(5, 13, 24, .69)),
        url('/assets/branding/abyss-winter-scene.png?v=20261023') center top / cover fixed #07121e !important;
}
body.fi-panel-admin:has(> .abyss-filament-theme[data-theme="winter"]) :is(.fi-layout, .fi-main-ctn, .fi-simple-layout) {
    background: transparent !important;
}
body.fi-panel-admin:has(> .abyss-filament-theme[data-theme="winter"]) :is(.fi-sidebar, .fi-topbar, .fi-simple-main, .fi-section) {
    background: var(--ucp-panel) !important;
}
body.fi-panel-admin:has(> .abyss-filament-theme[data-theme="winter"]) .fi-btn.fi-color-primary {
    background: linear-gradient(115deg, var(--ucp-action), var(--ucp-accent-secondary));
}

@media (max-width: 740px) {
    body.abyss-ucp[data-theme="winter"],
    body.public-site[data-theme="winter"] :is(.inside-build, .development-section, .updates-section, .access-section) {
        background-attachment: scroll;
    }
}

/* Christmas details belong to winter alone; the button remains functional on every theme. */
body.abyss-ucp[data-theme="winter"] .ucp-site-play {
    position: relative;
    isolation: isolate;
    gap: 7px;
    overflow: hidden;
    padding-right: 22px;
    border: 1px solid rgba(249, 156, 209, .88);
    border-radius: 9px;
    color: #fff;
    background: linear-gradient(110deg, #56217d, #8e307d 55%, #bc304e);
    box-shadow: inset 0 1px rgba(255, 255, 255, .24), 0 0 17px rgba(190, 69, 164, .3);
    font-family: "Abyss Oswald", Geist, sans-serif;
    font-size: 15px;
    font-weight: 650;
    letter-spacing: .045em;
    text-transform: uppercase;
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
body.abyss-ucp[data-theme="winter"] .ucp-site-play::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: repeating-linear-gradient(115deg, #f8e8f3 0 10px, #e04868 10px 17px, #9035af 17px 25px);
    pointer-events: none;
}
body.abyss-ucp[data-theme="winter"] .ucp-site-play::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: -120% auto -120% -65%;
    width: 34%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .28), transparent);
    transform: rotate(23deg);
    animation: abyss-winter-play-glint 5s ease-in-out infinite;
    pointer-events: none;
}
body.abyss-ucp[data-theme="winter"] .ucp-site-play:is(:hover, :focus-visible) {
    transform: translateY(-2px);
    border-color: #fff;
    box-shadow: inset 0 1px rgba(255, 255, 255, .34), 0 0 26px rgba(222, 79, 160, .47);
}
body.abyss-ucp[data-theme="winter"] .ucp-site-play:focus-visible { outline: 2px solid #ffe5f2; outline-offset: 3px; }
body.abyss-ucp[data-theme="winter"] .ucp-site-play-winter-snowflake {
    display: grid;
    place-items: center;
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    color: #f4ecff;
    filter: drop-shadow(0 0 5px rgba(233, 196, 255, .8));
    animation: abyss-winter-snowflake-turn 14s linear infinite;
}
body.abyss-ucp[data-theme="winter"] .ucp-site-play-winter-snowflake svg { width: 17px; height: 17px; }
body.abyss-ucp[data-theme="winter"] .ucp-site-play-winter-gift {
    position: absolute;
    top: 5px;
    right: 5px;
    display: block;
    width: 13px;
    height: 13px;
    color: #ffe0ad;
    filter: drop-shadow(0 0 4px rgba(255, 204, 133, .55));
    pointer-events: none;
}
body.abyss-ucp[data-theme="winter"] .ucp-site-play-winter-gift svg { width: 13px; height: 13px; }
@keyframes abyss-winter-play-glint {
    0%, 38%, 100% { left: -65%; }
    58% { left: 145%; }
}
@keyframes abyss-winter-snowflake-turn { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    body.abyss-ucp[data-theme="winter"] .ucp-site-play { transition: none; }
    body.abyss-ucp[data-theme="winter"] .ucp-site-play::after { display: none; animation: none; }
    body.abyss-ucp[data-theme="winter"] .ucp-site-play-winter-snowflake { animation: none; }
}

/* Abyss violet and crimson lighting over the natural winter scene. */
body.public-site[data-theme="winter"] { --blue: #d491ff; --violet: #bd67ff; --red: #f94d72; }
body.public-site[data-theme="winter"] .hero-shade {
    background: linear-gradient(90deg, rgba(23, 6, 34, .84), rgba(26, 6, 38, .52) 38%, rgba(23, 7, 31, .18) 69%, rgba(38, 6, 25, .5)),
        linear-gradient(0deg, #100919, rgba(35, 8, 38, .24) 45%, transparent 72%);
}
body.public-updates[data-theme="winter"] {
    background-image: linear-gradient(180deg, rgba(18, 7, 29, .73), rgba(17, 6, 25, .87)),
        url('/assets/branding/abyss-winter-scene.png?v=20261023') !important;
}
body.public-site[data-theme="winter"] :is(.inside-build, .development-section, .updates-section, .access-section) {
    background-image: linear-gradient(180deg, rgba(19, 7, 28, .82), rgba(31, 7, 27, .86)),
        url('/assets/branding/abyss-winter-scene.png?v=20261023');
}

body.abyss-ucp[data-theme="winter"] .abyss_app_background {
    background: linear-gradient(100deg, rgba(23, 6, 33, .31), rgba(44, 7, 32, .22) 72%);
}
body.abyss-ucp[data-theme="winter"] .ucp-site-nav {
    border-bottom-color: rgba(189, 94, 255, .35);
    background: linear-gradient(90deg, rgba(17, 9, 25, .98), rgba(28, 10, 33, .97) 55%, rgba(32, 9, 24, .98));
    box-shadow: 0 1px 20px rgba(98, 17, 99, .19);
}
body.abyss-ucp[data-theme="winter"] .ucp-nav-link:is(:hover, .is-active),
body.abyss-ucp[data-theme="winter"] .ucp-mobile-link:is(:hover, .is-active) { color: #e2b9ff; }
body.abyss-ucp[data-theme="winter"] .ucp-nav-link.is-active { border-bottom-color: #ef4f75; }
body.abyss-ucp[data-theme="winter"] .ucp-nav-link.is-active svg { color: #ef648d; }
body.abyss-ucp[data-theme="winter"] .ucp-site-account-avatar,
body.abyss-ucp[data-theme="winter"] .ucp-dashboard-hero-avatar,
body.abyss-ucp[data-theme="winter"] .ucp-dashboard-avatar { border-color: rgba(208, 128, 255, .72); }

body.abyss-ucp[data-theme="winter"] .ucp-page-ambient { background: linear-gradient(145deg, rgba(30, 10, 43, .63), rgba(31, 8, 25, .67)); }
body.abyss-ucp[data-theme="winter"] .ucp-dashboard-heading h1 small { color: #dcb5ff; }
body.abyss-ucp[data-theme="winter"] .ucp-dashboard-heading h1 > span {
    color: #f8efff;
    text-shadow: 0 0 24px rgba(189, 89, 255, .62), 0 2px 14px rgba(11, 4, 16, .75);
    overflow-wrap: anywhere;
}
body.abyss-ucp[data-theme="winter"] .ucp-dashboard-beta-separator,
body.abyss-ucp[data-theme="winter"] .ucp-dashboard-beta strong,
body.abyss-ucp[data-theme="winter"] .ucp-dashboard-news-meta span { color: #ff7c98; }
body.abyss-ucp[data-theme="winter"] .ucp-dashboard-member-since time,
body.abyss-ucp[data-theme="winter"] .ucp-dashboard-rank,
body.abyss-ucp[data-theme="winter"] .ucp-dashboard-news-read,
body.abyss-ucp[data-theme="winter"] .ucp-dashboard-news-all { color: #d7a6ff; }
body.abyss-ucp[data-theme="winter"] .ucp-dashboard .ucp-dashboard-icon { color: #d39cff; filter: drop-shadow(0 2px 8px rgba(178, 85, 222, .26)); }
body.abyss-ucp[data-theme="winter"] .ucp-dashboard .ucp-dashboard-stat:first-child .ucp-dashboard-icon { color: #8ce0cb; }
body.abyss-ucp[data-theme="winter"] .ucp-dashboard .ucp-dashboard-stat:hover,
body.abyss-ucp[data-theme="winter"] .ucp-dashboard .ucp-dashboard-panel:hover { border-color: rgba(204, 113, 234, .52); }
body.abyss-ucp[data-theme="winter"] .ucp-dashboard-round-link:hover,
body.abyss-ucp[data-theme="winter"] .ucp-dashboard-period-chevron { color: #e0adff; }
body.abyss-ucp[data-theme="winter"] .ucp-dashboard-identity:hover .ucp-dashboard-avatar { border-color: #f877ab; }
body.abyss-ucp[data-theme="winter"] .ucp-dashboard-member-since { color: #c9b3d5; }
body.abyss-ucp[data-theme="winter"] .ucp-dashboard-period { border-color: rgba(195, 120, 226, .39); }
body.abyss-ucp[data-theme="winter"] .ucp-dashboard-news-item { background: rgba(45, 22, 52, .47); border-color: rgba(182, 104, 205, .24); }
body.abyss-ucp[data-theme="winter"] .ucp-dashboard-news-item h3 a:hover { color: #ffc3d0; }
body.abyss-ucp[data-theme="winter"] .ucp-dashboard-period:is(:hover, :focus-visible) { border-color: #c184ff; }
body.abyss-ucp[data-theme="winter"] .ucp-site-notifications-trigger {
    color: #efd5ff; background: rgba(42, 19, 51, .89); border-color: rgba(190, 104, 235, .46);
}
body.abyss-ucp[data-theme="winter"] .ucp-site-notifications-trigger:is(:hover, :focus-visible) { background: #43204f; border-color: #ff6b94; }
body.abyss-ucp[data-theme="winter"] .ucp-site-notification-count { background: #f84c79; color: #fff; }
body.abyss-ucp[data-theme="winter"] .ucp-site-notification-popover { background: #1a1024; border-color: rgba(189, 104, 235, .42); }
body.abyss-ucp[data-theme="winter"] .ucp-site-notification-item.is-unread { background: rgba(145, 56, 141, .16); }
body.abyss-ucp[data-theme="winter"] .ucp-site-notification-item.is-unread.is-static:hover { background: rgba(145, 56, 141, .16); }
body.abyss-ucp[data-theme="winter"] .ucp-site-notification-item:is(:hover, :focus-visible) { background: rgba(124, 48, 134, .26); }
body.abyss-ucp[data-theme="winter"] .ucp-site-notification-item > svg,
body.abyss-ucp[data-theme="winter"] .ucp-site-notification-head button { color: #d49cff; }
