/* Lunaris - Limeris.fr by Sliver91 */

:root, .lu[data-bs-theme="dark"] {
    --lu-night: #120e22;
    --lu-night-2: #1c1630;
    --lu-plum: #4a1556;
    --lu-plum-2: #36124f;
    --lu-violet: #9b5cff;
    --lu-cyan: #3ee6e0;
    --lu-orange: #ff8a3d;
    --lu-orange-2: #f2672a;
    --lu-gold: #ffcf4a;
    --lu-gold-2: #f6a623;
    --lu-cream: #fff0d4;
    --lu-parch: #f5e5c9;
    --lu-parch-2: #efc98c;
    --lu-ink: #5a3214;
    --lu-text: #ece6ff;
    --lu-muted: #c4b8e6;
    --lu-radius: 18px;
    --lu-display: "Luckiest Guy", "Poppins", system-ui, sans-serif;

    --bs-body-font-family: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
    --bs-body-bg: #17112b;
    --bs-body-bg-rgb: 23, 17, 43;
    --bs-body-color: var(--lu-text);
    --bs-emphasis-color: #fff;
    --bs-secondary-color: var(--lu-muted);
    --bs-secondary-bg: #221a3d;
    --bs-tertiary-bg: #1d1636;
    --bs-border-color: rgba(255, 255, 255, .12);
    --bs-primary: #ff8a3d;
    --bs-primary-rgb: 255, 138, 61;
    --bs-link-color: #ffcf6e;
    --bs-link-color-rgb: 255, 207, 110;
    --bs-link-hover-color: #ffe2a3;
    --bs-link-hover-color-rgb: 255, 226, 163;
    --bs-border-radius: 12px;
    --bs-border-radius-lg: 18px;
}

html { scroll-behavior: smooth; }
body.lu { background: var(--lu-night); color: var(--lu-text); font-family: var(--bs-body-font-family); overflow-x: hidden; }
.lu ::selection { background: var(--lu-orange); color: #fff; }

/* ---------- Buttons ---------- */
.lu-btn {
    --lu-b1: #3a2f5c; --lu-b2: #2a2147; --lu-bd: #150f2a; --lu-bt: #fff;
    position: relative; display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
    padding: .6rem 1.15rem; border: 0; border-radius: 14px; cursor: pointer;
    font-weight: 800; font-size: .92rem; letter-spacing: .01em; text-decoration: none; white-space: nowrap;
    color: var(--lu-bt); background: linear-gradient(180deg, var(--lu-b1), var(--lu-b2));
    box-shadow: 0 4px 0 var(--lu-bd), 0 10px 22px rgba(0, 0, 0, .25), inset 0 1px 0 rgba(255, 255, 255, .35);
    transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.lu-btn:hover { color: var(--lu-bt); transform: translateY(-2px); filter: brightness(1.07); box-shadow: 0 6px 0 var(--lu-bd), 0 14px 26px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255, 255, 255, .35); }
.lu-btn:active { transform: translateY(3px); box-shadow: 0 1px 0 var(--lu-bd), 0 4px 10px rgba(0, 0, 0, .25), inset 0 1px 0 rgba(255, 255, 255, .25); }
.lu-btn:focus-visible { outline: 3px solid var(--lu-cyan); outline-offset: 3px; }
.lu-btn-orange { --lu-b1: #ffa04d; --lu-b2: #f0682a; --lu-bd: #b2441a; }
.lu-btn-gold { --lu-b1: #ffd95e; --lu-b2: #f6a623; --lu-bd: #b97412; --lu-bt: #4a2a08; }
.lu-btn-dark { --lu-b1: #2b2245; --lu-b2: #1b1532; --lu-bd: #0c0819; box-shadow: 0 4px 0 var(--lu-bd), 0 10px 22px rgba(0, 0, 0, .25), inset 0 0 0 1px rgba(255, 255, 255, .16); }
.lu-btn-discord { --lu-b1: #7d88ff; --lu-b2: #5865f2; --lu-bd: #3a43b8; box-shadow: 0 4px 0 var(--lu-bd), 0 12px 34px rgba(88, 101, 242, .45), inset 0 1px 0 rgba(255, 255, 255, .4); }
.lu-btn-lg { padding: .85rem 1.6rem; font-size: 1rem; border-radius: 16px; }
.lu-btn-sm { padding: .42rem .85rem; font-size: .82rem; border-radius: 11px; }
.lu-btn-ico { display: inline-grid; place-items: center; width: 2rem; height: 2rem; margin-left: -.5rem; border-radius: 10px; background: rgba(255, 255, 255, .2); }

/* ---------- Hero / header ---------- */
.lu-hero { position: relative; isolation: isolate; overflow: hidden; padding: 2.2rem 1rem 0; }
.lu-logo-text, .lu-mode-logo, .lu-mode-name, .lu-note strong, .lu-pause-title, .lu-pause-field b, .lu-pill, .lu-pause-wait, .lu-scroll-head p { text-transform: uppercase; }
.lu-is-home .lu-hero { min-height: max(100svh, 640px); display: flex; flex-direction: column; }
.lu-is-page .lu-hero { padding-bottom: 5.5rem; }

.lu-sky { position: absolute; inset: 0; z-index: -1; overflow: hidden; background: linear-gradient(180deg, #3fb8ff 0%, #74d2ff 30%, #b9e6ff 52%, #d7bfff 70%, #9c5ccd 86%, var(--lu-plum) 100%); }
.lu-sky-img { position: absolute; inset: -2%; background: center / cover no-repeat; animation: lu-zoom 40s ease-in-out infinite alternate; }
.lu-hero-img .lu-sky::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18, 14, 34, .15) 0%, transparent 30%, transparent 55%, rgba(74, 21, 86, .65) 85%, var(--lu-plum) 100%); }

.lu-scene { position: absolute; inset: 0; }
.lu-sun { position: absolute; top: -140px; right: 8%; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(255, 246, 200, .95) 0 18%, rgba(255, 230, 140, .45) 32%, transparent 66%); animation: lu-pulse 7s ease-in-out infinite; }
.lu-moon { position: absolute; top: 9%; left: 9%; width: 70px; height: 70px; border-radius: 50%; box-shadow: inset -16px 6px 0 0 #fff8e6; filter: drop-shadow(0 0 18px rgba(255, 255, 255, .7)); transform: rotate(-20deg); opacity: .85; }

/* blocky clouds */
.lu-clouds { position: absolute; inset: 0; pointer-events: none; }
.lu-cloud { position: absolute; left: 0; display: block; width: 120px; height: 32px; background: #fff; border-radius: 4px; opacity: .92;
    box-shadow: 40px -24px 0 0 #fff, 80px -12px 0 0 #fff, -24px 8px 0 -4px #fff, 140px 6px 0 -6px #fff, 0 14px 0 0 rgba(170, 200, 240, .5);
    animation: lu-drift 90s linear infinite; }
.lu-cloud-1 { top: 13%; animation-duration: 95s; animation-delay: -10s; }
.lu-cloud-2 { top: 30%; scale: .7; animation-duration: 120s; animation-delay: -70s; opacity: .8; }
.lu-cloud-3 { top: 6%; scale: 1.3; animation-duration: 140s; animation-delay: -40s; }
.lu-cloud-4 { top: 44%; scale: .55; animation-duration: 80s; animation-delay: -25s; opacity: .7; }
.lu-hero-img .lu-cloud { opacity: .55; }

/* floating islands */
.lu-isle { position: absolute; width: 150px; animation: lu-bob 6s ease-in-out infinite; }
.lu-isle > i { display: block; }
.lu-isle .lu-grass { position: relative; height: 22px; border-radius: 4px 4px 0 0; background: linear-gradient(180deg, #7ee04b 0 55%, #4fae2e 55%); box-shadow: inset 0 -4px 0 rgba(0, 0, 0, .12); }
.lu-isle .lu-dirt { height: 70px; background: linear-gradient(90deg, rgba(0, 0, 0, .1) 50%, transparent 50%) 0 0 / 22px 22px, linear-gradient(180deg, #a86b3a, #6e4220 60%, #52301a);
    clip-path: polygon(0 0, 100% 0, 92% 28%, 84% 28%, 78% 58%, 64% 58%, 58% 100%, 42% 100%, 36% 58%, 22% 58%, 16% 28%, 8% 28%); }
.lu-isle-1 { top: 22%; left: 4%; width: 190px; animation-delay: -1s; }
.lu-isle-2 { top: 16%; right: 6%; width: 170px; animation-delay: -3s; }
.lu-isle-3 { top: 48%; left: 18%; width: 110px; animation-delay: -2s; opacity: .9; }
.lu-isle-4 { top: 46%; right: 17%; width: 130px; animation-delay: -4s; }
.lu-isle-5 { top: 8%; left: 34%; width: 80px; animation-delay: -5s; opacity: .75; }
.lu-tree { position: absolute; bottom: 100%; left: 22%; width: 14px; height: 40px; background: #7a4a24; }
.lu-tree::before { content: ""; position: absolute; bottom: 26px; left: -23px; width: 60px; height: 44px; border-radius: 6px; background: #4fbf3a; box-shadow: inset -8px -8px 0 rgba(0, 0, 0, .14), 10px -18px 0 -6px #5fd146; }
.lu-tree-pink::before { background: #ff9ad5; box-shadow: inset -8px -8px 0 rgba(0, 0, 0, .1), 10px -18px 0 -6px #ffb3e1; }
.lu-crystal { position: absolute; bottom: 100%; right: 26%; width: 28px; height: 46px; margin-bottom: 4px; background: linear-gradient(135deg, #b8fffb, var(--lu-cyan) 45%, var(--lu-violet)); clip-path: polygon(50% 0, 100% 30%, 80% 100%, 20% 100%, 0 30%); filter: drop-shadow(0 0 12px rgba(62, 230, 224, .9)); animation: lu-glow 3s ease-in-out infinite; }
.lu-chest { position: absolute; bottom: 100%; left: 30%; width: 26px; height: 20px; background: linear-gradient(180deg, #c98a3b 0 40%, #3b2410 40% 48%, #b27330 48%); border-radius: 3px; box-shadow: inset 0 0 0 2px #6b3f15; }

/* golden sparkles */
.lu-motes { position: absolute; inset: 0; pointer-events: none; }
.lu-motes i { position: absolute; bottom: -10px; width: 6px; height: 6px; border-radius: 50%; background: #fff6c2; box-shadow: 0 0 10px 2px rgba(255, 220, 120, .9); opacity: 0; animation: lu-rise 9s linear infinite; }
.lu-motes i:nth-child(1) { left: 8%; animation-delay: 0s; }
.lu-motes i:nth-child(2) { left: 22%; animation-delay: -2s; animation-duration: 11s; }
.lu-motes i:nth-child(3) { left: 37%; animation-delay: -5s; }
.lu-motes i:nth-child(4) { left: 51%; animation-delay: -7s; animation-duration: 12s; }
.lu-motes i:nth-child(5) { left: 64%; animation-delay: -1s; }
.lu-motes i:nth-child(6) { left: 77%; animation-delay: -4s; animation-duration: 10s; }
.lu-motes i:nth-child(7) { left: 88%; animation-delay: -6s; }
.lu-motes i:nth-child(8) { left: 95%; animation-delay: -3s; animation-duration: 13s; background: #c8fff9; box-shadow: 0 0 10px 2px rgba(62, 230, 224, .9); }

/* blocky hills at the bottom of the header */
.lu-hills { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 90px; z-index: -1; }
.lu-hills-back { fill: #5a1f68; opacity: .7; }
.lu-hills-front { fill: var(--lu-plum); }

/* header block */
.lu-head { position: relative; z-index: 20; display: flex; flex-direction: column; align-items: center; gap: 1rem; }
.lu-logo { position: relative; display: inline-block; text-decoration: none; animation: lu-bob 5s ease-in-out infinite; }
.lu-logo-img { display: block; max-width: min(420px, 78vw); max-height: 150px; filter: drop-shadow(0 8px 0 rgba(60, 20, 70, .35)) drop-shadow(0 16px 22px rgba(0, 0, 0, .25)); }
.lu-is-page .lu-logo-img { max-height: 96px; }
.lu-logo-text {
    display: block; font-family: var(--lu-display); font-size: clamp(3rem, 11vw, 6.6rem); line-height: .95; letter-spacing: .02em;
    background: linear-gradient(180deg, #fff3a8 0%, #ffd24a 35%, #ff9a2e 65%, #ff5d2a 100%); -webkit-background-clip: text; background-clip: text; color: transparent;
    -webkit-text-stroke: 2px #6d1d5c;
    filter: drop-shadow(0 4px 0 #8a2a6e) drop-shadow(0 8px 0 #4a1556) drop-shadow(0 18px 22px rgba(30, 10, 50, .45));
}
.lu-is-page .lu-logo-text { font-size: clamp(2.4rem, 7vw, 4rem); }
.lu-logo-moon { position: absolute; top: -.3rem; right: -1.6rem; font-size: 1.9rem; color: #fff7c9; filter: drop-shadow(0 0 10px rgba(255, 240, 160, .9)); animation: lu-wiggle 4s ease-in-out infinite; }
.lu-logo-sm { font-size: 2.3rem; -webkit-text-stroke-width: 1.4px; filter: drop-shadow(0 3px 0 #8a2a6e) drop-shadow(0 6px 0 #4a1556); }

/* ---------- Navbar : logo colours (gold frame, night violet, cyan moon) ---------- */
.lu-navwrap { position: relative; display: flex; align-items: center; max-width: 100%; }
.lu-nav-gem { position: absolute; top: 50%; z-index: 3; width: 18px; height: 18px; margin-top: -9px; transform: rotate(45deg); border: 2px solid #180c2e; border-radius: 3px; background: linear-gradient(135deg, #f2fffe, #6ff1ea 45%, #1c9fb8); box-shadow: 0 0 14px rgba(94, 240, 230, .9); animation: lu-gem 3s ease-in-out infinite; }
.lu-nav-gem-l { left: -7px; }
.lu-nav-gem-r { right: -7px; animation-delay: -1.5s; }
@keyframes lu-gem { 0%, 100% { box-shadow: 0 0 8px rgba(94, 240, 230, .6); } 50% { box-shadow: 0 0 22px rgba(94, 240, 230, 1); } }
.lu-nav { position: relative; flex-wrap: wrap; gap: .3rem; padding: .4rem .55rem; border: 3px solid transparent; border-radius: 999px;
    background: linear-gradient(180deg, #3a2470 0%, #22133a 100%) padding-box, linear-gradient(180deg, #fff3b0 0%, #fdd156 35%, #fab14d 65%, #fc7838 100%) border-box;
    box-shadow: 0 0 0 3px #180c2e, 0 7px 0 #0f0618, 0 18px 36px rgba(15, 6, 24, .45), inset 0 1px 0 rgba(255, 255, 255, .12); }
.lu-nav .navbar-collapse { gap: .3rem; }
.lu-nav .navbar-nav { gap: .15rem; align-items: center; }
.lu-nav .nav-link { position: relative; display: flex; align-items: center; gap: .45rem; padding: .55rem 1rem !important; border-radius: 999px; font-family: var(--lu-display); font-weight: 400; font-size: 1.02rem; letter-spacing: .04em; text-transform: uppercase; color: #fde9a8; text-shadow: 0 2px 0 #180c2e; transition: color .2s ease, background .2s ease, transform .2s ease; }
.lu-nav .nav-link > i { color: #6ff1ea; font-size: 1rem; text-shadow: 0 0 8px rgba(94, 240, 230, .6); }
.lu-nav .nav-link::after { display: none; }
.lu-nav .nav-link:hover, .lu-nav .nav-link:focus-visible, .lu-nav .nav-link.show { color: #fff3c4; background: rgba(253, 209, 86, .14); transform: translateY(-1px); text-shadow: 0 2px 0 #180c2e, 0 0 14px rgba(253, 209, 86, .6); }
.lu-nav .nav-link.active { color: #180c2e; text-shadow: none; background: linear-gradient(180deg, #fff3b0, #fdd156 45%, #fab14d); box-shadow: inset 0 -2px 0 rgba(200, 116, 39, .6); }
.lu-nav .nav-link.active > i { color: #180c2e; text-shadow: none; }
.lu-nav-end { margin-left: auto; }
.lu-nav-cta { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: .45rem; padding: .55rem 1.15rem; border: 2px solid #180c2e; border-radius: 999px; font-family: var(--lu-display); font-weight: 400; font-size: 1.02rem; letter-spacing: .04em; text-transform: uppercase; text-decoration: none; white-space: nowrap; transition: transform .18s cubic-bezier(.2, .9, .3, 1.4), filter .18s ease; }
.lu-nav-cta-gold { color: #2a1206; background: linear-gradient(180deg, #fff3b0 0%, #fdd156 40%, #fab14d 70%, #fc7838 100%); box-shadow: 0 4px 0 #180c2e, inset 0 2px 0 rgba(255, 255, 255, .6); }
.lu-nav-cta-crystal { color: #06303a; background: linear-gradient(180deg, #e6fffe 0%, #6ff1ea 50%, #1aa3b8 100%); box-shadow: 0 4px 0 #180c2e, inset 0 2px 0 rgba(255, 255, 255, .65); }
.lu-nav-cta:hover { transform: translateY(-2px) scale(1.03); filter: brightness(1.06); }
.lu-nav-cta-gold:hover { color: #2a1206; }
.lu-nav-cta-crystal:hover { color: #06303a; }
.lu-nav-cta:active { transform: translateY(2px); }
.lu-nav-cta:focus-visible { outline: 3px solid #6ff1ea; outline-offset: 3px; }
.lu-nav-icon { justify-content: center; width: 2.6rem; height: 2.6rem; padding: 0 !important; border-radius: 50% !important; color: #fde9a8 !important; box-shadow: inset 0 0 0 2px #fdd156; }
.lu-nav-avatar { border-radius: 50%; image-rendering: pixelated; box-shadow: 0 0 0 2px #fdd156; }
.lu-nav .dropdown-menu { padding: .45rem; border: 2px solid #fab14d; border-radius: 16px; background: linear-gradient(180deg, #3a2470, #22133a); box-shadow: 0 0 0 2px #180c2e, 0 18px 40px rgba(15, 6, 24, .5); }
.lu-nav .dropdown-item { border-radius: 10px; padding: .5rem .85rem; font-weight: 700; color: #fde9a8; }
.lu-nav .dropdown-item > i { color: #6ff1ea; }
.lu-nav .dropdown-item:hover, .lu-nav .dropdown-item.active { background: rgba(253, 209, 86, .16); color: #fff3c4; }
.lu-toggler { margin-left: auto; padding: .4rem .75rem; border: 2px solid #180c2e; border-radius: 999px; color: #2a1206; background: linear-gradient(180deg, #fff3b0, #fdd156 50%, #fab14d); box-shadow: 0 3px 0 #180c2e; font-size: 1.35rem; line-height: 1; }
.lu-toggler:focus { box-shadow: 0 3px 0 #180c2e, 0 0 0 3px rgba(94, 240, 230, .5); }
@media (min-width: 992px) {
    .lu-nav-label { display: none; }
}
@media (max-width: 991.98px) {
    .lu-navwrap { width: min(100%, 520px); }
    .lu-nav { width: 100%; border-radius: 26px; }
    .lu-nav .navbar-nav { align-items: stretch; padding-top: .45rem; width: 100%; }
    .lu-nav-end { margin-left: 0; flex-direction: row; flex-wrap: wrap; gap: .4rem !important; }
    .lu-nav-icon { width: auto; height: auto; padding: .55rem 1rem !important; border-radius: 999px !important; }
}

/* ---------- Hero body ---------- */
.lu-hero-body { position: relative; z-index: 10; margin-top: auto; padding: 3rem 0 6.5rem; text-align: center; }
.lu-tagline { display: flex; align-items: center; justify-content: center; gap: 1rem; max-width: 760px; margin: 0 auto 1.6rem; font-family: var(--lu-display); font-weight: 400; font-size: clamp(1.45rem, 3vw, 2.3rem); line-height: 1.15; letter-spacing: .02em; text-transform: uppercase; color: #fff4dc;
    -webkit-text-stroke: 1.2px #24092f; paint-order: stroke fill; text-shadow: 0 3px 0 #24092f, 0 10px 22px rgba(20, 5, 40, .55); }
.lu-tagline::before, .lu-tagline::after { content: ""; flex-shrink: 0; width: 56px; height: 14px; background: linear-gradient(90deg, transparent, #ffcd4f) center / 100% 3px no-repeat, radial-gradient(circle, #6ff1ea 0 3px, transparent 3.5px) right center / 14px 14px no-repeat; filter: drop-shadow(0 0 6px rgba(255, 205, 79, .7)); }
.lu-tagline::after { transform: scaleX(-1); }
.lu-tag-text { min-width: 0; }
.lu-tag-gold, .lu-tag-cyan { display: inline-block; padding: 0 .08em; -webkit-text-stroke: 0; text-shadow: none; background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 3px 0 #24092f); animation: lu-sheen 5s ease-in-out infinite; }
.lu-tag-gold { background-image: linear-gradient(100deg, #fff3bd 0%, #ffcd4f 35%, #f08a22 60%, #fff3bd 100%); }
.lu-tag-cyan { background-image: linear-gradient(100deg, #e6fffe 0%, #6ff1ea 35%, #29b6d6 60%, #e6fffe 100%); animation-delay: -2.5s; }
@keyframes lu-sheen { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
@media (max-width: 575.98px) { .lu-tagline::before, .lu-tagline::after { display: none; } }
.lu-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .9rem; }
.lu-actions-left { justify-content: flex-start; }
.lu-status { display: inline-flex; align-items: center; gap: .5rem; margin: 1.3rem 0 0; padding: .35rem .9rem; border-radius: 99px; background: rgba(22, 16, 42, .6); color: #fff; font-weight: 600; font-size: .85rem; backdrop-filter: blur(6px); }
.lu-dot { display: inline-block; width: .6rem; height: .6rem; border-radius: 50%; background: #52f08d; box-shadow: 0 0 0 0 rgba(82, 240, 141, .7); animation: lu-ping 2s infinite; }
.lu-status.is-off .lu-dot { background: #ff6b6b; animation: none; }

/* ---------- Sections ---------- */
.lu-section { position: relative; padding: clamp(4rem, 8vw, 6.5rem) 0; overflow: hidden; }
.lu-section-head { max-width: 560px; margin: 0 auto 3rem; text-align: center; }
.lu-section-head p, .lu-lead { color: var(--lu-muted); font-size: 1.02rem; line-height: 1.7; }
.lu-lead { margin-bottom: 1.6rem; max-width: 520px; }
.lu-title { margin: 0 0 1rem; font-family: var(--lu-display); font-weight: 400; font-size: clamp(2.4rem, 5.4vw, 3.6rem); line-height: 1; letter-spacing: .01em; color: var(--lu-cream); text-transform: uppercase; text-shadow: 0 4px 0 rgba(0, 0, 0, .22); }
.lu-title-xl { font-size: clamp(2.8rem, 7vw, 4.8rem); }
.lu-message { margin-bottom: 1rem; padding: 1rem 1.25rem; border-radius: var(--lu-radius); background: rgba(255, 255, 255, .06); }

/* starry background used by the purple sections */
.lu-modes, .lu-join, .lu-faq { background-color: var(--lu-plum); }
.lu-roadmap { background-color: #120c28; }
.lu-modes::before, .lu-showcase::before, .lu-roadmap::before, .lu-join::before, .lu-faq::before, .lu-discord::before, .lu-cta::before, .lu-page::before {
    content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .55;
    background-image: radial-gradient(1.5px 1.5px at 12% 18%, #fff, transparent), radial-gradient(1.5px 1.5px at 72% 12%, #fff, transparent), radial-gradient(1px 1px at 38% 62%, #fff, transparent), radial-gradient(2px 2px at 86% 74%, #ffe9a8, transparent), radial-gradient(1px 1px at 22% 86%, #fff, transparent), radial-gradient(1.5px 1.5px at 58% 34%, #c8fff9, transparent);
    background-size: 380px 380px; animation: lu-twinkle 6s ease-in-out infinite alternate;
}
.lu-section > .container { position: relative; }

/* ---------- Our games ---------- */
.lu-modes { background: linear-gradient(180deg, var(--lu-plum) 0%, #5a1a62 45%, #3d1258 100%); }
.lu-modes::after { content: ""; position: absolute; top: 20%; left: 50%; width: 900px; height: 600px; transform: translateX(-50%); background: radial-gradient(ellipse, rgba(255, 120, 200, .18), transparent 65%); pointer-events: none; }
.lu-mode-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.4rem; }
.lu-mode {
    --lu-mode: #b98cff;
    position: relative; display: flex; flex-direction: column; width: 270px; padding: 1.2rem 1.25rem 1.35rem;
    border-radius: 20px; background: linear-gradient(180deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .04)); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .13), 0 18px 40px rgba(20, 5, 35, .25);
    transition: transform .25s cubic-bezier(.2, .9, .3, 1.4), box-shadow .25s ease;
}
.lu-mode:hover { transform: translateY(-8px) rotate(-.6deg); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--lu-mode) 70%, transparent), 0 24px 50px rgba(20, 5, 35, .4), 0 0 40px color-mix(in srgb, var(--lu-mode) 30%, transparent); }
.lu-mode-badge { position: absolute; top: 0; left: 1rem; z-index: 3; padding: .3rem .7rem; border-radius: 0 0 10px 10px; background: #1b1430; color: #e9dcff; font-size: .74rem; font-weight: 800; }
.lu-mode-art { position: relative; display: grid; place-items: center; height: 190px; margin-bottom: .6rem; }
.lu-mode-art img { max-width: 100%; max-height: 190px; object-fit: contain; filter: drop-shadow(0 12px 14px rgba(0, 0, 0, .3)); transition: transform .35s cubic-bezier(.2, .9, .3, 1.4); }
.lu-mode:hover .lu-mode-art img { transform: scale(1.07) rotate(-2deg); }
.lu-mode-logo { position: absolute; bottom: -.2rem; left: 0; right: 0; text-align: center; font-family: var(--lu-display); font-size: 2.1rem; line-height: 1; color: var(--lu-mode); -webkit-text-stroke: 1.5px color-mix(in srgb, var(--lu-mode) 40%, #1a0a24);
    text-shadow: 0 3px 0 color-mix(in srgb, var(--lu-mode) 55%, #1a0a24), 0 6px 0 color-mix(in srgb, var(--lu-mode) 30%, #1a0a24), 0 10px 16px rgba(0, 0, 0, .35); }
.lu-mode-art:has(img) .lu-mode-logo { display: none; }
.lu-mode-name { margin: .3rem 0 .4rem; font-family: var(--lu-display); font-weight: 400; font-size: 1.35rem; color: #fff; letter-spacing: .02em; }
.lu-mode p { margin: 0 0 1rem; color: #ddd0f2; font-size: .9rem; line-height: 1.55; }
.lu-mode-link { margin-top: auto; color: var(--lu-gold); font-weight: 800; font-size: .86rem; text-decoration: none; }
.lu-mode-link i { display: inline-block; transition: transform .2s ease; }
.lu-mode:hover .lu-mode-link { text-decoration: underline; text-underline-offset: 4px; }
.lu-mode:hover .lu-mode-link i { transform: translateX(4px); }

/* isometric cube (fallback art) */
.lu-cube { position: relative; width: 104px; height: 120px; margin-bottom: 1.6rem; animation: lu-bob 4.5s ease-in-out infinite; }
.lu-cube i { position: absolute; display: grid; place-items: center; }
.lu-cube-top { top: 0; left: 0; width: 104px; height: 60px; background: color-mix(in srgb, var(--lu-mode) 80%, #fff); clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); }
.lu-cube-left { top: 30px; left: 0; width: 52px; height: 90px; background: color-mix(in srgb, var(--lu-mode) 70%, #1a0a24); clip-path: polygon(0 0, 100% 33%, 100% 100%, 0 67%); }
.lu-cube-right { top: 30px; left: 52px; width: 52px; height: 90px; background: color-mix(in srgb, var(--lu-mode) 85%, #1a0a24); clip-path: polygon(0 33%, 100% 0, 100% 67%, 0 100%); }
.lu-cube-right span { margin-top: 10px; color: rgba(255, 255, 255, .85); font-size: 1.4rem; }
.lu-cube::after { content: ""; position: absolute; left: 50%; bottom: -26px; width: 90px; height: 14px; transform: translateX(-50%); border-radius: 50%; background: rgba(0, 0, 0, .28); filter: blur(4px); animation: lu-shadow 4.5s ease-in-out infinite; }
.lu-mode:hover .lu-cube { animation-duration: 1.6s; }

/* Discord robot: faces the text, floats and sways */
.lu-robot { position: relative; max-width: min(100%, 440px); max-height: 460px; scale: -1 1; filter: drop-shadow(0 26px 22px rgba(10, 5, 40, .45)); animation: lu-robot 6s ease-in-out infinite; }
@keyframes lu-robot { 0%, 100% { translate: 0 0; rotate: -3deg; } 25% { translate: 0 -18px; rotate: 1deg; } 50% { translate: 0 -6px; rotate: 4deg; } 75% { translate: 0 -22px; rotate: 0deg; } }

/* ---------- Single game showcase (OneBlock) ---------- */
.lu-showcase { background: radial-gradient(ellipse 60% 70% at 28% 50%, color-mix(in srgb, var(--lu-mode) 28%, transparent), transparent 70%), linear-gradient(180deg, var(--lu-plum) 0%, #4a1460 45%, #3d1258 100%); }
.lu-show-rays { position: absolute; top: 50%; left: 28%; width: 1100px; height: 1100px; margin: -550px 0 0 -550px; border-radius: 50%; pointer-events: none; opacity: .5;
    background: repeating-conic-gradient(from 0deg, rgba(255, 230, 170, .14) 0deg 6deg, transparent 6deg 18deg); -webkit-mask: radial-gradient(circle, #000 0 18%, transparent 62%); mask: radial-gradient(circle, #000 0 18%, transparent 62%); animation: lu-spin-slow 90s linear infinite; }
@keyframes lu-spin-slow { to { transform: rotate(360deg); } }
.lu-show-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); align-items: center; gap: 3rem; }
.lu-show-art { position: relative; display: grid; place-items: center; min-height: 520px; }
.lu-show-ring { position: absolute; top: 50%; left: 50%; border-radius: 50%; pointer-events: none; }
.lu-show-ring-1 { width: 440px; height: 440px; margin: -220px 0 0 -220px; border: 2px dashed rgba(111, 241, 234, .45); animation: lu-spin-slow 40s linear infinite; }
.lu-show-ring-2 { width: 360px; height: 360px; margin: -180px 0 0 -180px; border: 1px solid rgba(242, 182, 64, .5); box-shadow: 0 0 40px color-mix(in srgb, var(--lu-mode) 45%, transparent), inset 0 0 60px color-mix(in srgb, var(--lu-mode) 30%, transparent); animation: lu-spin-slow 60s linear infinite reverse; }
.lu-show-ring-2::before, .lu-show-ring-2::after { content: ""; position: absolute; width: 14px; height: 14px; transform: rotate(45deg); background: #6ff1ea; box-shadow: 0 0 14px #3ee6e0; }
.lu-show-ring-2::before { top: -7px; left: 50%; margin-left: -7px; }
.lu-show-ring-2::after { bottom: -7px; left: 50%; margin-left: -7px; background: #ffcd4f; box-shadow: 0 0 14px #f2b640; }
.lu-show-pedestal { position: absolute; left: 50%; bottom: 40px; width: 320px; height: 60px; margin-left: -160px; border-radius: 50%; background: radial-gradient(ellipse, color-mix(in srgb, var(--lu-mode) 70%, #fff) 0%, color-mix(in srgb, var(--lu-mode) 35%, transparent) 40%, transparent 70%); filter: blur(6px); animation: lu-pulse-soft 4s ease-in-out infinite; }
@keyframes lu-pulse-soft { 0%, 100% { opacity: .7; transform: scale(1); } 50% { opacity: 1; transform: scale(1.08); } }
.lu-show-orbit { position: absolute; inset: 0; animation: lu-spin-slow 24s linear infinite; pointer-events: none; }
.lu-show-orbit i { position: absolute; display: block; width: 18px; height: 18px; border-radius: 4px; box-shadow: inset -4px -4px 0 rgba(0, 0, 0, .2), 0 0 14px currentColor; }
.lu-show-orbit i:nth-child(1) { top: 8%; left: 50%; background: #ffcd4f; color: rgba(255, 205, 79, .7); }
.lu-show-orbit i:nth-child(2) { top: 50%; right: 4%; background: #6ff1ea; color: rgba(111, 241, 234, .7); width: 14px; height: 14px; }
.lu-show-orbit i:nth-child(3) { bottom: 10%; left: 46%; background: #b98cff; color: rgba(185, 140, 255, .7); }
.lu-show-orbit i:nth-child(4) { top: 46%; left: 4%; background: #8ef05a; color: rgba(142, 240, 90, .7); width: 12px; height: 12px; }
.lu-show-img { position: relative; z-index: 1; width: min(100%, 460px); filter: drop-shadow(0 30px 30px rgba(20, 5, 40, .5)) drop-shadow(0 0 40px color-mix(in srgb, var(--lu-mode) 35%, transparent)); animation: lu-bob 6s ease-in-out infinite; }
.lu-show-cube { transform: scale(1.8); }
.lu-show-kicker { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; margin-bottom: .6rem; color: #6ff1ea; font-weight: 800; font-size: .85rem; letter-spacing: .14em; text-transform: uppercase; }
.lu-show-badge { display: inline-flex; align-items: center; gap: .35rem; padding: .28rem .75rem; border: 2px solid #24092f; border-radius: 999px; background: linear-gradient(180deg, #fff3bd, #ffcd4f 50%, #e8861d); color: #3a1606; font-family: "Cinzel", serif; font-weight: 900; font-size: .75rem; letter-spacing: .06em; box-shadow: 0 3px 0 #24092f; }
.lu-show-title { margin: 0 0 .6rem; font-family: var(--lu-display); font-weight: 400; font-size: clamp(3.4rem, 8vw, 6rem); line-height: .9; text-transform: uppercase;
    background: linear-gradient(180deg, #fff6cf 0%, #ffd35c 40%, #f39a2a 70%, #c9631a 100%); -webkit-background-clip: text; background-clip: text; color: transparent;
    -webkit-text-stroke: 2px #2a0f3d; filter: drop-shadow(0 5px 0 #24092f) drop-shadow(0 16px 24px rgba(20, 5, 40, .5)); }
.lu-show-tagline { margin-bottom: .7rem; color: #fff; font-weight: 800; font-size: 1.2rem; }
.lu-show-text { max-width: 540px; margin-bottom: 1.8rem; color: #ddd0f2; font-size: 1.05rem; line-height: 1.7; }
.lu-show-features { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; margin: 0 0 2rem; padding: 0; list-style: none; }
.lu-show-feature { display: flex; gap: .85rem; padding: 1rem; border-radius: 18px; background: linear-gradient(160deg, rgba(255, 255, 255, .11), rgba(255, 255, 255, .03)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), inset 0 0 0 1px rgba(255, 255, 255, .1); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); transition: transform .3s cubic-bezier(.2, .9, .3, 1.3), box-shadow .3s ease; }
.lu-show-feature:hover { transform: translateY(-5px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), inset 0 0 0 1px rgba(111, 241, 234, .45), 0 0 26px rgba(62, 230, 224, .18); }
.lu-show-fico { display: grid; place-items: center; flex-shrink: 0; width: 2.7rem; height: 2.7rem; border: 2px solid #24092f; border-radius: 12px; background: linear-gradient(180deg, #e6fffe, #74ece6 45%, #1aa3b8); color: #06303a; font-size: 1.2rem; box-shadow: 0 3px 0 #24092f; }
.lu-show-feature:nth-child(even) .lu-show-fico { background: linear-gradient(180deg, #fff3bd, #ffcd4f 45%, #e8861d); color: #3a1606; }
.lu-show-feature strong { display: block; margin-bottom: .2rem; font-family: var(--lu-display); font-weight: 400; font-size: 1.02rem; letter-spacing: .02em; color: var(--lu-cream); text-transform: uppercase; }
.lu-show-feature small { display: block; color: #cfc4ee; font-size: .85rem; line-height: 1.5; }
@media (max-width: 991.98px) {
    .lu-show-grid { grid-template-columns: 1fr; gap: 1rem; text-align: center; }
    .lu-show-art { min-height: 380px; }
    .lu-show-ring-1 { width: 330px; height: 330px; margin: -165px 0 0 -165px; }
    .lu-show-ring-2 { width: 270px; height: 270px; margin: -135px 0 0 -135px; }
    .lu-show-img { width: min(80vw, 340px); }
    .lu-show-kicker { justify-content: center; }
    .lu-show-text { margin-left: auto; margin-right: auto; }
    .lu-show-features { grid-template-columns: 1fr; text-align: left; }
    .lu-showcase .lu-actions { justify-content: center; }
    .lu-show-rays { left: 50%; top: 22%; }
}

/* ---------- Join: lunar portal ---------- */
.lu-gate { background: radial-gradient(ellipse 50% 60% at 72% 50%, rgba(62, 230, 224, .16), transparent 70%), linear-gradient(180deg, #33104e, #2a0f48 50%, #33104e); }
.lu-gate-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); align-items: center; gap: 3rem; }
.lu-gate-kicker { display: inline-flex; align-items: center; gap: .45rem; margin-bottom: .9rem; padding: .35rem .95rem; border-radius: 999px; background: rgba(255, 205, 79, .1); box-shadow: inset 0 0 0 1px rgba(255, 205, 79, .45); color: #ffd97a; font-weight: 800; font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; }
.lu-gate-steps { display: grid; gap: .7rem; margin: 0 0 2rem; padding: 0; list-style: none; max-width: 480px; }
.lu-gate-steps li { display: flex; align-items: center; gap: 1rem; padding: .85rem 1rem; border-radius: 18px; background: linear-gradient(100deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .03)); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); transition: transform .3s cubic-bezier(.2, .9, .3, 1.3), box-shadow .3s ease; }
.lu-gate-steps li:hover { transform: translateX(8px); box-shadow: inset 0 0 0 1px rgba(111, 241, 234, .45), 0 0 24px rgba(62, 230, 224, .15); }
.lu-gate-num { display: grid; place-items: center; flex-shrink: 0; width: 2.6rem; height: 2.6rem; border: 2px solid #24092f; border-radius: 12px; background: linear-gradient(180deg, #fff3bd, #ffcd4f 50%, #e8861d); color: #3a1606; font-family: var(--lu-display); font-size: 1.3rem; box-shadow: 0 3px 0 #24092f; }
.lu-gate-steps strong { display: block; font-family: var(--lu-display); font-weight: 400; font-size: 1.1rem; color: var(--lu-cream); text-transform: uppercase; letter-spacing: .02em; }
.lu-gate-steps small { display: block; color: #cfc4ee; font-size: .9rem; }

.lu-gate-side { position: relative; display: flex; flex-direction: column; align-items: center; }
.lu-portal { position: relative; display: grid; place-items: center; width: min(300px, 70vw); aspect-ratio: 4 / 5; max-width: 100%; margin-bottom: 4.5rem; }
/* Minecraft-style portal: obsidian block frame and a rippling violet field */
.lu-portal-frame { position: absolute; inset: 0; display: block; background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%208%208%22%20shape-rendering%3D%22crispEdges%22%3E%3Crect%20x%3D%220%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234a3480%22/%3E%3Crect%20x%3D%221%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234a3480%22/%3E%3Crect%20x%3D%222%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234a3480%22/%3E%3Crect%20x%3D%223%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234a3480%22/%3E%3Crect%20x%3D%224%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234a3480%22/%3E%3Crect%20x%3D%225%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234a3480%22/%3E%3Crect%20x%3D%226%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234a3480%22/%3E%3Crect%20x%3D%227%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234a3480%22/%3E%3Crect%20x%3D%220%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234a3480%22/%3E%3Crect%20x%3D%221%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%231f1338%22/%3E%3Crect%20x%3D%222%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23160d2a%22/%3E%3Crect%20x%3D%223%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%232a1a4a%22/%3E%3Crect%20x%3D%224%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23160d2a%22/%3E%3Crect%20x%3D%225%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%231f1338%22/%3E%3Crect%20x%3D%226%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%231f1338%22/%3E%3Crect%20x%3D%227%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%230b0616%22/%3E%3Crect%20x%3D%220%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234a3480%22/%3E%3Crect%20x%3D%221%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23160d2a%22/%3E%3Crect%20x%3D%222%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%231f1338%22/%3E%3Crect%20x%3D%223%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23160d2a%22/%3E%3Crect%20x%3D%224%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%231f1338%22/%3E%3Crect%20x%3D%225%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23160d2a%22/%3E%3Crect%20x%3D%226%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23160d2a%22/%3E%3Crect%20x%3D%227%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%230b0616%22/%3E%3Crect%20x%3D%220%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234a3480%22/%3E%3Crect%20x%3D%221%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%231f1338%22/%3E%3Crect%20x%3D%222%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%233a2766%22/%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23160d2a%22/%3E%3Crect%20x%3D%224%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23160d2a%22/%3E%3Crect%20x%3D%225%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%232a1a4a%22/%3E%3Crect%20x%3D%226%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%235a3fa0%22/%3E%3Crect%20x%3D%227%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%230b0616%22/%3E%3Crect%20x%3D%220%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234a3480%22/%3E%3Crect%20x%3D%221%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%231f1338%22/%3E%3Crect%20x%3D%222%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%231f1338%22/%3E%3Crect%20x%3D%223%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%235a3fa0%22/%3E%3Crect%20x%3D%224%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23160d2a%22/%3E%3Crect%20x%3D%225%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%233a2766%22/%3E%3Crect%20x%3D%226%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%231f1338%22/%3E%3Crect%20x%3D%227%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%230b0616%22/%3E%3Crect%20x%3D%220%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234a3480%22/%3E%3Crect%20x%3D%221%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23160d2a%22/%3E%3Crect%20x%3D%222%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23160d2a%22/%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%231f1338%22/%3E%3Crect%20x%3D%224%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%233a2766%22/%3E%3Crect%20x%3D%225%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23160d2a%22/%3E%3Crect%20x%3D%226%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%232a1a4a%22/%3E%3Crect%20x%3D%227%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%230b0616%22/%3E%3Crect%20x%3D%220%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234a3480%22/%3E%3Crect%20x%3D%221%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%232a1a4a%22/%3E%3Crect%20x%3D%222%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%231f1338%22/%3E%3Crect%20x%3D%223%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%231f1338%22/%3E%3Crect%20x%3D%224%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23160d2a%22/%3E%3Crect%20x%3D%225%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23160d2a%22/%3E%3Crect%20x%3D%226%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23160d2a%22/%3E%3Crect%20x%3D%227%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%230b0616%22/%3E%3Crect%20x%3D%220%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234a3480%22/%3E%3Crect%20x%3D%221%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%230b0616%22/%3E%3Crect%20x%3D%222%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%230b0616%22/%3E%3Crect%20x%3D%223%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%230b0616%22/%3E%3Crect%20x%3D%224%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%230b0616%22/%3E%3Crect%20x%3D%225%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%230b0616%22/%3E%3Crect%20x%3D%226%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%230b0616%22/%3E%3Crect%20x%3D%227%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%230b0616%22/%3E%3C/svg%3E") 0 0 / 25% 20%; image-rendering: pixelated; box-shadow: 0 0 0 3px #0f0618, 0 26px 50px rgba(15, 6, 24, .55), 0 0 60px rgba(139, 59, 255, .35);
    -webkit-mask: linear-gradient(#000 0 0) top / 100% 20% no-repeat, linear-gradient(#000 0 0) bottom / 100% 20% no-repeat, linear-gradient(#000 0 0) left / 25% 100% no-repeat, linear-gradient(#000 0 0) right / 25% 100% no-repeat;
    mask: linear-gradient(#000 0 0) top / 100% 20% no-repeat, linear-gradient(#000 0 0) bottom / 100% 20% no-repeat, linear-gradient(#000 0 0) left / 25% 100% no-repeat, linear-gradient(#000 0 0) right / 25% 100% no-repeat; }
.lu-portal-frame::after { content: ""; }
.lu-portal-inner { position: absolute; inset: 20% 25%; display: block; overflow: hidden; image-rendering: pixelated;
    background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2016%2016%22%20shape-rendering%3D%22crispEdges%22%3E%3Crect%20x%3D%220%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%221%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%222%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%223%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%224%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%225%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%226%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%227%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%228%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%229%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2210%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2211%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2212%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%2213%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2214%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%2215%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%220%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%221%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%222%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%223%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%224%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%225%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%226%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%227%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%228%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%229%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2210%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2211%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%2212%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2213%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2214%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2215%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%220%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%221%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%222%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%223%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%224%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%225%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%226%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%227%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%228%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%229%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2210%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%2211%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2212%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2213%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2214%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2215%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%220%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%221%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%222%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%224%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%225%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%226%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%227%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%228%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%229%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2210%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2211%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2212%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2213%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2214%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2215%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%220%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%221%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%222%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%223%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%224%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%225%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%226%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%227%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%228%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%229%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%2210%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2211%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2212%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2213%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2214%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2215%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%220%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%221%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%222%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%224%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%225%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%226%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%227%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%228%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%229%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2210%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%2211%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2212%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2213%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2214%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2215%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%220%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%221%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%222%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%223%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%224%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%225%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%226%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%227%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%228%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%229%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2210%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%2211%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2212%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2213%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%2214%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2215%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%220%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%221%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%222%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%223%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%224%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%225%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%226%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%227%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%228%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%229%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%2210%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%2211%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2212%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2213%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2214%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2215%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%220%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%221%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%222%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%223%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%224%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%225%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%226%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%227%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%228%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%229%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2210%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2211%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%2212%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%2213%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2214%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%2215%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%220%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%221%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%222%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%223%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%224%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%225%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%226%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%227%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%228%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%229%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2210%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%2211%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2212%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2213%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2214%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2215%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%220%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%221%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%222%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%223%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%224%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%225%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%226%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%227%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%228%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%229%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2210%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2211%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2212%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%2213%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2214%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2215%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%220%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%221%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%222%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%223%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%224%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%225%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%226%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%227%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%228%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%229%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2210%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2211%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%2212%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2213%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%2214%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%2215%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%220%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%221%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%222%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%223%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%224%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%225%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%226%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%227%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%228%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%229%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2210%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2211%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2212%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2213%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2214%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2215%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%220%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%221%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%222%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%223%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%224%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%225%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%226%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%227%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%228%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%229%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2210%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2211%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%2212%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2213%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2214%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2215%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%220%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%221%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%222%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%223%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%224%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%225%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%226%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%227%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%228%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%229%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2210%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2211%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2212%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2213%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%2214%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%2215%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%220%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%221%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%222%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%223%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%224%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%225%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%226%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%227%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%228%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28255%2C255%2C255%2C0%29%22/%3E%3Crect%20x%3D%229%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%2210%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%2211%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28210%2C170%2C255%2C.55%29%22/%3E%3Crect%20x%3D%2212%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%2213%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%2214%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3Crect%20x%3D%2215%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22rgba%28120%2C40%2C230%2C.5%29%22/%3E%3C/svg%3E") 0 0 / 48px 48px, url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2016%2016%22%20shape-rendering%3D%22crispEdges%22%3E%3Crect%20x%3D%220%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%221%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%222%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%223%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%224%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%225%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%226%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%227%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%228%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%229%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%2210%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%2211%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%2212%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%2213%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%2214%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%2215%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%220%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%221%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%222%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%223%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%224%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%225%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%226%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%227%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%228%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%229%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%2210%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%2211%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%2212%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23c79bff%22/%3E%3Crect%20x%3D%2213%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%2214%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%2215%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%220%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%221%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23c79bff%22/%3E%3Crect%20x%3D%222%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%223%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%224%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%225%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%226%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%227%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%228%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23c79bff%22/%3E%3Crect%20x%3D%229%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%2210%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%2211%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%2212%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%2213%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%2214%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%2215%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%220%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%221%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%222%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%224%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23c79bff%22/%3E%3Crect%20x%3D%225%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%226%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%227%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%228%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%229%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%2210%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%2211%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%2212%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%2213%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%2214%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%2215%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%220%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%221%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%222%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%223%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%224%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%225%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%226%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%227%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%228%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%229%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%2210%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%2211%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%2212%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%2213%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%2214%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23c79bff%22/%3E%3Crect%20x%3D%2215%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%220%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%221%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%222%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23c79bff%22/%3E%3Crect%20x%3D%224%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%225%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%226%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%227%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%228%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%229%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%2210%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%2211%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%2212%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%2213%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%2214%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%2215%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%220%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%221%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%222%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%223%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%224%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%225%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%226%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%227%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%228%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%229%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%2210%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%2211%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%2212%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%2213%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%2214%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%2215%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%220%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%221%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%222%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%223%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%224%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%225%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%226%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%227%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%228%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%229%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%2210%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%2211%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%2212%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%2213%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%2214%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%2215%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%220%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%221%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%222%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%223%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%224%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%225%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%226%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%227%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%228%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%229%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%2210%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%2211%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%2212%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23c79bff%22/%3E%3Crect%20x%3D%2213%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%2214%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%2215%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%220%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%221%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%222%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%223%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%224%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%225%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%226%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%227%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%228%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%229%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%2210%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%2211%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%2212%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%2213%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%2214%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%2215%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%220%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%221%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%222%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%223%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%224%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%225%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%226%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%227%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%228%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%229%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%2210%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%2211%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%2212%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%2213%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%2214%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%2215%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%220%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23c79bff%22/%3E%3Crect%20x%3D%221%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%222%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%223%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%224%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%225%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%226%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%227%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%228%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%229%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%2210%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%2211%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%2212%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%2213%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%2214%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23c79bff%22/%3E%3Crect%20x%3D%2215%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%220%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%221%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%222%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%223%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%224%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%225%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%226%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%227%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%228%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%229%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%2210%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23c79bff%22/%3E%3Crect%20x%3D%2211%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%2212%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%2213%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%2214%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%2215%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%220%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%221%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%222%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%223%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%224%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%225%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%226%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%227%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%228%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%229%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%2210%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%2211%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%2212%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%2213%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23c79bff%22/%3E%3Crect%20x%3D%2214%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%2215%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%220%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%221%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%222%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%223%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%224%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%225%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%226%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%227%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%228%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%229%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%2210%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%2211%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%2212%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%2213%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%2214%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%2215%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%220%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%221%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%222%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%223%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%224%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%225%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%226%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%227%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%228%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%229%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%2210%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%234b14a8%22/%3E%3Crect%20x%3D%2211%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%238b3bff%22/%3E%3Crect%20x%3D%2212%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%2213%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3Crect%20x%3D%2214%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%23a35cff%22/%3E%3Crect%20x%3D%2215%22%20y%3D%2215%22%20width%3D%221%22%20height%3D%221%22%20fill%3D%22%236a1fd1%22/%3E%3C/svg%3E") 0 0 / 48px 48px; box-shadow: inset 0 0 30px rgba(20, 0, 60, .6), 0 0 40px rgba(163, 92, 255, .6);
    animation: lu-portal-wave 4s linear infinite, lu-portal-flicker 2.4s ease-in-out infinite; }
@keyframes lu-portal-wave { from { background-position: 0 0, 0 0; } to { background-position: 48px -96px, -48px 48px; } }
@keyframes lu-portal-flicker { 0%, 100% { filter: brightness(1) saturate(1.1); } 50% { filter: brightness(1.25) saturate(1.3); } }
.lu-portal-sparks { position: absolute; inset: 20% 25%; pointer-events: none; }
.lu-portal-sparks i { position: absolute; bottom: 0; display: block; width: 6px; height: 6px; background: #d9b8ff; box-shadow: 0 0 8px #a35cff; animation: lu-portal-rise 3s linear infinite; opacity: 0; }
.lu-portal-sparks i:nth-child(1) { left: 10%; } .lu-portal-sparks i:nth-child(2) { left: 30%; animation-delay: -.6s; }
.lu-portal-sparks i:nth-child(3) { left: 50%; animation-delay: -1.2s; width: 4px; height: 4px; } .lu-portal-sparks i:nth-child(4) { left: 70%; animation-delay: -1.8s; }
.lu-portal-sparks i:nth-child(5) { left: 88%; animation-delay: -2.4s; width: 4px; height: 4px; } .lu-portal-sparks i:nth-child(6) { left: 20%; animation-delay: -.3s; background: #fff; }
.lu-portal-sparks i:nth-child(7) { left: 60%; animation-delay: -1.5s; background: #6ff1ea; box-shadow: 0 0 8px #6ff1ea; } .lu-portal-sparks i:nth-child(8) { left: 80%; animation-delay: -2.1s; }
@keyframes lu-portal-rise { 0% { transform: translateY(0); opacity: 0; } 15% { opacity: 1; } 100% { transform: translateY(-240px) translateX(10px); opacity: 0; } }
.lu-portal-core { position: absolute; left: 50%; bottom: -9%; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: .35rem; width: 104%; padding: .9rem 1rem; text-align: center; transform: translateX(-50%); border: 3px solid #180c2e; border-radius: 14px; background: linear-gradient(180deg, #3a2470, #22133a); box-shadow: 0 0 0 2px #fdd156, 0 12px 28px rgba(15, 6, 24, .55); }
.lu-portal-core small { color: #6ff1ea; font-weight: 800; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
    background: radial-gradient(circle at 50% 35%, rgba(255, 255, 255, .16), rgba(20, 8, 40, .72) 70%); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18), inset 0 0 40px rgba(62, 230, 224, .25); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.lu-portal-core small { color: #8ff7f1; font-weight: 800; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.lu-portal-ip { font-family: var(--lu-display); font-weight: 400; font-size: clamp(1.2rem, 2.4vw, 1.6rem); line-height: 1.05; color: #fff; text-shadow: 0 3px 0 #24092f, 0 0 20px rgba(62, 230, 224, .6); word-break: break-all; }
.lu-portal-copy { display: inline-flex; align-items: center; gap: .45rem; padding: .55rem 1rem; border: 2px solid #24092f; border-radius: 999px; background: linear-gradient(180deg, #e6fffe 0%, #74ece6 45%, #1aa3b8 100%); color: #06303a; font-weight: 800; font-size: .88rem; text-decoration: none; box-shadow: 0 4px 0 #24092f, 0 0 20px rgba(62, 230, 224, .4); transition: transform .15s ease, filter .15s ease; }
.lu-portal-copy:hover { color: #06303a; transform: translateY(-2px); filter: brightness(1.06); }
.lu-portal-copy:active { transform: translateY(2px); }
.lu-portal-copy.is-copied { background: linear-gradient(180deg, #c9ffe2, #3fd98f 50%, #1fae6c); animation: lu-bump .4s ease; }
.lu-portal-port { color: #cfc4ee; font-size: .8rem; font-weight: 700; }
.lu-gate-mascot { position: absolute; right: -14%; bottom: 60px; z-index: 3; width: 34%; max-width: 230px; filter: drop-shadow(0 18px 20px rgba(10, 4, 30, .5)); animation: lu-bob 5s ease-in-out infinite; pointer-events: none; }
.lu-gate-quick { margin: 1.4rem 0 .6rem; color: #b8acd9; font-weight: 800; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; }
.lu-gate-platforms { display: flex; flex-wrap: wrap; justify-content: center; gap: .55rem; }
.lu-gate-plat { display: inline-flex; align-items: center; gap: .5rem; padding: .5rem .9rem .5rem .55rem; border: 0; border-radius: 999px; background: rgba(255, 255, 255, .08); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14); color: #fff; font-weight: 800; font-size: .88rem; transition: transform .2s cubic-bezier(.2, .9, .3, 1.4), background .2s ease; }
.lu-gate-plat i { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; font-size: 1rem; color: #fff; }
.lu-gate-plat-java i { background: linear-gradient(180deg, #b48cff, #7a4fe0); }
.lu-gate-plat-bedrock i { background: linear-gradient(180deg, #7ee6ff, #2fb0e0); }
.lu-gate-plat-console i { background: linear-gradient(180deg, #6ee06a, #2e9e2b); }
.lu-gate-plat-switch i { background: linear-gradient(90deg, #2fc6ff 50%, #ff5a6e 50%); }
.lu-gate-plat:hover { transform: translateY(-3px); background: rgba(255, 255, 255, .16); }
.lu-gate-plat:focus-visible { outline: 3px solid #6ff1ea; outline-offset: 2px; }
@media (max-width: 991.98px) {
    .lu-gate-grid { grid-template-columns: 1fr; gap: 2rem; }
    .lu-gate-mascot { right: 0; width: 30%; bottom: 90px; }
}
@media (max-width: 575.98px) {
    .lu-gate-mascot { display: none; }
}

/* ---------- Launch roadmap (cosmic timeline) ---------- */
.lu-roadmap { background: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(120, 70, 220, .35), transparent 70%), linear-gradient(180deg, #3d1258 0%, #170f33 16%, #110b27 84%, #33104e 100%); }
.lu-nebula { position: absolute; display: block; border-radius: 50%; filter: blur(80px); opacity: .45; pointer-events: none; animation: lu-nebula 22s ease-in-out infinite alternate; }
.lu-nebula-1 { top: 10%; left: -10%; width: 520px; height: 420px; background: #3ee6e0; opacity: .18; }
.lu-nebula-2 { top: 35%; right: -12%; width: 600px; height: 480px; background: #9b5cff; opacity: .3; animation-delay: -8s; }
.lu-nebula-3 { bottom: -10%; left: 30%; width: 560px; height: 360px; background: #ff6fae; opacity: .16; animation-delay: -14s; }
@keyframes lu-nebula { 0% { transform: translate(0, 0) scale(1); } 50% { transform: translate(40px, -30px) scale(1.12); } 100% { transform: translate(-30px, 20px) scale(.95); } }
.lu-road-kicker { display: inline-flex; align-items: center; gap: .45rem; margin-bottom: .9rem; padding: .35rem .95rem; border-radius: 999px; background: rgba(62, 230, 224, .1); box-shadow: inset 0 0 0 1px rgba(62, 230, 224, .4); color: #8ff7f1; font-weight: 800; font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; }

.lu-road { position: relative; margin-top: 1rem; }
.lu-road-line { position: absolute; top: 22px; left: 0; right: 0; height: 3px; border-radius: 3px; background: rgba(255, 255, 255, .1); -webkit-mask: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.lu-road-fill { position: absolute; top: 0; bottom: 0; left: 0; width: calc(var(--lu-progress) * 100%); border-radius: 3px; background: linear-gradient(90deg, #3ee6e0, #9b5cff 60%, #ffcf4a); box-shadow: 0 0 14px rgba(62, 230, 224, .7), 0 0 30px rgba(155, 92, 255, .5); transform-origin: left center; }
.lu-road-comet { position: absolute; top: 50%; left: calc(var(--lu-progress) * 100%); width: 14px; height: 14px; margin: -7px 0 0 -7px; border-radius: 50%; background: #fff; box-shadow: 0 0 10px 3px #ffcf4a, 0 0 30px 8px rgba(255, 207, 74, .5); }
.lu-motion .lu-road-fill { transform: scaleX(0); transition: transform 1.8s cubic-bezier(.2, .8, .2, 1) .3s; }
.lu-motion .lu-road-comet { opacity: 0; transition: opacity .5s ease 1.9s; }
.lu-motion .lu-road.lu-in .lu-road-fill { transform: none; }
.lu-motion .lu-road.lu-in .lu-road-comet { opacity: 1; animation: lu-comet 2.4s ease-in-out 2.2s infinite; }
@keyframes lu-comet { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.5); } }

.lu-road-list { position: relative; display: grid; grid-template-columns: repeat(var(--lu-steps), minmax(0, 1fr)); gap: 1.2rem; margin: 0; padding: 0; list-style: none; }
.lu-road-step { display: flex; flex-direction: column; align-items: center; }
.lu-road-node { position: relative; z-index: 1; display: grid; place-items: center; flex-shrink: 0; width: 46px; height: 46px; margin-bottom: 1.3rem; border-radius: 50%; background: #1b1338; box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .22); color: #0d0a21; font-size: 1.3rem; }
.is-done .lu-road-node { background: linear-gradient(135deg, #3ee6e0, #9b5cff); box-shadow: 0 0 18px rgba(62, 230, 224, .6); }
.is-current .lu-road-node { background: #1b1338; box-shadow: inset 0 0 0 3px #ffcf4a, 0 0 22px rgba(255, 207, 74, .55); }
.is-current .lu-road-node::before { content: ""; width: 14px; height: 14px; border-radius: 50%; background: #ffcf4a; box-shadow: 0 0 12px #ffcf4a; }
.is-current .lu-road-node::after { content: ""; position: absolute; inset: -6px; border-radius: 50%; border: 2px solid rgba(255, 207, 74, .6); animation: lu-road-ping 2s ease-out infinite; }
.is-upcoming .lu-road-node { box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .28); background: #160f2e; }
.is-upcoming .lu-road-node::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: rgba(255, 255, 255, .35); }
@keyframes lu-road-ping { 0% { transform: scale(.85); opacity: 1; } 100% { transform: scale(1.6); opacity: 0; } }

.lu-glass { --g: 255, 255, 255; position: relative; width: 100%; height: 100%; padding: 1.3rem 1.25rem 1.4rem; border-radius: 22px; overflow: hidden;
    background: linear-gradient(160deg, rgba(255, 255, 255, .13), rgba(255, 255, 255, .03) 60%); backdrop-filter: blur(14px) saturate(140%); -webkit-backdrop-filter: blur(14px) saturate(140%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), inset 0 0 0 1px rgba(255, 255, 255, .12), 0 22px 44px rgba(5, 2, 20, .4); transition: transform .35s cubic-bezier(.2, .9, .3, 1.3), box-shadow .35s ease; }
.lu-glass::before { content: ""; position: absolute; top: -60%; left: -30%; width: 60%; height: 220%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .12), transparent); transform: rotate(20deg) translateX(-120%); transition: transform .9s ease; pointer-events: none; }
.lu-glass:hover { transform: translateY(-8px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), inset 0 0 0 1px rgba(var(--g), .45), 0 26px 50px rgba(5, 2, 20, .5), 0 0 34px rgba(var(--g), .22); }
.lu-glass:hover::before { transform: rotate(20deg) translateX(320%); }
.is-done .lu-glass { --g: 62, 230, 224; }
.is-current .lu-glass { --g: 255, 207, 74; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), inset 0 0 0 1.5px rgba(255, 207, 74, .5), 0 22px 44px rgba(5, 2, 20, .4), 0 0 40px rgba(255, 207, 74, .16); }
.is-upcoming .lu-glass { --g: 185, 140, 255; }
.lu-glass-top { display: flex; align-items: center; justify-content: space-between; gap: .6rem; margin-bottom: .9rem; }
.lu-glass-ico { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 14px; font-size: 1.2rem; color: #fff; background: linear-gradient(135deg, rgba(var(--g), .55), rgba(var(--g), .15)); box-shadow: inset 0 0 0 1px rgba(var(--g), .5), 0 0 18px rgba(var(--g), .3); }
.lu-road-status { padding: .2rem .6rem; border-radius: 999px; background: rgba(var(--g), .14); box-shadow: inset 0 0 0 1px rgba(var(--g), .45); color: rgb(var(--g)); font-weight: 800; font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; }
.lu-road-when { margin: 0 0 .25rem; color: #8ff7f1; font-weight: 800; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.lu-glass h3 { margin: 0 0 .5rem; font-family: var(--lu-display); font-weight: 400; font-size: 1.3rem; line-height: 1.1; color: var(--lu-cream); text-transform: uppercase; }
.lu-glass p:last-child { margin: 0; color: #cfc4ee; font-size: .9rem; line-height: 1.55; }
.lu-motion .lu-road-step { opacity: 0; transform: translateY(34px); transition: opacity .7s ease var(--lu-delay), transform .7s cubic-bezier(.2, .9, .3, 1.2) var(--lu-delay); }
.lu-motion .lu-road.lu-in .lu-road-step { opacity: 1; transform: none; }

.lu-why { margin-top: 3.6rem; text-align: center; }
.lu-why-title { margin-bottom: 1.1rem; color: #b8acd9; font-weight: 800; font-size: .85rem; letter-spacing: .12em; text-transform: uppercase; }
.lu-why-list { display: flex; flex-wrap: wrap; justify-content: center; gap: .8rem; margin: 0; padding: 0; list-style: none; }
.lu-why-chip { --c: #ffcf4a; display: flex; align-items: center; gap: .7rem; padding: .55rem 1.1rem .55rem .55rem; border-radius: 999px; text-align: left; background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); transition: transform .25s ease, box-shadow .25s ease; }
.lu-why-chip:hover { transform: translateY(-3px); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c) 60%, transparent), 0 0 24px color-mix(in srgb, var(--c) 25%, transparent); }
.lu-why-ico { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: var(--c); color: #1a0b33; font-size: 1.1rem; box-shadow: 0 0 16px color-mix(in srgb, var(--c) 55%, transparent); }
.lu-why-chip strong { display: block; font-family: var(--lu-display); font-weight: 400; font-size: 1.05rem; line-height: 1.1; color: #fff; text-transform: uppercase; }
.lu-why-chip small { display: block; color: #b8acd9; font-size: .78rem; font-weight: 600; }

@media (max-width: 991.98px) {
    .lu-road-line { top: 0; bottom: 0; left: 22px; right: auto; width: 3px; height: auto; -webkit-mask: linear-gradient(180deg, transparent, #000 4%, #000 96%, transparent); mask: linear-gradient(180deg, transparent, #000 4%, #000 96%, transparent); }
    .lu-road-fill { top: 0; bottom: auto; left: 0; right: 0; width: auto; height: calc(var(--lu-progress) * 100%); transform-origin: center top; }
    .lu-motion .lu-road-fill { transform: scaleY(0); }
    .lu-road-comet { display: none; }
    .lu-road-list { grid-template-columns: 1fr; gap: 1.1rem; }
    .lu-road-step { flex-direction: row; align-items: flex-start; gap: 1rem; }
    .lu-road-node { margin: .9rem 0 0; }
}

/* ---------- Join ---------- */
.lu-join { background: linear-gradient(180deg, #33104e, #431459 55%, #3a1252); }
.lu-ip { margin-top: 2rem; }
.lu-ip-label, .lu-guide-label { display: block; margin-bottom: .4rem; color: #bfb0dc; font-weight: 600; font-size: .85rem; }
.lu-guide-label { margin-top: 1.6rem; color: var(--lu-gold); font-weight: 800; }
.lu-ip-row { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.lu-ip-value { font-weight: 800; font-size: 1.35rem; color: #fff; word-break: break-all; }
.lu-platforms { display: flex; flex-wrap: wrap; gap: .6rem; }
.lu-platform { display: grid; place-items: center; width: 50px; height: 50px; border: 0; border-radius: 14px; color: #fff; font-size: 1.45rem; cursor: pointer; box-shadow: 0 4px 0 rgba(0, 0, 0, .25), inset 0 2px 0 rgba(255, 255, 255, .35); transition: transform .2s cubic-bezier(.2, .9, .3, 1.4); }
.lu-platform:hover, .lu-platform.is-active { transform: translateY(-4px) rotate(-6deg); }
.lu-platform:focus-visible { outline: 3px solid var(--lu-cyan); outline-offset: 2px; }
.lu-platform-pc { background: linear-gradient(180deg, #b48cff, #7a4fe0); }
.lu-platform-phone { background: linear-gradient(180deg, #7ee6ff, #2fb0e0); }
.lu-platform-ps { background: linear-gradient(180deg, #4f8dff, #2257d6); }
.lu-platform-xbox { background: linear-gradient(180deg, #6ee06a, #2e9e2b); }
.lu-platform-switch { background: linear-gradient(90deg, #2fc6ff 50%, #ff5a6e 50%); }
/* native <dialog> windows */
.lu-dialog { width: min(560px, calc(100vw - 2rem)); max-height: calc(100vh - 2rem); padding: 1.4rem 1.5rem 1.5rem; border: 0; border-radius: 24px; color: var(--lu-text);
    background: linear-gradient(180deg, #3a1656, #241a42); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14), 0 10px 0 rgba(10, 5, 25, .4), 0 40px 80px rgba(0, 0, 0, .55); }
.lu-dialog[open] { animation: lu-dialog-in .4s cubic-bezier(.2, .9, .3, 1.3); }
.lu-dialog::backdrop { background: rgba(14, 8, 30, .62); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.lu-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.lu-dialog-title { margin: 0; font-family: var(--lu-display); font-weight: 400; font-size: 1.7rem; line-height: 1.05; text-transform: uppercase; color: var(--lu-cream); }
.lu-dialog-close { flex-shrink: 0; display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border: 0; border-radius: 12px; background: rgba(255, 255, 255, .1); color: #fff; transition: transform .2s ease, background .2s ease; }
.lu-dialog-close:hover { background: rgba(255, 255, 255, .2); transform: rotate(90deg); }
.lu-dialog-foot { display: flex; justify-content: flex-end; margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid rgba(255, 255, 255, .1); }
.lu-dialog [data-lu-pane]:not([hidden]) { animation: lu-pop .3s ease; }
@keyframes lu-dialog-in { from { opacity: 0; transform: translateY(24px) scale(.94); } to { opacity: 1; transform: none; } }
.lu-stars { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.lu-steps-tabs { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1rem; }
.lu-steps-tab { padding: .4rem .8rem; border: 0; border-radius: 10px; background: rgba(255, 255, 255, .08); color: #e9e0ff; font-weight: 700; font-size: .82rem; }
.lu-steps-tab.is-active { background: var(--lu-orange); color: #fff; }
.lu-steps-list { margin: 0; padding: 0; list-style: none; counter-reset: lu-step; }
.lu-steps-list li { position: relative; padding: .45rem 0 .45rem 2.6rem; color: #e6dcfa; line-height: 1.5; counter-increment: lu-step; }
.lu-steps-list li::before { content: counter(lu-step); position: absolute; left: 0; top: .35rem; display: grid; place-items: center; width: 1.8rem; height: 1.8rem; border-radius: 9px; background: linear-gradient(180deg, #ffd95e, #f6a623); color: #4a2a08; font-weight: 800; font-size: .85rem; }
.lu-steps-list strong { color: #fff; }

/* ---------- "Join us!" window ---------- */
.lu-dialog.lu-joinmodal { width: min(800px, calc(100vw - 1.5rem)); max-height: calc(100vh - 1.5rem); padding: 0; border: 0; border-radius: 26px; overflow: hidden auto; background: #fff8ec; color: #3b2357;
    box-shadow: 0 0 0 3px #24092f, 0 0 0 7px #f2b640, 0 0 0 9px #24092f, 0 40px 90px rgba(10, 4, 30, .6); }
.lu-jm-head { position: relative; display: flex; align-items: center; gap: 1rem; padding: 1.4rem 1.6rem; color: #fff;
    background: radial-gradient(1.5px 1.5px at 12% 30%, #fff, transparent), radial-gradient(1px 1px at 38% 70%, #fff, transparent), radial-gradient(1.5px 1.5px at 66% 22%, #ffe9a8, transparent), radial-gradient(1px 1px at 84% 64%, #c8fff9, transparent), radial-gradient(ellipse at 80% 0%, rgba(255, 111, 174, .35), transparent 60%), linear-gradient(120deg, #2c1756 0%, #4a1a6e 60%, #3a1470 100%); }
.lu-jm-moon { display: grid; place-items: center; flex-shrink: 0; width: 3.2rem; height: 3.2rem; border: 2px solid #24092f; border-radius: 50%; background: linear-gradient(180deg, #fff3bd, #ffcd4f 50%, #e8861d); color: #3a1606; font-size: 1.4rem; box-shadow: 0 4px 0 #24092f, 0 0 24px rgba(255, 205, 79, .55); animation: lu-tilt 6s ease-in-out infinite; }
@keyframes lu-tilt { 0%, 100% { rotate: -8deg; } 50% { rotate: 8deg; } }
.lu-jm-title { margin: 0; font-family: var(--lu-display); font-weight: 400; font-size: clamp(1.7rem, 4vw, 2.2rem); line-height: 1; text-transform: uppercase; color: #fff0d4; text-shadow: 0 3px 0 #24092f; }
.lu-jm-text { margin: .35rem 0 0; color: #e6d9ff; font-size: .95rem; }
.lu-jm-close { flex-shrink: 0; display: grid; place-items: center; width: 2.5rem; height: 2.5rem; margin-left: auto; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .14); color: #fff; transition: transform .25s ease, background .2s ease; }
.lu-jm-close:hover { background: rgba(255, 255, 255, .26); transform: rotate(90deg); }
.lu-jm-body { padding: 1.4rem 1.6rem .6rem; }
.lu-jm-choose { margin-bottom: .7rem; color: #7d62a3; font-weight: 800; font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; }
.lu-jm-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .7rem; }
.lu-jm-tab { position: relative; display: flex; flex-direction: column; align-items: center; gap: .15rem; padding: .95rem .5rem .8rem; border: 2px solid #eddcc2; border-radius: 18px; background: #fff; color: #3b2357; box-shadow: 0 4px 0 #e6d1b2; transition: transform .2s cubic-bezier(.2, .9, .3, 1.4), border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.lu-jm-tab:hover { transform: translateY(-3px); border-color: #e4c48e; }
.lu-jm-tab:focus-visible { outline: 3px solid #9b5cff; outline-offset: 2px; }
.lu-jm-tab.is-active { transform: translateY(-4px); border-color: #f2b640; background: linear-gradient(180deg, #fffdf6, #fff1cf); box-shadow: 0 6px 0 #d08a1f, 0 14px 26px rgba(242, 182, 64, .35); }
.lu-jm-tico { display: grid; place-items: center; width: 3rem; height: 3rem; margin-bottom: .35rem; border: 2px solid #24092f; border-radius: 14px; color: #fff; font-size: 1.35rem; box-shadow: 0 3px 0 #24092f, inset 0 2px 0 rgba(255, 255, 255, .35); }
.lu-jm-tico-java { background: linear-gradient(180deg, #b48cff, #7a4fe0); }
.lu-jm-tico-bedrock { background: linear-gradient(180deg, #7ee6ff, #2fb0e0); }
.lu-jm-tico-console { background: linear-gradient(180deg, #6ee06a, #2e9e2b); }
.lu-jm-tico-switch { background: linear-gradient(90deg, #2fc6ff 50%, #ff5a6e 50%); }
.lu-jm-tab b { font-family: var(--lu-display); font-weight: 400; font-size: 1.1rem; letter-spacing: .02em; text-transform: uppercase; }
.lu-jm-tab small { color: #8a73a6; font-size: .74rem; font-weight: 600; }
.lu-jm-check { position: absolute; top: -.55rem; right: -.55rem; display: grid; place-items: center; width: 1.6rem; height: 1.6rem; border: 2px solid #24092f; border-radius: 50%; background: #ffcd4f; color: #3a1606; font-size: .9rem; transform: scale(0); transition: transform .25s cubic-bezier(.2, .9, .3, 1.6); }
.lu-jm-tab.is-active .lu-jm-check { transform: scale(1); }
.lu-jm-pane:not([hidden]) { animation: lu-pop .3s ease; }
.lu-jm-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: .6rem; margin: 1.3rem 0 1.2rem; }
.lu-jm-field { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: .6rem; padding: .6rem .65rem .6rem .9rem; border: 2px solid #efdfc6; border-radius: 14px; background: #fff; }
.lu-jm-flabel { grid-column: 1; color: #8a73a6; font-weight: 800; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.lu-jm-fvalue { grid-column: 1; padding: 0; background: none; color: #2a1650; font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; font-weight: 800; font-size: 1.05rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lu-jm-copy { grid-column: 2; grid-row: 1 / span 2; display: inline-flex; align-items: center; gap: .35rem; padding: .5rem .75rem; border: 0; border-radius: 10px; background: #2c1756; color: #fff; font-weight: 800; font-size: .8rem; white-space: nowrap; box-shadow: 0 3px 0 #160a2e; transition: background .2s ease, transform .15s ease; }
.lu-jm-copy:hover { background: #4a1a6e; transform: translateY(-1px); }
.lu-jm-copy:active { transform: translateY(2px); box-shadow: 0 1px 0 #160a2e; }
.lu-jm-copy.is-copied { background: #1fae6c; box-shadow: 0 3px 0 #127a4a; animation: lu-bump .4s ease; }
.lu-jm-steps-title { margin-bottom: .5rem; color: #7d62a3; font-weight: 800; font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; }
.lu-jm-steps { margin: 0 0 1rem; padding: 0; list-style: none; counter-reset: lu-jm; }
.lu-jm-steps li { position: relative; padding: .5rem 0 .5rem 2.7rem; color: #3b2357; line-height: 1.55; counter-increment: lu-jm; }
.lu-jm-steps li::before { content: counter(lu-jm); position: absolute; left: 0; top: .4rem; display: grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 50%; background: linear-gradient(135deg, #9b5cff, #5b2bb0); color: #fff; font-weight: 800; font-size: .85rem; box-shadow: 0 2px 0 #3a1470; }
.lu-jm-val { padding: .05rem .4rem; border-radius: 6px; background: #f1e4ff; color: #5a2aa0; font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; font-weight: 800; white-space: nowrap; }
.lu-jm-tip { display: flex; gap: .6rem; align-items: flex-start; margin: 0 0 .6rem; padding: .75rem .95rem; border-left: 4px solid #f2b640; border-radius: 12px; background: #fff1c9; color: #6b4a12; font-size: .92rem; line-height: 1.5; }
.lu-jm-tip > i { color: #e8a21d; margin-top: .1rem; }
.lu-jm-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem; padding: 1rem 1.6rem 1.4rem; border-top: 1px solid #efdfc6; }
.lu-jm-help { display: inline-flex; align-items: center; gap: .45rem; color: #5865f2; font-weight: 800; text-decoration: none; }
.lu-jm-help:hover { color: #3c45c9; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 575.98px) {
    .lu-jm-head { padding: 1.1rem 1.1rem; }
    .lu-jm-moon { display: none; }
    .lu-jm-body { padding: 1.1rem 1.1rem .4rem; }
    .lu-jm-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lu-jm-foot { padding: 1rem 1.1rem 1.2rem; }
    .lu-jm-foot .lu-btn { width: 100%; }
}

.lu-pause { position: relative; padding: 2rem 0 3rem; }
.lu-pause-card { position: relative; z-index: 1; max-width: 480px; padding: 1.3rem 1.4rem 1.5rem; border-radius: 30px; background: #fdebd9; box-shadow: inset 0 0 0 6px #f7d4bf, 0 14px 0 rgba(120, 50, 80, .25), 0 30px 50px rgba(20, 5, 35, .45); transform: rotate(-1.5deg); }
.lu-pause.has-mascot .lu-pause-card { margin-right: 34%; }
.lu-discord-art:has(img) .lu-buddy { display: none; }
.lu-pause-title { margin: 0 0 .6rem .3rem; font-family: var(--lu-display); font-size: 1.6rem; color: #6a3418; }
.lu-pause-field { margin-bottom: .55rem; padding: .35rem .55rem .55rem; border-radius: 8px; background: #f3c9b5; }
.lu-pause-field span { display: block; padding: 0 .2rem .3rem; font-weight: 800; font-size: .85rem; color: #7a3a1c; }
.lu-pause-field b { display: block; padding: .55rem .7rem; border-radius: 4px; background: #fff7ec; color: #5a2a12; font-family: var(--lu-display); font-weight: 400; font-size: 1.35rem; letter-spacing: .02em; word-break: break-all; }
.lu-pause-address { font-family: var(--bs-body-font-family) !important; font-weight: 800 !important; font-size: 1.2rem !important; }
.lu-pause-actions { display: flex; gap: .7rem; margin-top: 1rem; }
.lu-pill { flex: 1; display: grid; place-items: center; padding: .75rem 1rem; border: 0; border-radius: 99px; text-decoration: none; cursor: pointer;
    font-family: var(--lu-display); font-size: 1.35rem; letter-spacing: .03em; text-transform: uppercase; color: #134944;
    background: linear-gradient(180deg, #b6fff3 0%, #6fe6d6 45%, #3cc8b8 100%); box-shadow: inset 0 0 0 4px #fff, 0 6px 0 #2a958a, 0 12px 20px rgba(20, 80, 80, .3); transition: transform .15s ease, box-shadow .15s ease; }
.lu-pill:hover { color: #0d3a36; transform: translateY(-2px); }
.lu-pill:active { transform: translateY(4px); box-shadow: inset 0 0 0 4px #fff, 0 2px 0 #2a958a; }
.lu-pill-ghost { flex: .7; cursor: default; opacity: .75; }
.lu-pill-ghost:hover { transform: none; }
.lu-pause-mascot { position: absolute; right: -1rem; bottom: 1rem; z-index: 2; width: 42%; max-width: 300px; filter: drop-shadow(0 18px 20px rgba(0, 0, 0, .35)); animation: lu-bob 5s ease-in-out infinite; }
.lu-pause-wait { position: absolute; left: 1.5rem; bottom: 0; margin: 0; font-family: var(--lu-display); font-size: 1.5rem; color: var(--lu-gold); text-transform: uppercase; transform: rotate(-4deg); text-shadow: 0 3px 0 #8a3a14; }
.lu-gem { position: absolute; top: 0; right: 4%; z-index: 2; width: 70px; height: 110px; background: linear-gradient(135deg, #e2fffd, var(--lu-cyan) 40%, var(--lu-violet) 85%); clip-path: polygon(50% 0, 100% 32%, 78% 100%, 22% 100%, 0 32%); filter: drop-shadow(0 0 22px rgba(62, 230, 224, .8)); animation: lu-bob 4s ease-in-out infinite, lu-glow 3s ease-in-out infinite; }

/* ---------- Discord ---------- */
.lu-discord { background: linear-gradient(180deg, #24183f, #171330 60%, #141128); }
.lu-discord-count { display: flex; align-items: center; gap: .5rem; margin: -.3rem 0 .9rem; color: #8ff0c0; font-weight: 800; font-size: .9rem; }
.lu-points { margin: 0 0 1.8rem; padding: 0; list-style: none; }
.lu-points li { display: flex; align-items: center; gap: .8rem; margin-bottom: .7rem; color: #e6defa; font-weight: 600; }
.lu-points span { display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 10px; background: rgba(88, 101, 242, .2); box-shadow: inset 0 0 0 1px rgba(140, 150, 255, .4); color: #aab2ff; }
.lu-discord-art { position: relative; display: grid; place-items: center; min-height: 380px; }
.lu-discord-art::before { content: ""; position: absolute; width: 360px; height: 360px; border-radius: 50%; background: radial-gradient(circle, rgba(88, 101, 242, .45), transparent 65%); }
.lu-discord-art img { position: relative; max-width: min(100%, 440px); max-height: 460px; filter: drop-shadow(0 20px 24px rgba(0, 0, 0, .4)); }
.lu-bot { position: relative; display: grid; place-items: center; width: 210px; height: 210px; border-radius: 52px; background: linear-gradient(160deg, #8f98ff, #5865f2 55%, #4450d6); color: #fff; font-size: 7rem; box-shadow: inset 0 -14px 0 rgba(0, 0, 0, .15), inset 0 6px 0 rgba(255, 255, 255, .25), 0 14px 0 #343cad, 0 30px 50px rgba(30, 30, 100, .5); }
.lu-spark { position: absolute; color: #ffb547; filter: drop-shadow(0 0 8px rgba(255, 181, 71, .8)); animation: lu-blink 2.6s ease-in-out infinite; }
.lu-spark-1 { top: 8%; left: 26%; font-size: 1.6rem; }
.lu-spark-2 { top: 30%; right: 14%; font-size: 2.1rem; animation-delay: -1s; }
.lu-spark-3 { bottom: 14%; left: 16%; font-size: 1.2rem; animation-delay: -1.8s; }
.lu-buddy { position: absolute; width: 54px; height: 50px; border-radius: 10px; background: linear-gradient(180deg, #ffd96a 0 30%, #6b3f1d 30% 45%, #ffd96a 45% 70%, #6b3f1d 70% 85%, #ffd96a 85%); box-shadow: inset 0 -6px 0 rgba(0, 0, 0, .12), 0 10px 18px rgba(0, 0, 0, .3); animation: lu-orbit 7s ease-in-out infinite; }
.lu-buddy::before { content: ""; position: absolute; top: -12px; left: 8px; width: 36px; height: 16px; border-radius: 50%; background: rgba(220, 235, 255, .7); animation: lu-flap .25s linear infinite alternate; }
.lu-buddy-1 { top: 18%; left: 8%; }
.lu-buddy-2 { top: 10%; right: 6%; transform: scale(.8); animation-delay: -3s; }

/* ---------- FAQ ---------- */
.lu-faq { background: linear-gradient(180deg, #3d1258, #4a1556); }
.lu-qa { border-bottom: 1px solid rgba(255, 255, 255, .14); }
.lu-qa summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.35rem 0; cursor: pointer; list-style: none; font-weight: 800; font-size: 1.02rem; color: var(--lu-cream); }
.lu-qa summary::-webkit-details-marker { display: none; }
.lu-qa summary i { flex-shrink: 0; color: var(--lu-gold); transition: transform .25s ease; }
.lu-qa[open] summary i { transform: rotate(45deg); }
.lu-qa summary:hover { color: #fff; }
.lu-qa summary:focus-visible { outline: 3px solid var(--lu-cyan); outline-offset: 4px; border-radius: 6px; }
.lu-qa p { margin: -.4rem 0 1.3rem; color: var(--lu-muted); line-height: 1.7; animation: lu-pop .3s ease; }

/* ---------- Call to action ---------- */
.lu-cta { background: linear-gradient(180deg, #2a1440, #1a1530 60%, #161226); }
.lu-cta-art { display: grid; place-items: center; min-height: 340px; }
.lu-cta-art img { max-width: min(100%, 420px); max-height: 480px; filter: drop-shadow(0 22px 24px rgba(0, 0, 0, .45)); }
.lu-isle-big { position: relative; top: auto; left: auto; width: 280px; margin-top: 90px; }
.lu-isle-big .lu-grass { height: 34px; }
.lu-isle-big .lu-dirt { height: 120px; }
.lu-isle-big .lu-tree { transform: scale(1.5); transform-origin: bottom left; }
.lu-isle-big .lu-crystal { transform: scale(1.6); transform-origin: bottom; }

/* ---------- Footer ---------- */
.lu-footer { position: relative; padding: 3.5rem 0 1.5rem; background: #141026; border-top: 1px solid rgba(255, 255, 255, .1); font-size: .9rem; }
.lu-footer-grid { display: grid; grid-template-columns: 1.3fr repeat(3, 1fr); gap: 2rem; }
.lu-footer-logo { display: inline-block; margin-bottom: .8rem; text-decoration: none; }
.lu-footer-logo img { max-height: 64px; max-width: 200px; }
.lu-footer-brand p { color: #a99cc6; font-size: .82rem; }
.lu-footer-title { margin-bottom: 1rem; font-size: .92rem; font-weight: 800; color: var(--lu-gold); }
.lu-footer-list { margin: 0; padding: 0; list-style: none; }
.lu-footer-list li { margin-bottom: .7rem; }
.lu-footer-list a { display: inline-flex; align-items: center; gap: .5rem; color: #ddd4f2; text-decoration: none; transition: color .15s ease, transform .15s ease; }
.lu-footer-list a:hover { color: #fff; transform: translateX(3px); }
.lu-footer-gold a { color: var(--lu-gold); font-weight: 800; }
.lu-footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 2.5rem; padding-top: 1.4rem; border-top: 1px solid rgba(255, 255, 255, .08); color: #a99cc6; font-size: .8rem; }
.lu-footer-bottom a { color: #d9cdf5; }
.lu-totop { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; }
.lu-totop span { display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 10px; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .2); transition: transform .2s ease, background .2s ease; }
.lu-totop:hover span { transform: translateY(-3px); background: rgba(255, 255, 255, .08); }
@media (max-width: 991.98px) { .lu-footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575.98px) { .lu-footer-grid { grid-template-columns: 1fr; } }

/* ---------- Other pages (CSS only) ---------- */
.lu-page { position: relative; flex: 1; padding: 2.5rem 0 4rem; background: linear-gradient(180deg, var(--lu-plum) 0, #2c1146 340px, #1b1430 900px); }
.lu-page > .container { position: relative; }
.lu-page h1, .lu-page .h1 { font-family: var(--lu-display); font-weight: 400; letter-spacing: .02em; color: var(--lu-cream); text-transform: uppercase; text-shadow: 0 3px 0 rgba(0, 0, 0, .22); }
.lu-page h2, .lu-page h3, .lu-page h4, .lu-page h5 { color: #fff; }
.lu .card { --bs-card-bg: rgba(255, 255, 255, .06); --bs-card-border-color: rgba(255, 255, 255, .12); --bs-card-cap-bg: rgba(255, 255, 255, .05); --bs-card-border-radius: 18px; --bs-card-inner-border-radius: 17px; box-shadow: 0 14px 34px rgba(10, 5, 25, .25); backdrop-filter: blur(4px); }
.lu .list-group { --bs-list-group-bg: rgba(255, 255, 255, .04); --bs-list-group-border-color: rgba(255, 255, 255, .1); --bs-list-group-active-bg: var(--lu-orange); --bs-list-group-active-border-color: var(--lu-orange); }
.lu .btn { border-radius: 12px; font-weight: 700; }
.lu .btn-primary { --bs-btn-bg: #f57a32; --bs-btn-border-color: #f57a32; --bs-btn-hover-bg: #ff8f4a; --bs-btn-hover-border-color: #ff8f4a; --bs-btn-active-bg: #e0661f; --bs-btn-active-border-color: #e0661f; --bs-btn-disabled-bg: #f57a32; --bs-btn-disabled-border-color: #f57a32; background-image: linear-gradient(180deg, #ffa04d, #f0682a); border: 0; box-shadow: 0 3px 0 #b2441a; }
.lu .btn-primary:hover { background-image: linear-gradient(180deg, #ffb066, #f5783a); }
.lu .form-control, .lu .form-select { background-color: rgba(10, 6, 24, .4); border-color: rgba(255, 255, 255, .16); }
.lu .form-control:focus, .lu .form-select:focus { border-color: var(--lu-orange); box-shadow: 0 0 0 .2rem rgba(255, 138, 61, .25); }
.lu .page-link { --bs-pagination-bg: rgba(255, 255, 255, .06); --bs-pagination-border-color: rgba(255, 255, 255, .12); --bs-pagination-active-bg: var(--lu-orange); --bs-pagination-active-border-color: var(--lu-orange); }
.lu .table { --bs-table-bg: transparent; }
.lu .modal-content, .lu .dropdown-menu { background-color: #241b40; }
.lu .alert { border-radius: 14px; }

/* ---------- Opening countdown ---------- */
.lu-countdown { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin: 0 0 1.6rem; }
.lu-cd-box { display: flex; flex-direction: column; align-items: center; min-width: 4.8rem; padding: .55rem .5rem .45rem; border-radius: 16px; background: rgba(22, 16, 42, .72); box-shadow: 0 4px 0 rgba(10, 5, 25, .5), inset 0 0 0 1px rgba(255, 255, 255, .14); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.lu-cd-box b { font-family: var(--lu-display); font-weight: 400; font-size: 2.2rem; line-height: 1; color: var(--lu-gold); font-variant-numeric: tabular-nums; text-shadow: 0 3px 0 #8a3a14; }
.lu-cd-box b.is-tick { animation: lu-bump .35s ease; }
.lu-cd-box small { margin-top: .3rem; color: #e9dcff; font-weight: 800; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.lu-countdown.is-open { font-family: var(--lu-display); font-size: 1.8rem; color: #fff; text-transform: uppercase; }
@keyframes lu-bump { 0% { transform: scale(1); } 40% { transform: scale(1.12); } 100% { transform: scale(1); } }

/* ---------- 3D island & smooth scroll ---------- */
.lu-scene-wrap { position: absolute; inset: 0; }
.lu-hero-3d { position: absolute; inset: 0; pointer-events: none; }
.lu-hero-3d canvas { display: block; width: 100% !important; height: 100% !important; opacity: 0; animation: lu-fade-in 1.4s ease .1s forwards; }
.lu-hero.is-3d .lu-isle-5 { display: none; }
@keyframes lu-fade-in { to { opacity: 1; } }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }
[data-lu-speed] { will-change: translate; }

/* hero illustration (phones, or when the 3D island is off) */
.lu-hero-art { position: relative; z-index: 5; display: block; width: min(60vw, 320px); margin: 2rem auto 0; filter: drop-shadow(0 18px 22px rgba(30, 10, 60, .45)); animation: lu-bob 5s ease-in-out infinite; }
@media (min-width: 992px) { .lu-hero-art-mobile { display: none; } }
.lu-hero.is-3d .lu-hero-art { display: none; }

/* single game mode: wide card */
.lu-mode-grid.is-single .lu-mode { display: grid; grid-template-columns: minmax(0, 46%) 1fr; grid-template-rows: 1fr auto auto auto 1fr; column-gap: 2.2rem; width: min(900px, 100%); padding: 2rem 2.4rem; }
.lu-mode-grid.is-single .lu-mode-art { grid-column: 1; grid-row: 1 / -1; height: 330px; margin: 0; }
.lu-mode-grid.is-single .lu-mode-art img { max-height: 330px; }
.lu-mode-grid.is-single .lu-mode-name { grid-column: 2; grid-row: 2; }
.lu-mode-grid.is-single .lu-mode p { grid-column: 2; grid-row: 3; }
.lu-mode-grid.is-single .lu-mode-link { grid-column: 2; grid-row: 4; justify-self: start; }
.lu-mode-grid.is-single .lu-mode-name { font-size: 2.2rem; }
.lu-mode-grid.is-single .lu-mode p { font-size: 1.02rem; }
@media (max-width: 767.98px) {
    .lu-mode-grid.is-single .lu-mode { display: flex; flex-direction: column; padding: 1.4rem; }
    .lu-mode-grid.is-single .lu-mode-art { height: 260px; width: 100%; }
    .lu-mode-grid.is-single .lu-mode-art img { max-height: 260px; }
    .lu-cd-box { min-width: 4rem; }
    .lu-cd-box b { font-size: 1.8rem; }
}

/* ---------- Reveal & motion ---------- */
.lu-motion .lu-reveal { opacity: 0; transform: translateY(26px) scale(.98); transition: opacity .7s ease var(--lu-delay, 0ms), transform .7s cubic-bezier(.2, .9, .3, 1.2) var(--lu-delay, 0ms); }
.lu-motion .lu-reveal.lu-in { opacity: 1; transform: none; }
.lu-motion .lu-mode.lu-reveal.lu-in:hover { transform: translateY(-8px) rotate(-.6deg); transition-delay: 0ms; }
.lu-float { animation: lu-bob 5s ease-in-out infinite; }
.lu-wave { animation: lu-sway 5s ease-in-out infinite; transform-origin: 50% 100%; }
.lu-scene { transition: transform .6s ease-out; }

body:not(.lu-motion) *, body:not(.lu-motion) *::before, body:not(.lu-motion) *::after { animation: none !important; }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .lu *, .lu *::before, .lu *::after { animation: none !important; transition-duration: .01ms !important; }
    .lu-motion .lu-reveal { opacity: 1; transform: none; }
    .lu-motion .lu-road-step, .lu-motion .lu-road-fill { opacity: 1; transform: none; }
    .lu-motion .lu-road-comet { opacity: 1; }
}

@keyframes lu-drift { from { transform: translateX(-260px); } to { transform: translateX(calc(100vw + 120px)); } }
@keyframes lu-bob { 0%, 100% { translate: 0 0; } 50% { translate: 0 -14px; } }
@keyframes lu-shadow { 0%, 100% { transform: translateX(-50%) scale(1); opacity: .9; } 50% { transform: translateX(-50%) scale(.78); opacity: .5; } }
@keyframes lu-zoom { from { transform: scale(1); } to { transform: scale(1.08); } }
@keyframes lu-pulse { 0%, 100% { transform: scale(1); opacity: .9; } 50% { transform: scale(1.08); opacity: 1; } }
@keyframes lu-glow { 0%, 100% { filter: drop-shadow(0 0 10px rgba(62, 230, 224, .7)); } 50% { filter: drop-shadow(0 0 24px rgba(155, 92, 255, .95)); } }
@keyframes lu-rise { 0% { transform: translateY(0) scale(.6); opacity: 0; } 15% { opacity: 1; } 85% { opacity: .9; } 100% { transform: translateY(-80vh) translateX(30px) scale(1); opacity: 0; } }
@keyframes lu-wiggle { 0%, 100% { rotate: -6deg; } 50% { rotate: 8deg; } }
@keyframes lu-ping { 0% { box-shadow: 0 0 0 0 rgba(82, 240, 141, .7); } 80%, 100% { box-shadow: 0 0 0 10px rgba(82, 240, 141, 0); } }
@keyframes lu-twinkle { from { opacity: .3; } to { opacity: .7; } }
@keyframes lu-pop { from { opacity: 0; transform: translateY(-6px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes lu-blink { 0%, 100% { transform: scale(1) rotate(0); opacity: 1; } 50% { transform: scale(.55) rotate(30deg); opacity: .5; } }
@keyframes lu-orbit { 0%, 100% { translate: 0 0; rotate: -6deg; } 33% { translate: 14px -18px; rotate: 6deg; } 66% { translate: -10px -8px; rotate: -2deg; } }
@keyframes lu-flap { from { transform: scaleY(1); } to { transform: scaleY(.4); } }
@keyframes lu-sway { 0%, 100% { rotate: -3deg; } 50% { rotate: 3deg; } }

@media (max-width: 767.98px) {
    .lu-isle-3, .lu-isle-4, .lu-isle-5 { display: none; }
    .lu-isle-1 { width: 120px; top: 30%; left: -20px; }
    .lu-isle-2 { width: 110px; top: 34%; right: -16px; }
    .lu-pause.has-mascot .lu-pause-card { margin-right: 0; }
    .lu-pause-mascot { position: relative; bottom: auto; display: block; width: 60%; margin: -1rem 0 0 auto; }
    .lu-gem { width: 50px; height: 80px; top: -10px; }
    .lu-discord-art { min-height: 300px; }
    .lu-bot { width: 160px; height: 160px; font-size: 5rem; border-radius: 40px; }
}

/* =====================================================================
   "Silver moon" palette for the whole site (same as the logo):
   chrome silver letters, icy cyan glow, violet nebula, grey lunar ground
   ===================================================================== */
.lu-astral, .lu.lu-astral[data-bs-theme] {
    --la-void: #07061a; --la-night: #0d0a24; --la-deep: #140f33; --la-indigo: #1d1446; --la-violet: #2f1f6e; --la-royal: #4a2f96; --la-nebula: #8b5cf6; --la-orchid: #c7a8ff;
    --la-silver: #e3e8f6; --la-steel: #98a1c2; --la-ink: #1d1542; --la-cyan: #7ff3ff; --la-cyan-2: #3fd4ef; --la-ice: #d2fbff;
    --la-chrome: linear-gradient(180deg, #ffffff 0%, #e8ecf8 24%, #a9b2d0 47%, #f7f9ff 53%, #c4cce4 74%, #858db0 100%);
    --la-galaxy: linear-gradient(180deg, #f9fbff 0%, #d2d9f2 18%, #a48cec 42%, #74def4 62%, #eef2ff 82%, #a3aacd 100%);
    --la-glow: drop-shadow(0 0 1px rgba(191, 248, 255, .9)) drop-shadow(0 0 14px rgba(127, 243, 255, .45));
    --lu-display: "Cinzel", Georgia, "Times New Roman", serif;
    --lu-gold: #c9fbff; --lu-gold-2: #9fe9ff; --lu-orange: #8b5cf6; --lu-orange-2: #6a3fe0; --lu-cream: #eef2ff; --lu-violet: #a47bff; --lu-cyan: #7ff3ff;
    --lu-text: #e9e8ff; --lu-muted: #b9b5dc; --lu-plum: #140f33;
    --bs-body-bg: #0d0a24; --bs-body-bg-rgb: 13, 10, 36; --bs-secondary-bg: #1a1440; --bs-tertiary-bg: #161036;
    --bs-primary: #8b5cf6; --bs-primary-rgb: 139, 92, 246; --bs-link-color: #9fe9ff; --bs-link-color-rgb: 159, 233, 255; --bs-link-hover-color: #d2fbff; --bs-link-hover-color-rgb: 210, 251, 255;
}
body.lu-astral { background: var(--la-night); color: var(--lu-text); }
.lu-astral ::selection { background: var(--la-cyan); color: var(--la-ink); }

/* chiselled chrome titles, like the logo letters */
.lu-astral .lu-title, .lu-astral .lu-scroll-head h2, .lu-astral .lu-dialog-title, .lu-astral .lu-page h1, .lu-astral .lu-page .h1 {
    font-weight: 900; letter-spacing: .03em; background: var(--la-chrome); -webkit-background-clip: text; background-clip: text; color: transparent;
    -webkit-text-stroke: 1px var(--la-ink); text-shadow: none; filter: drop-shadow(0 3px 0 var(--la-ink)) var(--la-glow); }
.lu-astral .lu-title { font-size: clamp(2.1rem, 4.8vw, 3.3rem); }
.lu-astral .lu-title-xl { font-size: clamp(2.5rem, 6.2vw, 4.3rem); }
.lu-astral .lu-section-head p, .lu-astral .lu-lead { color: var(--lu-muted); }
.lu-astral .lu-show-feature strong, .lu-astral .lu-gate-steps strong, .lu-astral .lu-glass h3, .lu-astral .lu-why-chip strong, .lu-astral .lu-mode-name, .lu-astral .lu-jm-title, .lu-astral .lu-cd-box b { font-weight: 900; }
.lu-astral .lu-show-feature strong, .lu-astral .lu-gate-steps strong, .lu-astral .lu-glass h3, .lu-astral .lu-why-chip strong { color: var(--la-silver); text-shadow: 0 0 12px rgba(127, 243, 255, .25); }

/* ---- buttons ---- */
.lu-astral .lu-btn-gold, .lu-astral .lu-nav-cta-gold { --lu-b1: #ffffff; --lu-b2: #aeb7d4; --lu-bd: var(--la-ink); --lu-bt: var(--la-ink); color: var(--la-ink);
    background: linear-gradient(180deg, #ffffff 0%, #e3e8f6 40%, #aeb7d4 72%, #d3d9ee 100%); }
.lu-astral .lu-btn-gold { box-shadow: 0 4px 0 var(--la-ink), 0 0 22px rgba(127, 243, 255, .35), inset 0 1px 0 #fff; }
.lu-astral .lu-nav-cta-gold { border-color: var(--la-ink); box-shadow: 0 4px 0 var(--la-ink), 0 0 18px rgba(127, 243, 255, .45), inset 0 2px 0 #fff; }
.lu-astral .lu-nav-cta-gold:hover, .lu-astral .lu-btn-gold:hover { color: var(--la-ink); }
.lu-astral .lu-btn-orange { --lu-b1: #a47bff; --lu-b2: #5b34c4; --lu-bd: #2a176b; box-shadow: 0 4px 0 #2a176b, 0 0 26px rgba(139, 92, 246, .45), inset 0 1px 0 rgba(255, 255, 255, .4); }
.lu-astral .lu-btn-dark { --lu-b1: #241a55; --lu-b2: #150f36; --lu-bd: #07061a; box-shadow: 0 4px 0 #07061a, 0 10px 22px rgba(0, 0, 0, .3), inset 0 0 0 1px rgba(191, 248, 255, .3); }
.lu-astral .lu-nav-cta, .lu-astral .lu-pill { font-weight: 900; }

/* ---- header: night sky, nebula, big moon, crescent, lunar ground ---- */
.lu-astral .lu-sky { background: radial-gradient(ellipse 70% 55% at 50% 38%, rgba(91, 52, 196, .55), transparent 70%), linear-gradient(180deg, #07061a 0%, #120d33 38%, #24185a 72%, #2f1f6e 100%); }
.lu-astral.lu-hero-img .lu-sky::after, .lu-astral .lu-hero-img .lu-sky::after { background: linear-gradient(180deg, rgba(7, 6, 26, .35) 0%, transparent 30%, transparent 60%, rgba(17, 12, 42, .7) 92%); }
.lu-astral .lu-hero-img .lu-scene .lu-neb, .lu-astral .lu-hero-img .lu-ground { display: none; }
.lu-astral .lu-hero-img .lu-sky-img { background-position: center bottom; }
.lu-astral .lu-hero-img .lu-sky::after { background: linear-gradient(180deg, rgba(7, 6, 26, .25) 0%, transparent 30%, transparent 78%, #110c2a 100%); }
.lu-neb { position: absolute; display: block; border-radius: 50%; filter: blur(70px); pointer-events: none; animation: lu-nebula 26s ease-in-out infinite alternate; }
.lu-neb-1 { top: -8%; left: -6%; width: 46vw; height: 38vw; background: #6a3fe0; opacity: .5; }
.lu-neb-2 { top: 20%; right: -10%; width: 42vw; height: 34vw; background: #2f63d6; opacity: .38; animation-delay: -9s; }
.lu-neb-3 { top: 46%; left: 24%; width: 40vw; height: 22vw; background: #b04fd6; opacity: .26; animation-delay: -16s; }
.lu-planet { position: absolute; top: 12%; right: 4%; width: clamp(150px, 19vw, 300px); aspect-ratio: 1; background: url("../img/moon.webp") center / contain no-repeat;
    filter: drop-shadow(0 0 28px rgba(127, 243, 255, .35)) drop-shadow(0 0 60px rgba(139, 92, 246, .35)); animation: lu-bob 12s ease-in-out infinite; }
@media (max-width: 767.98px) { .lu-planet { display: none; } }
.lu-crescent { position: absolute; top: 16%; left: 9%; width: 64px; height: 64px; border-radius: 50%; box-shadow: inset -15px 7px 0 0 #c9fbff; transform: rotate(-24deg);
    filter: drop-shadow(0 0 10px rgba(127, 243, 255, .95)) drop-shadow(0 0 26px rgba(63, 212, 239, .6)); animation: lu-wiggle 7s ease-in-out infinite; }
.lu-shoot { position: absolute; top: 12%; left: 30%; display: block; width: 160px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, transparent, rgba(210, 251, 255, .95)); filter: drop-shadow(0 0 6px #7ff3ff); opacity: 0; transform: rotate(-24deg); animation: lu-shoot 9s ease-in infinite; }
.lu-shoot-2 { top: 6%; left: 62%; width: 120px; animation-delay: -3.5s; animation-duration: 11s; }
.lu-shoot-3 { top: 30%; left: 8%; width: 100px; animation-delay: -6.5s; animation-duration: 13s; }
@keyframes lu-shoot { 0%, 82% { opacity: 0; translate: 0 0; } 85% { opacity: 1; } 100% { opacity: 0; translate: 340px 150px; } }
.lu-astral .lu-sun, .lu-astral .lu-moon, .lu-astral .lu-isle, .lu-astral .lu-cloud { display: none; }
.lu-astral .lu-motes i { background: #e9fdff; box-shadow: 0 0 10px 2px rgba(127, 243, 255, .85); }
.lu-astral .lu-motes i:nth-child(odd) { background: #efe6ff; box-shadow: 0 0 10px 2px rgba(180, 140, 255, .85); }
.lu-astral .lu-ground { height: clamp(90px, 11vw, 160px); }
.lu-astral .lu-hills-back { fill: #261d55; opacity: .95; }
.lu-ground-rim { stroke: rgba(201, 251, 255, .75); stroke-width: 2; vector-effect: non-scaling-stroke; filter: drop-shadow(0 0 6px rgba(127, 243, 255, .9)); }
.lu-astral .lu-hero-body { padding-bottom: clamp(7rem, 11vw, 10rem); }

/* logo picture (transparent cut-out): slow cyan glow */
.lu-astral .lu-logo-img { max-width: min(640px, 92vw); max-height: 210px; filter: drop-shadow(0 8px 14px rgba(5, 3, 20, .55)) drop-shadow(0 0 18px rgba(127, 243, 255, .25)); animation: lu-logo-glow 6s ease-in-out infinite; }
.lu-astral.lu-is-page .lu-logo-img { max-height: 130px; }
@keyframes lu-logo-glow { 0%, 100% { filter: drop-shadow(0 8px 14px rgba(5, 3, 20, .55)) drop-shadow(0 0 12px rgba(127, 243, 255, .18)); } 50% { filter: drop-shadow(0 8px 14px rgba(5, 3, 20, .55)) drop-shadow(0 0 28px rgba(127, 243, 255, .5)); } }
.lu-astral .lu-logo-text { font-weight: 900; letter-spacing: .04em; background: var(--la-galaxy); -webkit-background-clip: text; background-clip: text; -webkit-text-stroke: 2px var(--la-ink); filter: drop-shadow(0 4px 0 var(--la-ink)) var(--la-glow); }
.lu-astral .lu-logo-moon { color: #c9fbff; filter: drop-shadow(0 0 12px rgba(127, 243, 255, .95)); }

/* ---- navbar 2.0: frosted glass bar, shimmering rim, sliding highlight, sticks to the top ---- */
.lu-astral .lu-navwrap { width: min(100%, 1060px); justify-content: center; }
.lu-astral .lu-nav-gem { display: none; }
.lu-astral .lu-nav { width: 100%; gap: .4rem; padding: .45rem .5rem; border: 1px solid transparent; border-radius: 20px;
    background: linear-gradient(180deg, rgba(29, 20, 70, .74), rgba(13, 10, 36, .8)) padding-box,
        linear-gradient(110deg, rgba(255, 255, 255, .5), rgba(127, 243, 255, .55) 22%, rgba(139, 92, 246, .35) 45%, rgba(255, 255, 255, .45) 62%, rgba(127, 243, 255, .5) 80%, rgba(255, 255, 255, .5)) border-box;
    background-size: 100% 100%, 300% 100%;
    backdrop-filter: blur(18px) saturate(150%); -webkit-backdrop-filter: blur(18px) saturate(150%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 22px 50px -14px rgba(5, 3, 20, .8), 0 0 46px -8px rgba(139, 92, 246, .4);
    animation: lu-nav-rim 10s linear infinite; }
@keyframes lu-nav-rim { from { background-position: 0 0, 0% 0; } to { background-position: 0 0, 300% 0; } }
.lu-astral .lu-nav .navbar-collapse { gap: .4rem; }
.lu-astral .lu-nav .navbar-nav { gap: .1rem; }
.lu-astral .lu-nav .nav-item { position: relative; z-index: 1; }
.lu-astral .lu-nav .nav-link { padding: .58rem .95rem !important; border-radius: 13px; font-family: var(--bs-body-font-family); font-weight: 600; font-size: .9rem; letter-spacing: .01em; text-transform: none; color: rgba(227, 232, 246, .78); text-shadow: none; background: none; transition: color .25s ease; }
.lu-astral .lu-nav .nav-link > i { color: var(--la-cyan); font-size: .95rem; text-shadow: 0 0 10px rgba(127, 243, 255, .45); transition: transform .35s cubic-bezier(.3, 1.6, .5, 1); }
.lu-astral .lu-nav .nav-link:hover, .lu-astral .lu-nav .nav-link:focus-visible, .lu-astral .lu-nav .nav-link.show, .lu-astral .lu-nav .nav-link.active { color: #fff; background: none; transform: none; text-shadow: none; box-shadow: none; }
.lu-astral .lu-nav .nav-link:hover > i { transform: translateY(-2px) scale(1.12); }
.lu-astral .lu-nav .nav-link.active > i { color: var(--la-cyan); }
.lu-astral .lu-nav .nav-link:focus-visible { outline: 2px solid var(--la-cyan); outline-offset: 2px; }
/* highlight that glides under the hovered link (desktop, set by theme.js) */
.lu-nav-ink { position: absolute; top: 0; left: 0; z-index: 0; width: var(--ink-w, 0); height: var(--ink-h, 0); border-radius: 13px; pointer-events: none; opacity: 0;
    transform: translate(var(--ink-x, 0), var(--ink-y, 0));
    background: linear-gradient(180deg, rgba(255, 255, 255, .13), rgba(255, 255, 255, .04)); box-shadow: inset 0 0 0 1px rgba(201, 251, 255, .22), 0 0 22px rgba(127, 243, 255, .14);
    transition: transform .5s cubic-bezier(.3, 1.25, .45, 1), width .5s cubic-bezier(.3, 1.25, .45, 1), height .3s ease, opacity .3s ease; }
.lu-nav-ink::after { content: ""; position: absolute; left: 50%; bottom: -1px; width: 20px; height: 2px; margin-left: -10px; border-radius: 2px; background: var(--la-cyan); box-shadow: 0 0 10px var(--la-cyan), 0 0 20px rgba(127, 243, 255, .6); }
.lu-nav.has-ink .lu-nav-ink { opacity: 1; }
.lu-nav.is-ink-ready .lu-nav-ink { will-change: transform, width; }
/* call to action buttons */
.lu-astral .lu-nav-cta { overflow: hidden; gap: .45rem; padding: .62rem 1.15rem; border: 0; border-radius: 13px; font-family: var(--bs-body-font-family); font-weight: 700; font-size: .9rem; letter-spacing: .02em; text-transform: none;
    transition: transform .35s cubic-bezier(.3, 1.6, .5, 1), box-shadow .3s ease, filter .3s ease; }
.lu-astral .lu-nav-cta::after { content: ""; position: absolute; top: -20%; bottom: -20%; left: -60%; width: 45%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .75), transparent); transform: skewX(-20deg); transition: left .7s ease; pointer-events: none; }
.lu-astral .lu-nav-cta:hover::after { left: 130%; }
.lu-astral .lu-nav-cta:hover { transform: translateY(-1px) scale(1.04); }
.lu-astral .lu-nav-cta:active { transform: scale(.97); }
.lu-astral .lu-nav-cta-gold { color: var(--la-ink); background: linear-gradient(180deg, #ffffff 0%, #e3e8f6 45%, #aeb7d4 100%); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .7), 0 10px 26px -8px rgba(127, 243, 255, .65); }
.lu-astral .lu-nav-cta-gold:hover { color: var(--la-ink); box-shadow: inset 0 0 0 1px #fff, 0 12px 32px -8px rgba(127, 243, 255, .9); }
.lu-astral .lu-nav-cta-crystal { color: #06243a; background: linear-gradient(135deg, #c9fbff 0%, #7ff3ff 40%, #3fd4ef 75%, #8b8cf6 120%); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .55), 0 10px 26px -8px rgba(63, 212, 239, .75); }
.lu-astral .lu-nav-cta-crystal:hover { color: #06243a; box-shadow: inset 0 0 0 1px #fff, 0 12px 32px -8px rgba(63, 212, 239, 1); }
.lu-astral .lu-nav-cta > i { transition: transform .35s cubic-bezier(.3, 1.6, .5, 1); }
.lu-astral .lu-nav-cta:hover > i { transform: scale(1.18); }
.lu-astral .lu-nav-icon { width: 2.6rem; height: 2.6rem; border-radius: 13px !important; color: var(--la-silver) !important; background: rgba(255, 255, 255, .06) !important; box-shadow: inset 0 0 0 1px rgba(201, 251, 255, .22); }
.lu-astral .lu-nav-icon:hover { box-shadow: inset 0 0 0 1px rgba(127, 243, 255, .6), 0 0 18px rgba(127, 243, 255, .3); }
.lu-astral .lu-nav-avatar { border-radius: 9px; box-shadow: 0 0 0 2px rgba(127, 243, 255, .7); }
/* dropdowns: glass panel that drops in */
.lu-astral .lu-nav .dropdown-menu { padding: .4rem; border: 1px solid rgba(201, 251, 255, .18); border-radius: 16px; background: rgba(20, 15, 51, .94); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); box-shadow: 0 24px 50px -12px rgba(5, 3, 20, .85), 0 0 30px -8px rgba(139, 92, 246, .45); }
.lu-astral .lu-nav .dropdown-menu.show { animation: lu-dd-in .28s cubic-bezier(.2, .9, .3, 1.2); }
@keyframes lu-dd-in { from { opacity: 0; translate: 0 -8px; scale: .97; } to { opacity: 1; translate: 0 0; scale: 1; } }
.lu-astral .lu-nav .dropdown-item { padding: .55rem .8rem; border-radius: 11px; font-weight: 600; font-size: .9rem; color: rgba(227, 232, 246, .85); transition: background .2s ease, color .2s ease, padding .25s ease; }
.lu-astral .lu-nav .dropdown-item > i { color: var(--la-cyan); }
.lu-astral .lu-nav .dropdown-item:hover, .lu-astral .lu-nav .dropdown-item.active { padding-left: 1rem; background: rgba(127, 243, 255, .1); color: #fff; }
.lu-astral .lu-toggler { width: 2.6rem; height: 2.6rem; padding: 0; place-items: center; border: 0; border-radius: 13px; color: var(--la-silver); background: rgba(255, 255, 255, .07); box-shadow: inset 0 0 0 1px rgba(201, 251, 255, .25); font-size: 1.35rem; }
.lu-astral .lu-toggler:focus { box-shadow: inset 0 0 0 1px rgba(201, 251, 255, .25), 0 0 0 3px rgba(127, 243, 255, .35); }
/* entrance: the bar slides in, then its links cascade */
.lu-motion.lu-astral .lu-nav { animation: lu-nav-rim 10s linear infinite, lu-nav-in .8s cubic-bezier(.2, .9, .3, 1) .1s both; }
@keyframes lu-nav-in { from { opacity: 0; translate: 0 -14px; } to { opacity: 1; translate: 0 0; } }
.lu-motion.lu-astral .lu-nav .navbar-nav > li, .lu-motion.lu-astral .lu-nav > .lu-nav-cta { animation: lu-nav-item .6s cubic-bezier(.2, .9, .3, 1.2) both; animation-delay: .3s; }
.lu-motion.lu-astral .lu-nav .navbar-nav > li:nth-child(2) { animation-delay: .36s; }
.lu-motion.lu-astral .lu-nav .navbar-nav > li:nth-child(3) { animation-delay: .42s; }
.lu-motion.lu-astral .lu-nav .navbar-nav > li:nth-child(4) { animation-delay: .48s; }
.lu-motion.lu-astral .lu-nav .navbar-nav > li:nth-child(5) { animation-delay: .54s; }
.lu-motion.lu-astral .lu-nav .navbar-nav > li:nth-child(n+6) { animation-delay: .6s; }
.lu-motion.lu-astral .lu-nav .lu-nav-end > li { animation-delay: .62s; }
@keyframes lu-nav-item { from { opacity: 0; translate: 0 8px; } to { opacity: 1; translate: 0 0; } }
/* sticky: once scrolled past, the bar stays at the top of the screen */
.lu-navwrap.is-stuck .lu-nav { position: fixed; top: 10px; left: 0; right: 0; z-index: 1030; width: min(1060px, calc(100% - 24px)); margin: 0 auto;
    background-color: transparent; animation: lu-nav-rim 10s linear infinite, lu-nav-drop .5s cubic-bezier(.2, .9, .3, 1.15) both; }
.lu-astral .lu-navwrap.is-stuck .lu-nav { background: linear-gradient(180deg, rgba(29, 20, 70, .86), rgba(13, 10, 36, .9)) padding-box, linear-gradient(110deg, rgba(255, 255, 255, .5), rgba(127, 243, 255, .55) 22%, rgba(139, 92, 246, .35) 45%, rgba(255, 255, 255, .45) 62%, rgba(127, 243, 255, .5) 80%, rgba(255, 255, 255, .5)) border-box; background-size: 100% 100%, 300% 100%; }
@keyframes lu-nav-drop { from { opacity: 0; translate: 0 -24px; } to { opacity: 1; translate: 0 0; } }
@media (max-width: 991.98px) {
    .lu-astral .lu-navwrap { width: min(100%, 560px); }
    .lu-astral .lu-nav { border-radius: 20px; }
    .lu-nav-ink { display: none; }
    .lu-astral .lu-toggler { display: grid; }
    .lu-astral .lu-nav .navbar-nav { padding-top: .5rem; }
    .lu-astral .lu-nav .nav-link { padding: .7rem .9rem !important; }
    .lu-astral .lu-nav .nav-link.active { background: rgba(255, 255, 255, .08); box-shadow: inset 0 0 0 1px rgba(201, 251, 255, .2), inset 3px 0 0 var(--la-cyan); }
    .lu-astral .lu-nav-icon { width: auto; height: auto; }
    .lu-navwrap.is-stuck .lu-nav { max-height: calc(100vh - 20px); overflow-y: auto; }
}

/* ---- hero text and countdown ---- */
.lu-astral .lu-tagline { font-weight: 900; font-size: clamp(1.3rem, 2.7vw, 2.05rem); color: var(--la-silver); -webkit-text-stroke: 1px var(--la-ink); text-shadow: 0 3px 0 var(--la-ink), 0 0 22px rgba(127, 243, 255, .35); }
.lu-astral .lu-tagline::before, .lu-astral .lu-tagline::after { background: linear-gradient(90deg, transparent, #dfe5f3) center / 100% 2px no-repeat, radial-gradient(circle, #7ff3ff 0 3px, transparent 3.5px) right center / 14px 14px no-repeat; filter: drop-shadow(0 0 6px rgba(127, 243, 255, .8)); }
.lu-astral .lu-tag-gold { background-image: linear-gradient(100deg, #ffffff 0%, #b9c2dd 30%, #f7f9ff 50%, #a48cec 75%, #ffffff 100%); filter: drop-shadow(0 3px 0 var(--la-ink)) drop-shadow(0 0 10px rgba(191, 248, 255, .5)); }
.lu-astral .lu-tag-cyan { background-image: linear-gradient(100deg, #e9fdff 0%, #7ff3ff 35%, #3fd4ef 60%, #e9fdff 100%); filter: drop-shadow(0 3px 0 var(--la-ink)); }
.lu-astral .lu-cd-box { background: rgba(20, 15, 51, .72); box-shadow: 0 4px 0 rgba(5, 3, 20, .6), inset 0 0 0 1px rgba(201, 251, 255, .28), 0 0 22px rgba(127, 243, 255, .12); }
.lu-astral .lu-cd-box b { background: var(--la-chrome); -webkit-background-clip: text; background-clip: text; color: transparent; text-shadow: none; filter: drop-shadow(0 2px 0 var(--la-ink)) drop-shadow(0 0 8px rgba(127, 243, 255, .45)); }
.lu-astral .lu-cd-box small { color: var(--la-cyan); }
.lu-astral .lu-status { background: rgba(20, 15, 51, .7); box-shadow: inset 0 0 0 1px rgba(201, 251, 255, .2); }

/* ---- starfield on every section ---- */
.lu-astral .lu-section::before, .lu-astral .lu-page::before { opacity: .8;
    background-image: radial-gradient(1.5px 1.5px at 12% 18%, #fff, transparent), radial-gradient(1.5px 1.5px at 72% 12%, #d2fbff, transparent), radial-gradient(1px 1px at 38% 62%, #fff, transparent), radial-gradient(2px 2px at 86% 74%, #7ff3ff, transparent), radial-gradient(1px 1px at 22% 86%, #e3d4ff, transparent), radial-gradient(1.5px 1.5px at 58% 34%, #fff, transparent), radial-gradient(1px 1px at 92% 40%, #c7a8ff, transparent);
    background-size: 340px 340px; }

/* ---- OneBlock showcase ---- */
.lu-astral .lu-showcase, .lu-astral .lu-modes { background: radial-gradient(ellipse 50% 65% at 27% 50%, rgba(127, 243, 255, .16), transparent 70%), radial-gradient(ellipse 45% 55% at 85% 22%, rgba(139, 92, 246, .32), transparent 70%), linear-gradient(180deg, #110c2a 0%, #1d1446 52%, #140f33 100%); }
.lu-astral .lu-show-rays { opacity: .7; background: repeating-conic-gradient(from 0deg, rgba(201, 236, 255, .13) 0deg 6deg, transparent 6deg 18deg); }
.lu-astral .lu-show-ring-1 { border-color: rgba(127, 243, 255, .45); }
.lu-astral .lu-show-ring-2 { border-color: rgba(227, 232, 246, .5); box-shadow: 0 0 40px rgba(127, 243, 255, .28), inset 0 0 60px rgba(139, 92, 246, .3); }
.lu-astral .lu-show-ring-2::after { background: #e3e8f6; box-shadow: 0 0 14px #c9fbff; }
.lu-astral .lu-show-orbit i:nth-child(1) { background: #e3e8f6; color: rgba(227, 232, 246, .7); }
.lu-astral .lu-show-pedestal { background: radial-gradient(ellipse, rgba(201, 251, 255, .9) 0%, rgba(127, 243, 255, .35) 40%, transparent 70%); }
.lu-astral .lu-show-title { font-weight: 900; font-size: clamp(2.8rem, 6.6vw, 5rem); letter-spacing: .02em; background: var(--la-galaxy); -webkit-background-clip: text; background-clip: text; -webkit-text-stroke: 1.5px var(--la-ink); filter: drop-shadow(0 4px 0 var(--la-ink)) var(--la-glow); }
.lu-astral .lu-show-kicker { color: var(--la-cyan); }
.lu-astral .lu-show-badge { border-color: var(--la-ink); background: linear-gradient(180deg, #ffffff, #dfe5f3 50%, #aeb7d4); color: var(--la-ink); box-shadow: 0 3px 0 var(--la-ink), 0 0 14px rgba(127, 243, 255, .4); }
.lu-astral .lu-show-text { color: var(--lu-muted); }
.lu-astral .lu-show-feature { background: linear-gradient(160deg, rgba(227, 232, 246, .1), rgba(255, 255, 255, .03)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), inset 0 0 0 1px rgba(201, 251, 255, .16); }
.lu-astral .lu-show-feature:hover { box-shadow: inset 0 0 0 1.5px rgba(127, 243, 255, .6), 0 0 26px rgba(127, 243, 255, .2); }
.lu-astral .lu-show-fico { border-color: var(--la-ink); box-shadow: 0 3px 0 var(--la-ink), 0 0 12px rgba(127, 243, 255, .3); }
.lu-astral .lu-show-feature:nth-child(even) .lu-show-fico { background: linear-gradient(180deg, #ffffff, #dfe5f3 45%, #9aa3c5); color: var(--la-ink); }
.lu-astral .lu-mode { box-shadow: inset 0 0 0 1px rgba(201, 251, 255, .18), 0 18px 40px rgba(5, 3, 20, .35); }
.lu-astral .lu-mode-badge { background: var(--la-ink); color: var(--la-ice); }

/* ---- launch roadmap ---- */
.lu-astral .lu-roadmap { background: radial-gradient(ellipse 70% 55% at 50% 0%, rgba(139, 92, 246, .25), transparent 70%), linear-gradient(180deg, #140f33 0%, #110c2a 50%, #1a1240 100%); }
.lu-astral .lu-nebula-1 { background: #3fd4ef; opacity: .16; }
.lu-astral .lu-nebula-2 { background: #8b5cf6; opacity: .3; }
.lu-astral .lu-nebula-3 { background: #2f63d6; opacity: .22; }
.lu-astral .lu-road-kicker, .lu-astral .lu-gate-kicker { color: var(--la-ice); background: rgba(127, 243, 255, .1); box-shadow: inset 0 0 0 1px rgba(127, 243, 255, .45); }
.lu-astral .lu-road-fill { background: linear-gradient(90deg, #7ff3ff, #8b5cf6 55%, #e3e8f6); box-shadow: 0 0 14px rgba(127, 243, 255, .65), 0 0 30px rgba(139, 92, 246, .45); }
.lu-astral .lu-road-comet { box-shadow: 0 0 10px 3px #c9fbff, 0 0 30px 8px rgba(127, 243, 255, .5); }
.lu-astral .is-done .lu-road-node { background: linear-gradient(135deg, #7ff3ff, #3fd4ef 50%, #8b5cf6); }
.lu-astral .is-current .lu-road-node { box-shadow: inset 0 0 0 3px #e3e8f6, 0 0 22px rgba(127, 243, 255, .6); }
.lu-astral .is-current .lu-road-node::before { background: #e3e8f6; box-shadow: 0 0 12px #7ff3ff; }
.lu-astral .is-current .lu-road-node::after { border-color: rgba(127, 243, 255, .6); }
.lu-astral .lu-glass { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), inset 0 0 0 1px rgba(201, 251, 255, .16), 0 22px 44px rgba(5, 3, 20, .4); }
.lu-astral .is-current .lu-glass { --g: 201, 251, 255; box-shadow: inset 0 0 0 1.5px rgba(201, 251, 255, .6), 0 0 40px rgba(127, 243, 255, .18); }
.lu-astral .lu-road-when { color: var(--la-cyan); }
.lu-astral .lu-why-ico { color: var(--la-ink); }

/* ---- join portal ---- */
.lu-astral .lu-gate, .lu-astral .lu-join { background: radial-gradient(ellipse 45% 60% at 72% 50%, rgba(127, 243, 255, .18), transparent 70%), radial-gradient(ellipse 40% 50% at 15% 80%, rgba(139, 92, 246, .25), transparent 70%), linear-gradient(180deg, #1a1240 0%, #24185a 55%, #1a1240 100%); }
.lu-astral .lu-gate-steps li { box-shadow: inset 0 0 0 1px rgba(201, 251, 255, .18); }
.lu-astral .lu-gate-num { border-color: var(--la-ink); background: linear-gradient(180deg, #ffffff, #dfe5f3 45%, #aeb7d4 75%, #d3d9ee); color: var(--la-ink); box-shadow: 0 3px 0 var(--la-ink), 0 0 12px rgba(127, 243, 255, .35); }
.lu-astral .lu-portal-core { border-color: var(--la-ink); background: linear-gradient(180deg, #2f1f6e, #140f33); box-shadow: 0 0 0 2px #c4cce4, 0 0 30px rgba(127, 243, 255, .3), 0 12px 28px rgba(5, 3, 20, .55); }
.lu-astral .lu-steps-list li::before { background: linear-gradient(180deg, #ffffff, #aeb7d4); color: var(--la-ink); }
.lu-astral .lu-steps-tab.is-active { background: var(--la-royal); }

/* "Join us!" window: moon dust white with violet and cyan */
.lu-astral .lu-dialog.lu-joinmodal { background: #f1f2fb; color: #241a4f; box-shadow: 0 0 0 3px var(--la-ink), 0 0 0 7px #c4cce4, 0 0 0 9px var(--la-ink), 0 0 60px rgba(127, 243, 255, .3), 0 40px 90px rgba(5, 3, 20, .6); }
.lu-astral .lu-jm-head { background: radial-gradient(1.5px 1.5px at 12% 30%, #fff, transparent), radial-gradient(1px 1px at 38% 70%, #fff, transparent), radial-gradient(1.5px 1.5px at 66% 22%, #d2fbff, transparent), radial-gradient(ellipse at 80% 0%, rgba(127, 243, 255, .25), transparent 60%), linear-gradient(120deg, #140f33 0%, #2f1f6e 60%, #4a2f96 100%); }
.lu-astral .lu-jm-moon { border-color: var(--la-ink); background: linear-gradient(180deg, #ffffff, #dfe5f3 50%, #9aa3c5); color: var(--la-ink); box-shadow: 0 4px 0 var(--la-ink), 0 0 24px rgba(127, 243, 255, .55); }
.lu-astral .lu-jm-title { color: var(--la-silver); text-shadow: 0 3px 0 var(--la-ink), 0 0 16px rgba(127, 243, 255, .35); }
.lu-astral .lu-jm-tab { border-color: #dcdff0; box-shadow: 0 4px 0 #c9cde3; }
.lu-astral .lu-jm-tab:hover { border-color: #b9a6f0; }
.lu-astral .lu-jm-tab.is-active { border-color: #8b5cf6; background: linear-gradient(180deg, #ffffff, #ece6ff); box-shadow: 0 6px 0 #5b34c4, 0 0 0 3px rgba(127, 243, 255, .35), 0 14px 26px rgba(139, 92, 246, .3); }
.lu-astral .lu-jm-check { background: var(--la-cyan); color: var(--la-ink); border-color: var(--la-ink); }
.lu-astral .lu-jm-field { border-color: #dcdff0; }
.lu-astral .lu-jm-copy { background: var(--la-violet); box-shadow: 0 3px 0 #120c2e; }
.lu-astral .lu-jm-copy:hover { background: var(--la-royal); }
.lu-astral .lu-jm-tip { border-left-color: #8b5cf6; background: #ebe6ff; color: #33256e; }
.lu-astral .lu-jm-tip > i { color: #6a3fe0; }
.lu-astral .lu-jm-foot { border-top-color: #dcdff0; }
.lu-astral .lu-dialog:not(.lu-joinmodal) { background: linear-gradient(180deg, #2f1f6e, #140f33); box-shadow: inset 0 0 0 1px rgba(201, 251, 255, .2), 0 0 40px rgba(127, 243, 255, .15), 0 40px 80px rgba(0, 0, 0, .55); }

/* ---- Observatory (Discord) ---- */
.lu-astral .lu-discord { background: radial-gradient(ellipse 45% 60% at 78% 45%, rgba(88, 101, 242, .35), transparent 70%), radial-gradient(ellipse 40% 50% at 10% 20%, rgba(127, 243, 255, .12), transparent 70%), linear-gradient(135deg, #1a1240 0%, #2f1f6e 50%, #140f33 100%); }
.lu-astral .lu-points li { color: var(--lu-text); }
.lu-astral .lu-points span { background: rgba(127, 243, 255, .12); box-shadow: inset 0 0 0 1px rgba(127, 243, 255, .45); color: var(--la-cyan); }
.lu-astral .lu-spark { color: #c9fbff; filter: drop-shadow(0 0 8px rgba(127, 243, 255, .9)); }

/* ---- final call to action: a moonrise over the horizon ---- */
.lu-astral .lu-cta { background: radial-gradient(ellipse 34% 46% at 78% 100%, rgba(227, 232, 246, .38), rgba(127, 243, 255, .12) 45%, transparent 72%), radial-gradient(ellipse 60% 50% at 20% 20%, rgba(139, 92, 246, .3), transparent 70%), linear-gradient(180deg, #140f33 0%, #24185a 55%, #3a2685 100%); }
.lu-astral .lu-cta .lu-lead { color: #dcdcf5; }

/* ---- footer ---- */
.lu-astral .lu-footer { background: var(--la-void); border-top: 3px solid transparent; border-image: linear-gradient(90deg, #8b5cf6, #e3e8f6, #7ff3ff, #8b5cf6) 1; }
.lu-astral .lu-footer-title { font-family: var(--lu-display); font-weight: 900; letter-spacing: .04em; color: var(--la-silver); }
.lu-astral .lu-footer-gold a { color: var(--la-cyan); }

/* ---- other pages (CSS only) ---- */
.lu-astral .lu-page { background: radial-gradient(ellipse 60% 40% at 50% 0%, rgba(139, 92, 246, .28), transparent 70%), linear-gradient(180deg, #110c2a 0, #1a1240 420px, #0d0a24 900px); }
.lu-astral .card { --bs-card-bg: rgba(227, 232, 246, .05); --bs-card-border-color: rgba(201, 251, 255, .16); box-shadow: 0 14px 34px rgba(5, 3, 20, .35); }
.lu-astral .btn-primary { --bs-btn-bg: #6a3fe0; --bs-btn-border-color: #6a3fe0; --bs-btn-hover-bg: #8b5cf6; --bs-btn-hover-border-color: #8b5cf6; --bs-btn-active-bg: #5b34c4; --bs-btn-active-border-color: #5b34c4; --bs-btn-disabled-bg: #6a3fe0; --bs-btn-disabled-border-color: #6a3fe0;
    background-image: linear-gradient(180deg, #a47bff, #5b34c4); color: #fff; box-shadow: 0 3px 0 #2a176b, 0 0 18px rgba(139, 92, 246, .35); }
.lu-astral .btn-primary:hover { background-image: linear-gradient(180deg, #b693ff, #6a3fe0); color: #fff; }
.lu-astral .form-control, .lu-astral .form-select { background-color: rgba(7, 6, 26, .5); border-color: rgba(201, 251, 255, .18); }
.lu-astral .form-control:focus, .lu-astral .form-select:focus { border-color: var(--la-cyan); box-shadow: 0 0 0 .2rem rgba(127, 243, 255, .2); }
.lu-astral .modal-content, .lu-astral .dropdown-menu { background-color: #1a1240; }

/* ---- one continuous night sky from top to bottom: sections only add soft glows, no hard edges ---- */
body.lu-astral { background: linear-gradient(180deg, #110c2a 0%, #171036 22%, #1d1446 48%, #171036 74%, #0b0820 100%); }
.lu-astral .lu-hero { z-index: 30; }
.lu-astral .lu-section { overflow: clip visible; background-color: transparent; }
@supports not (overflow: clip) { .lu-astral .lu-section { overflow: hidden; } }
.lu-astral .lu-section::before, .lu-astral .lu-page::before { -webkit-mask: linear-gradient(180deg, transparent, #000 12%, #000 88%, transparent); mask: linear-gradient(180deg, transparent, #000 12%, #000 88%, transparent); }
.lu-astral .lu-showcase, .lu-astral .lu-modes { background: radial-gradient(ellipse 45% 55% at 27% 50%, rgba(127, 243, 255, .13), transparent 70%), radial-gradient(ellipse 40% 50% at 85% 32%, rgba(139, 92, 246, .24), transparent 70%); }
.lu-astral .lu-roadmap { background: radial-gradient(ellipse 60% 45% at 50% 28%, rgba(139, 92, 246, .2), transparent 70%); }
.lu-astral .lu-gate, .lu-astral .lu-join { background: radial-gradient(ellipse 40% 55% at 72% 50%, rgba(127, 243, 255, .14), transparent 70%), radial-gradient(ellipse 35% 45% at 15% 70%, rgba(139, 92, 246, .2), transparent 70%); }
.lu-astral .lu-discord { background: radial-gradient(ellipse 40% 55% at 78% 48%, rgba(88, 101, 242, .3), transparent 70%), radial-gradient(ellipse 35% 45% at 12% 30%, rgba(127, 243, 255, .1), transparent 70%); }
.lu-astral .lu-cta { background: radial-gradient(ellipse 38% 55% at 78% 72%, rgba(227, 232, 246, .2), rgba(127, 243, 255, .07) 45%, transparent 72%), radial-gradient(ellipse 50% 45% at 20% 30%, rgba(139, 92, 246, .24), transparent 70%); }
.lu-astral .lu-nebula { filter: blur(100px); }
/* thin glowing divider with a star in the middle, between two sections and above the footer */
.lu-astral .lu-section + .lu-section::after, .lu-astral .lu-footer::before {
    content: ""; position: absolute; top: 0; left: 50%; z-index: 1; width: min(760px, 82%); height: 18px; translate: -50% -9px; pointer-events: none; opacity: .9;
    background: radial-gradient(circle, #f2feff 0 1.5px, rgba(127, 243, 255, .75) 2.5px, rgba(127, 243, 255, .18) 5px, transparent 9px) center / 18px 18px no-repeat,
        linear-gradient(90deg, transparent, rgba(201, 251, 255, .4) 35%, rgba(201, 251, 255, .4) 65%, transparent) center / 100% 1px no-repeat; }
.lu-astral .lu-footer { background: linear-gradient(180deg, transparent 0, rgba(7, 6, 26, .85) 120px, #07061a 100%); border-top: 0; border-image: none; }

/* =====================================================================
   Server address bar (hero): neon IP, 1-click copy with a burst, live status
   ===================================================================== */
.lu-ipbar { --rx: 0deg; --ry: 0deg; position: relative; isolation: isolate; display: flex; align-items: center; gap: 1.4rem; width: min(660px, 100%); margin: 0 auto 1.7rem; padding: 1rem 1rem 1rem 1.5rem; border: 1px solid transparent; border-radius: 22px; text-align: left;
    background: linear-gradient(180deg, rgba(29, 20, 70, .8), rgba(10, 8, 30, .86)) padding-box, linear-gradient(120deg, #7ff3ff, rgba(139, 92, 246, .7) 40%, rgba(255, 255, 255, .6) 60%, #7ff3ff) border-box;
    backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 24px 60px -18px rgba(5, 3, 20, .9), 0 0 40px -6px rgba(127, 243, 255, .35);
    transform: perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)); transition: transform .25s ease-out, box-shadow .3s ease; }
.lu-ipbar:hover { box-shadow: 0 28px 70px -18px rgba(5, 3, 20, .95), 0 0 60px -4px rgba(127, 243, 255, .5); }
.lu-ipbar-glow { position: absolute; inset: -14px; z-index: -1; border-radius: 30px; opacity: .55; filter: blur(22px); pointer-events: none;
    background: conic-gradient(from var(--lu-a, 0deg), #7ff3ff, #8b5cf6, #c9fbff, #6a3fe0, #7ff3ff); animation: lu-ip-spin 6s linear infinite; }
@property --lu-a { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
@keyframes lu-ip-spin { to { --lu-a: 360deg; } }
.lu-ipbar-info { display: flex; flex-direction: column; gap: .2rem; min-width: 0; flex: 1; }
.lu-ipbar-label { display: inline-flex; align-items: center; gap: .4rem; color: var(--lu-muted, #b9b5dc); font-weight: 800; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; }
.lu-ipbar-label i { color: #7ff3ff; }
.lu-ipbar-ip { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--bs-body-font-family); font-weight: 800; font-size: clamp(1.55rem, 3.6vw, 2.35rem); line-height: 1.1; letter-spacing: .01em;
    background: linear-gradient(100deg, #7ff3ff 0%, #7ff3ff 38%, #ffffff 50%, #7ff3ff 62%, #7ff3ff 100%) 0 0 / 260% 100%; -webkit-background-clip: text; background-clip: text; color: transparent;
    filter: drop-shadow(0 0 14px rgba(127, 243, 255, .6)); animation: lu-ip-shine 4.5s ease-in-out infinite; }
@keyframes lu-ip-shine { 0%, 15% { background-position: 100% 0; } 55%, 100% { background-position: 0% 0; } }
.lu-ipbar-status { display: inline-flex; align-items: center; gap: .45rem; margin-top: .15rem; font-weight: 700; font-size: .84rem; }
.lu-ipbar-status.is-on { color: #8ff0b4; }
.lu-ipbar-status.is-soon { color: #d9c8ff; }
.lu-ipbar-status.is-soon i { color: #b48cff; animation: lu-ico-bob 2.4s ease-in-out infinite; }
.lu-ipbar-status.is-off { color: #ffb3b3; }
.lu-ipbar-status.is-off .lu-dot { background: #ff6b6b; animation: none; }
.lu-ipbar-side { display: flex; flex-direction: column; align-items: flex-end; gap: .45rem; flex-shrink: 0; }
.lu-ipbar-btn { --mx: 0px; --my: 0px; position: relative; display: inline-flex; align-items: center; justify-content: center; gap: .55rem; min-width: 10.5rem; padding: .95rem 1.4rem; border: 0; border-radius: 16px; cursor: pointer; text-decoration: none; white-space: nowrap;
    font-family: var(--bs-body-font-family); font-weight: 800; font-size: 1rem; color: #06243a;
    background: linear-gradient(135deg, #e9fdff 0%, #7ff3ff 45%, #3fd4ef 100%); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .7), 0 12px 30px -8px rgba(63, 212, 239, .85);
    transform: translate(var(--mx), var(--my)); transition: transform .3s cubic-bezier(.3, 1.6, .5, 1), box-shadow .3s ease, background .3s ease; }
.lu-ipbar-btn:hover { color: #06243a; transform: translate(var(--mx), var(--my)) scale(1.05); box-shadow: inset 0 0 0 1px #fff, 0 14px 38px -8px rgba(63, 212, 239, 1); }
.lu-ipbar-btn:active { transform: translate(var(--mx), var(--my)) scale(.96); }
.lu-ipbar-btn:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.lu-ipbar-btn .lu-ico-check { display: none; }
.lu-ipbar-btn.is-copied { background: linear-gradient(135deg, #e6fff1 0%, #6ff0a8 45%, #22c47a 100%); box-shadow: inset 0 0 0 1px #fff, 0 14px 38px -8px rgba(34, 196, 122, .95); }
.lu-ipbar-btn.is-copied .lu-ico-copy { display: none; }
.lu-ipbar-btn.is-copied .lu-ico-check { display: inline-block; animation: lu-check-pop .45s cubic-bezier(.3, 1.8, .5, 1); }
@keyframes lu-check-pop { from { transform: scale(0) rotate(-40deg); } to { transform: none; } }
.lu-burst { position: absolute; top: 50%; left: 50%; z-index: 5; width: 7px; height: 7px; border-radius: 2px; background: var(--c); box-shadow: 0 0 8px var(--c); pointer-events: none; animation: lu-burst .9s cubic-bezier(.15, .8, .3, 1) forwards; }
@keyframes lu-burst { from { transform: translate(-50%, -50%) scale(1.2); opacity: 1; } to { transform: translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) rotate(var(--r)) scale(.3); opacity: 0; } }
.lu-ipbar-more { color: var(--lu-muted, #b9b5dc); font-weight: 700; font-size: .78rem; text-decoration: none; transition: color .2s ease; }
.lu-ipbar-more:hover { color: #7ff3ff; }
.lu-ipbar-more i { display: inline-block; transition: transform .25s ease; }
.lu-ipbar-more:hover i { transform: translateX(3px); }
.lu-motion .lu-ipbar { animation: lu-ip-in .9s cubic-bezier(.2, .9, .3, 1.1) .35s both; }
@keyframes lu-ip-in { from { opacity: 0; translate: 0 22px; scale: .96; } to { opacity: 1; translate: 0 0; scale: 1; } }
@media (max-width: 575.98px) {
    .lu-ipbar { flex-direction: column; align-items: stretch; gap: .9rem; padding: 1.1rem; text-align: center; }
    .lu-ipbar-label, .lu-ipbar-status { justify-content: center; }
    .lu-ipbar-side { align-items: stretch; text-align: center; }
    .lu-ipbar-btn { width: 100%; }
}

/* =====================================================================
   OneBlock loop: 3 living steps
   ===================================================================== */
.lu-astral .lu-loop { background: radial-gradient(ellipse 50% 50% at 50% 55%, rgba(127, 243, 255, .08), transparent 70%); }
.lu-orb { position: absolute; display: block; border-radius: 50%; filter: blur(60px); pointer-events: none; animation: lu-orb 9s ease-in-out infinite; }
.lu-orb-1 { top: 18%; left: 6%; width: 280px; height: 280px; background: rgba(139, 92, 246, .45); }
.lu-orb-2 { bottom: 8%; right: 8%; width: 320px; height: 320px; background: rgba(63, 212, 239, .3); animation-delay: -4.5s; }
@keyframes lu-orb { 0%, 100% { transform: scale(1); opacity: .3; } 50% { transform: scale(1.15); opacity: .55; } }
.lu-loop-list { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.6rem; margin: 0; padding: 0; list-style: none; }
.lu-loop-path { position: absolute; top: 96px; left: 17%; right: 17%; height: 2px; pointer-events: none;
    background: repeating-linear-gradient(90deg, rgba(201, 251, 255, .5) 0 8px, transparent 8px 18px); animation: lu-path-flow 1.2s linear infinite; }
@keyframes lu-path-flow { to { background-position: 18px 0; } }
.lu-loop-comet { position: absolute; top: -4px; left: 0; display: block; width: 10px; height: 10px; border-radius: 50%; background: #fff; box-shadow: 0 0 10px 3px #7ff3ff, 0 0 26px 8px rgba(127, 243, 255, .45); animation: lu-loop-comet 4.2s cubic-bezier(.6, 0, .4, 1) infinite; }
@keyframes lu-loop-comet { 0% { left: 0; opacity: 0; } 8% { opacity: 1; } 92% { opacity: 1; } 100% { left: 100%; opacity: 0; } }
.lu-loop-step { position: relative; z-index: 1; }
.lu-loop-card { --rx: 0deg; --ry: 0deg; --gx: 50%; --gy: 0%; --lift: 0px; position: relative; height: 100%; padding: 1.5rem 1.4rem 1.7rem; border-radius: 24px; text-align: center; overflow: hidden;
    background: radial-gradient(400px circle at var(--gx) var(--gy), rgba(127, 243, 255, .12), transparent 45%), linear-gradient(160deg, rgba(227, 232, 246, .09), rgba(255, 255, 255, .02));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), inset 0 0 0 1px rgba(201, 251, 255, .16), 0 24px 50px -18px rgba(5, 3, 20, .8);
    backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    transform: perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(var(--lift)); transition: transform .3s ease-out, box-shadow .35s ease; }
.lu-loop-card:hover { --lift: -8px; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), inset 0 0 0 1px rgba(127, 243, 255, .55), 0 30px 60px -18px rgba(5, 3, 20, .9), 0 0 40px -6px rgba(127, 243, 255, .35); }
.lu-loop-num { position: absolute; top: 1rem; left: 1.2rem; font-family: var(--lu-display); font-weight: 900; font-size: 1.05rem; color: rgba(201, 251, 255, .45); transition: color .3s ease; }
.lu-loop-card:hover .lu-loop-num { color: #7ff3ff; }
.lu-loop-art { position: relative; display: block; width: 130px; height: 120px; margin: 0 auto 1rem; }
.lu-loop-ico { position: absolute; top: 6px; left: 50%; z-index: 2; display: grid; place-items: center; width: 68px; height: 68px; margin-left: -34px; border-radius: 20px; font-size: 1.85rem;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .6), 0 12px 30px -8px var(--glow, rgba(127, 243, 255, .8)); transition: transform .4s cubic-bezier(.3, 1.6, .5, 1); animation: lu-ico-bob 3.2s ease-in-out infinite; }
.lu-loop-card:hover .lu-loop-ico { transform: scale(1.12) rotate(-6deg); }
@keyframes lu-ico-bob { 0%, 100% { translate: 0 0; } 50% { translate: 0 -6px; } }
.lu-loop-step-1 .lu-loop-ico { color: #1d1542; background: linear-gradient(135deg, #ffffff, #c9fbff 45%, #7ff3ff); }
.lu-loop-step-2 .lu-loop-ico { --glow: rgba(139, 92, 246, .9); color: #fff; background: linear-gradient(135deg, #d9c8ff, #a47bff 50%, #6a3fe0); animation-delay: -1s; }
.lu-loop-step-3 .lu-loop-ico { --glow: rgba(110, 160, 255, .9); color: #fff; background: linear-gradient(135deg, #7ff3ff, #6a8bff 55%, #8b5cf6); animation-delay: -2s; }
/* step 1: the pickaxe hits, the block breaks and comes back */
.lu-loop-step-1 .lu-loop-ico i { display: inline-block; transform-origin: 75% 75%; animation: lu-mine 1.6s ease-in-out infinite; }
@keyframes lu-mine { 0%, 100% { rotate: -28deg; } 40% { rotate: -32deg; } 50% { rotate: 18deg; } 60% { rotate: 10deg; } }
.lu-loop-block { position: absolute; bottom: 4px; left: 50%; width: 38px; height: 38px; margin-left: -19px; border-radius: 4px; image-rendering: pixelated;
    background: linear-gradient(90deg, rgba(0, 0, 0, .12) 50%, transparent 50%) 0 0 / 10px 10px, linear-gradient(180deg, #7ee04b 0 28%, #4fae2e 28% 36%, #8a5a33 36%);
    box-shadow: inset -4px -4px 0 rgba(0, 0, 0, .2), 0 0 18px rgba(127, 243, 255, .25); animation: lu-respawn 1.6s ease-in-out infinite; }
@keyframes lu-respawn { 0%, 48% { transform: scale(1); opacity: 1; filter: none; } 52% { transform: scale(.55); opacity: 0; filter: brightness(2); } 70% { transform: scale(.4); opacity: 0; } 84% { transform: scale(1.12); opacity: 1; filter: brightness(1.6) drop-shadow(0 0 10px #7ff3ff); } 100% { transform: scale(1); opacity: 1; } }
.lu-loop-shard { position: absolute; bottom: 20px; left: 50%; width: 7px; height: 7px; border-radius: 1px; background: #8a5a33; opacity: 0; animation: lu-shard 1.6s ease-out infinite; }
.lu-loop-shard:nth-of-type(2) { --dx: -34px; --dy: -22px; background: #7ee04b; }
.lu-loop-shard:nth-of-type(3) { --dx: 30px; --dy: -28px; }
.lu-loop-shard:nth-of-type(4) { --dx: 8px; --dy: -40px; background: #c9fbff; }
@keyframes lu-shard { 0%, 49% { transform: translate(0, 0); opacity: 0; } 52% { opacity: 1; } 80%, 100% { transform: translate(var(--dx, 0), var(--dy, 0)) rotate(120deg); opacity: 0; } }
/* step 2: phases climbing */
.lu-loop-bar { position: absolute; bottom: 4px; width: 14px; border-radius: 4px 4px 2px 2px; background: linear-gradient(180deg, #7ff3ff, #8b5cf6); box-shadow: 0 0 12px rgba(139, 92, 246, .55); transform-origin: bottom; animation: lu-bar 2.8s cubic-bezier(.3, 1.4, .5, 1) infinite; }
.lu-loop-bar:nth-of-type(1) { left: 26px; height: 14px; }
.lu-loop-bar:nth-of-type(2) { left: 46px; height: 22px; animation-delay: .15s; }
.lu-loop-bar:nth-of-type(3) { left: 70px; height: 30px; animation-delay: .3s; }
.lu-loop-bar:nth-of-type(4) { left: 90px; height: 40px; animation-delay: .45s; }
@keyframes lu-bar { 0% { transform: scaleY(.15); } 35%, 80% { transform: scaleY(1); } 100% { transform: scaleY(.15); } }
/* step 3: twinkling stars around the gem */
.lu-loop-twinkle { position: absolute; width: 16px; height: 16px; background: #e9fdff; clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%); filter: drop-shadow(0 0 6px #7ff3ff); animation: lu-twinkle-star 2.4s ease-in-out infinite; }
.lu-loop-twinkle:nth-of-type(1) { top: 8px; left: 12px; }
.lu-loop-twinkle:nth-of-type(2) { top: 40px; right: 6px; width: 12px; height: 12px; animation-delay: -.8s; background: #d9c8ff; }
.lu-loop-twinkle:nth-of-type(3) { bottom: 10px; left: 40px; width: 20px; height: 20px; animation-delay: -1.6s; }
@keyframes lu-twinkle-star { 0%, 100% { transform: scale(.3) rotate(0); opacity: .2; } 50% { transform: scale(1) rotate(90deg); opacity: 1; } }
.lu-loop-title { margin: 0 0 .5rem; font-family: var(--lu-display); font-weight: 900; font-size: 1.35rem; letter-spacing: .03em; text-transform: uppercase; color: #e3e8f6; text-shadow: 0 0 14px rgba(127, 243, 255, .25); }
.lu-loop-text { margin: 0; color: var(--lu-muted, #b9b5dc); font-size: .95rem; line-height: 1.6; }
.lu-loop-again { display: flex; width: fit-content; align-items: center; gap: .55rem; margin: 2.2rem auto 0; padding: .55rem 1.1rem; border-radius: 999px; background: rgba(127, 243, 255, .08); box-shadow: inset 0 0 0 1px rgba(127, 243, 255, .35); color: #c9fbff; font-weight: 700; font-size: .9rem; }
.lu-loop-again i { display: inline-block; color: #7ff3ff; animation: lu-spin-slow 3.5s linear infinite; }
@media (max-width: 991.98px) {
    .lu-loop-list { grid-template-columns: 1fr; max-width: 460px; margin: 0 auto; }
    .lu-loop-path { top: 0; bottom: 0; left: 50%; right: auto; width: 2px; height: auto; background: repeating-linear-gradient(180deg, rgba(201, 251, 255, .4) 0 8px, transparent 8px 18px); animation: none; }
    .lu-loop-comet { display: none; }
}

/* =========================================================
   Vote page (2.3.0): bright, colourful panel laid out by theme.js
   ========================================================= */
.lu-vote-page .lu-vote {
    --lv-ink: #2a1d5c; --lv-muted: #6b5f95; --lv-line: rgba(106, 63, 224, .14); --lv-card: #ffffff;
    --lv-violet: #7c4dff; --lv-violet-2: #5b34c4; --lv-cyan: #1fc3e3; --lv-mint: #2fd99a; --lv-gold: #f5b423; --lv-pink: #e0479e;
    position: relative; isolation: isolate; margin: 1.5rem 0 3rem; padding: clamp(1.25rem, 3.5vw, 2.75rem); border-radius: 34px; color: var(--lv-ink);
    font-family: "Poppins", system-ui, sans-serif; overflow: hidden;
    background: linear-gradient(180deg, #f3eeff 0%, #f8f6ff 38%, #f2f9ff 100%);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .7) inset, 0 30px 80px rgba(5, 3, 20, .5), 0 0 60px rgba(127, 243, 255, .16);
}
.lu-vote-page .lu-vote > * + * { margin-top: 1.5rem; }
.lu-vote-page .lu-vote [hidden] { display: none !important; }

/* header: vivid banner, moon on the right, a few twinkling sparkles */
.lu-vote-page .lv-kicker { display: block; font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--lv-violet); }
.lu-vote-page .lv-top { position: relative; overflow: hidden; isolation: isolate; border-radius: 28px; padding: clamp(1.6rem, 4.5vw, 3.2rem); min-height: 260px; display: flex; align-items: center;
    background: linear-gradient(115deg, #6a3fe0 0%, #7c4dff 30%, #5b7cff 62%, #3fc9ef 100%);
    box-shadow: 0 18px 44px rgba(91, 52, 196, .35), inset 0 1px 0 rgba(255, 255, 255, .35); }
.lu-vote-page .lv-top::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
    background: radial-gradient(circle at 82% 50%, rgba(255, 255, 255, .35), transparent 38%), linear-gradient(180deg, rgba(255, 255, 255, .12), transparent 45%); }
.lu-vote-page .lv-moon { position: absolute; z-index: -1; right: clamp(-90px, -4vw, -20px); top: 50%; width: clamp(200px, 30vw, 340px); aspect-ratio: 1; transform: translateY(-50%);
    background: center / contain no-repeat; filter: drop-shadow(0 0 30px rgba(210, 251, 255, .7)) drop-shadow(0 0 70px rgba(127, 243, 255, .45)); animation: lv-moon 14s ease-in-out infinite; }
@keyframes lv-moon { 50% { transform: translateY(-53%) rotate(6deg); } }
.lu-vote-page .lv-spark { position: absolute; z-index: -1; width: 10px; height: 10px; background: #fff; clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%); filter: drop-shadow(0 0 6px #fff); animation: lv-twinkle 3.2s ease-in-out infinite; }
.lu-vote-page .lv-spark-0 { top: 14%; left: 46%; } .lu-vote-page .lv-spark-1 { top: 72%; left: 40%; width: 7px; height: 7px; animation-delay: -1s; }
.lu-vote-page .lv-spark-2 { top: 22%; left: 64%; width: 14px; height: 14px; animation-delay: -2s; } .lu-vote-page .lv-spark-3 { top: 80%; left: 62%; animation-delay: -.5s; }
.lu-vote-page .lv-spark-4 { top: 10%; left: 88%; width: 8px; height: 8px; animation-delay: -1.6s; } .lu-vote-page .lv-spark-5 { top: 55%; left: 54%; width: 6px; height: 6px; animation-delay: -2.4s; }
.lu-vote-page .lv-spark-6 { top: 86%; left: 92%; width: 12px; height: 12px; animation-delay: -.8s; }
@keyframes lv-twinkle { 0%, 100% { opacity: .25; transform: scale(.7); } 50% { opacity: 1; transform: scale(1.1); } }
.lu-vote-page .lv-top-text { position: relative; max-width: 620px; color: #fff; }
.lu-vote-page .lv-top-kicker { display: inline-flex; align-items: center; gap: .45rem; padding: .4rem .9rem; border-radius: 999px; background: rgba(255, 255, 255, .18); border: 1px solid rgba(255, 255, 255, .35);
    backdrop-filter: blur(6px); font-size: .75rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.lu-vote-page .lv-top-kicker i { color: #fde56f; }
.lu-astral .lu-vote-page .lu-vote .lv-title { margin: .8rem 0 .7rem; display: flex; flex-direction: column; line-height: 1; background: none; -webkit-text-stroke: 0; filter: none; text-shadow: none; color: #fff; }
.lu-vote-page .lv-title-1 { font-family: "Poppins", system-ui, sans-serif; font-weight: 800; font-size: clamp(1.3rem, 3.2vw, 2rem); letter-spacing: -.01em; text-shadow: 0 2px 12px rgba(42, 23, 107, .35); }
.lu-vote-page .lv-title-2 { margin-top: .15em; font-family: var(--lu-display, "Cinzel", serif); font-weight: 900; font-size: clamp(2.8rem, 8vw, 5.2rem); letter-spacing: .04em; text-transform: uppercase;
    background: linear-gradient(180deg, #fff9d6 0%, #fde56f 38%, #fab14d 72%, #fc8a3c 100%); -webkit-background-clip: text; background-clip: text; color: transparent;
    filter: drop-shadow(0 3px 0 #3a2470) drop-shadow(0 0 22px rgba(253, 209, 86, .55)); }
.lu-vote-page .lv-lead { margin: 0; max-width: 46ch; font-size: 1.05rem; font-weight: 500; color: rgba(255, 255, 255, .92); }
.lu-vote-page .lv-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.2rem; }
.lu-vote-page .lv-chip { display: inline-flex; align-items: center; gap: .4rem; padding: .45rem .85rem; border-radius: 12px; background: rgba(255, 255, 255, .95); color: var(--lv-ink); font-weight: 700; font-size: .82rem; box-shadow: 0 6px 16px rgba(42, 23, 107, .22); }
.lu-vote-page .lv-chip i { color: var(--lv-violet); }
.lu-vote-page .lv-how { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin-bottom: 0; padding: 0; list-style: none; }
.lu-vote-page .lv-how li { display: inline-flex; align-items: center; gap: .55rem; padding: .45rem .95rem .45rem .45rem; border-radius: 999px; background: #fff; box-shadow: 0 6px 18px rgba(91, 52, 196, .12); font-weight: 700; font-size: .9rem; }
.lu-vote-page .lv-how b { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; color: #fff; background: linear-gradient(135deg, var(--lv-violet), var(--lv-cyan)); font-size: .85rem; }

/* shared card bits */
.lu-vote-page .lv-cardhead { display: flex; align-items: center; gap: .8rem; }
.lu-vote-page .lv-badge { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 14px; color: #fff; font-size: 1.3rem;
    background: linear-gradient(135deg, var(--lv-violet), var(--lv-violet-2)); box-shadow: 0 6px 0 rgba(42, 23, 107, .25), 0 8px 20px rgba(124, 77, 255, .35); }
.lu-astral .lu-vote-page .lu-vote .lv-h2 { margin: 0; font-family: "Poppins", system-ui, sans-serif; font-weight: 800; font-size: clamp(1.2rem, 2.4vw, 1.5rem); color: var(--lv-ink);
    background: none; -webkit-text-stroke: 0; filter: none; text-shadow: none; letter-spacing: 0; }
.lu-vote-page .lv-card, .lu-vote-page .card.lv-sites { background: var(--lv-card); border: 1px solid var(--lv-line); border-radius: 26px; padding: clamp(1rem, 2.4vw, 1.6rem); box-shadow: 0 14px 40px rgba(74, 47, 150, .12); color: var(--lv-ink); }
.lu-vote-page .lv-muted, .lu-vote-page .lv-small { color: var(--lv-muted); }
.lu-vote-page .lv-small { margin: 1rem 0 0; font-size: .8rem; font-weight: 600; }
.lu-vote-page .lv-btn { display: inline-flex; align-items: center; gap: .4rem; margin-top: .4rem; padding: .6rem 1.2rem; border-radius: 14px; font-weight: 800; color: #fff; text-decoration: none;
    background: linear-gradient(180deg, #9a74ff, var(--lv-violet-2)); box-shadow: 0 4px 0 #2a176b, 0 10px 20px rgba(124, 77, 255, .35); transition: transform .15s ease; }
.lu-vote-page .lv-btn:hover { color: #fff; transform: translateY(-2px); }

/* vote sites */
.lu-vote-page .card.lv-sites { background: rgba(255, 255, 255, .55); backdrop-filter: blur(8px); }
.lu-vote-page .lv-sites > .card-body { padding: 0; text-align: left !important; }
.lu-vote-page .lv-sites .spinner-parent { border-radius: 20px; }
.lu-vote-page .lv-pseudo-intro { text-align: center; margin-bottom: 1rem; }
.lu-vote-page .lv-pseudo-intro p { margin: .3rem 0 0; }
.lu-vote-page .lv-sites form .form-control { border-radius: 14px; padding: .75rem 1rem; border: 2px solid var(--lv-line); background: #fff; color: var(--lv-ink); font-weight: 600; }
.lu-vote-page .lv-sites form .form-control:focus { border-color: var(--lv-violet); box-shadow: 0 0 0 4px rgba(124, 77, 255, .18); }
.lu-vote-page .lv-sites form .btn { width: 100%; padding: .7rem 1rem; border-radius: 14px; font-weight: 800; border: 0; color: #fff; background: linear-gradient(180deg, #9a74ff, var(--lv-violet-2)); box-shadow: 0 4px 0 #2a176b; }
.lu-vote-page .lv-grid-sites:not(.d-none) { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 1rem; }
.lu-vote-page .lv-grid-sites > .alert, .lu-vote-page .lv-hint { grid-column: 1 / -1; }
.lu-vote-page .lv-site { position: relative; display: flex; flex-direction: column; gap: .35rem; padding: 1.05rem 1.1rem 1rem; border-radius: 22px; text-decoration: none; color: #0f3d2e; overflow: hidden;
    background: linear-gradient(140deg, #b6ffd6 0%, #66efc0 45%, #4fdcf0 100%); box-shadow: 0 6px 0 #1f9f7d, 0 16px 30px rgba(47, 217, 154, .35), inset 0 1px 0 rgba(255, 255, 255, .7);
    transition: transform .18s ease, box-shadow .18s ease; margin: 0 !important; }
.lu-vote-page .lv-site::after { content: ""; position: absolute; top: -40%; left: -30%; width: 40%; height: 180%; transform: rotate(20deg); background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .55), transparent); animation: lv-shine 3.8s ease-in-out infinite; pointer-events: none; }
@keyframes lv-shine { 0%, 55% { left: -40%; } 100% { left: 130%; } }
.lu-vote-page .lv-site:hover { color: #0f3d2e; transform: translateY(-4px); box-shadow: 0 10px 0 #1f9f7d, 0 22px 40px rgba(47, 217, 154, .45), inset 0 1px 0 rgba(255, 255, 255, .7); }
.lu-vote-page .lv-site:active { transform: translateY(3px); box-shadow: 0 2px 0 #1f9f7d, 0 8px 16px rgba(47, 217, 154, .3); }
.lu-vote-page .lv-site-top { display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
.lu-vote-page .lv-site-num { font-family: var(--lu-display, "Cinzel", serif); font-weight: 900; font-size: 1.45rem; line-height: 1; }
.lu-vote-page .lv-site-delay { font-size: .72rem; font-weight: 800; padding: .25rem .55rem; border-radius: 999px; background: rgba(255, 255, 255, .55); white-space: nowrap; }
.lu-vote-page .lv-site-name { font-weight: 600; font-size: .9rem; opacity: .8; }
.lu-vote-page .lv-site-bar { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-top: .35rem; padding: .5rem .55rem .5rem .8rem; border-radius: 14px; background: rgba(255, 255, 255, .7); font-weight: 800; font-size: .9rem; }
.lu-vote-page .lv-ready { display: inline-flex; align-items: center; gap: .45rem; }
.lu-vote-page .lv-dot { width: 9px; height: 9px; border-radius: 50%; background: #12a36f; box-shadow: 0 0 0 4px rgba(18, 163, 111, .2); animation: lv-ping 1.6s ease-in-out infinite; }
@keyframes lv-ping { 50% { box-shadow: 0 0 0 7px rgba(18, 163, 111, 0); } }
.lu-vote-page .lv-go { display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .8rem; border-radius: 10px; color: #fff; background: #12a36f; font-size: .85rem; }
.lu-vote-page .lv-go i { font-size: .75rem; }
.lu-vote-page .lv-wait { display: none; align-items: center; gap: .3rem; }
.lu-vote-page .lv-wait .vote-timer { font-variant-numeric: tabular-nums; font-size: .95rem; }
/* waiting: the plugin adds .disabled while the site timer runs */
.lu-vote-page .lv-site.disabled { color: #5d5480; background: linear-gradient(140deg, #f1edfb, #e4def6); box-shadow: 0 4px 0 #cfc6ea, inset 0 1px 0 #fff; pointer-events: none; }
.lu-vote-page .lv-site.disabled::after { display: none; }
.lu-vote-page .lv-site.disabled .lv-ready, .lu-vote-page .lv-site.disabled .lv-go { display: none; }
.lu-vote-page .lv-site.disabled .lv-wait { display: inline-flex; }
.lu-vote-page .lv-site.disabled .lv-site-bar { justify-content: center; }
.lu-vote-page .lv-hint { display: flex; align-items: center; gap: .5rem; margin: .4rem 0 0; padding: .7rem 1rem; border-radius: 16px; background: rgba(124, 77, 255, .08); color: var(--lv-ink); font-weight: 600; font-size: .88rem; }
.lu-vote-page .lv-hint i { color: var(--lv-violet); font-size: 1.1rem; }
.lu-vote-page #status-message .alert { border-radius: 16px; }

/* goal cards */
.lu-vote-page .lv-goals { display: grid; grid-template-columns: repeat(var(--lv-cols, 3), minmax(0, 1fr)); gap: 1rem; }
.lu-vote-page .lv-goal { display: flex; flex-direction: column; gap: .8rem; padding: 1.3rem; border-radius: 26px; border: 2px solid; min-width: 0; }
.lu-vote-page .lv-goal-perso { background: linear-gradient(170deg, #e8f6ff, #d3ecff); border-color: #a9d8ff; }
.lu-vote-page .lv-goal-perso .lv-badge { background: linear-gradient(135deg, #3fb2ff, #2f6fe0); box-shadow: 0 6px 0 rgba(31, 79, 166, .3); }
.lu-vote-page .lv-goal-common { background: linear-gradient(170deg, #fff0fa, #fadcf0); border-color: #f5b3df; }
.lu-vote-page .lv-goal-common .lv-badge { background: linear-gradient(135deg, #f06bc0, #c02f88); box-shadow: 0 6px 0 rgba(140, 30, 100, .3); }
.lu-vote-page .lv-goal-reward { background: linear-gradient(170deg, #fff8e2, #ffeab8); border-color: #f5d27a; }
.lu-vote-page .lv-goal-reward .lv-badge { background: linear-gradient(135deg, #ffcf4a, #e8901a); box-shadow: 0 6px 0 rgba(160, 90, 10, .3); }
.lu-vote-page .lv-bignum { display: flex; align-items: baseline; gap: .5rem; flex-wrap: wrap; }
.lu-vote-page .lv-bignum strong { font-size: 2.6rem; font-weight: 800; line-height: 1; color: #1f5fc4; }
.lu-vote-page .lv-bignum span { font-weight: 700; color: var(--lv-muted); }
.lu-vote-page .lv-meter { height: 14px; border-radius: 999px; background: rgba(255, 255, 255, .8); overflow: hidden; }
.lu-vote-page .lv-meter span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #3fb2ff, #2f6fe0); }
.lu-vote-page .lv-goal-text { margin: 0; font-weight: 600; font-size: .9rem; color: var(--lv-ink); }
.lu-vote-page .lv-goal-inner.card { margin: 0 !important; background: transparent; border: 0; box-shadow: none; }
.lu-vote-page .lv-goal-inner .card-body { padding: 0; display: flex; flex-direction: column-reverse; gap: .6rem; }
.lu-vote-page .lv-goal-inner #goal-text { text-align: left !important; font-size: 1.9rem; font-weight: 800; color: #b02a7d; line-height: 1.1; }
.lu-vote-page .lv-goal-inner .progress { height: 14px; border-radius: 999px; background: rgba(255, 255, 255, .8); margin: 0 !important; }
.lu-vote-page .lv-goal-inner .progress-bar { border-radius: 999px; background-color: #e0479e; background-image: linear-gradient(90deg, #f06bc0, #a855f7); }
.lu-vote-page .lv-rewards { display: grid; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.lu-vote-page .lv-rewards li { display: flex; align-items: center; gap: .6rem; padding: .7rem .9rem; border-radius: 16px; background: rgba(255, 255, 255, .8); }
.lu-vote-page .lv-rewards img { width: 36px; height: 36px; object-fit: contain; }
.lu-vote-page .lv-rewards strong { font-size: 1.15rem; font-weight: 800; color: #9a5b00; }
.lu-vote-page .lv-chance { margin-left: auto; font-size: .75rem; font-weight: 800; color: #9a5b00; background: #ffe6a6; padding: .2rem .55rem; border-radius: 999px; white-space: nowrap; }

/* monthly milestones */
.lu-vote-page .lv-tierscroll { overflow-x: auto; margin: 1.2rem -.5rem 0; padding: 0 .5rem .4rem; }
.lu-vote-page .lv-tierline { position: relative; display: grid; grid-template-columns: repeat(var(--lv-n), minmax(130px, 1fr)); min-width: calc(var(--lv-n) * 130px); }
.lu-vote-page .lv-tierline::before, .lu-vote-page .lv-tierfill { content: ""; position: absolute; left: 0; top: 118px; height: 10px; border-radius: 999px; }
.lu-vote-page .lv-tierline::before { right: 0; background: #ece6fb; }
.lu-vote-page .lv-tierfill { background: linear-gradient(90deg, var(--lv-violet), var(--lv-cyan)); box-shadow: 0 0 14px rgba(31, 195, 227, .5); }
.lu-vote-page .lv-tier { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: .35rem; padding: 0 .3rem; }
.lu-vote-page .lv-tier-reward { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: .1rem; min-height: 92px; width: 100%; max-width: 160px; padding: .5rem .6rem; border-radius: 16px; background: #f6f2ff; border: 1px solid var(--lv-line); font-weight: 700; font-size: .82rem; line-height: 1.25; }
.lu-vote-page .lv-tier-node { position: relative; z-index: 1; display: grid; place-items: center; width: 50px; height: 50px; border-radius: 50%; background: #fff; border: 3px solid #d9d0f5; color: var(--lv-violet); font-size: 1.15rem; box-shadow: 0 4px 12px rgba(74, 47, 150, .15); }
.lu-vote-page .lv-tier-votes { font-weight: 800; font-size: .95rem; }
.lu-vote-page .lv-tier-state { font-size: .75rem; font-weight: 700; color: var(--lv-muted); }
.lu-vote-page .lv-tier.is-done .lv-tier-reward { background: linear-gradient(135deg, #ede6ff, #dff7ff); border-color: rgba(124, 77, 255, .35); }
.lu-vote-page .lv-tier.is-done .lv-tier-node { color: #fff; border-color: #fff; background: linear-gradient(135deg, var(--lv-violet), var(--lv-cyan)); box-shadow: 0 0 0 4px rgba(124, 77, 255, .2), 0 6px 16px rgba(31, 195, 227, .45); }
.lu-vote-page .lv-tier.is-done .lv-tier-state { color: #12a36f; }

/* leaderboard */
.lu-vote-page .lv-rankhead { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
.lu-vote-page .lv-rank .lv-badge { background: linear-gradient(135deg, #ffcf4a, #e8901a); box-shadow: 0 6px 0 rgba(160, 90, 10, .3); }
.lu-vote-page .lv-pill { padding: .45rem .95rem; border-radius: 12px; background: #f1edfb; font-weight: 700; font-size: .85rem; }
.lu-vote-page .lv-prize { display: flex; align-items: center; gap: .6rem; margin: 1rem 0 0; padding: .9rem 1.1rem; border-radius: 18px; background: linear-gradient(90deg, #f6efff, #fdf4ff); border: 1px solid rgba(168, 85, 247, .25); color: #6d28d9; font-weight: 700; }
.lu-vote-page .lv-prize i { font-size: 1.4rem; color: #a855f7; }
.lu-vote-page .lv-ranklist { display: grid; gap: .55rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.lu-vote-page .lv-row { display: flex; align-items: center; gap: .8rem; padding: .6rem .9rem; border-radius: 16px; background: #f7f8fc; border: 1px solid #e7e9f3; }
.lu-vote-page .lv-row.has-prize { background: linear-gradient(90deg, #fbf7ff, #f6efff); border-color: #eadcff; }
.lu-vote-page .lv-pos { display: grid; place-items: center; flex: none; width: 38px; height: 38px; border-radius: 50%; font-weight: 800; color: var(--lv-muted); }
.lu-vote-page .lv-row-1 { border-color: #f5cf5a; box-shadow: 0 0 0 1px #f5cf5a inset; }
.lu-vote-page .lv-row-1 .lv-pos { background: linear-gradient(180deg, #fff3c4, #ffd75e); color: #8a5a00; font-size: 1.15rem; }
.lu-vote-page .lv-row-2 .lv-pos { background: linear-gradient(180deg, #f3f6fb, #cfd8e6); color: #4b5a73; font-size: 1.15rem; }
.lu-vote-page .lv-row-3 .lv-pos { background: linear-gradient(180deg, #ffe6d6, #f0b38c); color: #8a4a1f; font-size: 1.15rem; }
.lu-vote-page .lv-avatar { flex: none; width: 36px; height: 36px; border-radius: 9px; image-rendering: pixelated; box-shadow: 0 2px 6px rgba(0, 0, 0, .15); }
.lu-vote-page .lv-avatar-empty { display: grid; place-items: center; font-weight: 800; color: #fff; background: linear-gradient(135deg, var(--lv-violet), var(--lv-cyan)); }
.lu-vote-page .lv-name { flex: 1; min-width: 0; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lu-vote-page .lv-rowprize { display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .75rem; border-radius: 12px; background: #fff; border: 1px solid #e3d3ff; color: #7c3aed; font-weight: 800; font-size: .82rem; white-space: nowrap; }
.lu-vote-page .lv-count { flex: none; min-width: 5.5em; text-align: right; color: var(--lv-muted); font-size: .85rem; font-variant-numeric: tabular-nums; }
.lu-vote-page .lv-count b { color: var(--lv-ink); font-size: 1rem; }
.lu-vote-page .lv-empty { margin: 1rem 0 0; padding: 1.4rem; border-radius: 18px; text-align: center; background: #f7f8fc; font-weight: 600; color: var(--lv-muted); }
.lu-vote-page .lv-rankfoot { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-top: 1rem; font-weight: 600; color: var(--lv-muted); }
.lu-vote-page .lv-rankfoot strong { color: var(--lv-ink); }

@media (max-width: 991.98px) {
    .lu-vote-page .lv-goals { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 575.98px) {
    .lu-vote-page .lu-vote { border-radius: 24px; }
    .lu-vote-page .lv-how { flex-direction: column; align-items: stretch; }
    .lu-vote-page .lv-row { flex-wrap: wrap; }
    .lu-vote-page .lv-rowprize { order: 5; margin-left: calc(38px + 36px + 1.6rem); }
}
@media (prefers-reduced-motion: reduce) {
    .lu-vote-page .lv-site::after, .lu-vote-page .lv-dot { animation: none; }
}
.lu-vote-page .lv-tier-reward strong { font-weight: 800; font-size: .86rem; color: var(--lv-ink); }
.lu-vote-page .lv-tier-reward span { font-weight: 600; font-size: .76rem; color: var(--lv-muted); }
@media (max-width: 767.98px) {
    .lu-vote-page .lv-top { min-height: 0; padding-bottom: 9rem; }
    .lu-vote-page .lv-moon { top: auto; bottom: -70px; right: -40px; width: 220px; transform: none; animation: none; }
}
@media (prefers-reduced-motion: reduce) { .lu-vote-page .lv-moon, .lu-vote-page .lv-spark { animation: none; } }
.lu-vote-page .lv-goal-prize { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.lu-vote-page .lv-goal-prize-label { font-weight: 800; font-size: .82rem; color: #b02a7d; }
.lu-vote-page .lv-goal-prize-item { display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .7rem; border-radius: 12px; background: #fff; border: 1px solid #f5b3df; color: #b02a7d; font-weight: 800; font-size: .82rem; }

/* inner pages (2.4.1): the header picture melts into the page instead of stopping on a hard edge */
.lu-astral.lu-is-page .lu-hero-img .lu-sky::after { background: linear-gradient(180deg, rgba(7, 6, 26, .25) 0%, transparent 26%, transparent 42%, rgba(17, 12, 42, .55) 70%, rgba(17, 12, 42, .92) 90%, #110c2a 100%); }
.lu-astral.lu-is-page .lu-page { background: linear-gradient(180deg, #110c2a 0, #150f33 380px, #0d0a24 1000px); }
.lu-astral.lu-is-page .lu-page::before { content: ""; position: absolute; inset: 0 0 auto; height: 520px; z-index: -1; pointer-events: none;
    background: radial-gradient(ellipse 55% 70% at 50% 100%, rgba(139, 92, 246, .18), transparent 70%); }
.lu-astral.lu-is-page .lu-page.lu-vote-page { padding-top: .75rem; isolation: isolate; }
.lu-vote-page .lu-vote { margin-top: 0; }
.lu-vote-page .lv-goal-prize-blue .lv-goal-prize-item { color: #1f5fc4; border-color: #a9d8ff; }

/* ---- vote page 2.6.0: slim header, quiet starry background, compact card header, ticket buttons ---- */
.lu-on-vote .lu-hero { padding-top: .8rem; padding-bottom: 1.2rem; }
.lu-on-vote .lu-hero .lu-logo, .lu-on-vote .lu-hero-art { display: none; }
.lu-astral.lu-on-vote .lu-hero-img .lu-sky::after { background: linear-gradient(180deg, rgba(7, 6, 26, .2) 0%, rgba(15, 11, 40, .55) 70%, #0f0b28 100%); }
.lu-astral.lu-is-page .lu-page.lu-vote-page { padding-top: 1.5rem;
    background-color: #0f0b28;
    background-image: radial-gradient(1px 1px at 20% 30%, #fff, transparent), radial-gradient(1px 1px at 70% 60%, #d2fbff, transparent),
                      radial-gradient(1.5px 1.5px at 40% 80%, #fff, transparent), radial-gradient(1px 1px at 85% 20%, #fff, transparent),
                      radial-gradient(1px 1px at 55% 10%, rgba(255, 255, 255, .7), transparent), radial-gradient(1.2px 1.2px at 8% 70%, #d2fbff, transparent);
    background-size: 340px 340px; }
.lu-astral.lu-is-page .lu-page.lu-vote-page::before { display: none; }

.lu-vote-page .lv-sitehead { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 2px 2px 14px; margin-bottom: 16px; border-bottom: 1px solid var(--lv-line); }
.lu-vote-page .lv-sitehead-ic { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 14px; color: #fff; font-size: 1.25rem;
    background: linear-gradient(135deg, var(--lv-violet), var(--lv-violet-2)); box-shadow: 0 5px 0 rgba(42, 23, 107, .25); }
.lu-vote-page .lv-sitehead-text { flex: 1; min-width: 0; }
.lu-astral .lu-vote-page .lu-vote .lv-sitehead-title { margin: 0; font-family: "Poppins", system-ui, sans-serif; font-weight: 800; font-size: 1.3rem; letter-spacing: 0; color: var(--lv-ink);
    background: none; -webkit-text-stroke: 0; filter: none; text-shadow: none; }
.lu-vote-page .lv-sitehead-text p { margin: 2px 0 0; color: var(--lv-muted); font-size: .85rem; font-weight: 500; }
.lu-vote-page .lv-sitehead-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: #fff; color: var(--lv-ink); font-weight: 700; font-size: .8rem;
    box-shadow: 0 4px 12px rgba(91, 52, 196, .12); white-space: nowrap; }
.lu-vote-page .lv-sitehead-chip i { color: var(--lv-violet); }

/* ticket */
.lu-vote-page .lv-site.lv-ticket { display: grid; grid-template-columns: 68px minmax(0, 1fr); gap: 0; padding: 0; color: var(--lv-ink); background: #fff;
    box-shadow: 0 6px 18px rgba(42, 29, 92, .16), 0 0 0 1px rgba(47, 217, 154, .35); }
.lu-vote-page .lv-site.lv-ticket::after { display: none; }
.lu-vote-page .lv-site.lv-ticket:hover { color: var(--lv-ink); box-shadow: 0 12px 26px rgba(42, 29, 92, .2), 0 0 0 2px #2fd99a; }
.lu-vote-page .lv-stub { position: relative; display: grid; place-items: center; align-content: center; gap: 3px; color: #0f3d2e; font-size: 1.5rem;
    background: linear-gradient(180deg, #7ff3c6, #2fd99a); border-right: 2px dashed rgba(255, 255, 255, .95); }
.lu-vote-page .lv-stub::before, .lu-vote-page .lv-stub::after { content: ""; position: absolute; right: -9px; width: 16px; height: 16px; border-radius: 50%; background: #f6f3ff; }
.lu-vote-page .lv-stub::before { top: -8px; } .lu-vote-page .lv-stub::after { bottom: -8px; }
.lu-vote-page .lv-stub small { font: 900 1rem var(--lu-display, "Cinzel", serif); }
.lu-vote-page .lv-stub .bi-lock-fill { display: none; }
.lu-vote-page .lv-tbody { display: grid; gap: 8px; padding: 12px 12px 12px 16px; min-width: 0; }
.lu-vote-page .lv-ticket .lv-site-top { gap: 8px; }
.lu-vote-page .lv-ticket .lv-site-name { font-weight: 800; font-size: 1rem; opacity: 1; }
.lu-vote-page .lv-ticket .lv-site-delay { background: #f1edfb; color: var(--lv-ink); }
.lu-vote-page .lv-ticket .lv-site-bar { margin: 0; background: #f1fdf7; }
.lu-vote-page .lv-site.lv-ticket.disabled { background: #faf8ff; box-shadow: 0 3px 10px rgba(42, 29, 92, .1), 0 0 0 1px #e4def6; color: #5d5480; }
.lu-vote-page .lv-ticket.disabled .lv-stub { color: #5d5480; background: linear-gradient(180deg, #e4def6, #c9bfe8); }
.lu-vote-page .lv-ticket.disabled .lv-stub .bi-ticket-perforated-fill { display: none; }
.lu-vote-page .lv-ticket.disabled .lv-stub .bi-lock-fill { display: inline-block; }
.lu-vote-page .lv-ticket.disabled .lv-site-bar { background: #f1edfb; }
.lu-astral .lu-vote-page .lu-vote .lv-sitehead-title { text-transform: none; }
.lu-vote-page .lv-ticket .lv-wait { white-space: nowrap; font-size: .85rem; }
/* 2.6.1: ticket texts never overflow */
.lu-vote-page .lv-ticket .lv-site-top { flex-wrap: wrap; min-width: 0; }
.lu-vote-page .lv-ticket .lv-site-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lu-vote-page .lv-ticket .lv-site-bar { flex-wrap: wrap; min-width: 0; }
.lu-vote-page .lv-ticket .lv-wait { display: none; flex-direction: column; align-items: center; gap: 0; width: 100%; white-space: normal; font-size: .72rem; line-height: 1.25; text-align: center; }
.lu-vote-page .lv-ticket.disabled .lv-wait { display: flex; }
.lu-vote-page .lv-ticket .lv-wait .vote-timer { display: block; font-size: 1.05rem; font-weight: 800; letter-spacing: .02em; }
.lu-vote-page .lv-ticket .lv-wait .bi { display: none; }
.lu-vote-page .lv-ticket .lv-go { flex: none; }
.lu-vote-page .lv-ticket .lv-ready { min-width: 0; white-space: nowrap; }
.lu-vote-page .lv-site.lv-ticket { grid-template-columns: 58px minmax(0, 1fr); }
.lu-vote-page .lv-ticket .lv-tbody { padding: 11px 10px 11px 14px; }
.lu-vote-page .lv-ticket .lv-site-bar { padding: .4rem .4rem .4rem .6rem; gap: .35rem; font-size: .82rem; }
.lu-vote-page .lv-ticket .lv-go { padding: .32rem .65rem; font-size: .8rem; margin-left: auto; }
.lu-vote-page .lv-ticket .lv-dot { width: 7px; height: 7px; }
/* 2.6.1: on inner pages the header is short, so it must not clip the navbar dropdowns (profile menu) */
.lu-is-page .lu-hero { overflow: visible; z-index: 1040; }
.lu-is-page .lu-hero .dropdown-menu { z-index: 1050; }

/* ---- vote page 2.7.0: compact goals & milestones ---- */
.lu-vote-page .lv-goals { gap: .8rem; }
.lu-vote-page .lv-goal { gap: .5rem; padding: .9rem 1rem; border-radius: 22px; }
.lu-vote-page .lv-goal .lv-badge, .lu-vote-page .lv-tiers .lv-badge, .lu-vote-page .lv-rank .lv-badge { width: 36px; height: 36px; border-radius: 11px; font-size: 1.05rem; box-shadow: 0 4px 0 rgba(42, 23, 107, .22); }
.lu-astral .lu-vote-page .lu-vote .lv-goal .lv-h2 { font-size: 1.1rem; }
.lu-vote-page .lv-bignum strong { font-size: 1.8rem; }
.lu-vote-page .lv-bignum span { font-size: .82rem; }
.lu-vote-page .lv-goal-text { font-size: .82rem; }
.lu-vote-page .lv-meter, .lu-vote-page .lv-goal-inner .progress { height: 10px; }
.lu-vote-page .lv-goal-inner #goal-text { font-size: 1.4rem; }
.lu-vote-page .lv-goal-prize-item { padding: .25rem .55rem; font-size: .76rem; }
.lu-vote-page .lv-rewards li { padding: .5rem .75rem; }
.lu-vote-page .lv-rewards strong { font-size: 1rem; }
.lu-vote-page .lv-goal .lv-btn { padding: .45rem 1rem; margin-top: 0; font-size: .85rem; }
.lu-vote-page .lv-card.lv-tiers { padding: .9rem 1.1rem; }
.lu-vote-page .lv-tiers .lv-kicker { font-size: .62rem; }
.lu-astral .lu-vote-page .lu-vote .lv-tiers .lv-h2 { font-size: 1.1rem; }
.lu-vote-page .lv-tierscroll { margin-top: .7rem; }
.lu-vote-page .lv-tier { gap: .2rem; }
.lu-vote-page .lv-tier-reward { min-height: 54px; padding: .35rem .45rem; border-radius: 12px; }
.lu-vote-page .lv-tier-reward strong { font-size: .76rem; }
.lu-vote-page .lv-tier-reward span { font-size: .68rem; }
.lu-vote-page .lv-tier-node { width: 34px; height: 34px; font-size: .9rem; border-width: 2px; }
.lu-vote-page .lv-tierline::before, .lu-vote-page .lv-tierfill { top: 66px; height: 8px; }
.lu-vote-page .lv-tier-votes { font-size: .8rem; }
.lu-vote-page .lv-tier-state { font-size: .68rem; }
.lu-vote-page .lv-tiers .lv-small { margin-top: .5rem; font-size: .72rem; }

/* ---- vote page 2.7.0: lunar stage leaderboard ---- */
.lu-vote-page .lv-stage { position: relative; overflow: hidden; isolation: isolate; margin-top: 1rem; padding: 2rem 1rem 0; border-radius: 24px;
    background: linear-gradient(180deg, rgba(13, 10, 36, .55) 0%, rgba(29, 20, 70, .25) 45%, rgba(13, 10, 36, .2) 100%), var(--lv-stage, none) center bottom / cover no-repeat, linear-gradient(180deg, #1d1446, #2f1f6e 70%, #3a2470);
    box-shadow: inset 0 0 0 1px rgba(201, 251, 255, .15), 0 18px 40px rgba(29, 20, 70, .35); }
.lu-vote-page .lv-stage::after { content: ""; position: absolute; inset: auto 0 0; height: 40%; z-index: -1; background: linear-gradient(180deg, transparent, rgba(13, 10, 36, .55)); }
.lu-vote-page .lv-beam { position: absolute; top: -10%; z-index: -1; width: 34%; height: 110%; pointer-events: none; background: linear-gradient(180deg, rgba(210, 251, 255, .32), transparent 75%);
    clip-path: polygon(42% 0, 58% 0, 100% 100%, 0 100%); animation: lv-beam 4.5s ease-in-out infinite alternate; }
@keyframes lv-beam { to { opacity: .4; } }
.lu-vote-page .lv-podium { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; gap: .6rem; }
.lu-vote-page .lv-pcol { display: flex; flex-direction: column; align-items: center; text-align: center; min-width: 0; }
.lu-vote-page .lv-crown { color: #fdd156; font-size: 1.5rem; filter: drop-shadow(0 0 10px rgba(253, 209, 86, .8)); margin-bottom: .2rem; }
.lu-vote-page .lv-pname { margin-top: .45rem; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 800; color: #fff; text-shadow: 0 2px 8px rgba(0, 0, 0, .5); }
.lu-vote-page .lv-pvotes { font-size: .78rem; font-weight: 700; color: #c9b8ff; }
.lu-vote-page .lv-pcol .lv-rowprize { margin-top: .4rem; }
.lu-vote-page .lv-rock { display: grid; place-items: center; width: 100%; margin-top: .6rem; border-radius: 50% 50% 0 0 / 30% 30% 0 0; font: 900 1.8rem var(--lu-display, "Cinzel", serif); color: rgba(255, 255, 255, .85);
    text-shadow: 0 2px 0 rgba(0, 0, 0, .3); background: radial-gradient(circle at 30% 25%, #a3abcf, #6a7299 55%, #3b4270); box-shadow: inset 0 6px 0 rgba(255, 255, 255, .22), inset 0 -10px 20px rgba(0, 0, 0, .25); }
.lu-vote-page .lv-p1 .lv-rock { height: 104px; box-shadow: inset 0 6px 0 rgba(255, 255, 255, .22), 0 0 30px rgba(253, 209, 86, .35); }
.lu-vote-page .lv-p2 .lv-rock { height: 76px; }
.lu-vote-page .lv-p3 .lv-rock { height: 58px; }

/* 3D block characters */
.lu-vote-page .lv-mcw { position: relative; perspective: 900px; }
.lu-vote-page .lv-mc { position: relative; transform-style: preserve-3d; animation: lv-sway 5s ease-in-out infinite; }
@keyframes lv-sway { 0%, 100% { transform: rotateX(-8deg) rotateY(-28deg); } 50% { transform: rotateX(-8deg) rotateY(28deg); } }
.lu-vote-page .lv-pt { position: absolute; transform-style: preserve-3d; }
.lu-vote-page .lv-fc { position: absolute; left: 50%; top: 50%; backface-visibility: hidden; image-rendering: pixelated; background-repeat: no-repeat; background-color: transparent; }
.lu-vote-page .lv-fc-l, .lu-vote-page .lv-fc-r { filter: brightness(.82); }
.lu-vote-page .lv-fc-b { filter: brightness(.75); }
.lu-vote-page .lv-fc-o { filter: brightness(.6); }
.lu-vote-page .lv-hat .lv-fc { filter: none; }
.lu-vote-page .lv-arm, .lu-vote-page .lv-leg { transform-origin: 50% 0; }
.lu-vote-page .lv-arm.lv-l { animation: lv-arm 1.8s ease-in-out infinite; }
.lu-vote-page .lv-arm.lv-r { animation: lv-arm 1.8s ease-in-out infinite reverse; }
.lu-vote-page .lv-leg.lv-l { animation: lv-leg 1.8s ease-in-out infinite reverse; }
.lu-vote-page .lv-leg.lv-r { animation: lv-leg 1.8s ease-in-out infinite; }
@keyframes lv-arm { 0%, 100% { transform: rotateX(16deg); } 50% { transform: rotateX(-16deg); } }
@keyframes lv-leg { 0%, 100% { transform: rotateX(5deg); } 50% { transform: rotateX(-5deg); } }
.lu-vote-page .lv-mc.is-wave .lv-arm.lv-r { animation: lv-wave 1s ease-in-out infinite; }
@keyframes lv-wave { 0%, 100% { transform: rotateZ(150deg); } 50% { transform: rotateZ(120deg); } }
.lu-vote-page .lv-head { transform-origin: 50% 100%; animation: lv-look 3s ease-in-out infinite; }
@keyframes lv-look { 0%, 100% { transform: rotateY(0); } 30% { transform: rotateY(18deg); } 70% { transform: rotateY(-14deg); } }
.lu-vote-page .lv-mc.is-ghost .lv-fc { background: rgba(255, 255, 255, .1); outline: 1px dashed rgba(255, 255, 255, .5); outline-offset: -1px; }
.lu-vote-page .lv-mc.is-ghost, .lu-vote-page .lv-mc.is-ghost .lv-pt { animation-duration: 6s; }
.lu-vote-page .lv-mc-shadow { width: 70%; height: 10px; margin: -4px auto 0; border-radius: 50%; background: radial-gradient(rgba(0, 0, 0, .45), transparent 70%); }
@media (max-width: 575.98px) {
    .lu-vote-page .lv-stage { padding: 1.4rem .4rem 0; }
    .lu-vote-page .lv-podium { gap: .3rem; }
    .lu-vote-page .lv-pname { font-size: .8rem; }
    .lu-vote-page .lv-pcol .lv-rowprize { font-size: .66rem; padding: .2rem .4rem; }
    .lu-vote-page .lv-p1 .lv-rock { height: 76px; } .lu-vote-page .lv-p2 .lv-rock { height: 56px; } .lu-vote-page .lv-p3 .lv-rock { height: 42px; }
}
@media (prefers-reduced-motion: reduce) {
    .lu-vote-page .lv-mc, .lu-vote-page .lv-pt, .lu-vote-page .lv-beam { animation: none !important; }
    .lu-vote-page .lv-mc { transform: rotateX(-8deg) rotateY(-20deg); }
}
.lu-vote-page .lv-goal-prize-blue .lv-goal-prize-label { color: #1f5fc4; }
.lu-vote-page .lv-tier-reward { height: 60px; min-height: 0; overflow: hidden; line-height: 1.2; }
.lu-vote-page .lv-tierline::before, .lu-vote-page .lv-tierfill { top: 76px; }
/* 2.7.1: dedicated stage picture (it already has its own light beams) */
.lu-vote-page .lv-stage.has-art { background: linear-gradient(180deg, rgba(13, 10, 36, .25) 0%, transparent 40%), var(--lv-stage) center 78% / cover no-repeat, #1d1446; }
.lu-vote-page .lv-stage.has-art .lv-beam { display: none; }
.lu-vote-page .lv-stage.has-art::after { height: 25%; background: linear-gradient(180deg, transparent, rgba(13, 10, 36, .35)); }

/* =========================================================
   Shop (2.8.0): Lunaris shop built by theme.js around the plugin pages
   ========================================================= */
.lu-astral.lu-is-page .lu-page.lu-shop-page { padding-top: 1.5rem; background-color: #0f0b28;
    background-image: radial-gradient(1px 1px at 20% 30%, #fff, transparent), radial-gradient(1px 1px at 70% 60%, #d2fbff, transparent), radial-gradient(1.5px 1.5px at 40% 80%, #fff, transparent), radial-gradient(1px 1px at 85% 20%, #fff, transparent), radial-gradient(1px 1px at 55% 10%, rgba(255, 255, 255, .7), transparent);
    background-size: 340px 340px; }
.lu-astral.lu-is-page .lu-page.lu-shop-page::before { display: none; }
.lu-shop-page .lu-shop { --k: #2a1d5c; --m: #6b5f95; --l: rgba(106, 63, 224, .14); --v: #7c4dff; --v2: #5b34c4; --c: #1fc3e3;
    position: relative; margin-bottom: 1.5rem; padding: clamp(1rem, 2.6vw, 1.8rem); border-radius: 30px; color: var(--k); font-family: "Poppins", system-ui, sans-serif;
    background: linear-gradient(180deg, #f3eeff 0%, #f8f6ff 38%, #f2f9ff 100%); box-shadow: 0 0 0 1px rgba(255, 255, 255, .7) inset, 0 30px 80px rgba(5, 3, 20, .5); }
.lu-shop-page .lu-shop > * + * { margin-top: 1.4rem; }
.lu-shop-page .lu-shop [hidden] { display: none !important; }
.lu-shop-page .lu-shop img { max-width: 100%; }

/* hero */
.lu-shop .ls-hero { position: relative; overflow: hidden; min-height: 240px; display: flex; align-items: center; padding: clamp(1.4rem, 4vw, 2.6rem); border-radius: 24px; color: #fff;
    background: #1d1446 var(--ls-hero) right center / cover no-repeat; box-shadow: 0 18px 44px rgba(91, 52, 196, .3); }
.lu-shop .ls-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20, 15, 51, .94) 0%, rgba(20, 15, 51, .72) 42%, transparent 78%); }
.lu-shop .ls-hero-text { position: relative; max-width: 540px; }
.lu-shop .ls-hero-text p { margin: .5rem 0 0; color: rgba(255, 255, 255, .9); }
.lu-astral .lu-shop-page .lu-shop .ls-title { margin: .3rem 0 0; font-family: var(--lu-display, "Cinzel", serif); font-weight: 900; font-size: clamp(2rem, 5vw, 3.2rem); line-height: 1.05; letter-spacing: .04em;
    color: #fff; background: none; -webkit-text-stroke: 0; filter: drop-shadow(0 0 18px rgba(127, 243, 255, .35)); text-shadow: none; }
.lu-astral .lu-shop-page .lu-shop .ls-title-md { font-size: clamp(1.5rem, 3.4vw, 2.1rem); }
.lu-shop .ls-kicker { display: block; font-size: .7rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--v); }
.lu-shop .ls-kicker-light { color: #d2fbff; } .lu-shop .ls-kicker-gold { color: #ffe58a; }

/* bar */
.lu-shop .ls-bar { position: sticky; top: 76px; z-index: 5; display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; padding: .55rem; border-radius: 18px;
    background: rgba(255, 255, 255, .92); backdrop-filter: blur(10px); box-shadow: 0 8px 24px rgba(42, 29, 92, .12); }
.lu-shop .ls-tabs { display: flex; gap: .35rem; flex: 1; overflow-x: auto; scrollbar-width: none; }
.lu-shop .ls-tab { flex: none; display: inline-flex; align-items: center; gap: .4rem; padding: .5rem .9rem; border-radius: 12px; color: var(--k); font-weight: 700; font-size: .88rem; text-decoration: none; white-space: nowrap; }
.lu-shop .ls-tab:hover { background: #f1edfb; color: var(--k); }
.lu-shop .ls-tab.is-active { color: #fff; background: linear-gradient(135deg, var(--v), var(--v2)); box-shadow: 0 4px 12px rgba(124, 77, 255, .3); }
.lu-shop .ls-bar-side { display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; }
.lu-shop .ls-balance { display: inline-flex; align-items: center; gap: .35rem; padding: .45rem .8rem; border-radius: 12px; background: #f1edfb; font-weight: 800; white-space: nowrap; }
.lu-shop .ls-dust { width: 1.35em; height: 1.35em; object-fit: contain; vertical-align: -.3em; }
.lu-shop .ls-btn { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; padding: .55rem 1rem; border: 0; border-radius: 12px; font-weight: 800; font-size: .86rem; color: #fff; text-decoration: none; white-space: nowrap; cursor: pointer;
    background: linear-gradient(180deg, #9a74ff, var(--v2)); box-shadow: 0 4px 0 #2a176b; transition: transform .15s ease, filter .15s ease; }
.lu-shop .ls-btn:hover { color: #fff; transform: translateY(-1px); filter: brightness(1.08); }
.lu-shop .ls-btn-gold { color: #4a2c00; background: linear-gradient(180deg, #ffe58a, #f5b423); box-shadow: 0 4px 0 #a86b00; } .lu-shop .ls-btn-gold:hover { color: #4a2c00; }
.lu-shop .ls-btn-ghost { color: var(--k); background: #fff; box-shadow: 0 0 0 1px var(--l), 0 3px 0 rgba(42, 29, 92, .1); } .lu-shop .ls-btn-ghost:hover { color: var(--k); }
.lu-shop .ls-btn-green { width: 100%; color: #fff; background: linear-gradient(180deg, #4fe3a5, #12a36f); box-shadow: 0 4px 0 #0b6b48; }

/* section heads */
.lu-shop .ls-sec { display: grid; gap: 1rem; }
.lu-shop .ls-head { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; }
.lu-shop .ls-head > div { flex: 1; min-width: 0; }
.lu-shop .ls-badge { display: grid; place-items: center; flex: none; width: 42px; height: 42px; border-radius: 13px; color: #fff; font-size: 1.15rem; background: linear-gradient(135deg, var(--v), var(--v2)); box-shadow: 0 4px 0 rgba(42, 23, 107, .25); }
.lu-astral .lu-shop-page .lu-shop .ls-h2 { margin: 0; font: 800 1.3rem "Poppins", system-ui, sans-serif; color: var(--k); background: none; -webkit-text-stroke: 0; filter: none; text-shadow: none; letter-spacing: 0; text-transform: none; }
.lu-shop .ls-lead, .lu-shop .ls-small { margin: .15rem 0 0; color: var(--m); font-size: .86rem; }
.lu-shop .ls-pill { padding: .35rem .8rem; border-radius: 10px; background: #f1edfb; font-weight: 700; font-size: .8rem; }

/* offers */
.lu-shop .ls-offers { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 165px), 1fr)); gap: .9rem; }
.lu-shop .ls-offer { position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: center; gap: .3rem; padding: 1.1rem .9rem .9rem; border-radius: 22px; text-align: center; color: #fff;
    background: linear-gradient(170deg, #6fb6ff, #3f7ce8); box-shadow: 0 0 0 2px rgba(255, 255, 255, .5) inset, 0 14px 30px rgba(42, 29, 92, .2); transition: transform .2s ease; }
.lu-shop .ls-offer:hover { transform: translateY(-4px); }
.lu-shop .ls-offer-1 { background: linear-gradient(170deg, #78c8ff, #3b8ee0); }
.lu-shop .ls-offer-2 { background: linear-gradient(170deg, #a77bff, #6a3fe0); }
.lu-shop .ls-offer-3 { background: linear-gradient(170deg, #c37bff, #8b3fe0); }
.lu-shop .ls-offer-4 { background: linear-gradient(170deg, #ffd36b, #f09a1a); }
.lu-shop .ls-offer-5 { background: linear-gradient(170deg, #ff8fc6, #d6337e); }
.lu-shop .ls-offer.is-pop { box-shadow: 0 0 0 3px #fff inset, 0 0 0 3px #a77bff, 0 18px 36px rgba(124, 77, 255, .35); }
.lu-shop .ls-offer.is-best { box-shadow: 0 0 0 3px #fff inset, 0 0 0 3px #f5b423, 0 18px 36px rgba(240, 154, 26, .35); }
.lu-shop .ls-ribbon { position: absolute; top: .55rem; right: .55rem; display: inline-flex; align-items: center; gap: .25rem; padding: .2rem .55rem; border-radius: 999px; font-size: .66rem; font-weight: 800; color: var(--k); background: rgba(255, 255, 255, .92); }
.lu-shop .ls-offer-art { display: grid; place-items: center; height: 120px; width: 100%; }
.lu-shop .ls-offer-art img { max-width: 120px; max-height: 120px; object-fit: contain; filter: drop-shadow(0 10px 14px rgba(20, 15, 51, .35)); }
.lu-shop .ls-offer-amt { display: flex; align-items: baseline; gap: .3rem; }
.lu-shop .ls-offer-amt strong { font: 900 1.6rem var(--lu-display, "Cinzel", serif); text-shadow: 0 2px 0 rgba(0, 0, 0, .15); }
.lu-shop .ls-offer-amt span { font-size: .72rem; font-weight: 800; opacity: .9; }
.lu-shop .ls-offer-price { font-weight: 800; font-size: 1.05rem; }
.lu-shop .ls-offer-bonus { padding: .2rem .6rem; border-radius: 8px; background: rgba(255, 255, 255, .25); font-size: .74rem; font-weight: 800; }
.lu-shop .ls-offer-bonus.is-empty { visibility: hidden; }
.lu-shop .ls-offer .ls-btn { margin-top: .4rem; }

/* latest buyers */
.lu-shop .ls-recent { display: flex; align-items: center; gap: .8rem; padding: .6rem .8rem; border-radius: 16px; background: #fff; border: 1px solid var(--l); overflow: hidden; }
.lu-shop .ls-recent-title { flex: none; font-weight: 800; font-size: .8rem; color: var(--v); }
.lu-shop .ls-recent-list { display: flex; gap: 1rem; overflow-x: auto; scrollbar-width: none; }
.lu-shop .ls-recent-item { display: inline-flex; align-items: center; gap: .45rem; flex: none; }
.lu-shop .ls-recent-item img { width: 28px; height: 28px; border-radius: 7px; image-rendering: pixelated; }
.lu-shop .ls-recent-item b { display: block; font-size: .8rem; } .lu-shop .ls-recent-item small { display: block; font-size: .68rem; color: var(--m); }

/* game pass */
.lu-shop .ls-pass-banner { position: relative; overflow: hidden; min-height: 160px; display: flex; align-items: flex-end; padding: 1.4rem; border-radius: 22px; color: #fff; background: #1d1446 var(--ls-pass) center / cover no-repeat; }
.lu-shop .ls-pass-banner::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 15%, rgba(20, 15, 51, .88)); }
.lu-shop .ls-pass-banner > div { position: relative; max-width: 620px; }
.lu-shop .ls-pass-banner p { margin: .3rem 0 0; color: rgba(255, 255, 255, .9); }
.lu-shop .ls-pass-banner-sm { min-height: 130px; margin-bottom: 1rem; }
.lu-shop .ls-pass-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; }
.lu-shop .ls-pass-card { --pc: #7c4dff; display: flex; flex-direction: column; align-items: center; gap: .4rem; padding: 1.2rem 1rem; border-radius: 22px; text-align: center; text-decoration: none; color: var(--k);
    background: linear-gradient(180deg, color-mix(in srgb, var(--pc) 16%, #fff), #fff 60%); border: 2px solid color-mix(in srgb, var(--pc) 45%, #fff); box-shadow: 0 12px 28px rgba(42, 29, 92, .1); transition: transform .2s ease; }
.lu-shop .ls-pass-card:hover { color: var(--k); transform: translateY(-4px); }
.lu-shop .ls-pass-card.is-pop { border-color: var(--pc); box-shadow: 0 18px 36px color-mix(in srgb, var(--pc) 30%, transparent); }
.lu-shop .ls-pass-emb { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 16px; color: #fff; font-size: 1.5rem; background: var(--pc, #7c4dff); box-shadow: 0 5px 0 rgba(0, 0, 0, .15), 0 8px 22px color-mix(in srgb, var(--pc, #7c4dff) 45%, transparent); }
.lu-shop .ls-pass-name { font: 900 1.35rem var(--lu-display, "Cinzel", serif); color: var(--pc, var(--k)); }
.lu-shop .ls-pass-price { font-weight: 800; font-size: 1.1rem; } .lu-shop .ls-pass-price small { color: var(--m); font-weight: 600; }
.lu-shop .ls-more { justify-self: center; font-weight: 700; color: var(--v); }

/* goal + top */
.lu-shop .ls-duo { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 1rem; }
.lu-shop .ls-card { display: grid; gap: .7rem; align-content: start; padding: 1.2rem; border-radius: 22px; background: #fff; border: 1px solid var(--l); box-shadow: 0 12px 30px rgba(74, 47, 150, .08); }
.lu-shop .ls-goal { background: linear-gradient(170deg, #fff0fa, #fff); border-color: #f5b3df; }
.lu-shop .ls-goal .ls-badge { background: linear-gradient(135deg, #f06bc0, #c02f88); }
.lu-shop .ls-goal-num strong { font: 900 2rem var(--lu-display, "Cinzel", serif); color: #b02a7d; } .lu-shop .ls-goal-num span { font-weight: 700; color: var(--m); }
.lu-shop .ls-meter { height: 12px; border-radius: 999px; background: #fbe1f1; overflow: hidden; } .lu-shop .ls-meter span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #f06bc0, #a855f7); }
.lu-shop .ls-goal-reward { display: flex; align-items: center; gap: .5rem; padding: .6rem .8rem; border-radius: 14px; background: #fff; border: 1px solid #f5b3df; font-weight: 700; font-size: .85rem; }
.lu-shop .ls-top .ls-badge { background: linear-gradient(135deg, #ffcf4a, #e8901a); }
.lu-shop .ls-top-list { display: grid; gap: .45rem; margin: 0; padding: 0; list-style: none; }
.lu-shop .ls-top-list li { display: flex; align-items: center; gap: .7rem; padding: .5rem .7rem; border-radius: 14px; background: #f7f8fc; border: 1px solid #e7e9f3; }
.lu-shop .ls-top-list img { width: 32px; height: 32px; border-radius: 8px; image-rendering: pixelated; }
.lu-shop .ls-top-pos { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; font-weight: 800; background: #eef0f7; }
.lu-shop .ls-top-1 { border-color: #f5cf5a !important; } .lu-shop .ls-top-1 .ls-top-pos { background: linear-gradient(180deg, #fff3c4, #ffd75e); color: #8a5a00; }
.lu-shop .ls-top-2 .ls-top-pos { background: linear-gradient(180deg, #f3f6fb, #cfd8e6); } .lu-shop .ls-top-3 .ls-top-pos { background: linear-gradient(180deg, #ffe6d6, #f0b38c); }
.lu-shop .ls-empty { margin: 0; padding: 1rem; border-radius: 14px; text-align: center; background: #f7f8fc; color: var(--m); font-weight: 600; }

/* help */
.lu-shop .ls-help { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 1rem; }
.lu-shop .ls-help-box { display: flex; gap: .9rem; align-items: flex-start; padding: 1.1rem 1.2rem; border-radius: 20px; background: linear-gradient(170deg, #e8f6ff, #fff); border: 1px solid #c4e4ff; }
.lu-shop .ls-help-box > .bi { font-size: 1.6rem; color: var(--v); }
.lu-shop .ls-help-box p { margin: .2rem 0 .6rem; color: var(--m); font-size: .86rem; }

/* category pages: plugin cards restyled */
.lu-shop #shop { --bs-gutter-y: 1rem; margin-top: 1rem; }
.lu-shop #shop .card { overflow: hidden; border: 1px solid var(--l); border-radius: 22px; background: #fff; color: var(--k); box-shadow: 0 12px 28px rgba(74, 47, 150, .1); transition: transform .2s ease; }
.lu-shop #shop .col-md-4 > .card:hover { transform: translateY(-3px); }
.lu-shop #shop .card-body { padding: 1.1rem; }
.lu-shop #shop .col-12 > .card { background: transparent; border: 0; box-shadow: none; }
.lu-shop #shop .col-12 > .card .card-body { padding: 0; color: var(--m); }
.lu-astral .lu-shop-page .lu-shop #shop .card-title { font: 800 1.1rem "Poppins", system-ui, sans-serif; color: var(--k); background: none; -webkit-text-stroke: 0; filter: none; text-shadow: none; }
.lu-shop #shop .card-subtitle { font-weight: 800; color: var(--v); }
.lu-shop #shop .card-subtitle::before { content: ""; display: inline-block; width: 1.25em; height: 1.25em; margin-right: .3em; vertical-align: -.25em; background: url("../img/shop/dust.webp") center / contain no-repeat; }
.lu-shop #shop .card .btn { border: 0; border-radius: 12px; font-weight: 800; padding: .55rem 1rem; color: #fff; background: linear-gradient(180deg, #9a74ff, #5b34c4); box-shadow: 0 4px 0 #2a176b; }
.lu-shop #shop .card .btn-secondary { background: #c9c3e0; box-shadow: none; }
.lu-shop #shop .card-img-top { height: 150px; object-fit: contain; padding: .6rem; background: radial-gradient(circle at 50% 40%, #ece4ff, #fff 70%); }
.lu-shop .ls-key .card { border-top: 5px solid var(--v); }
.lu-shop .ls-seg { display: inline-flex; gap: .25rem; margin: .2rem 0 .7rem; padding: .25rem; border-radius: 12px; background: #f1edfb; }
.lu-shop .ls-seg button { padding: .3rem .8rem; border: 0; border-radius: 9px; background: none; font-weight: 800; font-size: .82rem; color: var(--m); cursor: pointer; }
.lu-shop .ls-seg button.is-on { background: #fff; color: var(--k); box-shadow: 0 2px 8px rgba(42, 29, 92, .15); }
.lu-shop .ls-seg .ls-small { padding: .2rem .5rem; font-weight: 700; }

/* Pass comparison table (category description) */
.lu-shop .lu-pass-lead { margin: 0 0 1rem; font-weight: 600; color: var(--m); }
.lu-shop .ls-table-wrap { overflow-x: auto; border-radius: 22px; background: #fff; border: 1px solid var(--l); box-shadow: 0 12px 28px rgba(74, 47, 150, .1); }
.lu-shop .lu-pass-table { width: 100%; min-width: 620px; border-collapse: separate; border-spacing: 0; color: var(--k); }
.lu-shop .lu-pass-table th, .lu-shop .lu-pass-table td { padding: .75rem .9rem; text-align: center; border-bottom: 1px solid var(--l); font-size: .9rem; }
.lu-shop .lu-pass-table th:first-child, .lu-shop .lu-pass-table td:first-child { text-align: left; font-weight: 600; }
.lu-shop .lu-pass-table thead th { vertical-align: bottom; border-bottom: 0; padding-top: 1.2rem; }
.lu-shop .lu-pass-table thead th[data-pass] { --pc: #7c4dff; }
.lu-shop .lu-pass-table thead th > span { display: block; margin: 0 auto .25rem; }
.lu-shop .lu-pass-table thead .ls-pass-emb { width: 48px; height: 48px; font-size: 1.3rem; }
.lu-shop .lu-pass-table td { font-weight: 700; }
.lu-shop .lu-pass-table .is-pop { background: rgba(124, 58, 237, .06); }
.lu-shop .lu-pass-table .ls-pass-foot td { border-bottom: 0; padding: 1rem .9rem 1.2rem; }

/* offers / cart pages */
.lu-shop-page .content > .row .card, .lu-shop-page .content > h1 + .row .card { border-radius: 22px; }

/* package modal */
.lu-on-vote #itemModal .modal-content { border: 0; border-radius: 24px; color: #2a1d5c; background: linear-gradient(180deg, #f3eeff, #fff); box-shadow: 0 30px 80px rgba(5, 3, 20, .55); }
.lu-on-vote #itemModal .modal-header { border-bottom: 1px solid rgba(106, 63, 224, .14); }
.lu-on-vote #itemModal .modal-title { font-weight: 800; color: #2a1d5c; }
.lu-on-vote #itemModal .modal-body ul { padding-left: 1.2rem; }
.lu-on-vote #itemModal .modal-body li::marker { color: #7c4dff; }
.lu-on-vote #itemModal .modal-footer { border-top: 1px solid rgba(106, 63, 224, .14); }
.lu-on-vote #itemModal .btn-primary { border: 0; border-radius: 12px; font-weight: 800; background: linear-gradient(180deg, #9a74ff, #5b34c4); box-shadow: 0 4px 0 #2a176b; }

@media (max-width: 767.98px) {
    .lu-shop .ls-pass-grid { grid-template-columns: minmax(0, 1fr); }
    .lu-shop .ls-bar { position: static; }
}
.lu-shop .ls-offers { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 767.98px) { .lu-shop .ls-offers { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 420px) { .lu-shop .ls-offers { grid-template-columns: minmax(0, 1fr); } }
.lu-shop .ls-offer-art { height: 140px; } .lu-shop .ls-offer-art img { max-width: 150px; max-height: 140px; }
@media (max-width: 420px) {
    .lu-shop .ls-offers { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
    .lu-shop .ls-offer { padding: .8rem .5rem .7rem; }
    .lu-shop .ls-offer-art { height: 90px; } .lu-shop .ls-offer-art img { max-width: 96px; max-height: 90px; }
    .lu-shop .ls-offer-amt { flex-direction: column; align-items: center; gap: 0; }
    .lu-shop .ls-offer-amt strong { font-size: 1.3rem; }
    .lu-shop .ls-offer .ls-btn { padding: .5rem .4rem; font-size: .78rem; }
    .lu-shop .ls-ribbon { top: .35rem; right: .35rem; font-size: .58rem; }
}
/* 2.9.0: price lines like "≈ 2 006  2 400 Poussières", 4 offers, VIP ranks with durations */
.lu-shop .ls-offers { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 991.98px) { .lu-shop .ls-offers { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.lu-shop .ls-offer-was { font-size: .74rem; font-weight: 700; opacity: .95; min-height: 1.1em; }
.lu-shop .ls-offer-was s { opacity: .75; margin-right: .2rem; }
.lu-shop .ls-offer-was.is-empty, .lu-shop .ls-offer-bonus.is-empty { visibility: hidden; }
.lu-shop .ls-offer-price { font-size: 1.25rem; }
.lu-shop .ls-offer-bonus { display: grid; justify-items: center; line-height: 1.1; padding: .3rem .7rem; }
.lu-shop .ls-offer-bonus b { font-size: 1rem; }
.lu-shop .ls-pass-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 760px; margin: 0 auto; width: 100%; }
.lu-shop .ls-pass-card .ls-small { margin: 0; }
.lu-shop .ls-dur { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; justify-content: center; margin: 0 0 1rem; }
.lu-shop .ls-seg-dur { margin: 0; flex-wrap: wrap; }
.lu-shop .ls-seg-dur button { display: inline-flex; align-items: center; gap: .35rem; padding: .45rem .9rem; font-size: .88rem; }
.lu-shop .ls-seg em { font-style: normal; font-size: .68rem; font-weight: 800; color: #e0479e; }
.lu-shop .lu-pass-table thead .ls-small { display: block; margin-top: .1rem; font-weight: 600; }
@media (max-width: 767.98px) { .lu-shop .ls-pass-grid-2 { grid-template-columns: minmax(0, 1fr); } }
.lu-shop .ls-offer-name { font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; opacity: .9; }
.lu-shop .ls-pass-eur { display: inline-block; padding: .2rem .7rem; border-radius: 999px; background: color-mix(in srgb, var(--pc) 14%, #fff); color: var(--pc); font-weight: 800; font-size: .82rem; }
/* 2.10.0: VIP cards full width with an art panel, readable VIP banner */
.lu-shop .ls-pass-grid-2 { max-width: none; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lu-shop .ls-pass-grid-2 .ls-pass-card { flex-direction: row; align-items: stretch; gap: 0; padding: 0; overflow: hidden; text-align: left; }
.lu-shop .ls-pass-art { position: relative; flex: 0 0 44%; display: grid; place-items: center; min-height: 230px; overflow: hidden;
    background: radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--pc) 55%, #fff) 0%, color-mix(in srgb, var(--pc) 70%, #1d1446) 55%, #1d1446 100%); }
.lu-shop .ls-pass-art::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(1.5px 1.5px at 20% 25%, #fff, transparent), radial-gradient(1px 1px at 75% 30%, #fff, transparent), radial-gradient(1.5px 1.5px at 35% 80%, #fff, transparent), radial-gradient(1px 1px at 85% 75%, #fff, transparent), radial-gradient(1px 1px at 55% 12%, #fff, transparent); opacity: .8; }
.lu-shop .ls-pass-art img { position: relative; width: 100%; height: 100%; object-fit: cover; }
.lu-shop .ls-pass-emb-xl { position: relative; width: 96px; height: 96px; border-radius: 28px; font-size: 2.8rem; box-shadow: 0 0 0 6px rgba(255, 255, 255, .25), 0 0 50px rgba(255, 255, 255, .45); animation: lu-bob 5s ease-in-out infinite; }
.lu-shop .ls-pass-info { flex: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: .45rem; padding: 1.3rem 1.4rem; min-width: 0; }
.lu-shop .ls-pass-grid-2 .ls-pass-name { font-size: 1.6rem; line-height: 1.05; }
.lu-shop .ls-pass-grid-2 .ls-btn { margin-top: .3rem; }
@media (max-width: 991.98px) { .lu-shop .ls-pass-grid-2 { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 575.98px) { .lu-shop .ls-pass-grid-2 .ls-pass-card { flex-direction: column; } .lu-shop .ls-pass-art { flex-basis: auto; min-height: 170px; } }
.lu-shop .ls-pass-banner::before { background: linear-gradient(180deg, rgba(20, 15, 51, .25) 0%, rgba(20, 15, 51, .9) 70%), linear-gradient(90deg, rgba(20, 15, 51, .75), transparent 70%); }
.lu-shop .ls-pass-banner > div { padding: .9rem 1.1rem; border-radius: 16px; background: rgba(20, 15, 51, .55); backdrop-filter: blur(6px); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12); }
.lu-shop .ls-pass-banner p { color: #fff; font-weight: 500; text-shadow: 0 1px 3px rgba(0, 0, 0, .6); }
.lu-shop .ls-pass-banner .ls-title { text-shadow: 0 2px 10px rgba(0, 0, 0, .6); }
.lu-shop #shop .card-subtitle .ls-per { font-size: .78rem; font-weight: 600; color: #6b5f95; }
.lu-shop #shop .card-subtitle .ls-per { white-space: nowrap; }

/* =========================================================
   Shop 2.11.0 — dark neon glass ("SaaS premium") look
   ========================================================= */
@property --ls-ang { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
.lu-shop-page .lu-shop.ls-neon { --k: #eeeaff; --m: #a7a1d4; --l: rgba(255, 255, 255, .09); --v: #8b5cf6; --c: #22d3ee; --g: #fbbf24;
    color: var(--k); background: radial-gradient(ellipse 60% 40% at 15% 0%, rgba(139, 92, 246, .22), transparent 70%), radial-gradient(ellipse 50% 40% at 95% 20%, rgba(34, 211, 238, .14), transparent 70%), rgba(10, 8, 28, .78);
    border: 1px solid var(--l); box-shadow: 0 30px 90px rgba(0, 0, 0, .55), inset 0 1px 0 rgba(255, 255, 255, .06); backdrop-filter: blur(14px); }
.ls-neon .ls-h2, .lu-astral .lu-shop-page .lu-shop.ls-neon .ls-h2 { color: #fff; }
.ls-neon .ls-lead, .ls-neon .ls-small { color: var(--m); }
.ls-neon .ls-kicker { color: var(--c); }
.ls-neon .ls-badge { background: linear-gradient(135deg, #8b5cf6, #22d3ee); box-shadow: 0 0 22px rgba(139, 92, 246, .45); }

/* compact hero */
.ls-neon .ls-hero { min-height: 0; padding: 1.1rem 1.4rem; border-radius: 20px; border: 1px solid var(--l); }
.lu-astral .lu-shop-page .lu-shop.ls-neon .ls-hero .ls-title { font-size: clamp(1.5rem, 3vw, 2rem); }
.ls-neon .ls-hero-text p { margin-top: .2rem; font-size: .88rem; max-width: 60ch; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ls-neon .ls-hero .ls-kicker { display: none; }

/* bar */
.ls-neon .ls-bar { background: rgba(18, 14, 44, .82); border: 1px solid var(--l); box-shadow: 0 10px 30px rgba(0, 0, 0, .35); }
.ls-neon .ls-tab { color: var(--m); }
.ls-neon .ls-tab:hover { color: #fff; background: rgba(255, 255, 255, .06); }
.ls-neon .ls-tab.is-active { color: #fff; background: linear-gradient(135deg, #7c3aed, #0891b2); box-shadow: 0 0 18px rgba(124, 58, 237, .5); }
.ls-neon .ls-balance { color: #fff; background: rgba(255, 255, 255, .06); border: 1px solid var(--l); }
.ls-neon .ls-btn-ghost { color: #fff; background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px var(--l); }
.ls-neon .ls-btn-ghost:hover { color: #fff; background: rgba(255, 255, 255, .12); }
.ls-neon .ls-btn { box-shadow: 0 0 0 0 transparent; }
.ls-neon .ls-btn:not(.ls-btn-ghost):not(.ls-btn-gold) { background: linear-gradient(135deg, #7c3aed, #0891b2); box-shadow: 0 6px 20px rgba(124, 58, 237, .35); }
.ls-neon .ls-btn-gold { color: #2a1700; background: linear-gradient(135deg, #fde68a, #f59e0b); box-shadow: 0 6px 22px rgba(245, 158, 11, .35); }

/* offers */
.ls-neon .ls-offer { --oc: #22d3ee; isolation: isolate; color: #fff; background: linear-gradient(180deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .02)); border: 0; box-shadow: 0 20px 40px rgba(0, 0, 0, .35); transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s ease; }
.ls-neon .ls-tone-0 { --oc: #22d3ee; } .ls-neon .ls-tone-1 { --oc: #60a5fa; } .ls-neon .ls-tone-2 { --oc: #a855f7; } .ls-neon .ls-tone-3 { --oc: #fbbf24; }
.ls-neon .ls-offer::before { content: ""; position: absolute; inset: 0; z-index: -1; padding: 1.5px; border-radius: inherit;
    background: conic-gradient(from var(--ls-ang), transparent 0 55%, var(--oc) 75%, #fff 80%, var(--oc) 85%, transparent 100%), linear-gradient(rgba(255, 255, 255, .1), rgba(255, 255, 255, .1));
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: ls-spin 6s linear infinite; }
.ls-neon .ls-offer::after { content: ""; position: absolute; inset: auto 10% -30% 10%; height: 60%; z-index: -2; border-radius: 50%; background: var(--oc); opacity: .18; filter: blur(40px); transition: opacity .35s ease; }
@keyframes ls-spin { to { --ls-ang: 360deg; } }
.ls-neon .ls-offer:hover { transform: translateY(-6px); box-shadow: 0 26px 50px rgba(0, 0, 0, .45), 0 0 34px color-mix(in srgb, var(--oc) 45%, transparent); }
.ls-neon .ls-offer:hover::after { opacity: .38; }
.ls-neon .ls-offer.is-pop, .ls-neon .ls-offer.is-best { box-shadow: 0 20px 40px rgba(0, 0, 0, .35), 0 0 26px color-mix(in srgb, var(--oc) 35%, transparent); }
.ls-neon .ls-offer.is-pop::before, .ls-neon .ls-offer.is-best::before { padding: 2px; animation-duration: 3.5s; }
.ls-neon .ls-shine { position: absolute; inset: 0; z-index: 2; border-radius: inherit; overflow: hidden; pointer-events: none; }
.ls-neon .ls-shine::after { content: ""; position: absolute; top: -50%; left: -60%; width: 40%; height: 200%; transform: rotate(18deg); background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .22), transparent); transition: left .7s ease; }
.ls-neon .ls-offer:hover .ls-shine::after { left: 130%; }
.ls-neon .ls-ribbon { z-index: 3; color: #120d2e; background: var(--oc); box-shadow: 0 0 14px color-mix(in srgb, var(--oc) 60%, transparent); }
.ls-neon .ls-offer-art { position: relative; height: 130px; }
.ls-neon .ls-halo { position: absolute; width: 110px; height: 110px; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--oc) 55%, transparent), transparent 70%); filter: blur(6px); animation: ls-pulse 3.2s ease-in-out infinite; }
@keyframes ls-pulse { 50% { transform: scale(1.15); opacity: .7; } }
.ls-neon .ls-offer-art img { position: relative; max-height: 125px; animation: ls-float 4.5s ease-in-out infinite; animation-delay: calc(var(--i, 0) * -1.1s); }
@keyframes ls-float { 50% { transform: translateY(-8px) rotate(-2deg); } }
.ls-neon .ls-offer-name { color: var(--oc); letter-spacing: .16em; }
.ls-neon .ls-offer-amt strong { font-size: 2rem; background: linear-gradient(180deg, #fff, color-mix(in srgb, var(--oc) 60%, #fff)); -webkit-background-clip: text; background-clip: text; color: transparent; text-shadow: none; font-variant-numeric: tabular-nums; }
.ls-neon .ls-offer-amt span { color: var(--m); }
.ls-neon .ls-offer-was { color: var(--m); }
.ls-neon .ls-offer-row { display: flex; align-items: center; gap: .5rem; margin-top: .1rem; }
.ls-neon .ls-offer-price { font-size: 1.3rem; }
.ls-neon .ls-offer-bonus { padding: .2rem .55rem; border-radius: 8px; color: #052e16; background: linear-gradient(135deg, #6ee7b7, #22c55e); box-shadow: 0 0 14px rgba(34, 197, 94, .45); }
.ls-neon .ls-offer-bonus b { font-size: .82rem; }
.ls-neon .ls-btn-neon { width: 100%; margin-top: .55rem; color: #fff; background: linear-gradient(135deg, color-mix(in srgb, var(--oc) 80%, #7c3aed), #7c3aed) !important; box-shadow: 0 6px 22px color-mix(in srgb, var(--oc) 40%, transparent) !important; }

/* staggered entrance (only when JS animations are on) */
.ls-anim .ls-reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s cubic-bezier(.2, .8, .2, 1); transition-delay: calc(var(--i, 0) * 90ms); }
.ls-anim .ls-reveal.is-in { opacity: 1; transform: none; }

/* latest buyers marquee (left to right) */
.ls-neon .ls-recent { gap: 0; padding: 0; background: rgba(255, 255, 255, .04); border: 1px solid var(--l); }
.ls-neon .ls-recent-title { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: .45rem; padding: .8rem 1rem; color: #fff; background: rgba(18, 14, 44, .95); box-shadow: 10px 0 20px rgba(10, 8, 28, .9); }
.ls-neon .ls-live { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 0 rgba(34, 197, 94, .7); animation: ls-live 1.6s ease-out infinite; }
@keyframes ls-live { to { box-shadow: 0 0 0 9px rgba(34, 197, 94, 0); } }
.ls-neon .ls-recent-view { position: relative; flex: 1; min-width: 0; overflow: hidden; -webkit-mask: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.ls-neon .ls-recent-track { display: flex; gap: 1.6rem; width: max-content; padding: .6rem 0; animation: ls-marquee calc(var(--n, 8) * 4s) linear infinite; }
.ls-neon .ls-recent-view:hover .ls-recent-track { animation-play-state: paused; }
@keyframes ls-marquee { from { transform: translateX(-50%); } to { transform: translateX(0); } }
.ls-neon .ls-recent-item b { color: #fff; } .ls-neon .ls-recent-item small { color: var(--m); }
.ls-neon .ls-recent-empty { display: block; padding: .8rem 1rem; color: var(--m); font-weight: 600; font-size: .88rem; }

/* VIP */
.ls-neon .ls-pass-banner { border: 1px solid var(--l); }
.ls-neon .ls-pass-banner > div { background: rgba(10, 8, 28, .6); }
.ls-neon .ls-gradtext { background: linear-gradient(90deg, #fde68a, #f472b6, #a78bfa, #22d3ee, #fde68a) 0 0 / 300% 100% !important; -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important; animation: ls-grad 8s linear infinite; filter: drop-shadow(0 0 16px rgba(167, 139, 250, .45)) !important; }
@keyframes ls-grad { to { background-position: 300% 0; } }
.ls-neon .ls-badges { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .7rem; }
.ls-neon .ls-chip { display: inline-flex; align-items: center; gap: .35rem; padding: .3rem .7rem; border-radius: 999px; font-size: .78rem; font-weight: 700; color: #fff; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .18); }
.ls-neon .ls-chip .bi { color: var(--c); }
.ls-neon .ls-pass-card { --pc: #8b5cf6; position: relative; color: var(--k); background: linear-gradient(135deg, color-mix(in srgb, var(--pc) 16%, rgba(255, 255, 255, .04)), rgba(255, 255, 255, .02)); border: 1px solid color-mix(in srgb, var(--pc) 40%, transparent); box-shadow: 0 20px 44px rgba(0, 0, 0, .4); transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s ease; }
.ls-neon .ls-pass-card:hover { transform: translateY(-5px); box-shadow: 0 26px 54px rgba(0, 0, 0, .5), 0 0 40px color-mix(in srgb, var(--pc) 35%, transparent); }
.ls-neon .ls-pass-art { flex-basis: 42%; min-height: 300px; background: #120d2e; }
.ls-neon .ls-pass-art img { transition: transform .8s cubic-bezier(.2, .8, .2, 1); }
.ls-neon .ls-pass-card:hover .ls-pass-art img { transform: scale(1.06); }
.ls-neon .ls-pass-art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 60%, rgba(10, 8, 28, .55)); pointer-events: none; }
.ls-neon .ls-pass-art .ls-ribbon { position: absolute; top: .7rem; left: .7rem; right: auto; --oc: var(--pc); }
.ls-neon .ls-pass-info { gap: .6rem; padding: 1.3rem; }
.ls-neon .ls-pass-grid-2 .ls-pass-name { font-size: 1.75rem; color: color-mix(in srgb, var(--pc) 75%, #fff); text-shadow: 0 0 20px color-mix(in srgb, var(--pc) 50%, transparent); }
.ls-neon .ls-pass-eur { color: #fff; background: color-mix(in srgb, var(--pc) 30%, transparent); border: 1px solid color-mix(in srgb, var(--pc) 50%, transparent); }
.ls-neon .ls-plans { display: grid; gap: .45rem; width: 100%; margin-top: .2rem; }
.ls-neon .ls-plan { position: relative; display: grid; grid-template-columns: auto 1fr; grid-template-areas: "dur price" "per price"; align-items: center; column-gap: .8rem; padding: .6rem .85rem; border-radius: 14px; text-decoration: none; color: var(--k);
    background: rgba(255, 255, 255, .05); border: 1px solid var(--l); transition: background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.ls-neon .ls-plan:hover { color: #fff; transform: translateX(4px); background: color-mix(in srgb, var(--pc) 22%, transparent); border-color: color-mix(in srgb, var(--pc) 70%, transparent); box-shadow: 0 0 22px color-mix(in srgb, var(--pc) 35%, transparent); }
.ls-neon .ls-plan-dur { grid-area: dur; font-weight: 800; color: #fff; }
.ls-neon .ls-plan-per { grid-area: per; font-size: .74rem; color: var(--m); }
.ls-neon .ls-plan-price { grid-area: price; justify-self: end; font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.ls-neon .ls-plan-off { position: absolute; top: -.55rem; right: .7rem; padding: .05rem .45rem; border-radius: 999px; font-style: normal; font-size: .66rem; font-weight: 800; color: #052e16; background: linear-gradient(135deg, #6ee7b7, #22c55e); }
.ls-neon .ls-plan.is-best { border-color: color-mix(in srgb, var(--pc) 60%, transparent); background: color-mix(in srgb, var(--pc) 14%, transparent); }
.ls-neon .ls-more { color: var(--c); }

/* goal / top / help */
.ls-neon .ls-card, .ls-neon .ls-help-box { color: var(--k); background: rgba(255, 255, 255, .045); border: 1px solid var(--l); box-shadow: 0 16px 36px rgba(0, 0, 0, .3); }
.ls-neon .ls-goal { background: linear-gradient(160deg, rgba(236, 72, 153, .14), rgba(255, 255, 255, .03)); border-color: rgba(236, 72, 153, .3); }
.ls-neon .ls-goal-num strong { color: #f9a8d4; text-shadow: 0 0 20px rgba(236, 72, 153, .45); }
.ls-neon .ls-meter { background: rgba(255, 255, 255, .08); } .ls-neon .ls-meter span { background: linear-gradient(90deg, #ec4899, #8b5cf6, #22d3ee); box-shadow: 0 0 14px rgba(236, 72, 153, .6); }
.ls-neon .ls-goal-reward { color: #fff; background: rgba(255, 255, 255, .05); border-color: rgba(236, 72, 153, .3); }
.ls-neon .ls-pill { color: #fff; background: rgba(255, 255, 255, .08); }
.ls-neon .ls-top-list li, .ls-neon .ls-empty { color: var(--k); background: rgba(255, 255, 255, .04); border-color: var(--l); }
.ls-neon .ls-top-pos { background: rgba(255, 255, 255, .1); color: #fff; }
.ls-neon .ls-help-box p { color: var(--m); }
.ls-neon .ls-help-box > .bi { color: var(--c); filter: drop-shadow(0 0 10px rgba(34, 211, 238, .5)); }

/* category pages */
.ls-neon #shop .card { color: var(--k); background: rgba(255, 255, 255, .045); border: 1px solid var(--l); box-shadow: 0 16px 34px rgba(0, 0, 0, .3); }
.ls-neon #shop .col-md-4 > .card:hover { box-shadow: 0 20px 40px rgba(0, 0, 0, .4), 0 0 26px rgba(139, 92, 246, .3); border-color: rgba(139, 92, 246, .45); }
.lu-astral .lu-shop-page .lu-shop.ls-neon #shop .card-title { color: #fff; }
.ls-neon #shop .card-subtitle { color: #67e8f9; }
.ls-neon #shop .card-subtitle .ls-per { color: var(--m); }
.ls-neon #shop .col-12 > .card .card-body, .ls-neon .lu-pass-lead { color: var(--m); }
.ls-neon #shop .card .btn { background: linear-gradient(135deg, #7c3aed, #0891b2); box-shadow: 0 6px 20px rgba(124, 58, 237, .35); }
.ls-neon .ls-seg { background: rgba(255, 255, 255, .06); }
.ls-neon .ls-seg button { color: var(--m); } .ls-neon .ls-seg button.is-on { color: #fff; background: linear-gradient(135deg, #7c3aed, #0891b2); box-shadow: 0 0 14px rgba(124, 58, 237, .45); }
.ls-neon .ls-table-wrap { background: rgba(255, 255, 255, .04); border-color: var(--l); }
.ls-neon .lu-pass-table { color: var(--k); }
.ls-neon .lu-pass-table th, .ls-neon .lu-pass-table td { border-bottom-color: rgba(255, 255, 255, .07); }
.ls-neon .lu-pass-table .is-pop { background: rgba(139, 92, 246, .1); }
.ls-neon .lu-pass-table tbody tr:hover td { background: rgba(255, 255, 255, .04); }
.ls-neon .lu-pass-table .ls-pass-name { color: color-mix(in srgb, var(--pc) 75%, #fff); }
.ls-neon .ls-pass-price small { color: var(--m); }
.ls-neon .ls-key .card { border-top: 3px solid #8b5cf6; }
.lu-on-vote #itemModal .modal-content { color: #eeeaff; background: linear-gradient(180deg, #1d1446, #0f0b28); border: 1px solid rgba(255, 255, 255, .1); }
.lu-on-vote #itemModal .modal-title { color: #fff; }
.lu-on-vote #itemModal .modal-header, .lu-on-vote #itemModal .modal-footer { border-color: rgba(255, 255, 255, .08); }
.lu-on-vote #itemModal .btn-close { filter: invert(1); }
@media (max-width: 575.98px) { .ls-neon .ls-pass-art { min-height: 220px; } .ls-neon .ls-hero-text p { white-space: normal; } }
@media (prefers-reduced-motion: reduce) { .ls-neon .ls-offer::before, .ls-neon .ls-halo, .ls-neon .ls-offer-art img, .ls-neon .ls-recent-track, .ls-neon .ls-gradtext, .ls-neon .ls-live { animation: none !important; } }
.ls-neon .ls-plan-price { display: grid; justify-items: end; line-height: 1.05; font-size: 1.2rem; white-space: nowrap; }
.ls-neon .ls-plan-price small { font-size: .66rem; font-weight: 700; color: var(--m); letter-spacing: .04em; }
.ls-neon .ls-plan-per { white-space: nowrap; }
@media (max-width: 575.98px) {
    .ls-neon .ls-pass-art { flex: none; height: 240px; min-height: 0; }
    .ls-neon .ls-pass-art img { object-position: center 30%; }
    .ls-neon .ls-offer-row { flex-wrap: wrap; justify-content: center; gap: .3rem; }
    .ls-neon .ls-offer-price { font-size: 1.1rem; white-space: nowrap; }
    .ls-neon .ls-offer-amt strong { font-size: 1.6rem; }
    .ls-neon .ls-recent { flex-direction: column; align-items: stretch; }
    .ls-neon .ls-recent-title { box-shadow: none; border-bottom: 1px solid var(--l); }
    .ls-neon .ls-recent-empty { text-align: center; }
}

/* ---- 2.12.0: compact bar, short VIP banner, CTA button, packs, note to parents ---- */
.ls-neon .ls-bar { gap: .5rem; padding: .45rem; }
.ls-neon .ls-tabs { gap: .2rem; }
.ls-neon .ls-tab { padding: .45rem .7rem; font-size: .85rem; }
.ls-neon .ls-btn-icon { width: 40px; height: 40px; padding: 0; font-size: 1.05rem; }
.ls-neon .ls-btn-icon-sm { padding: .5rem .8rem; }
@media (max-width: 575.98px) { .ls-neon .ls-btn-icon-sm { width: 40px; height: 40px; padding: 0; font-size: 0; } .ls-neon .ls-btn-icon-sm .bi { font-size: 1.05rem; } }

/* VIP banner: one line of title + badges */
.ls-neon .ls-pass-banner { min-height: 0; padding: .8rem; align-items: center; }
.ls-neon .ls-pass-banner > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .3rem 1.2rem; width: 100%; max-width: none; padding: .7rem 1rem; }
.ls-neon .ls-pass-banner .ls-kicker { grid-column: 1; }
.lu-astral .lu-shop-page .lu-shop.ls-neon .ls-pass-banner .ls-title { grid-column: 1; margin: 0; font-size: clamp(1.3rem, 2.6vw, 1.8rem); }
.ls-neon .ls-pass-banner p { grid-column: 1; margin: 0; font-size: .85rem; }
.ls-neon .ls-pass-banner .ls-badges { grid-column: 2; grid-row: 1 / span 3; flex-direction: column; align-items: stretch; margin: 0; }
@media (max-width: 767.98px) { .ls-neon .ls-pass-banner > div { grid-template-columns: minmax(0, 1fr); } .ls-neon .ls-pass-banner .ls-badges { grid-column: 1; grid-row: auto; flex-direction: row; flex-wrap: wrap; } .ls-neon .ls-pass-banner p { display: none; } }

/* dynamic CTA */
.ls-neon .ls-cta-wrap { display: flex; justify-content: center; }
.ls-neon .ls-cta { --ls-ang: 0deg; position: relative; isolation: isolate; display: inline-flex; align-items: center; gap: .6rem; padding: .8rem 1.4rem; border-radius: 999px; color: #fff; font-weight: 800; text-decoration: none;
    background: linear-gradient(135deg, rgba(124, 58, 237, .35), rgba(8, 145, 178, .35)); box-shadow: 0 10px 30px rgba(124, 58, 237, .3); transition: transform .25s ease, box-shadow .25s ease; }
.ls-neon .ls-cta::before { content: ""; position: absolute; inset: 0; z-index: -1; padding: 1.5px; border-radius: inherit; background: conic-gradient(from var(--ls-ang), #8b5cf6, #22d3ee, #f472b6, #fbbf24, #8b5cf6);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: ls-spin 4s linear infinite; }
.ls-neon .ls-cta:hover { color: #fff; transform: translateY(-2px) scale(1.02); box-shadow: 0 14px 40px rgba(124, 58, 237, .5), 0 0 30px rgba(34, 211, 238, .3); }
.ls-neon .ls-cta .bi-arrow-right { transition: transform .25s ease; }
.ls-neon .ls-cta:hover .bi-arrow-right { transform: translateX(5px); }

/* packs */
.ls-neon .ls-pack { --pk: #22d3ee; position: relative; height: 100%; display: flex; flex-direction: column; gap: .9rem; padding: 1.2rem; border-radius: 22px; color: var(--k);
    background: radial-gradient(ellipse 80% 60% at 100% 0%, color-mix(in srgb, var(--pk) 22%, transparent), transparent 70%), rgba(255, 255, 255, .045);
    border: 1px solid color-mix(in srgb, var(--pk) 35%, transparent); box-shadow: 0 18px 40px rgba(0, 0, 0, .35); transition: transform .3s cubic-bezier(.2, .8, .2, 1), box-shadow .3s ease; }
.ls-neon .ls-pack:hover { transform: translateY(-5px); box-shadow: 0 24px 50px rgba(0, 0, 0, .45), 0 0 30px color-mix(in srgb, var(--pk) 35%, transparent); }
.ls-neon .ls-pack-top { display: flex; align-items: flex-start; gap: .8rem; }
.ls-neon .ls-pack-top > div { flex: 1; min-width: 0; }
.ls-neon .ls-pack-ic { display: grid; place-items: center; flex: none; width: 50px; height: 50px; border-radius: 15px; font-size: 1.4rem; color: #0b0820; background: var(--pk); box-shadow: 0 0 24px color-mix(in srgb, var(--pk) 55%, transparent); }
.lu-astral .lu-shop-page .lu-shop.ls-neon .ls-pack-name { margin: 0; font: 800 1.2rem "Poppins", system-ui, sans-serif; color: #fff; background: none; -webkit-text-stroke: 0; filter: none; text-shadow: none; }
.ls-neon .ls-pack-short { margin: .15rem 0 0; font-size: .82rem; color: var(--m); }
.ls-neon .ls-pack-off { flex: none; padding: .25rem .6rem; border-radius: 999px; font-weight: 800; font-size: .82rem; color: #052e16; background: linear-gradient(135deg, #6ee7b7, #22c55e); box-shadow: 0 0 14px rgba(34, 197, 94, .45); }
.ls-neon .ls-pack-items { flex: 1; display: grid; gap: .45rem; margin: 0; padding: .8rem; list-style: none; border-radius: 16px; background: rgba(0, 0, 0, .22); border: 1px solid var(--l); }
.ls-neon .ls-pack-items li { display: flex; align-items: center; gap: .6rem; font-weight: 600; font-size: .9rem; }
.ls-neon .ls-pack-items .bi { flex: none; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; color: var(--pk); background: color-mix(in srgb, var(--pk) 16%, transparent); }
.ls-neon .ls-pack-foot { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.ls-neon .ls-pack-price { display: grid; line-height: 1.1; margin-right: auto; }
.ls-neon .ls-pack-price s { font-size: .8rem; color: var(--m); }
.ls-neon .ls-pack-price strong { font-size: 1.45rem; color: #fff; } .ls-neon .ls-pack-price small { font-size: .75rem; color: var(--m); font-weight: 600; }
.ls-neon .ls-pack-limit { padding: .2rem .55rem; border-radius: 8px; font-size: .72rem; font-weight: 700; color: var(--m); background: rgba(255, 255, 255, .06); }
.ls-neon .ls-pack .ls-btn-neon { --oc: var(--pk); width: 100%; margin: 0; }

/* note to parents (cart) */
.ls-neon .ls-parents { display: grid; gap: .4rem; padding: 1.1rem 1.3rem; border-radius: 20px; background: linear-gradient(135deg, rgba(244, 114, 182, .12), rgba(139, 92, 246, .08)); border: 1px solid rgba(244, 114, 182, .3); }
.ls-neon .ls-parents-head { display: flex; align-items: center; gap: .5rem; color: #fff; font-size: 1.05rem; }
.ls-neon .ls-parents-head .bi { color: #f472b6; filter: drop-shadow(0 0 8px rgba(244, 114, 182, .6)); }
.ls-neon .ls-parents p { margin: 0; color: var(--m); font-size: .88rem; }
.ls-neon .ls-pack-off { position: absolute; top: -.6rem; right: 1rem; }
.ls-neon .ls-pack-top { padding-right: .2rem; }
/* shop rewards bar */
.ls-neon .ls-rewards { display: grid; gap: 1rem; padding: 1.2rem 1.3rem; border-radius: 22px; background: linear-gradient(135deg, rgba(251, 191, 36, .1), rgba(139, 92, 246, .08)); border: 1px solid rgba(251, 191, 36, .28); box-shadow: 0 16px 36px rgba(0, 0, 0, .3); }
.ls-neon .ls-rewards-head { display: flex; align-items: center; gap: .7rem; }
.ls-neon .ls-rewards-head .ls-h2 { flex: 1; }
.ls-neon .ls-rewards .ls-badge { background: linear-gradient(135deg, #fbbf24, #f97316); box-shadow: 0 0 22px rgba(251, 191, 36, .45); }
.ls-neon .ls-rw-track { position: relative; height: 10px; margin: 1.1rem 22px .9rem 0; border-radius: 999px; background: rgba(255, 255, 255, .08); }
.ls-neon .ls-rw-fill { position: absolute; inset: 0 auto 0 0; border-radius: inherit; background: linear-gradient(90deg, #f97316, #fbbf24, #fde68a); box-shadow: 0 0 16px rgba(251, 191, 36, .6); transition: width 1s ease; }
.ls-neon .ls-rw-node { position: absolute; top: 50%; display: grid; place-items: center; width: 40px; height: 40px; transform: translate(-50%, -50%); border-radius: 50%; font-size: 1.05rem; color: var(--m); background: #1a1440; border: 2px solid rgba(255, 255, 255, .15); }
.ls-neon .ls-rw-node.is-done { color: #2a1700; background: linear-gradient(135deg, #fde68a, #f59e0b); border-color: #fff; box-shadow: 0 0 18px rgba(251, 191, 36, .7); }
.ls-neon .ls-rw-msg { margin: 0; color: var(--m); font-size: .92rem; }
.ls-neon .ls-rw-msg b { color: #fff; }
.ls-neon .ls-rw-next { color: #fde68a !important; }
.ls-neon .ls-rw-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr)); gap: .5rem; }
.ls-neon .ls-rw-item { display: flex; align-items: center; gap: .6rem; padding: .55rem .7rem; border-radius: 14px; background: rgba(255, 255, 255, .04); border: 1px solid var(--l); }
.ls-neon .ls-rw-item b { display: block; font-size: .82rem; color: #fff; line-height: 1.25; }
.ls-neon .ls-rw-item small { color: var(--m); font-size: .72rem; font-weight: 700; }
.ls-neon .ls-rw-ic { display: grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: 10px; color: #fbbf24; background: rgba(251, 191, 36, .12); }
.ls-neon .ls-rw-item.is-done { border-color: rgba(251, 191, 36, .45); background: rgba(251, 191, 36, .1); }
.ls-neon .ls-rw-item.is-done .ls-rw-ic { color: #2a1700; background: linear-gradient(135deg, #fde68a, #f59e0b); }
@media (max-width: 575.98px) { .ls-neon .ls-rw-node { width: 32px; height: 32px; font-size: .85rem; } }
.ls-neon .ls-rw-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 767.98px) { .ls-neon .ls-rw-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* rewards as milestones (like the vote page) */
.ls-neon .ls-rw-count { font-weight: 800; color: var(--m); font-size: 1.1rem; } .ls-neon .ls-rw-count b { font-size: 1.6rem; color: #fde68a; text-shadow: 0 0 14px rgba(251, 191, 36, .6); }
.ls-neon .ls-rw-tabs { justify-self: start; }
.ls-neon .ls-rw-help { margin: 0; color: var(--m); font-size: .88rem; max-width: 80ch; }
.ls-neon .ls-rw-prog { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .9rem; font-weight: 700; font-size: .88rem; color: #fff; }
.ls-neon .ls-rw-prog .ls-meter span { background: linear-gradient(90deg, #f97316, #fbbf24, #fde68a); box-shadow: 0 0 14px rgba(251, 191, 36, .6); }
.ls-neon .ls-rw-scroll { overflow-x: auto; margin: 0 -.3rem; padding: .2rem .3rem .4rem; }
.ls-neon .ls-rw-line { position: relative; display: grid; grid-template-columns: repeat(var(--n), minmax(118px, 1fr)); min-width: calc(var(--n) * 118px); }
.ls-neon .ls-rw-line::before, .ls-neon .ls-rw-linefill { content: ""; position: absolute; left: 0; top: 80px; height: 8px; border-radius: 999px; }
.ls-neon .ls-rw-line::before { right: 0; background: rgba(255, 255, 255, .08); }
.ls-neon .ls-rw-linefill { background: linear-gradient(90deg, #f97316, #fbbf24); box-shadow: 0 0 14px rgba(251, 191, 36, .6); transition: width .8s ease; }
.ls-neon .ls-rw-tier { position: relative; display: flex; flex-direction: column; align-items: center; gap: .3rem; padding: 0 .25rem; text-align: center; }
.ls-neon .ls-rw-card { display: grid; place-items: center; width: 100%; height: 62px; padding: .35rem .45rem; overflow: hidden; border-radius: 12px; font-size: .74rem; font-weight: 700; line-height: 1.2; color: #fff; background: rgba(255, 255, 255, .05); border: 1px solid var(--l); }
.ls-neon .ls-rw-dot { position: relative; z-index: 1; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; font-size: .95rem; color: #fbbf24; background: #1a1440; border: 2px solid rgba(251, 191, 36, .35); }
.ls-neon .ls-rw-amt { font-size: .78rem; color: #fff; }
.ls-neon .ls-rw-state { font-size: .7rem; font-weight: 700; color: var(--m); }
.ls-neon .ls-rw-tier.is-done .ls-rw-card { color: #052e16; background: linear-gradient(135deg, #6ee7b7, #22c55e); border-color: transparent; box-shadow: 0 0 18px rgba(34, 197, 94, .4); }
.ls-neon .ls-rw-tier.is-done .ls-rw-dot { color: #052e16; background: linear-gradient(135deg, #6ee7b7, #22c55e); border-color: #fff; }
.ls-neon .ls-rw-claim { padding: .2rem .6rem; border-radius: 8px; font-size: .72rem; font-weight: 800; color: #052e16; text-decoration: none; background: linear-gradient(135deg, #6ee7b7, #22c55e); }
.ls-neon .ls-rw-claim:hover { color: #052e16; filter: brightness(1.1); }
.ls-neon .ls-rw-state.is-ok { color: #6ee7b7; }
.ls-neon .ls-rw-list { display: none; }
.ls-neon .ls-rw-card { height: 72px; font-size: .72rem; }
.ls-neon .ls-rw-line::before, .ls-neon .ls-rw-linefill { top: 90px; }
.ls-neon a.ls-pass-art { display: grid; cursor: pointer; }
.ls-neon a.ls-pass-name { text-decoration: none; transition: filter .2s ease; }
.ls-neon a.ls-pass-name:hover { filter: brightness(1.25); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 2px; }
.ls-neon a.ls-pass-art::before { content: "\F5AA"; font-family: "bootstrap-icons"; background-image: none; position: absolute; z-index: 2; right: .7rem; bottom: .7rem; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; color: #fff; background: rgba(10, 8, 28, .7); opacity: 0; transform: scale(.8); transition: opacity .25s ease, transform .25s ease; }
.ls-neon a.ls-pass-art:hover::before { opacity: 1; transform: none; }
.ls-neon .ls-hero-text p { white-space: normal; overflow: visible; text-overflow: clip; max-width: 70ch; }
/* 2.16.0: VIP comparison, coloured and grouped */
.ls-neon .ls-vip-table { overflow-x: auto; background: linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .02)); }
.ls-neon .ls-vip-table .lu-pass-table { min-width: 640px; }
.ls-neon .ls-vip-table thead th:first-child { width: 38%; }
.ls-neon .ls-th { position: relative; padding: 1.1rem .8rem .9rem !important; background: linear-gradient(180deg, color-mix(in srgb, var(--pc) 22%, transparent), transparent); }
.ls-neon .ls-th-art { position: relative; width: 132px; height: 170px; margin: 0 auto .6rem; overflow: hidden; border-radius: 20px; border: 2px solid color-mix(in srgb, var(--pc) 70%, #fff);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--pc) 18%, transparent), 0 14px 36px color-mix(in srgb, var(--pc) 45%, transparent); animation: lu-bob 6s ease-in-out infinite; }
.ls-neon .ls-th:nth-child(3) .ls-th-art { animation-delay: -3s; }
.ls-neon .ls-th-art img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.ls-neon .ls-th:hover .ls-th-art img { transform: scale(1.08); }
.ls-neon .ls-th .ls-pass-name { display: block; font-size: 1.45rem; color: color-mix(in srgb, var(--pc) 70%, #fff); text-shadow: 0 0 22px color-mix(in srgb, var(--pc) 60%, transparent); }
.ls-neon .ls-th .ls-pass-price { display: block; margin-top: .15rem; color: #fff; }
.ls-neon .ls-th .ls-pass-eur { display: inline-block; margin-top: .35rem; }
.ls-neon .lu-pass-table .lu-pass-group td { padding: 1.1rem .9rem .45rem; border-bottom: 0; background: none !important; }
.ls-neon .ls-group { display: flex; align-items: center; gap: .55rem; font-size: .74rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #fff; }
.ls-neon .ls-group .bi { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; font-size: .85rem; color: #0b0820; background: linear-gradient(135deg, #a78bfa, #22d3ee); box-shadow: 0 0 14px rgba(139, 92, 246, .5); }
.ls-neon .ls-group::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, rgba(167, 139, 250, .6), rgba(34, 211, 238, .3), transparent); }
.ls-neon .lu-pass-table tbody tr:not(.lu-pass-group) td:first-child { padding-left: 1.2rem; color: #e9e6ff; }
.ls-neon .ls-cell { font-weight: 800; color: color-mix(in srgb, var(--pc) 55%, #fff); background: color-mix(in srgb, var(--pc) 7%, transparent); }
.ls-neon .lu-pass-table .ls-col-2 { background: color-mix(in srgb, var(--pc) 11%, transparent); }
.ls-neon .ls-cell.is-yes .bi { font-size: 1.15rem; color: var(--pc); filter: drop-shadow(0 0 8px color-mix(in srgb, var(--pc) 70%, transparent)); }
.ls-neon .ls-cell.is-no .bi { color: rgba(255, 255, 255, .25); }
.ls-neon .lu-pass-table tbody tr:not(.lu-pass-group):hover td { background: rgba(255, 255, 255, .06); }
.ls-neon .ls-foot-cell { vertical-align: top; padding: 1rem .7rem 1.2rem !important; background: linear-gradient(0deg, color-mix(in srgb, var(--pc) 16%, transparent), transparent) !important; }
.ls-neon .ls-foot-cell .ls-plans { text-align: left; }
.ls-neon .lu-pass-table .is-pop { background: transparent; }
.ls-neon .ls-foot-label { vertical-align: top; padding: 1.1rem .9rem !important; } .ls-neon .ls-foot-label .ls-group::after { display: none; } .ls-neon .ls-foot-label p { margin: .5rem 0 0; }

/* ---- 2.17.0: prices "N ✦ ≈ X €", smart top-up, wallet, how it works, cart message ---- */
.lu-shop .ls-p, #itemModal .ls-p { display: inline-grid; grid-template-columns: auto auto; grid-template-areas: "ic num" ". eur"; align-items: center; column-gap: .25em; line-height: 1.05; vertical-align: middle; white-space: nowrap; }
.lu-shop .ls-p-ic, #itemModal .ls-p-ic { grid-area: ic; display: inline-block; width: 1.15em; height: 1.15em; background: url("../img/shop/dust.webp") center / contain no-repeat; filter: drop-shadow(0 0 4px rgba(127, 243, 255, .6)); }
.lu-shop .ls-p b, #itemModal .ls-p b { grid-area: num; font-weight: 800; font-variant-numeric: tabular-nums; }
.lu-shop .ls-p-eur, #itemModal .ls-p-eur { grid-area: eur; font-size: .62em; font-weight: 700; color: #a7a1d4; letter-spacing: .02em; }
.lu-shop .ls-no-eur .ls-p, .lu-shop .ls-p:not(:has(.ls-p-eur)) { grid-template-areas: "ic num"; }
.lu-shop .ls-p-ic-lg { width: 1.5em; height: 1.5em; vertical-align: -.25em; }
.ls-neon .ls-offer-amt { align-items: center; }
/* wallet & rate */
.ls-neon .ls-balance { padding: .3rem .8rem; }
.ls-neon .ls-balance .ls-p { font-size: 1rem; }
.ls-neon .ls-rate { display: inline-flex; align-items: center; gap: .35rem; padding: .45rem .75rem; border-radius: 12px; font-size: .82rem; font-weight: 700; color: #fff; text-decoration: none; background: rgba(255, 255, 255, .06); border: 1px solid var(--l); white-space: nowrap; }
.ls-neon .ls-rate u { text-decoration-color: rgba(34, 211, 238, .6); text-underline-offset: 3px; color: #67e8f9; }
@media (max-width: 767.98px) { .ls-neon .ls-rate { display: none; } }
/* how it works */
.ls-neon .ls-how { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; scroll-margin-top: 140px; }
.ls-neon .ls-how-step { position: relative; display: flex; align-items: center; gap: .7rem; padding: .8rem 1rem; border-radius: 18px; background: rgba(255, 255, 255, .045); border: 1px solid var(--l); }
.ls-neon .ls-how-step:not(:last-of-type)::after { content: "\F285"; font-family: "bootstrap-icons"; position: absolute; right: -.75rem; top: 50%; z-index: 1; transform: translateY(-50%); display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; font-size: .7rem; color: #0b0820; background: #67e8f9; }
.ls-neon .ls-how-n { position: absolute; top: -.5rem; left: -.4rem; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; font-size: .72rem; color: #0b0820; background: linear-gradient(135deg, #a78bfa, #22d3ee); }
.ls-neon .ls-how-ic { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 12px; font-size: 1.2rem; color: #67e8f9; background: rgba(34, 211, 238, .12); }
.ls-neon .ls-how-step strong { display: block; color: #fff; font-size: .92rem; } .ls-neon .ls-how-step span { font-size: .78rem; color: var(--m); }
.ls-neon .ls-how-rate { grid-column: 1 / -1; display: flex; align-items: center; gap: .4rem; margin: 0; font-size: .82rem; color: var(--m); }
@media (max-width: 767.98px) { .ls-neon .ls-how { grid-template-columns: minmax(0, 1fr); } .ls-neon .ls-how-step::after { display: none; } }
/* smart top-up */
.ls-neon a.ls-short, .lu-shop a.ls-short { display: inline-flex !important; flex-direction: column; align-items: center; gap: 0; line-height: 1.15; color: #2a1700 !important; background: linear-gradient(135deg, #fde68a, #f59e0b) !important; box-shadow: 0 6px 22px rgba(245, 158, 11, .35) !important; }
.lu-shop .ls-short-1 { font-weight: 800; font-size: .86rem; } .lu-shop .ls-short-2 { font-size: .72rem; font-weight: 700; opacity: .85; }
.ls-neon .ls-plan.is-short { border-color: rgba(245, 158, 11, .5); }
.ls-neon .ls-plan-short { grid-column: 1 / -1; margin-top: .2rem; font-size: .7rem; font-weight: 800; color: #fbbf24; }
/* cart message */
.ls-neon .ls-cartmsg { display: flex; align-items: center; gap: .8rem; padding: .9rem 1.1rem; border-radius: 18px; color: #fff; background: linear-gradient(135deg, rgba(34, 211, 238, .12), rgba(139, 92, 246, .1)); border: 1px solid rgba(34, 211, 238, .3); }
.ls-neon .ls-cartmsg > .bi { font-size: 1.4rem; color: #67e8f9; }
.ls-neon .ls-cartmsg > div { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .8rem; }
.ls-neon .ls-cartmsg.is-short { background: linear-gradient(135deg, rgba(245, 158, 11, .14), rgba(239, 68, 68, .08)); border-color: rgba(245, 158, 11, .4); }
.ls-neon .ls-cartmsg.is-short > .bi { color: #fbbf24; }
.ls-neon .ls-cart-next { color: var(--m); } .ls-neon .ls-cart-next a { color: #67e8f9; font-weight: 800; }
.lu-shop #shop .card-subtitle::before { content: none; display: none; }
.ls-neon .ls-plan-price .ls-p { font-size: .95rem; }
.ls-neon .ls-plan { column-gap: .5rem; padding: .55rem .7rem; }
.ls-neon .ls-plan-per { font-size: .7rem; }
.ls-neon .ls-how-ic .bi { font-size: 1.2rem; }
/* first top-up bonus & flash offer (Lunaris Boost) */
.ls-neon .ls-firstbonus { display: flex; align-items: center; gap: .8rem; padding: .8rem 1.1rem; border-radius: 16px; color: #fff; background: linear-gradient(135deg, rgba(34, 197, 94, .18), rgba(34, 211, 238, .1)); border: 1px solid rgba(34, 197, 94, .4); }
.ls-neon .ls-firstbonus > .bi { font-size: 1.6rem; color: #6ee7b7; filter: drop-shadow(0 0 10px rgba(34, 197, 94, .6)); animation: lu-bob 3s ease-in-out infinite; }
.ls-neon .ls-firstbonus strong { display: block; font-size: 1.05rem; } .ls-neon .ls-firstbonus span { font-size: .82rem; color: var(--m); }
.ls-neon .ls-offer-first { font-size: .74rem; font-weight: 800; color: #6ee7b7; }
.ls-neon .ls-flash { position: relative; overflow: hidden; display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 1rem; padding: 1rem 1.2rem; border-radius: 20px;
    background: linear-gradient(110deg, rgba(249, 115, 22, .2), rgba(236, 72, 153, .14) 50%, rgba(139, 92, 246, .14)); border: 1px solid rgba(249, 115, 22, .45); box-shadow: 0 0 34px rgba(249, 115, 22, .2); }
.ls-neon .ls-flash::after { content: ""; position: absolute; top: -50%; left: -40%; width: 30%; height: 200%; transform: rotate(18deg); background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .14), transparent); animation: ls-sweep 4s ease-in-out infinite; pointer-events: none; }
@keyframes ls-sweep { 0%, 50% { left: -40%; } 100% { left: 130%; } }
.ls-neon .ls-flash-badge { display: inline-flex; align-items: center; gap: .4rem; padding: .45rem .8rem; border-radius: 12px; font-weight: 800; font-size: .82rem; color: #2a1700; background: linear-gradient(135deg, #fde68a, #f97316); box-shadow: 0 0 18px rgba(249, 115, 22, .5); white-space: nowrap; }
.ls-neon .ls-flash-name { display: block; font-size: 1.15rem; color: #fff; }
.ls-neon .ls-flash-price { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; margin-top: .2rem; }
.ls-neon .ls-flash-price s { color: var(--m); font-size: .85rem; } .ls-neon .ls-flash-price b { font-size: 1.15rem; color: #fde68a; }
.ls-neon .ls-flash-off { font-style: normal; padding: .1rem .5rem; border-radius: 999px; font-size: .78rem; font-weight: 800; color: #052e16; background: linear-gradient(135deg, #6ee7b7, #22c55e); }
.ls-neon .ls-flash-cd { display: grid; justify-items: center; font-size: .72rem; color: var(--m); }
.ls-neon .ls-flash-clock { font-size: 1.4rem; color: #fff; font-variant-numeric: tabular-nums; letter-spacing: .04em; text-shadow: 0 0 14px rgba(249, 115, 22, .6); }
@media (max-width: 767.98px) { .ls-neon .ls-flash { grid-template-columns: minmax(0, 1fr); text-align: center; justify-items: center; } }
.ls-neon .ls-goal-items { display: grid; gap: .5rem; }
.ls-neon .ls-goal-items-title { font-size: .82rem; color: var(--m); font-weight: 700; }
.ls-neon .ls-goal-tags { display: flex; flex-wrap: wrap; gap: .4rem; }
.ls-neon .ls-goal-tag { display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .7rem; border-radius: 10px; font-weight: 800; font-size: .84rem; color: #fff; background: rgba(236, 72, 153, .16); border: 1px solid rgba(236, 72, 153, .35); }
.ls-neon .ls-goal-tag .bi { color: #f9a8d4; }
