/* Seasonal palette. Removing .nl-xmas restores every default without a reload. */
html.nl-xmas {
  --nl-primary: #b7313d;
  --nl-soft: #f4d5d6;
  --nl-highlight: #e6a5ab;
  --nl-blue: #b7313d;
  --nl-selected: #f4d5d6;
  --nl-border: #423039;
  --nl-surface: #19131b;
  --nl-card: #1d1720;
  --nl-muted: #b39ea8;
  --nl-text: #fff2f2;
  --ac-accent: #b7313d;
  --ac-accent-hover: #d14350;
  --ac-border: #3b2934;
  --ac-surface: #17121a;
  --ac-raised: #241a24;
  --ac-bg: #0d0b10;
}
html.nl-xmas body { --accent: #b7313d !important; --accent-rgb: 183,49,61 !important; --primary: 355 58% 45% !important; background-color: #0d0b10 !important; }
html.nl-xmas body #root .fl-saas-header { background: #110e15f5 !important; border-color: #402b36 !important; }
html.nl-xmas body #root .console-nav .fl-nav-link--active { background: #3a1e2b !important; color: #f4d5d6 !important; }
html.nl-xmas body #root .console-nav i { color: #e6a5ab !important; }
html.nl-xmas .nl-hero { background: #19131b; }
html.nl-xmas .nl-hero-art { background-image: url('/assets/new-leak-xmas-glow.png') !important; }
html.nl-xmas .nl-hero::before { background: linear-gradient(90deg,#19131b 0%,#19131b 32%,#19131bb3 51%,transparent 90%) !important; }
html.nl-xmas .nl-hero h2 span, html.nl-xmas .nl-eyebrow { color: #e6a5ab !important; }
html.nl-xmas .nl-hero p { color: #bdadb9; }
html.nl-xmas .nl-primary { background: #b7313d; border-color: #cc4b56; }
html.nl-xmas .nl-secondary { background: #2b1b26; border-color: #64404e; color: #edd1dc; }
html.nl-xmas body #root :is(.console-card,.console-card .console-card__body) { background: #1c151f !important; border-color: #47303d !important; }
html.nl-xmas body #root .console-card:hover { border-color: #ac5f6c !important; }
html.nl-xmas body #root .filter-category-row-active { background: #f4d5d6 !important; border-color: #f4d5d6 !important; color: #381c29 !important; }
html.nl-xmas body #root .filter-sidebar :is(.fl-glow-search,.fl-glow-search__main) { background: #1b141e !important; border-color: #4a3342 !important; }
html.nl-xmas body #root .fl-post-modal { background: #19131b !important; border-color: #61404f !important; }
html.nl-xmas body #root .fl-post-modal__media { border-color: #4b3341 !important; }
html.nl-xmas body #root .fl-post-modal__kicker { color: #e6a5ab !important; }
html.nl-xmas body #wkAuthModal .wka-card { background: #19131b !important; border-color: #61404f !important; }
html.nl-xmas #wkAuthModal .nl-auth-cover { background-image: linear-gradient(90deg,#140c17aa,#140c1730),url('/assets/new-leak-xmas-city.png') !important; }
html.nl-xmas body #vipDevModal :is(.wk-clean-box,.wk-clean-list li) { background: #211722 !important; border-color: #4d3444 !important; }
html.nl-xmas body #vipDevModal .wk-shop-tab.is-active { background: #f4d5d6 !important; border-color: #f4d5d6 !important; color: #381c29 !important; }
html.nl-xmas body #wkqPage #wkqst :is(.q,.tier,.guest),html.nl-xmas body #wkqOverlay :is(.wkq-dialog,.q,.tier) { background: #211722 !important; border-color: #4d3444 !important; }
html.nl-xmas body #wkWheelFab { background: #361c2b !important; border-color: #744353 !important; color: #f2b9bf !important; }
html.nl-xmas .nl-wheel .stage { background: #140f19; }
html.nl-xmas .nl-wheel .hub { background: #f4d5d6; color: #381c29; box-shadow: 0 0 0 6px #381c29,0 0 0 8px #a16b78; }
html.nl-xmas .nl-wheel .side { background: #19131b; border-color: #4d3444; }
html.nl-xmas body #root #wk-site-notice { background: #2a1925 !important; border-color: #573242 !important; }
html.nl-xmas body #root #wk-site-notice :is(.wkn-label,.wkn-icon) { color: #efaeb4 !important; }
html.nl-xmas .sidebar-menu li.active a { background: #3a1e2b !important; color: #f4d5d6 !important; }
html.nl-xmas .sidebar-menu li.active a i { color: #f4d5d6 !important; }
html.nl-xmas .btn-primary { background: #b7313d !important; border-color: #b7313d !important; }
/* Dense snow in three depth layers; the overlay never intercepts clicks. */
html.nl-xmas.nl-snow body::after {
  content: ''; display: block !important; position: fixed; inset: 0;
  width: auto !important; height: auto !important; opacity: .95 !important;
  visibility: visible !important; pointer-events: none; z-index: 2147483000;
  background-image:
    radial-gradient(3px 3px at 15% 20%, #fff 55%, transparent 75%),
    radial-gradient(3px 3px at 75% 65%, #e5efff 55%, transparent 75%),
    radial-gradient(3px 3px at 35% 35%, #fff 55%, transparent 75%),
    radial-gradient(3px 3px at 85% 85%, #fff 55%, transparent 75%),
    radial-gradient(5px 5px at 20% 75%, #fff 45%, transparent 75%),
    radial-gradient(5px 5px at 65% 25%, #fff 45%, transparent 75%);
  background-size: 70px 110px, 70px 110px, 120px 170px, 120px 170px, 190px 240px, 190px 240px;
  animation: nlSnow 12s linear infinite;
}
@keyframes nlSnow {
  to { background-position: 0 110px, 0 110px, 0 340px, 0 340px, 0 720px, 0 720px; }
}
#nlCalendarMobile { display: none; }
@media(max-width:767px) { #nlCalendarMobile { display: grid; place-items: center; position: fixed; right: 18px; bottom: 20px; z-index: 9991; width: 44px; height: 44px; background: #a32b3b; border: 1px solid #d7838d; border-radius: 12px; color: white; box-shadow: 0 8px 24px #0005; } html.nl-xmas .nl-hero-art { background-image: url('/assets/new-leak-xmas-city.png') !important; } html.nl-xmas .nl-hero::before { background: linear-gradient(0deg,#19131b 0%,#19131b 49%,#19131b80 70%,transparent 100%) !important; } }
@media(prefers-reduced-motion:reduce) { html.nl-xmas.nl-snow body::after { animation: none; } }
html.nl-xmas body #root .console-card .console-card__cat { background: #291925 !important; color: #e6b6c4 !important; border-color: #744657 !important; }
html.nl-xmas body #vipDevModal .wk-clean-price-badge { background: #38202e !important; border-color: #6b3d4d !important; }
html.nl-xmas body #vipDevModal .wk-clean-price-val { color: #f4d5d6 !important; }
html.nl-xmas body #vipDevModal .wk-clean-btn-paypal { background: #352335 !important; border-color: #644056 !important; }
html.nl-xmas body #wkqst .q-ic { background: #3a2030 !important; color: #e6a5ab !important; }
.nl-holiday-mascot { position: fixed; right: 22px; bottom: 22px; z-index: 9980; pointer-events: none; display: flex; align-items: center; gap: 9px; padding: 9px 13px; border: 1px solid #623c4d; background: #251723e8; border-radius: 10px; color: #eac5cf; font: 500 11px Inter,system-ui,sans-serif; box-shadow: 0 8px 25px #0003; }
.nl-holiday-mascot span { font-size: 22px; }
@media(max-width:767px) { .nl-holiday-mascot { display: none; } }
/* Extra decorations are visual-only: they never cover a clickable surface. */
.nl-holiday-layer { position:fixed; inset:0; z-index:9980; pointer-events:none; overflow:hidden; }
.nl-holiday-layer>div { display:none; }
.nl-holiday-layer.has-garlands .nl-holiday-garland { display:block; position:absolute; inset:0 0 auto; height:27px; background:radial-gradient(ellipse at 50% 0,#315242 0 35%,transparent 38%) 0 0/80px 38px repeat-x,radial-gradient(ellipse at 50% 0,#1c352a 0 45%,transparent 48%) 35px 0/80px 43px repeat-x; opacity:.8; filter:drop-shadow(0 4px 4px #0005); }
.nl-holiday-layer.has-lights .nl-holiday-lights { display:flex; position:absolute; left:0; right:0; top:0; height:31px; align-items:flex-start; justify-content:space-around; border-top:1px solid #5c5442; }
.nl-holiday-lights i { display:block; width:7px; height:11px; border-radius:3px 3px 7px 7px; background:#cf6372; margin-top:calc(9px + mod(var(--n), 3)*2px); box-shadow:0 0 10px #df62765c; transform:rotate(-10deg); animation:nlChristmasLights 4s ease-in-out infinite; animation-delay:calc(var(--n)*-.3s); }
.nl-holiday-lights i:nth-child(3n) { background:#dbbc80; box-shadow:0 0 10px #e8c78f5c; transform:rotate(12deg); }
.nl-holiday-lights i:nth-child(3n + 1) { background:#e9dcd0; box-shadow:0 0 9px #f1e8d45c; }
@keyframes nlChristmasLights { 0%,100% { opacity:.55; } 50% { opacity:1; } }
.nl-holiday-layer.has-tree .nl-holiday-tree { display:block; position:absolute; bottom:64px; left:8px; width:94px; opacity:.85; filter:drop-shadow(0 10px 15px #0005); }
.nl-holiday-tree svg,.nl-holiday-gifts svg { width:100%; height:auto; }
.nl-holiday-layer.has-gifts .nl-holiday-gifts { display:block; position:absolute; bottom:65px; right:14px; width:114px; opacity:.8; filter:drop-shadow(0 10px 15px #0005); }
.nl-holiday-layer.has-countdown .nl-holiday-countdown { display:block; position:absolute; left:50%; bottom:15px; transform:translateX(-50%); padding:8px 15px; border:1px solid #714653; background:#241621e6; border-radius:20px; color:#d6b2bd; font:500 10px Inter,system-ui,sans-serif; letter-spacing:.3px; }
html.nl-xmas .nl-hero { box-shadow:inset 0 1px #fff1,0 0 0 1px #58313f; }
html.nl-xmas .nl-hero::after { content:'✦'; position:absolute; right:24px; top:20px; color:#dab781; font-size:20px; opacity:.8; }
html.nl-xmas .nl-cal-hero::after { content:'✦'; position:absolute; right:28%; top:25px; color:#dab781; font-size:21px; }
html.nl-xmas body #root .console-card__media { box-shadow:inset 0 2px #f1dbde44; }
html.nl-xmas .nl-cal-day.today { box-shadow:inset 0 1px #ffffff22,0 0 24px #bc52671a; }
html.nl-xmas .nl-cal-day.today::before { content:'🎁'; position:absolute; right:12px; top:37px; font-size:21px; opacity:.7; }
@media(max-width:900px){.nl-holiday-layer.has-tree .nl-holiday-tree,.nl-holiday-layer.has-gifts .nl-holiday-gifts{display:none}}
@media(max-width:600px){.nl-holiday-lights i:nth-child(even){display:none}.nl-holiday-layer.has-countdown .nl-holiday-countdown{bottom:15px;font-size:9px;padding:7px 10px;max-width:200px;white-space:nowrap}.nl-holiday-layer.has-garlands .nl-holiday-garland{height:20px;opacity:.6}}
@media(prefers-reduced-motion:reduce){.nl-holiday-lights i{animation:none}}

/* Seasonal equivalents for the remaining blue surface tones. */
html.nl-xmas {
  --nl-tone-008dff: #ff002b;
  --nl-tone-32adff: #ff3254;
  --nl-tone-07090e: #0e0708;
  --nl-tone-10151e: #1e1012;
  --nl-tone-171f2c: #2c171b;
  --nl-tone-f3f6ff: #fff3f5;
  --nl-tone-8995a9: #a9898e;
  --nl-tone-222e40: #402227;
  --nl-tone-090d14ed: #14090bed;
  --nl-tone-233047: #472329;
  --nl-tone-9eacc0: #c09ea4;
  --nl-tone-12243d: #3d1219;
  --nl-tone-50b5ff: #ff506d;
  --nl-tone-162236: #36161b;
  --nl-tone-32a7ff: #ff3254;
  --nl-tone-121c2a: #2a1216;
  --nl-tone-2b3b51: #512b31;
  --nl-tone-d0dcee: #eed0d5;
  --nl-tone-152338: #38151b;
  --nl-tone-314562: #623139;
  --nl-tone-273c57: #57272f;
  --nl-tone-101724: #241013;
  --nl-tone-0a101afc: #1a0a0dfc;
  --nl-tone-0a101af7: #1a0a0df7;
  --nl-tone-0a101a9e: #1a0a0d9e;
  --nl-tone-0a101a00: #1a0a0d00;
  --nl-tone-008dff15: #ff002b15;
  --nl-tone-61baff: #ff617b;
  --nl-tone-00b7ff: #ff002b;
  --nl-tone-009dff: #ff002b;
  --nl-tone-20a6ff: #ff2045;
  --nl-tone-9baec7: #c79ba2;
  --nl-tone-269eff: #ff264a;
  --nl-tone-008dff30: #ff002b30;
  --nl-tone-0c1727bb: #270c11bb;
  --nl-tone-354b67: #67353d;
  --nl-tone-c7daf2: #f2c7ce;
  --nl-tone-1279ce: #ce1231;
  --nl-tone-d0dfef: #efd0d5;
  --nl-tone-07101bd9: #1b070ad9;
  --nl-tone-38506b: #6b3841;
  --nl-tone-1e2d41: #411e24;
  --nl-tone-0d131d: #1d0d10;
  --nl-tone-8095b0: #b08088;
  --nl-tone-e4eefb: #fbe4e8;
  --nl-tone-2fa7ff: #ff2f52;
  --nl-tone-0d1e32: #320d13;
  --nl-tone-1e3b5c: #5c1e28;
  --nl-tone-143254: #54141f;
  --nl-tone-47b0ff: #ff4766;
  --nl-tone-57b8ff: #ff5773;
  --nl-tone-c6d8ee: #eec6cd;
  --nl-tone-111d2d: #2d1116;
  --nl-tone-0c121d: #1d0c0f;
  --nl-tone-22334b: #4b2229;
  --nl-tone-122e4c: #4c121c;
  --nl-tone-3baaff: #ff3b5c;
  --nl-tone-244867: #67242f;
  --nl-tone-8d9fb7: #b78d94;
  --nl-tone-f2f7ff: #fff2f4;
  --nl-tone-4a9fe2: #e24a63;
  --nl-tone-24334a: #4a242a;
  --nl-tone-0e1520: #200e11;
  --nl-tone-28384d: #4d282e;
  --nl-tone-141e2c: #2c1418;
  --nl-tone-9fafc4: #c49fa5;
  --nl-tone-007ce5: #e50026;
  --nl-tone-249eff: #ff2449;
  --nl-tone-183b60: #601824;
  --nl-tone-8dbce6: #e68d9c;
  --nl-tone-09132170: #21090d70;
  --nl-tone-304663: #633039;
  --nl-tone-080e18: #18080b;
  --nl-tone-e3efff: #ffe3e8;
  --nl-tone-5a99ce: #ce5a6d;
  --nl-tone-7c93ae: #ae7c84;
  --nl-tone-131e2e: #2e1318;
  --nl-tone-263b54: #54262e;
  --nl-tone-899db9: #b98991;
  --nl-tone-101925: #251014;
  --nl-tone-25364d: #4d252c;
  --nl-tone-008dff18: #ff002b18;
  --nl-tone-27384f: #4f272e;
  --nl-tone-288cdb: #db2846;
  --nl-tone-07192be8: #2b070de8;
  --nl-tone-66beff: #ff6680;
  --nl-tone-edf4ff: #ffedf0;
  --nl-tone-75a0c8: #c87583;
  --nl-tone-8095b1: #b18088;
  --nl-tone-24374f: #4f242b;
  --nl-tone-072a2a: #2a070d;
  --nl-tone-172a40: #40171e;
  --nl-tone-79add8: #d87989;
  --nl-tone-2d4968: #682d37;
  --nl-tone-08121ed9: #1e080cd9;
  --nl-tone-bacfe5: #e5bac1;
  --nl-tone-3d5a78: #783d47;
  --nl-tone-259bfb: #fb2549;
  --nl-tone-20334c: #4c2027;
  --nl-tone-0d1521: #210d10;
  --nl-tone-8096b4: #b48089;
  --nl-tone-0d1724: #240d11;
  --nl-tone-315575: #75313c;
  --nl-tone-294360: #602932;
  --nl-tone-070e19: #19070a;
  --nl-tone-50b9ff: #ff506d;
  --nl-tone-2c6089: #892c3c;
  --nl-tone-030912d9: #120306d9;
  --nl-tone-35b2ff: #ff3557;
  --nl-tone-0b233e: #3e0b14;
  --nl-tone-38abff: #ff3859;
  --nl-tone-2a76b1: #b12a41;
  --nl-tone-008dff22: #ff002b22;
  --nl-tone-0a101afa: #1a0a0dfa;
  --nl-tone-0a101ae8: #1a0a0de8;
  --nl-tone-0a101a33: #1a0a0d33;
  --nl-tone-090f19: #19090c;
  --nl-tone-090f19fa: #19090cfa;
  --nl-tone-090f1940: #19090c40;
  --nl-tone-090f1980: #19090c80;
  --nl-tone-0c1017f5: #170c0ef5;
  --nl-tone-222a36: #362225;
  --nl-tone-a6afbf: #bfa6aa;
  --nl-tone-1a2432: #321a1e;
  --nl-tone-eaf3ff: #ffeaed;
  --nl-tone-88acd2: #d28894;
  --nl-tone-101722: #221013;
  --nl-tone-101722b3: #221013b3;
  --nl-tone-8faacb: #cb8f99;
  --nl-tone-a9c8ed: #eda9b4;
  --nl-tone-a1aec0: #c0a1a6;
  --nl-tone-277bd2: #d22744;
  --nl-tone-354353: #53353a;
  --nl-tone-becbdd: #ddbec3;
  --nl-tone-10172299: #22101399;
  --nl-tone-3286dc: #dc324e;
  --nl-tone-8794a8: #a8878d;
  --nl-tone-111b28: #281115;
  --nl-tone-243244: #442429;
  --nl-tone-232d3b: #3b2327;
  --nl-tone-253040: #40252a;
  --nl-tone-8c9aaf: #af8c92;
  --nl-tone-7c9ab9: #b97c86;
  --nl-tone-2b3748: #482b30;
  --nl-tone-263243: #43262b;
  --nl-tone-d8e7fa: #fad8de;
  --nl-tone-142237: #37141a;
  --nl-tone-8196b1: #b18189;
  --nl-tone-425c7e: #7e424c;
  --nl-tone-14223710: #37141a10;
  --nl-tone-111925: #251114;
  --nl-tone-273243: #43272c;
  --nl-tone-55769d: #9d5561;
  --nl-tone-0d1622e6: #220d11e6;
  --nl-tone-b7c9e1: #e1b7be;
  --nl-tone-6684a44d: #a466704d;
  --nl-tone-35465c: #5c353c;
  --nl-tone-384c65: #653840;
  --nl-tone-a3bbd8: #d8a3ac;
  --nl-tone-162234: #34161b;
  --nl-tone-10172280: #22101380;
  --nl-tone-293649: #49292e;
  --nl-tone-edf3fc: #fcedf0;
  --nl-tone-96a6bc: #bc969c;
  --nl-tone-192536: #36191e;
  --nl-tone-b9c9df: #dfb9bf;
  --nl-tone-6385ad: #ad636f;
  --nl-tone-1a2d43: #431a21;
  --nl-tone-263449: #49262c;
  --nl-tone-739dcc: #cc7382;
  --nl-tone-1d2a3c: #3c1d22;
  --nl-tone-b1c4de: #deb1b9;
  --nl-tone-151f2e: #2e1519;
  --nl-tone-b7c8de: #deb7be;
  --nl-tone-a4b5cb: #cba4ab;
  --nl-tone-19283a: #3a191f;
  --nl-tone-334a65: #65333b;
  --nl-tone-bbc8da: #dabbc0;
  --nl-tone-91b2d7: #d7919d;
  --nl-tone-1c2b40: #401c22;
  --nl-tone-3b5575: #753b45;
  --nl-tone-0c131e: #1e0c0f;
  --nl-tone-34475f: #5f343b;
  --nl-tone-0c121c: #1c0c0f;
  --nl-tone-21365044: #50212944;
  --nl-tone-bac9dd: #ddbac0;
  --nl-tone-b5c4d8: #d8b5bb;
  --nl-tone-9fbfe7: #e79fab;
  --nl-tone-6685ac: #ac6672;
  --nl-tone-192638: #38191e;
  --nl-tone-b1c6e1: #e1b1b9;
  --nl-tone-c5d3e6: #e6c5cb;
  --nl-tone-162131: #31161b;
  --nl-tone-03070dcc: #0d0305cc;
  --nl-tone-344357: #57343a;
  --nl-tone-0c1423aa: #230c10aa;
  --nl-tone-0c142330: #230c1030;
  --nl-tone-2b3c51: #512b31;
  --nl-tone-9ab3d2: #d29aa3;
  --nl-tone-0b1423c9: #230b0fc9;
  --nl-tone-829ab333: #b3828a33;
  --nl-tone-c1cfe2: #e2c1c7;
  --nl-tone-293b53: #532930;
  --nl-tone-94a8c1: #c1949c;
  --nl-tone-d5e6fb: #fbd5db;
  --nl-tone-17283f: #3f171e;
  --nl-tone-e6f0ff: #ffe6ea;
  --nl-tone-284b75: #752835;
  --nl-tone-456183: #83454f;
  --nl-tone-eef6ff: #ffeef1;
  --nl-tone-8eafd5: #d58e9a;
  --nl-tone-28374b: #4b282e;
  --nl-tone-7e94b0: #b07e86;
  --nl-tone-9eb5d1: #d19ea7;
  --nl-tone-344253: #533439;
  --nl-tone-080d14: #14080a;
  --nl-tone-283546: #46282d;
  --nl-tone-1b2737: #371b20;
  --nl-tone-96bce8: #e896a4;
  --nl-tone-f1f5fc: #fcf1f3;
  --nl-tone-1b283a: #3a1b20;
  --nl-tone-a6bad3: #d3a6ae;
  --nl-tone-8698af: #af868d;
  --nl-tone-2a3646: #462a2f;
  --nl-tone-c9dff9: #f9c9d1;
  --nl-tone-8eb8e8: #e88e9d;
  --nl-tone-b3c0d2: #d2b3b8;
  --nl-tone-cbd7e8: #e8cbd0;
  --nl-tone-8091a9: #a98087;
  --nl-tone-b0c4df: #dfb0b8;
  --nl-tone-8298b3: #b3828a;
  --nl-tone-14243b: #3b141b;
  --nl-tone-edf5ff: #ffedf0;
  --nl-tone-243246: #46242a;
  --nl-tone-90a2b8: #b89097;
  --nl-tone-304055: #553036;
  --nl-tone-aabdd7: #d7aab2;
  --nl-tone-d0dceb: #ebd0d5;
  --nl-tone-788ca7: #a77880;
  --nl-tone-34485f: #5f343b;
  --nl-tone-1b2a3e: #3e1b21;
  --nl-tone-b6cce7: #e7b6be;
  --nl-tone-0b1523df: #230b0fdf;
  --nl-tone-172335: #35171c;
  --nl-tone-28364a: #4a282e;
  --nl-tone-8fa2bd: #bd8f97;
  --nl-tone-398bde: #de3955;
  --nl-tone-0d131e: #1e0d10;
  --nl-tone-6f849f: #9f6f77;
  --nl-tone-9cacc2: #c29ca2;
  --nl-tone-7891b0: #b07881;
  --nl-tone-294e7a: #7a2937;
  --nl-tone-0c111b: #1b0c0f;
  --nl-tone-1b2d45: #451b22;
  --nl-tone-304b6a: #6a303a;
  --nl-tone-9fbfe6: #e69fab;
  --nl-tone-91a5bf: #bf9199;
  --nl-tone-0b121e: #1e0b0e;
  --nl-tone-d6e3f4: #f4d6db;
  --nl-tone-30445f: #5f3038;
  --nl-tone-83a6d1: #d18390;
  --nl-tone-3985d4: #d43953;
  --nl-tone-19283c: #3c191f;
  --nl-tone-b7cce5: #e5b7bf;
  --nl-tone-344c6a: #6a343d;
  --nl-tone-26364b: #4b262c;
  --nl-tone-142033: #331419;
  --nl-tone-91a8c6: #c6919a;
  --nl-tone-182538: #38181d;
  --nl-tone-0d0b10: #100b0c;
}
.nl-holiday-layer.has-garlands .nl-holiday-ornaments { display:block; position:absolute; inset:0; }
.nl-ornament { position:absolute; top:0; width:26px; border-top:0; height:66px; transform-origin:top center; animation:nlOrnamentSway 8s ease-in-out infinite; }
.nl-ornament::before { content:''; display:block; width:1px; height:37px; background:#c8a46d; margin:auto; }
.nl-ornament i { display:block; position:relative; width:25px; height:28px; border-radius:50%; background:radial-gradient(circle at 32% 25%,#d9858f,#9b2e47 45%,#4c1a2f 90%); border:1px solid #c5828e; box-shadow:0 5px 12px #0005,inset -4px -4px 8px #2a071e33; }
.nl-ornament i::before { content:''; position:absolute; width:9px; height:5px; border-radius:2px 2px 0 0; background:#b59260; top:-5px; left:7px; }
.nl-ornament i::after { content:'✦'; position:absolute; inset:5px; font:12px Georgia,serif; text-align:center; color:#e9c597; opacity:.65; }
.nl-ornament.left { left:20px; }
.nl-ornament.right { right:24px; height:85px; animation-delay:-3s; }
.nl-ornament.right::before { height:54px; }
.nl-ornament.right i { background:radial-gradient(circle at 30% 25%,#f3dbae,#b58d53 50%,#69502e 90%); border-color:#e0c18a; }
.nl-ornament.right i::after { color:#6c352b; }
.nl-holiday-bow { position:absolute; top:0; left:50%; width:43px; height:28px; transform:translateX(-50%); color:#ddb67a; display:grid; place-items:center; z-index:1; font-size:12px; }
.nl-holiday-bow::before,.nl-holiday-bow::after { content:''; position:absolute; top:3px; width:22px; height:14px; background:linear-gradient(135deg,#bd4b61,#692139); border:1px solid #d98190; z-index:-1; }
.nl-holiday-bow::before { left:-10px; border-radius:4px 11px 3px 11px; transform:rotate(20deg); }
.nl-holiday-bow::after { right:-10px; border-radius:11px 4px 11px 3px; transform:rotate(-20deg); }
@keyframes nlOrnamentSway { 0%,100% { transform:rotate(-4deg); } 50% { transform:rotate(4deg); } }
html.nl-xmas body #root .console-card { position:relative; }
html.nl-xmas body #root .console-card .console-card__media { border-top:2px solid #e8d7dc8a !important; }
html.nl-xmas body #root .console-card .console-card__cat::before { content:'❄'; font-size:10px; margin-right:6px; color:#e9d5df; }
html.nl-xmas body #wkAuthModal .nl-auth-cover { border-top:2px solid #f0dbe155; }
html.nl-xmas .nl-cal-hero { box-shadow:inset 0 2px #fff2; }
html.nl-xmas .nl-cal-kicker::after { content:'  ❄'; color:#e2bdc8; }
html.nl-xmas .nl-cal-day.special::after { content:'✦'; position:absolute; bottom:12px; right:12px; font-size:18px; color:#c2a177; opacity:.7; }
html.nl-xmas body.nl-admin .nl-holiday-layer .nl-holiday-tree,html.nl-xmas body.nl-admin .nl-holiday-layer .nl-holiday-gifts { display:none; }
@media(max-width:767px){.nl-ornament.left{left:9px}.nl-ornament.right{right:9px}.nl-ornament{transform:scale(.75);transform-origin:top center;animation:none}.nl-ornament.right{display:none}.nl-holiday-bow{display:none}}
@media(prefers-reduced-motion:reduce){.nl-ornament{animation:none}}

/* Festive edge scenes leave every interactive surface unobstructed. */
.nl-festive-scenes{display:none;position:absolute;inset:0;pointer-events:none}
.has-garlands .nl-festive-scenes{display:block}
.nl-wreath{position:absolute;top:110px;left:12px;width:80px;filter:drop-shadow(0 5px 12px #0006)}
.nl-hanging-stars{position:absolute;top:0;right:8%;display:flex;gap:18px;color:#e3be7e;text-shadow:0 0 18px #daba6b66}
.nl-hanging-stars span{position:relative;padding-top:74px;font:32px Georgia,serif}
.nl-hanging-stars span::before{content:'';position:absolute;top:0;bottom:35px;left:50%;width:1px;background:linear-gradient(#ac895544,#ddb87b)}
.nl-hanging-stars span:nth-child(2){padding-top:105px;font-size:24px}
.nl-hanging-stars span:nth-child(3){padding-top:52px;font-size:23px}
.nl-winter-village{position:absolute;width:360px;bottom:-1px;left:50%;transform:translateX(-50%);opacity:.8}
.nl-holiday-layer:not(.has-gifts) .nl-winter-village{display:none}
html.nl-xmas .nl-holiday-countdown{bottom:65px}
html.nl-xmas .nl-holiday-garland{filter:drop-shadow(0 4px 4px #0005)}
html.nl-xmas .nl-holiday-lights i{box-shadow:0 0 9px currentColor,0 0 20px currentColor}
html.nl-xmas body.nl-admin .nl-wreath{width:62px;top:auto;bottom:25px;left:170px}
html.nl-xmas body.nl-admin .nl-winter-village{left:auto;right:20px;transform:none;width:260px;opacity:.45}
.nl-advent-unavailable{padding:42px 24px;text-align:center;border:1px solid #ffffff12;border-radius:18px;background:#ffffff03}
.nl-advent-unavailable>i{font-size:28px;color:#ceaa77}.nl-advent-unavailable h3{margin:18px 0 10px}.nl-advent-unavailable p{color:#b8aeb4;max-width:480px;margin:0 auto 22px;line-height:1.7}
.wk-pwa-wrap .wk-pwa{border-radius:20px;border:1px solid #ffffff21;background:var(--nl-surface,#111820);box-shadow:0 12px 50px #0008;padding:20px;gap:14px}
.wk-pwa-wrap .wk-pwa__title{font-size:15px;letter-spacing:-.3px}.wk-pwa-wrap .wk-pwa__text{font-size:12px;line-height:1.6;color:#b9b7bd}.wk-pwa-wrap .wk-pwa__btn{border-radius:10px;min-height:40px}
html.nl-xmas .wk-pwa__btn--primary{background:#b63e54!important;border-color:#ce6275!important}html.nl-xmas #wk-install button[data-ok]{background:#b63e54}
@media(max-width:1100px){.nl-wreath{display:none}.nl-hanging-stars{right:6%;opacity:.7}}
@media(max-width:767px){.nl-hanging-stars{right:20px;gap:10px}.nl-hanging-stars span{padding-top:30px;font-size:21px}.nl-hanging-stars span:nth-child(2){padding-top:48px;font-size:16px}.nl-hanging-stars span:nth-child(3){display:none}.nl-winter-village{width:220px;opacity:.5}html.nl-xmas .nl-holiday-countdown{bottom:40px}body.nl-admin .nl-winter-village{display:none}}
/* Christmas scenes inside the content, in addition to the screen decorations. */
html.nl-xmas .nl-festive-panel{position:relative;isolation:isolate}
.nl-panel-christmas{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:inherit;z-index:2}
.nl-festive-presents{position:absolute;right:20px;bottom:0;width:clamp(180px,25vw,330px);filter:drop-shadow(0 4px 12px #0005)}
.nl-festive-presents svg{width:100%;display:block}
.nl-festive-ribbon{position:absolute;right:22px;top:18px;display:flex;align-items:center;gap:10px;padding:9px 17px;border:1px solid #e9c68070;background:linear-gradient(110deg,#84283de8,#ba4557e8);color:#fff0cc;font:700 9px/1.4 Inter,system-ui,sans-serif;letter-spacing:2px;border-radius:3px 3px 12px 3px;box-shadow:0 4px 20px #0004}
.nl-festive-ribbon span{color:#ebca86;font-size:13px}
.nl-festive-stockings{position:absolute;top:0;right:36%;display:flex;gap:17px;transform:rotate(-7deg)}
.nl-festive-stockings::before{content:'';position:absolute;top:0;left:-20px;right:-20px;border-top:2px solid #c5a36b}
.nl-festive-stockings span{position:relative;display:block;width:17px;height:29px;margin-top:9px;background:linear-gradient(90deg,#b6334b,#e15c6c);border-radius:0 0 4px 7px;box-shadow:1px 3px 5px #0004}
.nl-festive-stockings span::before{content:'';position:absolute;top:-3px;left:-2px;right:-2px;height:8px;border-radius:3px;background:#fff0dd}
.nl-festive-stockings span::after{content:'';position:absolute;bottom:0;left:-9px;width:20px;height:11px;border-radius:8px;background:#bd3a50}
.nl-festive-stockings span:nth-child(2){background:#356347;margin-top:14px;transform:rotate(9deg)}
.nl-festive-stockings span:nth-child(2)::after{background:#356347}
.nl-pine-corners{position:absolute;inset:0;display:none}
.nl-holiday-layer.has-garlands>.nl-pine-corners{display:block}
.nl-pine-corners>div{position:absolute;top:0;left:0;width:145px;filter:drop-shadow(2px 5px 5px #0005)}
.nl-pine-corners>div+div{left:auto;right:0;transform:scaleX(-1)}
.nl-pine-corners svg{display:block;width:100%}
.nl-holiday-layer.has-garlands .nl-holiday-garland{height:39px;opacity:1;background-size:64px 46px,64px 50px;border-top:3px solid #e5d7b9}
.nl-holiday-layer.has-tree .nl-holiday-tree{width:145px;bottom:20px;left:4px;opacity:1}
.nl-holiday-layer.has-gifts .nl-holiday-gifts{width:165px;bottom:20px;opacity:1}
.nl-holiday-layer.has-garlands .nl-winter-village{width:470px;opacity:.9}
.nl-holiday-layer.has-garlands .nl-wreath{width:100px;top:165px}
html.nl-xmas body{background-image:radial-gradient(circle at 12% 18%,#b6354612,transparent 32%),radial-gradient(circle at 85% 65%,#be985916,transparent 30%)}
html.nl-xmas .nl-cal-hero .nl-festive-presents{width:180px;opacity:.8;right:4px}
html.nl-xmas .nl-cal-hero .nl-festive-ribbon{top:8px;right:12px;padding:5px 9px;font-size:7px}
html.nl-xmas #vipModalContent .nl-panel-christmas .nl-festive-presents{width:110px;opacity:.45}
html.nl-xmas #vipModalContent .nl-festive-stockings{right:110px}
html.nl-xmas #vipModalContent .nl-festive-ribbon{display:none}
html.nl-xmas .nl-auth-cover .nl-festive-presents{width:190px;right:0}
html.nl-xmas body.nl-admin .nl-pine-corners>div{width:85px;opacity:.85}
@media(max-width:1100px){.nl-pine-corners>div{width:95px}.nl-holiday-layer.has-tree .nl-holiday-tree{width:105px}.nl-holiday-layer.has-gifts .nl-holiday-gifts{width:115px}.nl-festive-stockings{right:40%}}
@media(max-width:767px){
 .nl-pine-corners>div{width:65px}.nl-holiday-layer.has-garlands .nl-holiday-garland{height:25px}
 .nl-holiday-layer.has-tree .nl-holiday-tree{display:block;width:60px;bottom:6px;left:0;opacity:.8}
 .nl-holiday-layer.has-gifts .nl-holiday-gifts{display:block;width:70px;bottom:7px;right:0;opacity:.8}
 .nl-holiday-layer.has-garlands .nl-winter-village{width:170px;opacity:.55}
 .nl-festive-presents{width:135px;right:0;opacity:.85}
 .nl-hero .nl-panel-christmas .nl-festive-presents{width:110px;opacity:.5}
 .nl-festive-ribbon{right:10px;top:10px;padding:5px 8px;font-size:7px;letter-spacing:1px;gap:5px}
 .nl-festive-stockings{right:45%;gap:11px;transform:scale(.7);transform-origin:top right}
 html.nl-xmas .nl-cal-hero .nl-festive-presents{width:90px;opacity:.45}
 html.nl-xmas .nl-cal-hero .nl-festive-ribbon{display:none}
 html.nl-xmas body.nl-admin .nl-holiday-layer .nl-holiday-tree,html.nl-xmas body.nl-admin .nl-holiday-layer .nl-holiday-gifts{display:none}
}
