/* ============================================================
   LTD LITTLE SEOUL : ltd-themes.css (x244, 11/11/2026)
   Thèmes « à scène » de Personnalisation → Thèmes. Chargé juste après ltd-da.css : chaque thème redéfinit l'accent,
   les fonds et les teintes (sélecteur plus fort que la saison). La scène animée (#ltdAmb, derrière la page publique) et les
   particules (.ltdx, dans #ltdThemeFx) sont posées par layout.js, seulement si « Effets d'ambiance » est coché.
   Navigateur du jeu (Chrome 103) : pas de :has(), pas de color-mix() ; animations sur transform et opacity uniquement.
   ============================================================ */
html[data-theme="seoul-neon"][data-theme][data-season]{--accent:#ff3d9a;--accent-2:#ff7ab8;--accent-ink:#ffffff;--accent-rgb:255,61,154;--ember:#a62864;--gold:#ff7ab8;--gold-300:#ffa2cd;--gold-dim:rgba(255,122,184,.14);--gold-glow:rgba(255,122,184,.35);--ink-900:#080712;--ink-850:#0d0a1c;--ink-800:#22182c;--ink-700:#2b2033;--ink-600:#35263b;--ink-500:#443549;--sunset:linear-gradient(180deg,#ff7ab8 0%,#ff3d9a 50%,#a62864 100%);--sunset-h:linear-gradient(90deg,#ff7ab8 0%,#ff3d9a 50%,#a62864 100%);--art-a:rgba(255,122,184,.26);--art-b:rgba(255,61,154,.2);--art-c:#0a081699;--art-x:rgba(255,122,184,.2);--art-y:rgba(255,61,154,.16);--art-z:#0c09196b;--ltd-navy:#391333;--ltd-navy-600:#250f29;--ltd-navy-300:#ff64ae;--navy-dim:rgba(255,61,154,.18);--navy-glow:rgba(255,61,154,.35)}
html[data-theme="seoul-neon"][data-theme][data-season],html[data-theme="seoul-neon"][data-theme][data-season] body:not(.app){background:#0d0a1c}
html[data-theme="cerisiers"][data-theme][data-season]{--accent:#ff8fb8;--accent-2:#ffb3cf;--accent-ink:#2b0f1e;--accent-rgb:255,143,184;--ember:#a65d78;--gold:#ffb3cf;--gold-300:#ffcadd;--gold-dim:rgba(255,179,207,.14);--gold-glow:rgba(255,179,207,.35);--ink-900:#0d0916;--ink-850:#140e22;--ink-800:#291f33;--ink-700:#32273b;--ink-600:#3b2f42;--ink-500:#4a3d50;--sunset:linear-gradient(180deg,#ffb3cf 0%,#ff8fb8 50%,#a65d78 100%);--sunset-h:linear-gradient(90deg,#ffb3cf 0%,#ff8fb8 50%,#a65d78 100%);--art-a:rgba(255,179,207,.26);--art-b:rgba(255,143,184,.2);--art-c:#100b1b99;--art-x:rgba(255,179,207,.2);--art-y:rgba(255,143,184,.16);--art-z:#120d1f6b;--ltd-navy:#3e253d;--ltd-navy-600:#2c1b31;--ltd-navy-300:#ffa5c6;--navy-dim:rgba(255,143,184,.18);--navy-glow:rgba(255,143,184,.35)}
html[data-theme="cerisiers"][data-theme][data-season],html[data-theme="cerisiers"][data-theme][data-season] body:not(.app){background:#140e22}
html[data-theme="lanternes"][data-theme][data-season]{--accent:#ff6a3d;--accent-2:#ffb347;--accent-ink:#2a0c04;--accent-rgb:255,106,61;--ember:#a64528;--gold:#ffb347;--gold-300:#ffca7e;--gold-dim:rgba(255,179,71,.14);--gold-glow:rgba(255,179,71,.35);--ink-900:#0e050c;--ink-850:#150812;--ink-800:#2a171f;--ink-700:#332026;--ink-600:#3b272d;--ink-500:#4b363a;--sunset:linear-gradient(180deg,#ffb347 0%,#ff6a3d 50%,#a64528 100%);--sunset-h:linear-gradient(90deg,#ffb347 0%,#ff6a3d 50%,#a64528 100%);--art-a:rgba(255,179,71,.26);--art-b:rgba(255,106,61,.2);--art-c:#11060e99;--art-x:rgba(255,179,71,.2);--art-y:rgba(255,106,61,.16);--art-z:#1307106b;--ltd-navy:#3f1a1a;--ltd-navy-600:#2c1216;--ltd-navy-300:#ff8864;--navy-dim:rgba(255,106,61,.18);--navy-glow:rgba(255,106,61,.35)}
html[data-theme="lanternes"][data-theme][data-season],html[data-theme="lanternes"][data-theme][data-season] body:not(.app){background:#150812}
html[data-theme="hangul"][data-theme][data-season]{--accent:#39ff88;--accent-2:#8bffbd;--accent-ink:#03140a;--accent-rgb:57,255,136;--ember:#25a658;--gold:#8bffbd;--gold-300:#aeffd1;--gold-dim:rgba(139,255,189,.14);--gold-glow:rgba(139,255,189,.35);--ink-900:#030705;--ink-850:#040b07;--ink-800:#132018;--ink-700:#1a2a20;--ink-600:#223328;--ink-500:#304237;--sunset:linear-gradient(180deg,#8bffbd 0%,#39ff88 50%,#25a658 100%);--sunset-h:linear-gradient(90deg,#8bffbd 0%,#39ff88 50%,#25a658 100%);--art-a:rgba(139,255,189,.26);--art-b:rgba(57,255,136,.2);--art-c:#03090699;--art-x:rgba(139,255,189,.2);--art-y:rgba(57,255,136,.16);--art-z:#040a066b;--ltd-navy:#0e371e;--ltd-navy-600:#092314;--ltd-navy-300:#61ffa0;--navy-dim:rgba(57,255,136,.18);--navy-glow:rgba(57,255,136,.35)}
html[data-theme="hangul"][data-theme][data-season],html[data-theme="hangul"][data-theme][data-season] body:not(.app){background:#040b07}
html[data-theme="vinewood"][data-theme][data-season]{--accent:#ff7a45;--accent-2:#ffb35c;--accent-ink:#2a0f05;--accent-rgb:255,122,69;--ember:#a64f2d;--gold:#ffb35c;--gold-300:#ffca8d;--gold-dim:rgba(255,179,92,.14);--gold-glow:rgba(255,179,92,.35);--ink-900:#0e0712;--ink-850:#160b1c;--ink-800:#2b1b28;--ink-700:#34242f;--ink-600:#3c2b36;--ink-500:#4c3943;--sunset:linear-gradient(180deg,#ffb35c 0%,#ff7a45 50%,#a64f2d 100%);--sunset-h:linear-gradient(90deg,#ffb35c 0%,#ff7a45 50%,#a64f2d 100%);--art-a:rgba(255,179,92,.26);--art-b:rgba(255,122,69,.2);--art-c:#12091699;--art-x:rgba(255,179,92,.2);--art-y:rgba(255,122,69,.16);--art-z:#140a196b;--ltd-navy:#401f23;--ltd-navy-600:#2d1620;--ltd-navy-300:#ff956a;--navy-dim:rgba(255,122,69,.18);--navy-glow:rgba(255,122,69,.35)}
html[data-theme="vinewood"][data-theme][data-season],html[data-theme="vinewood"][data-theme][data-season] body:not(.app){background:#160b1c}
html[data-theme="synthwave"][data-theme][data-season]{--accent:#ff2bd6;--accent-2:#28e7ff;--accent-ink:#ffffff;--accent-rgb:255,43,214;--ember:#a61c8b;--gold:#28e7ff;--gold-300:#69eeff;--gold-dim:rgba(40,231,255,.14);--gold-glow:rgba(40,231,255,.35);--ink-900:#080315;--ink-850:#0d0420;--ink-800:#221232;--ink-700:#2b193a;--ink-600:#352142;--ink-500:#442f50;--sunset:linear-gradient(180deg,#28e7ff 0%,#ff2bd6 50%,#a61c8b 100%);--sunset-h:linear-gradient(90deg,#28e7ff 0%,#ff2bd6 50%,#a61c8b 100%);--art-a:rgba(40,231,255,.26);--art-b:rgba(255,43,214,.2);--art-c:#0a031a99;--art-x:rgba(40,231,255,.2);--art-y:rgba(255,43,214,.16);--art-z:#0c041d6b;--ltd-navy:#390b41;--ltd-navy-600:#250832;--ltd-navy-300:#ff55de;--navy-dim:rgba(255,43,214,.18);--navy-glow:rgba(255,43,214,.35)}
html[data-theme="synthwave"][data-theme][data-season],html[data-theme="synthwave"][data-theme][data-season] body:not(.app){background:#0d0420}
html[data-theme="desert"][data-theme][data-season]{--accent:#e9a55b;--accent-2:#f6c98a;--accent-ink:#2a1606;--accent-rgb:233,165,91;--ember:#976b3b;--gold:#f6c98a;--gold-300:#f9d9ad;--gold-dim:rgba(246,201,138,.14);--gold-glow:rgba(246,201,138,.35);--ink-900:#0f0a07;--ink-850:#17100a;--ink-800:#2b2119;--ink-700:#342a21;--ink-600:#3c3128;--ink-500:#4a4137;--sunset:linear-gradient(180deg,#f6c98a 0%,#e9a55b 50%,#976b3b 100%);--sunset-h:linear-gradient(90deg,#f6c98a 0%,#e9a55b 50%,#976b3b 100%);--art-a:rgba(246,201,138,.26);--art-b:rgba(233,165,91,.2);--art-c:#120d0899;--art-x:rgba(246,201,138,.2);--art-y:rgba(233,165,91,.16);--art-z:#150e096b;--ltd-navy:#3d2b19;--ltd-navy-600:#2c1f12;--ltd-navy-300:#edb77c;--navy-dim:rgba(233,165,91,.18);--navy-glow:rgba(233,165,91,.35)}
html[data-theme="desert"][data-theme][data-season],html[data-theme="desert"][data-theme][data-season] body:not(.app){background:#17100a}
html[data-theme="ocean"][data-theme][data-season]{--accent:#22d3ee;--accent-2:#7deaff;--accent-ink:#03202a;--accent-rgb:34,211,238;--ember:#16899b;--gold:#7deaff;--gold-300:#a4f0ff;--gold-dim:rgba(125,234,255,.14);--gold-glow:rgba(125,234,255,.35);--ink-900:#020b13;--ink-850:#03111d;--ink-800:#112430;--ink-700:#182d39;--ink-600:#1f3541;--ink-500:#2d444f;--sunset:linear-gradient(180deg,#7deaff 0%,#22d3ee 50%,#16899b 100%);--sunset-h:linear-gradient(90deg,#7deaff 0%,#22d3ee 50%,#16899b 100%);--art-a:rgba(125,234,255,.26);--art-b:rgba(34,211,238,.2);--art-c:#020e1799;--art-x:rgba(125,234,255,.2);--art-y:rgba(34,211,238,.16);--art-z:#030f1a6b;--ltd-navy:#093443;--ltd-navy-600:#062432;--ltd-navy-300:#4edcf1;--navy-dim:rgba(34,211,238,.18);--navy-glow:rgba(34,211,238,.35)}
html[data-theme="ocean"][data-theme][data-season],html[data-theme="ocean"][data-theme][data-season] body:not(.app){background:#03111d}
html[data-theme="gyrophare"][data-theme][data-season]{--accent:#ff3b4e;--accent-2:#5b8cff;--accent-ink:#ffffff;--accent-rgb:255,59,78;--ember:#a62633;--gold:#5b8cff;--gold-300:#8cafff;--gold-dim:rgba(91,140,255,.14);--gold-glow:rgba(91,140,255,.35);--ink-900:#05050a;--ink-850:#07080f;--ink-800:#1c161d;--ink-700:#261e24;--ink-600:#2f242b;--ink-500:#3f333a;--sunset:linear-gradient(180deg,#5b8cff 0%,#ff3b4e 50%,#a62633 100%);--sunset-h:linear-gradient(90deg,#5b8cff 0%,#ff3b4e 50%,#a62633 100%);--art-a:rgba(91,140,255,.26);--art-b:rgba(255,59,78,.2);--art-c:#06060c99;--art-x:rgba(91,140,255,.2);--art-y:rgba(255,59,78,.16);--art-z:#06070e6b;--ltd-navy:#34111a;--ltd-navy-600:#200d15;--ltd-navy-300:#ff6271;--navy-dim:rgba(255,59,78,.18);--navy-glow:rgba(255,59,78,.35)}
html[data-theme="gyrophare"][data-theme][data-season],html[data-theme="gyrophare"][data-theme][data-season] body:not(.app){background:#07080f}
html[data-theme="aurore"][data-theme][data-season]{--accent:#3ef2c3;--accent-2:#9b8cff;--accent-ink:#04221a;--accent-rgb:62,242,195;--ember:#289d7f;--gold:#9b8cff;--gold-300:#b9afff;--gold-dim:rgba(155,140,255,.14);--gold-glow:rgba(155,140,255,.35);--ink-900:#040c12;--ink-850:#06121c;--ink-800:#14262d;--ink-700:#1c2f35;--ink-600:#23383e;--ink-500:#31474c;--sunset:linear-gradient(180deg,#9b8cff 0%,#3ef2c3 50%,#289d7f 100%);--sunset-h:linear-gradient(90deg,#9b8cff 0%,#3ef2c3 50%,#289d7f 100%);--art-a:rgba(155,140,255,.26);--art-b:rgba(62,242,195,.2);--art-c:#050e1699;--art-x:rgba(155,140,255,.2);--art-y:rgba(62,242,195,.16);--art-z:#0510196b;--ltd-navy:#103a3a;--ltd-navy-600:#0c282d;--ltd-navy-300:#65f5cf;--navy-dim:rgba(62,242,195,.18);--navy-glow:rgba(62,242,195,.35)}
html[data-theme="aurore"][data-theme][data-season],html[data-theme="aurore"][data-theme][data-season] body:not(.app){background:#06121c}
html[data-theme="galaxie"][data-theme][data-season]{--accent:#a78bfa;--accent-2:#f0abfc;--accent-ink:#16082e;--accent-rgb:167,139,250;--ember:#6d5aa3;--gold:#f0abfc;--gold-300:#f5c4fd;--gold-dim:rgba(240,171,252,.14);--gold-glow:rgba(240,171,252,.35);--ink-900:#070410;--ink-850:#0a0618;--ink-800:#1c172d;--ink-700:#252034;--ink-600:#2d273d;--ink-500:#3c364c;--sunset:linear-gradient(180deg,#f0abfc 0%,#a78bfa 50%,#6d5aa3 100%);--sunset-h:linear-gradient(90deg,#f0abfc 0%,#a78bfa 50%,#6d5aa3 100%);--art-a:rgba(240,171,252,.26);--art-b:rgba(167,139,250,.2);--art-c:#08051399;--art-x:rgba(240,171,252,.2);--art-y:rgba(167,139,250,.16);--art-z:#0905166b;--ltd-navy:#261e41;--ltd-navy-600:#1a132f;--ltd-navy-300:#b9a2fb;--navy-dim:rgba(167,139,250,.18);--navy-glow:rgba(167,139,250,.35)}
html[data-theme="galaxie"][data-theme][data-season],html[data-theme="galaxie"][data-theme][data-season] body:not(.app){background:#0a0618}
html[data-theme="lucioles"][data-theme][data-season]{--accent:#d4f37a;--accent-2:#f3ffb0;--accent-ink:#122006;--accent-rgb:212,243,122;--ember:#8a9e4f;--gold:#f3ffb0;--gold-300:#f7ffc8;--gold-dim:rgba(243,255,176,.14);--gold-glow:rgba(243,255,176,.35);--ink-900:#050d08;--ink-850:#08140d;--ink-800:#1c281d;--ink-700:#253125;--ink-600:#2e3a2d;--ink-500:#3d493b;--sunset:linear-gradient(180deg,#f3ffb0 0%,#d4f37a 50%,#8a9e4f 100%);--sunset-h:linear-gradient(90deg,#f3ffb0 0%,#d4f37a 50%,#8a9e4f 100%);--art-a:rgba(243,255,176,.26);--art-b:rgba(212,243,122,.2);--art-c:#06100a99;--art-x:rgba(243,255,176,.2);--art-y:rgba(212,243,122,.16);--art-z:#07120c6b;--ltd-navy:#2d3c21;--ltd-navy-600:#1c2a18;--ltd-navy-300:#ddf595;--navy-dim:rgba(212,243,122,.18);--navy-glow:rgba(212,243,122,.35)}
html[data-theme="lucioles"][data-theme][data-season],html[data-theme="lucioles"][data-theme][data-season] body:not(.app){background:#08140d}
html[data-theme="orage"][data-theme][data-season]{--accent:#7dd3fc;--accent-2:#c4e9ff;--accent-ink:#04131c;--accent-rgb:125,211,252;--ember:#5189a4;--gold:#c4e9ff;--gold-300:#d6f0ff;--gold-dim:rgba(196,233,255,.14);--gold-glow:rgba(196,233,255,.35);--ink-900:#070a10;--ink-850:#0b1018;--ink-800:#1b232d;--ink-700:#242c35;--ink-600:#2b343d;--ink-500:#39444c;--sunset:linear-gradient(180deg,#c4e9ff 0%,#7dd3fc 50%,#5189a4 100%);--sunset-h:linear-gradient(90deg,#c4e9ff 0%,#7dd3fc 50%,#5189a4 100%);--art-a:rgba(196,233,255,.26);--art-b:rgba(125,211,252,.2);--art-c:#090d1399;--art-x:rgba(196,233,255,.2);--art-y:rgba(125,211,252,.16);--art-z:#0a0e166b;--ltd-navy:#203341;--ltd-navy-600:#16242f;--ltd-navy-300:#97dcfd;--navy-dim:rgba(125,211,252,.18);--navy-glow:rgba(125,211,252,.35)}
html[data-theme="orage"][data-theme][data-season],html[data-theme="orage"][data-theme][data-season] body:not(.app){background:#0b1018}
html[data-theme="prestige"][data-theme][data-season]{--accent:#e8c170;--accent-2:#f6dca0;--accent-ink:#1d1405;--accent-rgb:232,193,112;--ember:#977d49;--gold:#f6dca0;--gold-300:#f9e7bd;--gold-dim:rgba(246,220,160,.14);--gold-glow:rgba(246,220,160,.35);--ink-900:#080705;--ink-850:#0d0b08;--ink-800:#211e18;--ink-700:#2a2720;--ink-600:#342f28;--ink-500:#423e36;--sunset:linear-gradient(180deg,#f6dca0 0%,#e8c170 50%,#977d49 100%);--sunset-h:linear-gradient(90deg,#f6dca0 0%,#e8c170 50%,#977d49 100%);--art-a:rgba(246,220,160,.26);--art-b:rgba(232,193,112,.2);--art-c:#0a090699;--art-x:rgba(246,220,160,.2);--art-y:rgba(232,193,112,.16);--art-z:#0c0a076b;--ltd-navy:#342c1b;--ltd-navy-600:#231d12;--ltd-navy-300:#edcd8d;--navy-dim:rgba(232,193,112,.18);--navy-glow:rgba(232,193,112,.35)}
html[data-theme="prestige"][data-theme][data-season],html[data-theme="prestige"][data-theme][data-season] body:not(.app){background:#0d0b08}
html[data-theme="magma"][data-theme][data-season]{--accent:#ff5a1f;--accent-2:#ffb03a;--accent-ink:#2a0802;--accent-rgb:255,90,31;--ember:#a63b14;--gold:#ffb03a;--gold-300:#ffc875;--gold-dim:rgba(255,176,58,.14);--gold-glow:rgba(255,176,58,.35);--ink-900:#0c0403;--ink-850:#120604;--ink-800:#271512;--ink-700:#301d18;--ink-600:#392420;--ink-500:#48332e;--sunset:linear-gradient(180deg,#ffb03a 0%,#ff5a1f 50%,#a63b14 100%);--sunset-h:linear-gradient(90deg,#ffb03a 0%,#ff5a1f 50%,#a63b14 100%);--art-a:rgba(255,176,58,.26);--art-b:rgba(255,90,31,.2);--art-c:#0e050399;--art-x:rgba(255,176,58,.2);--art-y:rgba(255,90,31,.16);--art-z:#1005046b;--ltd-navy:#3d1509;--ltd-navy-600:#2a0e07;--ltd-navy-300:#ff7b4c;--navy-dim:rgba(255,90,31,.18);--navy-glow:rgba(255,90,31,.35)}
html[data-theme="magma"][data-theme][data-season],html[data-theme="magma"][data-theme][data-season] body:not(.app){background:#120604}
html[data-theme="holo"][data-theme][data-season]{--accent:#c4b5fd;--accent-2:#7ff0ff;--accent-ink:#1a1033;--accent-rgb:196,181,253;--ember:#7f76a4;--gold:#7ff0ff;--gold-300:#a5f5ff;--gold-dim:rgba(127,240,255,.14);--gold-glow:rgba(127,240,255,.35);--ink-900:#080810;--ink-850:#0d0c18;--ink-800:#201e2d;--ink-700:#282735;--ink-600:#31303d;--ink-500:#403e4c;--sunset:linear-gradient(180deg,#7ff0ff 0%,#c4b5fd 50%,#7f76a4 100%);--sunset-h:linear-gradient(90deg,#7ff0ff 0%,#c4b5fd 50%,#7f76a4 100%);--art-a:rgba(127,240,255,.26);--art-b:rgba(196,181,253,.2);--art-c:#0a0a1399;--art-x:rgba(127,240,255,.2);--art-y:rgba(196,181,253,.16);--art-z:#0c0b166b;--ltd-navy:#2e2a41;--ltd-navy-600:#1f1d2f;--ltd-navy-300:#d0c4fd;--navy-dim:rgba(196,181,253,.18);--navy-glow:rgba(196,181,253,.35)}
html[data-theme="holo"][data-theme][data-season],html[data-theme="holo"][data-theme][data-season] body:not(.app){background:#0d0c18}
html[data-theme="glace"][data-theme][data-season]{--accent:#9be7ff;--accent-2:#e0f7ff;--accent-ink:#062433;--accent-rgb:155,231,255;--ember:#6596a6;--gold:#e0f7ff;--gold-300:#e9f9ff;--gold-dim:rgba(224,247,255,.14);--gold-glow:rgba(224,247,255,.35);--ink-900:#050d13;--ink-850:#07141d;--ink-800:#182831;--ink-700:#213139;--ink-600:#293942;--ink-500:#384850;--sunset:linear-gradient(180deg,#e0f7ff 0%,#9be7ff 50%,#6596a6 100%);--sunset-h:linear-gradient(90deg,#e0f7ff 0%,#9be7ff 50%,#6596a6 100%);--art-a:rgba(224,247,255,.26);--art-b:rgba(155,231,255,.2);--art-c:#06101799;--art-x:rgba(224,247,255,.2);--art-y:rgba(155,231,255,.16);--art-z:#06121a6b;--ltd-navy:#223a46;--ltd-navy-600:#162934;--ltd-navy-300:#afecff;--navy-dim:rgba(155,231,255,.18);--navy-glow:rgba(155,231,255,.35)}
html[data-theme="glace"][data-theme][data-season],html[data-theme="glace"][data-theme][data-season] body:not(.app){background:#07141d}
html[data-theme="nouvel-an"][data-theme][data-season]{--accent:#ffd166;--accent-2:#ff7ad9;--accent-ink:#2a1a02;--accent-rgb:255,209,102;--ember:#a68842;--gold:#ff7ad9;--gold-300:#ffa2e4;--gold-dim:rgba(255,122,217,.14);--gold-glow:rgba(255,122,217,.35);--ink-900:#050712;--ink-850:#070a1c;--ink-800:#1c1d2a;--ink-700:#262731;--ink-600:#2f2f38;--ink-500:#3f3f45;--sunset:linear-gradient(180deg,#ff7ad9 0%,#ffd166 50%,#a68842 100%);--sunset-h:linear-gradient(90deg,#ff7ad9 0%,#ffd166 50%,#a68842 100%);--art-a:rgba(255,122,217,.26);--art-b:rgba(255,209,102,.2);--art-c:#06081699;--art-x:rgba(255,122,217,.2);--art-y:rgba(255,209,102,.16);--art-z:#0609196b;--ltd-navy:#342e29;--ltd-navy-600:#201e23;--ltd-navy-300:#ffda85;--navy-dim:rgba(255,209,102,.18);--navy-glow:rgba(255,209,102,.35)}
html[data-theme="nouvel-an"][data-theme][data-season],html[data-theme="nouvel-an"][data-theme][data-season] body:not(.app){background:#070a1c}
html[data-theme="confettis"][data-theme][data-season]{--accent:#ff5ca8;--accent-2:#ffd23f;--accent-ink:#ffffff;--accent-rgb:255,92,168;--ember:#a63c6d;--gold:#ffd23f;--gold-300:#ffe079;--gold-dim:rgba(255,210,63,.14);--gold-glow:rgba(255,210,63,.35);--ink-900:#0c0717;--ink-850:#120a24;--ink-800:#271934;--ink-700:#30213c;--ink-600:#392842;--ink-500:#483750;--sunset:linear-gradient(180deg,#ffd23f 0%,#ff5ca8 50%,#a63c6d 100%);--sunset-h:linear-gradient(90deg,#ffd23f 0%,#ff5ca8 50%,#a63c6d 100%);--art-a:rgba(255,210,63,.26);--art-b:rgba(255,92,168,.2);--art-c:#0e081d99;--art-x:rgba(255,210,63,.2);--art-y:rgba(255,92,168,.16);--art-z:#1009206b;--ltd-navy:#3d193c;--ltd-navy-600:#2a1231;--ltd-navy-300:#ff7db9;--navy-dim:rgba(255,92,168,.18);--navy-glow:rgba(255,92,168,.35)}
html[data-theme="confettis"][data-theme][data-season],html[data-theme="confettis"][data-theme][data-season] body:not(.app){background:#120a24}

/* Scène derrière la page publique : la page laisse voir le fond (le haut de page et les cartes gardent le leur). */
html[data-theme="seoul-neon"][data-theme][data-season].amb-on body:not(.app),html[data-theme="cerisiers"][data-theme][data-season].amb-on body:not(.app),html[data-theme="lanternes"][data-theme][data-season].amb-on body:not(.app),html[data-theme="hangul"][data-theme][data-season].amb-on body:not(.app),html[data-theme="vinewood"][data-theme][data-season].amb-on body:not(.app),html[data-theme="synthwave"][data-theme][data-season].amb-on body:not(.app),html[data-theme="desert"][data-theme][data-season].amb-on body:not(.app),html[data-theme="ocean"][data-theme][data-season].amb-on body:not(.app),html[data-theme="gyrophare"][data-theme][data-season].amb-on body:not(.app),html[data-theme="aurore"][data-theme][data-season].amb-on body:not(.app),html[data-theme="galaxie"][data-theme][data-season].amb-on body:not(.app),html[data-theme="lucioles"][data-theme][data-season].amb-on body:not(.app),html[data-theme="orage"][data-theme][data-season].amb-on body:not(.app),html[data-theme="prestige"][data-theme][data-season].amb-on body:not(.app),html[data-theme="magma"][data-theme][data-season].amb-on body:not(.app),html[data-theme="holo"][data-theme][data-season].amb-on body:not(.app),html[data-theme="glace"][data-theme][data-season].amb-on body:not(.app),html[data-theme="nouvel-an"][data-theme][data-season].amb-on body:not(.app),html[data-theme="confettis"][data-theme][data-season].amb-on body:not(.app){background:transparent}
#ltdAmb{position:fixed;top:0;left:0;right:0;bottom:0;z-index:-1;pointer-events:none;overflow:hidden;contain:strict}
#ltdAmb>*{position:absolute}
.amb-full{top:0;left:0;right:0;bottom:0}
.af{position:absolute;display:block;left:var(--x);top:var(--y,0);animation-duration:var(--d);animation-delay:var(--dl);animation-iteration-count:infinite;animation-timing-function:linear;will-change:transform,opacity;pointer-events:none}
.af::before,.af::after{content:"";position:absolute}
@keyframes afFall{0%{transform:translate3d(0,-14vh,0)}100%{transform:translate3d(var(--dx,0px),114vh,0)}}
@keyframes afRise{0%{transform:translate3d(0,0,0);opacity:0}8%{opacity:var(--o,1)}85%{opacity:var(--o,1)}100%{transform:translate3d(var(--dx,0px),-125vh,0);opacity:0}}
@keyframes afTw{0%,100%{opacity:.1;transform:scale(.55)}50%{opacity:var(--o,1);transform:scale(1)}}
@keyframes afWander{0%,100%{transform:translate(0,0)}25%{transform:translate(var(--a1),var(--b1))}50%{transform:translate(var(--a2),var(--b2))}75%{transform:translate(var(--a3),var(--b3))}}
@keyframes afDrift{0%{transform:translate3d(-20vw,0,0)}100%{transform:translate3d(125vw,var(--dy,0px),0)}}
@keyframes afFlutter{0%{transform:rotate3d(1,.4,.2,0deg)}100%{transform:rotate3d(1,.4,.2,360deg)}}
@keyframes afSpin{to{transform:rotate(360deg)}}
@keyframes afPulse{0%,100%{opacity:var(--lo,.35)}50%{opacity:1}}
.af-fall{top:0;animation-name:afFall}
.af-rise{top:104vh;animation-name:afRise}
.af-tw{animation-name:afTw;animation-timing-function:ease-in-out}
.af-drift{left:0;animation-name:afDrift}
/* Pluie (Séoul, Orage, Code 3) */
.af-rain{width:1.2px;height:var(--h);background:linear-gradient(180deg,rgba(190,220,255,0),rgba(190,220,255,var(--o)))}
.ltdx-rain{transform:skewX(-10deg)}
/* Ville (Séoul, Nouvel An) */
.amb-city{left:-2%;right:-2%;bottom:0;display:flex;align-items:flex-end;gap:.35%}
.amb-city i{flex:1 1 var(--w);height:var(--h);position:relative;background:var(--bc,#0c0819);border-radius:2px 2px 0 0}
.amb-city i::before{content:"";position:absolute;top:10px;left:16%;right:16%;bottom:0;background-image:radial-gradient(var(--wc,rgba(255,210,140,.9)) 1px,transparent 1.8px);background-size:8px 11px;opacity:var(--wo)}
.amb-city i::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--edge,transparent);box-shadow:0 0 10px var(--edge,transparent)}
.amb-city--far{opacity:.55;filter:saturate(.7)}
.amb-city--far i{--bc:#150d28}

/* ---------- Séoul by Night ---------- */
.sn-sky{background:linear-gradient(180deg,#05040f 0%,#120a2a 45%,#3a0a3f 78%,#62104f 100%)}
.sn-glow{left:-10%;right:-10%;bottom:-10vh;height:60vh;background:radial-gradient(ellipse 50% 60% at 30% 100%,rgba(255,61,154,.45),transparent 70%),radial-gradient(ellipse 45% 55% at 78% 100%,rgba(40,231,255,.32),transparent 70%);animation:afPulse 7s ease-in-out infinite;--lo:.6}
.sn-sign{bottom:var(--b);left:var(--x);writing-mode:vertical-rl;font:800 var(--s)/1 'Noto Sans KR','Malgun Gothic',sans-serif;letter-spacing:.08em;color:#fff;padding:10px 6px;border:2px solid var(--c);border-radius:8px;background:rgba(10,4,20,.65);text-shadow:0 0 6px var(--c),0 0 18px var(--c);box-shadow:0 0 14px var(--c),inset 0 0 12px var(--c);animation:snFlick var(--d) linear infinite}
@keyframes snFlick{0%,18%,22%,62%,64%,100%{opacity:1}20%,63%{opacity:.35}}
.sn-haze{left:0;right:0;bottom:0;height:22vh;background:linear-gradient(180deg,transparent,rgba(255,61,154,.12) 60%,rgba(13,10,28,.85))}
/* ---------- Cerisiers ---------- */
.ch-sky{background:linear-gradient(180deg,#120a24 0%,#2c1440 38%,#6b2f5c 70%,#c56a8a 92%,#f4a0b5 100%)}
.ch-moon{top:9vh;right:12vw;width:16vmin;height:16vmin;border-radius:50%;background:radial-gradient(circle at 38% 36%,#fff8f0,#ffe3e8 55%,#f2b8c8);box-shadow:0 0 60px 20px rgba(255,200,220,.25),0 0 160px 60px rgba(255,170,200,.15);animation:afPulse 9s ease-in-out infinite;--lo:.8}
.ch-hills{left:0;right:0;bottom:0;height:34vh}
.ch-hills svg{position:absolute;bottom:0;width:100%;height:100%}
.ch-branch{top:-2vh;left:-3vw;width:min(560px,52vw);transform-origin:0 0;animation:chSway 9s ease-in-out infinite alternate}
.ch-branch--r{left:auto;right:-4vw;top:auto;bottom:18vh;width:min(420px,40vw);transform:scaleX(-1);animation:none;opacity:.85}
@keyframes chSway{from{transform:rotate(-1.2deg)}to{transform:rotate(1.4deg)}}
.af-petal::before{width:var(--s);height:calc(var(--s) * .72);border-radius:100% 0 100% 0;background:linear-gradient(135deg,#ffe4ee,#ff9cc0);box-shadow:0 0 6px rgba(255,160,200,.4);animation:afFlutter var(--f) linear infinite}
/* ---------- Lanternes ---------- */
.ln-sky{background:linear-gradient(180deg,#0c0414 0%,#21081f 45%,#3d0d14 80%,#5a1a08 100%)}
.ln-bokeh{left:var(--x);top:var(--y);width:var(--s);height:var(--s);border-radius:50%;background:radial-gradient(circle,rgba(255,170,80,.35),rgba(255,120,60,.08) 60%,transparent 70%);animation:afPulse var(--d) ease-in-out var(--dl) infinite;--lo:.25}
.af-lantern{width:var(--s);height:calc(var(--s) * 1.25);margin-left:calc(var(--s) * -.5)}
.af-lantern::before{left:0;right:0;top:0;bottom:0;border-radius:42% 42% 30% 30% / 30% 30% 22% 22%;background:radial-gradient(ellipse at 50% 62%,#fff1b8 0%,#ffbb4d 22%,#ff6a2a 55%,#b3200d 100%);box-shadow:0 0 calc(var(--s) * .9) rgba(255,140,50,.55),0 0 calc(var(--s) * 2) rgba(255,90,30,.25);animation:lnFlick var(--f) ease-in-out infinite}
.af-lantern::after{left:22%;right:22%;top:-5%;height:9%;background:#2a0b06;border-radius:3px}
@keyframes lnFlick{0%,100%{filter:brightness(1)}40%{filter:brightness(1.18)}60%{filter:brightness(.9)}}
/* ---------- Code Hangul ---------- */
.hg-sky{background:radial-gradient(ellipse 80% 60% at 50% 120%,rgba(57,255,136,.16),transparent 70%),linear-gradient(180deg,#010402,#03100a)}
.af-hg{top:0;writing-mode:vertical-rl;text-orientation:upright;font:700 var(--s)/1.05 'Noto Sans KR','Malgun Gothic',monospace;color:rgba(57,255,136,var(--o));text-shadow:0 0 8px rgba(57,255,136,.6);-webkit-mask:linear-gradient(0deg,#000 0%,#000 12%,rgba(0,0,0,.15) 100%);mask:linear-gradient(0deg,#000 0%,#000 12%,rgba(0,0,0,.15) 100%);animation-name:hgFall;white-space:nowrap}
@keyframes hgFall{0%{transform:translate3d(0,-110%,0)}100%{transform:translate3d(0,110vh,0)}}
.hg-scan{background:repeating-linear-gradient(180deg,rgba(0,0,0,.18) 0 1px,transparent 1px 3px)}
/* ---------- Coucher Vinewood ---------- */
.vw-sky{background:linear-gradient(180deg,#160a2a 0%,#4a1652 28%,#a3285a 48%,#ff6b4a 62%,#ffb35c 70%,#ffd08a 71%,#2a1030 71.2%,#160a22 100%)}
.vw-sun{left:50%;top:41vh;width:34vmin;height:34vmin;margin-left:-17vmin;border-radius:50%;background:linear-gradient(180deg,#fff2b0,#ffb35c 45%,#ff5a4a);box-shadow:0 0 90px 30px rgba(255,140,80,.35);-webkit-mask:linear-gradient(180deg,#000 52%,transparent 52% 56%,#000 56% 63%,transparent 63% 67%,#000 67% 74%,transparent 74% 79%,#000 79%);mask:linear-gradient(180deg,#000 52%,transparent 52% 56%,#000 56% 63%,transparent 63% 67%,#000 67% 74%,transparent 74% 79%,#000 79%);animation:vwSun 14s ease-in-out infinite alternate}
@keyframes vwSun{from{transform:translateY(0)}to{transform:translateY(3vh)}}
.vw-sea{left:0;right:0;top:71vh;bottom:0;overflow:hidden}
.vw-sea::before{content:"";position:absolute;left:-50%;width:200%;top:0;height:100%;background:repeating-linear-gradient(180deg,rgba(255,170,100,.0) 0 7px,rgba(255,170,100,.22) 7px 8px);-webkit-mask:radial-gradient(ellipse 22% 100% at 50% 0,#000,transparent);mask:radial-gradient(ellipse 22% 100% at 50% 0,#000,transparent);animation:vwShim 6s ease-in-out infinite alternate}
@keyframes vwShim{from{transform:translateX(-1.5%)}to{transform:translateX(1.5%)}}
.vw-palm{bottom:-2vh;width:min(340px,30vw);fill:#12061a;transform-origin:50% 100%;animation:vwPalm 7s ease-in-out infinite alternate}
.vw-palm--l{left:-4vw}.vw-palm--r{right:-5vw;width:min(280px,26vw);animation-delay:-3s}
.vw-palm--r svg{transform:scaleX(-1)}
@keyframes vwPalm{from{transform:rotate(-1.4deg)}to{transform:rotate(1.2deg)}}
.af-bird{width:22px;height:8px;color:#1a0a1e}
.af-bird svg{width:100%;height:100%;overflow:visible;animation:vwFlap .5s ease-in-out infinite alternate}
@keyframes vwFlap{from{transform:scaleY(1)}to{transform:scaleY(.35)}}
/* ---------- Synthwave 86 ---------- */
.sw-sky{background:linear-gradient(180deg,#07011a 0%,#1d0640 35%,#5a0f6e 50%,#ff2bd6 56%,#0b0221 56.2%)}
.sw-stars{top:0;left:0;right:0;height:55vh;background-image:radial-gradient(1px 1px at 12% 20%,#fff,transparent),radial-gradient(1px 1px at 32% 8%,#fff,transparent),radial-gradient(1.5px 1.5px at 58% 26%,#ffd6ff,transparent),radial-gradient(1px 1px at 78% 12%,#fff,transparent),radial-gradient(1px 1px at 90% 34%,#bff,transparent),radial-gradient(1px 1px at 44% 40%,#fff,transparent);animation:afPulse 5s ease-in-out infinite;--lo:.5}
.sw-sun{left:50%;top:22vh;width:38vmin;height:38vmin;margin-left:-19vmin;border-radius:50%;background:linear-gradient(180deg,#fff36b 0%,#ffb03a 35%,#ff2bd6 80%);box-shadow:0 0 120px 30px rgba(255,43,214,.35);-webkit-mask:linear-gradient(180deg,#000 50%,transparent 50% 54%,#000 54% 61%,transparent 61% 66%,#000 66% 72%,transparent 72% 78%,#000 78% 83%,transparent 83% 90%,#000 90%);mask:linear-gradient(180deg,#000 50%,transparent 50% 54%,#000 54% 61%,transparent 61% 66%,#000 66% 72%,transparent 72% 78%,#000 78% 83%,transparent 83% 90%,#000 90%)}
.sw-mount{left:0;right:0;top:40vh;height:16.3vh}
.sw-mount svg{width:100%;height:100%;display:block}
.sw-floor{left:-50%;right:-50%;top:56vh;height:70vh;transform:perspective(42vh) rotateX(62deg);transform-origin:50% 0;overflow:hidden;-webkit-mask:linear-gradient(180deg,transparent,#000 22%);mask:linear-gradient(180deg,transparent,#000 22%)}
.sw-grid{position:absolute;left:0;right:0;top:-80px;bottom:0;background-image:linear-gradient(rgba(40,231,255,.75) 2px,transparent 2px),linear-gradient(90deg,rgba(255,43,214,.7) 2px,transparent 2px);background-size:80px 80px;animation:swRun 1.1s linear infinite}
@keyframes swRun{to{transform:translateY(80px)}}
/* ---------- Sandy Shores ---------- */
.ds-sky{background:linear-gradient(180deg,#2a1608 0%,#6e3416 35%,#c86a32 58%,#f4b26b 72%,#f7cf93 100%)}
.ds-sun{left:68vw;top:20vh;width:22vmin;height:22vmin;border-radius:50%;background:radial-gradient(circle,#fff6d8,#ffd59a 55%,rgba(255,200,120,0) 70%);box-shadow:0 0 120px 50px rgba(255,190,110,.3);animation:afPulse 6s ease-in-out infinite;--lo:.75}
.ds-dunes{left:0;right:0;bottom:0;height:46vh}
.ds-dunes svg{position:absolute;bottom:0;width:100%;height:100%}
.ds-weed{bottom:7vh;left:0;width:48px;height:48px;animation:dsRoll 19s linear infinite}
.ds-weed svg{width:100%;height:100%;animation:afSpin 1.6s linear infinite}
@keyframes dsRoll{0%{transform:translate3d(-10vw,0,0)}20%{transform:translate3d(14vw,-3vh,0)}26%{transform:translate3d(20vw,0,0)}60%{transform:translate3d(64vw,-2vh,0)}66%{transform:translate3d(71vw,0,0)}100%{transform:translate3d(112vw,0,0)}}
.af-dust{width:var(--s);height:var(--s);border-radius:50%;background:rgba(255,215,160,var(--o));animation-name:afDrift}
/* ---------- Abysses ---------- */
.oc-sky{background:linear-gradient(180deg,#0b4a6b 0%,#062c47 30%,#031a2e 60%,#010a14 100%)}
.oc-ray{top:-10vh;left:var(--x);width:var(--w);height:125vh;background:linear-gradient(180deg,rgba(150,235,255,.2),rgba(150,235,255,.04) 60%,transparent 85%);clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);transform-origin:50% 0;animation:ocSway var(--d) ease-in-out var(--dl) infinite alternate}
@keyframes ocSway{from{transform:rotate(-7deg);opacity:.5}to{transform:rotate(7deg);opacity:1}}
.oc-caus{top:0;left:-10%;right:-10%;height:40vh;opacity:.18;background-image:radial-gradient(ellipse 40px 18px at 20px 20px,transparent 60%,rgba(170,240,255,.9) 64%,transparent 72%);background-size:70px 46px;-webkit-mask:linear-gradient(180deg,#000,transparent);mask:linear-gradient(180deg,#000,transparent);animation:ocCaus 9s ease-in-out infinite alternate}
@keyframes ocCaus{from{transform:translate(0,0) skewX(-6deg)}to{transform:translate(40px,12px) skewX(6deg)}}
.af-fish{width:var(--s);height:calc(var(--s) * .5);color:rgba(120,200,230,.35);animation-name:afDrift}
.af-fish svg{width:100%;height:100%;display:block}
.af-bubble{width:var(--s);height:var(--s);border-radius:50%;border:1px solid rgba(190,240,255,.55);background:radial-gradient(circle at 32% 30%,rgba(255,255,255,.7) 0 12%,rgba(190,240,255,.08) 30%,transparent 70%)}
.af-bubble::before{left:0;top:0;right:0;bottom:0;border-radius:50%;animation:ocWob 2.4s ease-in-out infinite alternate}
@keyframes ocWob{from{transform:translateX(-4px)}to{transform:translateX(4px)}}
/* ---------- Code 3 ---------- */
.gy-sky{background:radial-gradient(ellipse 60% 50% at 50% 110%,rgba(30,40,70,.6),transparent 70%),#05060c}
.gy-l,.gy-r{top:0;bottom:0;width:55vw}
.gy-l{left:0;background:radial-gradient(ellipse 70% 80% at 0 40%,rgba(255,40,60,.42),transparent 70%);animation:gyBlink 2.6s ease-in-out infinite}
.gy-r{right:0;background:radial-gradient(ellipse 70% 80% at 100% 40%,rgba(50,100,255,.45),transparent 70%);animation:gyBlink 2.6s ease-in-out -1.3s infinite}
@keyframes gyBlink{0%,100%{opacity:.15}50%{opacity:1}}
.gy-bar{left:-30vw;top:0;width:30vw;height:100vh;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);animation:gySweep 7s ease-in-out infinite}
@keyframes gySweep{0%{transform:translateX(0)}100%{transform:translateX(160vw)}}
.gy-wet{left:0;right:0;bottom:0;height:28vh;background:linear-gradient(180deg,transparent,rgba(5,6,12,.9)),repeating-linear-gradient(90deg,rgba(255,40,60,.07) 0 30vw,rgba(50,100,255,.07) 30vw 60vw)}
/* ---------- Aurore boréale ---------- */
.au-sky{background:linear-gradient(180deg,#020611 0%,#04121f 50%,#0a2233 100%)}
.af-star{width:var(--s);height:var(--s);border-radius:50%;background:#fff;box-shadow:0 0 4px rgba(255,255,255,.8)}
.au-band{left:-30vw;width:160vw;height:58vh;top:var(--y);background:linear-gradient(90deg,transparent 4%,rgba(62,242,195,.0) 12%,rgba(62,242,195,.42) 30%,rgba(155,140,255,.36) 52%,rgba(62,242,195,.3) 72%,transparent 90%);-webkit-mask:linear-gradient(180deg,transparent,#000 45%,#000 55%,transparent);mask:linear-gradient(180deg,transparent,#000 45%,#000 55%,transparent);mix-blend-mode:screen;animation:auWave var(--d) ease-in-out var(--dl) infinite alternate;opacity:var(--o)}
.au-band::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 2px,transparent 2px 16px)}
@keyframes auWave{0%{transform:translateX(-7vw) skewX(-20deg) scaleY(.75)}50%{transform:translateX(0) skewX(4deg) scaleY(1.1)}100%{transform:translateX(7vw) skewX(16deg) scaleY(.9)}}
.au-mount{left:0;right:0;bottom:0;height:30vh}
.au-mount svg{position:absolute;bottom:0;width:100%;height:100%}
/* ---------- Galaxie ---------- */
.gx-sky{background:#05030f}
.gx-neb{left:-25vw;top:-25vh;width:150vw;height:150vh;background:radial-gradient(ellipse 30% 22% at 35% 40%,rgba(192,38,211,.38),transparent 70%),radial-gradient(ellipse 28% 30% at 65% 60%,rgba(79,70,229,.42),transparent 70%),radial-gradient(ellipse 22% 16% at 52% 48%,rgba(255,170,220,.22),transparent 70%),radial-gradient(ellipse 18% 26% at 28% 70%,rgba(34,211,238,.16),transparent 70%);animation:afSpin 240s linear infinite}
.gx-stars{left:0;right:0;top:0;height:calc(100% + 240px);background-image:radial-gradient(1px 1px at 20px 30px,#fff,transparent),radial-gradient(1px 1px at 140px 70px,#cfd8ff,transparent),radial-gradient(1.6px 1.6px at 90px 160px,#fff,transparent),radial-gradient(1px 1px at 200px 210px,#ffd6f5,transparent),radial-gradient(1px 1px at 60px 110px,#fff,transparent);background-size:240px 240px;animation:gxScroll 30s linear infinite}
.gx-stars--2{background-size:170px 170px;height:calc(100% + 170px);opacity:.55;animation:gxScroll2 52s linear infinite}
@keyframes gxScroll{to{transform:translateY(-240px)}}
@keyframes gxScroll2{to{transform:translateY(-170px)}}
.af-shoot{top:var(--y);width:160px;height:2px;background:linear-gradient(90deg,transparent,#fff);border-radius:2px;opacity:0;transform:rotate(-24deg);animation-name:gxShoot;animation-timing-function:ease-out}
@keyframes gxShoot{0%{opacity:0;transform:rotate(-24deg) translateX(0)}2%{opacity:1}9%{opacity:0;transform:rotate(-24deg) translateX(-46vw)}100%{opacity:0;transform:rotate(-24deg) translateX(-46vw)}}
/* ---------- Lucioles ---------- */
.lu-sky{background:radial-gradient(ellipse 70% 40% at 50% 100%,rgba(140,200,90,.14),transparent 70%),linear-gradient(180deg,#020a07 0%,#05160e 55%,#0b2416 100%)}
.lu-mist{left:0;width:200%;bottom:8vh;height:24vh;background:radial-gradient(ellipse 14% 50% at 10% 60%,rgba(200,240,210,.1),transparent 70%),radial-gradient(ellipse 18% 50% at 34% 50%,rgba(200,240,210,.08),transparent 70%),radial-gradient(ellipse 14% 50% at 60% 60%,rgba(200,240,210,.1),transparent 70%),radial-gradient(ellipse 18% 50% at 84% 55%,rgba(200,240,210,.08),transparent 70%);animation:luMist 60s linear infinite}
@keyframes luMist{to{transform:translateX(-50%)}}
.lu-trees{left:0;right:0;bottom:0;height:38vh}
.lu-trees svg{position:absolute;bottom:0;width:100%;height:100%}
.af-fly{width:var(--s);height:var(--s);border-radius:50%;background:#f3ffb0;box-shadow:0 0 6px 2px rgba(220,255,120,.8),0 0 18px 6px rgba(200,255,90,.35);animation-name:afWander,afPulse;animation-duration:var(--d),var(--p);animation-timing-function:ease-in-out;--lo:.08}
/* ---------- Orage ---------- */
.or-sky{background:linear-gradient(180deg,#0a0f18 0%,#121a26 55%,#1c2836 100%)}
.or-cloud{left:var(--x);top:var(--y);width:var(--w);height:calc(var(--w) * .45);border-radius:50%;background:radial-gradient(ellipse at 50% 60%,rgba(40,52,70,.9),rgba(20,28,40,.0) 70%);animation:orDrift var(--d) ease-in-out var(--dl) infinite alternate}
@keyframes orDrift{from{transform:translateX(-4vw)}to{transform:translateX(4vw)}}
.or-flash{background:radial-gradient(ellipse 60% 50% at var(--fx) 15%,rgba(210,235,255,.55),rgba(160,200,255,.12) 60%,transparent);opacity:0;animation:orFlash 11s linear var(--dl) infinite}
@keyframes orFlash{0%,58%,61%,63%,100%{opacity:0}59%,62%{opacity:1}}
.or-bolt{top:0;left:var(--fx);width:min(140px,14vw);margin-left:-70px;opacity:0;filter:drop-shadow(0 0 10px #bfe3ff);animation:orFlash 11s linear var(--dl) infinite}
/* ---------- Or et noir ---------- */
.pr-sky{background:radial-gradient(ellipse 70% 50% at 50% 0,rgba(232,193,112,.12),transparent 70%),linear-gradient(180deg,#0b0906,#100c07)}
.pr-fan{left:50%;top:-6vh;width:150vmin;height:75vmin;margin-left:-75vmin;background:repeating-conic-gradient(from 90deg at 50% 0,rgba(232,193,112,.16) 0 .6deg,transparent .6deg 7.5deg);-webkit-mask:radial-gradient(circle at 50% 0,transparent 0 18%,#000 19% 60%,transparent 70%);mask:radial-gradient(circle at 50% 0,transparent 0 18%,#000 19% 60%,transparent 70%)}
.pr-arc{left:50%;top:-6vh;border-radius:50%;border:1px solid rgba(232,193,112,.22);transform:translateX(-50%)}
.pr-silk{top:-20vh;left:0;width:60vw;height:140vh;background:linear-gradient(100deg,transparent 30%,rgba(246,220,160,.08) 45%,rgba(246,220,160,.2) 50%,rgba(246,220,160,.08) 55%,transparent 70%);animation:prSilk 13s ease-in-out infinite}
@keyframes prSilk{0%{transform:translateX(-70vw) rotate(8deg)}60%,100%{transform:translateX(120vw) rotate(8deg)}}
.af-gold{width:var(--s);height:var(--s);background:#ffe7a8;border-radius:1px;transform:rotate(45deg);box-shadow:0 0 8px rgba(255,215,120,.9)}
/* ---------- Magma ---------- */
.mg-sky{background:radial-gradient(ellipse 80% 45% at 50% 110%,rgba(255,90,31,.5),rgba(120,20,5,.25) 50%,transparent 75%),linear-gradient(180deg,#070201,#160502 60%,#2a0803)}
.mg-heat{left:-10%;right:-10%;bottom:-10vh;height:50vh;background:radial-gradient(ellipse 50% 60% at 50% 100%,rgba(255,140,40,.35),transparent 70%);animation:afPulse 4s ease-in-out infinite;--lo:.45}
.mg-cracks{left:0;right:0;bottom:0;height:60vh}
.mg-cracks svg{position:absolute;bottom:0;width:100%;height:100%}
.mg-cracks .g{animation:afPulse 3.2s ease-in-out infinite;--lo:.3}
.mg-cracks .g2{animation-delay:-1.6s}
.af-ember{width:var(--s);height:var(--s);border-radius:50%;background:#ffd08a;box-shadow:0 0 6px 2px rgba(255,120,30,.9),0 0 14px 4px rgba(255,60,10,.4)}
/* ---------- Holographique ---------- */
.ho-sky{background:#0b0a16}
.ho-blob{left:var(--x);top:var(--y);width:62vmax;height:62vmax;margin:-31vmax 0 0 -31vmax;border-radius:50%;background:radial-gradient(circle,var(--c),transparent 62%);opacity:.42;mix-blend-mode:screen;animation:afWander var(--d) ease-in-out var(--dl) infinite}
.ho-grain{opacity:.16;background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.ho-grid{background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px}
/* ---------- Banquise ---------- */
.gl-sky{background:radial-gradient(ellipse 80% 50% at 50% 0,rgba(155,231,255,.18),transparent 70%),linear-gradient(180deg,#04121c,#0b2a3d 70%,#123a52)}
.gl-ice{left:0;right:0;bottom:0;height:42vh}
.gl-ice svg{position:absolute;bottom:0;width:100%;height:100%}
.gl-frost{background:radial-gradient(ellipse 90% 80% at 50% 50%,transparent 60%,rgba(200,240,255,.14) 85%,rgba(220,248,255,.26))}
.gl-glint{left:-40vw;top:0;width:40vw;height:100vh;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.08) 50%,transparent 60%);animation:prSilk 10s ease-in-out infinite}
.af-snow{width:var(--s);height:var(--s);border-radius:50%;background:#fff;opacity:var(--o);box-shadow:0 0 4px rgba(255,255,255,.7)}
/* ---------- Nouvel An ---------- */
.nw-sky{background:linear-gradient(180deg,#03050f 0%,#070c24 55%,#16245a 100%)}
.nw-burst{left:var(--x);top:var(--y);width:0;height:0}
.nw-burst i{position:absolute;left:0;top:0;width:0;height:0;transform:rotate(var(--a))}
.nw-burst i::before{content:"";position:absolute;left:-2px;top:-2px;width:4px;height:4px;border-radius:50%;background:var(--c);box-shadow:0 0 6px 1px var(--c);opacity:0;animation:nwSpark var(--d) cubic-bezier(.12,.75,.3,1) var(--dl) infinite}
.nw-burst::after{content:"";position:absolute;left:-60px;top:-60px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,var(--c),transparent 65%);opacity:0;animation:nwFlash var(--d) ease-out var(--dl) infinite}
.nw-burst::before{content:"";position:absolute;left:-1px;top:0;width:2px;height:40vh;background:linear-gradient(180deg,var(--c),transparent);transform-origin:top;opacity:0;animation:nwTrail var(--d) ease-out var(--dl) infinite}
@keyframes nwSpark{0%,14%{opacity:0;transform:translateX(0)}15%{opacity:1}42%{opacity:1;transform:translateX(var(--r))}62%,100%{opacity:0;transform:translateX(calc(var(--r) * 1.15))}}
@keyframes nwFlash{0%,14%{opacity:0}16%{opacity:.55}40%,100%{opacity:0}}
@keyframes nwTrail{0%{opacity:0;transform:translateY(40vh) scaleY(.2)}2%{opacity:.8}14%{opacity:.8;transform:translateY(0) scaleY(1)}16%,100%{opacity:0;transform:translateY(0) scaleY(0)}}
/* ---------- Fête ---------- */
.cf-sky{background:radial-gradient(ellipse 70% 50% at 50% 100%,rgba(255,92,168,.22),transparent 70%),linear-gradient(180deg,#0c0619,#1d0e36)}
.cf-spot{bottom:-12vh;width:46vw;height:135vh;background:linear-gradient(0deg,rgba(255,255,255,.16),rgba(255,255,255,.0) 85%);clip-path:polygon(47% 100%,53% 100%,100% 0,0 0);transform-origin:50% 100%}
.cf-spot--l{left:-6vw;animation:cfL 8s ease-in-out infinite alternate}
.cf-spot--r{right:-6vw;animation:cfR 9s ease-in-out infinite alternate;background:linear-gradient(0deg,rgba(255,210,63,.16),rgba(255,210,63,0) 85%)}
@keyframes cfL{from{transform:rotate(-8deg)}to{transform:rotate(24deg)}}
@keyframes cfR{from{transform:rotate(8deg)}to{transform:rotate(-24deg)}}
.cf-ball{left:50%;top:-2vh;width:13vmin;height:13vmin;margin-left:-6.5vmin;border-radius:50%;background:repeating-conic-gradient(#e6e6f0 0 10deg,#8d8da8 10deg 20deg),#ccc;box-shadow:0 0 50px 10px rgba(255,255,255,.18);animation:afSpin 9s linear infinite}
.af-conf::before{left:0;top:0;width:var(--s);height:calc(var(--s) * .45);background:var(--c);border-radius:1px;animation:afFlutter var(--f) linear infinite}

/* Couche du dessus (#ltdThemeFx) : discrète, sous 760 px moins de particules (layout.js). */
.ltdx{position:absolute;top:0;left:0;right:0;bottom:0}
.ltdx .af{opacity:var(--o,.9)}
.ltdx .af-rise{opacity:0}
/* « Réduire les animations » est actif chez Morgan : les scènes gardent leurs boucles, comme Halloween. */
@media (prefers-reduced-motion:reduce){#ltdAmb *,#ltdAmb *::before,#ltdAmb *::after,.ltdx *,.ltdx *::before,.ltdx *::after{animation-iteration-count:infinite!important}}

/* @mix-fallback (généré par mix-fallback.js, ne pas modifier à la main) */
@supports not (color:color-mix(in srgb,red,blue)){}
