:root,[data-theme=dark]{--bg:#0b0620;--bg-soft:#120b2e;--surface:#171030;--surface-hover:#1d1640;--text:#ffffff;--text-muted:rgba(255,255,255,0.6);--border:rgba(255,255,255,0.12);--header-bg:rgba(11,6,32,0.85);--shadow:0 10px 30px rgba(0,0,0,0.35)}[data-theme=light]{--bg:#f4f2fb;--bg-soft:#ffffff;--surface:#ffffff;--surface-hover:#f7f5ff;--text:#1a1330;--text-muted:rgba(26,19,48,0.6);--border:rgba(26,19,48,0.1);--header-bg:rgba(255,255,255,0.85);--shadow:0 10px 30px rgba(120,100,200,0.15)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif;transition:background .2s ease,color .2s ease;position:relative;overflow-x:hidden;touch-action:manipulation;text-size-adjust:100%}.game-shell{touch-action:none;overscroll-behavior:contain}.exit-confirm-overlay{position:fixed;inset:0;z-index:999;background:rgba(5,2,15,.72);display:flex;align-items:center;justify-content:center;padding:20px}.exit-confirm-card{width:100%;max-width:340px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:22px 20px;box-shadow:var(--shadow);text-align:center}.exit-confirm-card h3{margin:0 0 8px;font-size:18px;color:var(--text)}.exit-confirm-card p{margin:0 0 18px;font-size:14px;color:var(--text-muted);line-height:1.5}.exit-confirm-actions{display:flex;gap:10px}.exit-confirm-actions button{flex:1 1;padding:11px 12px;border-radius:10px;border:1px solid var(--border);font-weight:700;font-size:14px;cursor:pointer}.exit-confirm-actions .exit-confirm-cancel{background:transparent;color:var(--text)}.exit-confirm-actions .exit-confirm-leave{background:#ff4d5e;border-color:#ff4d5e;color:#fff}a{color:inherit}.bg-grid{position:fixed;inset:0;z-index:-3;pointer-events:none;background-image:linear-gradient(rgba(177,140,255,.14) 1px,transparent 0),linear-gradient(90deg,rgba(177,140,255,.14) 1px,transparent 0);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse 85% 65% at 50% 0,black 35%,transparent 100%);mask-image:radial-gradient(ellipse 85% 65% at 50% 0,black 35%,transparent 100%)}[data-theme=light] .bg-grid{background-image:linear-gradient(rgba(124,77,255,.09) 1px,transparent 0),linear-gradient(90deg,rgba(124,77,255,.09) 1px,transparent 0)}.bg-glow{position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(650px circle at 10% 6%,rgba(255,79,163,.28),transparent 60%),radial-gradient(600px circle at 92% 14%,rgba(124,77,255,.28),transparent 60%),radial-gradient(620px circle at 22% 96%,rgba(79,172,254,.22),transparent 60%),radial-gradient(540px circle at 88% 90%,rgba(255,200,87,.18),transparent 60%),radial-gradient(420px circle at 50% 45%,rgba(0,230,195,.12),transparent 65%);background-repeat:no-repeat;animation:bgDrift 20s ease-in-out infinite alternate}[data-theme=light] .bg-glow{opacity:.55}.bg-scanline{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.bg-scanline:before{content:"";position:absolute;left:0;right:0;height:140px;background:linear-gradient(180deg,transparent,rgba(177,140,255,.09),transparent);animation:scanSweep 9s linear infinite}@keyframes scanSweep{0%{top:-140px}to{top:100%}}[data-theme=light] .bg-scanline:before{background:linear-gradient(180deg,transparent,rgba(124,77,255,.06),transparent)}@keyframes bgDrift{0%{transform:translate(0) scale(1)}50%{transform:translate(-2%,2%) scale(1.06)}to{transform:translate(2%,-1%) scale(1.02)}}.floating-icons{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;height:100vh}.floating-icon{position:absolute;bottom:-10vh;left:var(--l,50%);opacity:0;line-height:1;animation:iconRise var(--dur,22s) linear infinite;animation-delay:var(--delay,0s);will-change:transform,opacity;filter:saturate(1.1) drop-shadow(0 0 10px rgba(177,140,255,.25))}@keyframes iconRise{0%{transform:translate(0) rotate(0deg);opacity:0}8%{opacity:var(--op,.26)}50%{transform:translate(var(--sway,24px),-58vh) rotate(var(--rot,12deg))}92%{opacity:var(--op,.26)}to{transform:translate(calc(var(--sway, 24px) * -1),-118vh) rotate(calc(var(--rot, 12deg) * -1));opacity:0}}[data-theme=light] .floating-icon{--op:0.18}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;background:var(--header-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.site-header__brand{display:flex;align-items:center;gap:12px;text-decoration:none}.site-header__logo{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:22px;border-radius:12px;background:linear-gradient(135deg,#ff4fa3,#7c4dff);box-shadow:0 6px 18px rgba(124,77,255,.4);animation:logoPulse 2.6s ease-in-out infinite}@keyframes logoPulse{0%,to{box-shadow:0 6px 18px rgba(124,77,255,.4);transform:scale(1) rotate(0deg)}50%{box-shadow:0 6px 26px rgba(124,77,255,.6),0 0 22px rgba(255,79,163,.45);transform:scale(1.06) rotate(-4deg)}}.site-header__title{font-size:20px;font-weight:900;letter-spacing:-.5px;background:linear-gradient(90deg,#ff4fa3,#b18cff,#4facfe,#ff4fa3);background-size:250% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:titleShine 5s linear infinite}@keyframes titleShine{0%{background-position:0}to{background-position:250%}}.site-header__actions{display:flex;align-items:center;gap:10px}.theme-toggle{width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,background .15s ease}.theme-toggle:hover{transform:scale(1.08);background:var(--surface-hover)}.auth-chip{display:flex;align-items:center;gap:8px;padding:6px 14px 6px 6px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13px;font-weight:700;cursor:pointer;transition:background .15s ease,transform .15s ease}.auth-chip:hover{background:var(--surface-hover);transform:translateY(-1px)}.auth-chip--signin{padding:9px 18px;background:linear-gradient(135deg,#ff4fa3,#7c4dff);border:none;color:#fff;box-shadow:0 6px 16px rgba(124,77,255,.35)}.auth-avatar{width:26px;height:26px;border-radius:50%;object-fit:cover}.auth-avatar--fallback{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4facfe,#b18cff);color:#fff;font-size:12px}.home{padding:40px 24px 80px;max-width:1100px;margin:0 auto}.home__eyebrow{color:var(--text-muted);font-size:14px;margin:0 0 6px}.home__heading{font-size:34px;font-weight:900;margin:0 0 8px;letter-spacing:-.5px;background:linear-gradient(90deg,#ff4fa3,#b18cff,#4facfe,#ff4fa3);background-size:250% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:titleShine 6s linear infinite}.home__heading-emoji{display:inline-block;animation:bounceWiggle 2.2s ease-in-out infinite}@keyframes bounceWiggle{0%,to{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-6px) rotate(-8deg)}50%{transform:translateY(0) rotate(0deg)}75%{transform:translateY(-3px) rotate(6deg)}}.home__subheading{color:var(--text-muted);margin:0 0 32px;font-size:15px}.home-controls{margin-bottom:24px;display:flex;flex-direction:column;gap:14px}.home-search{position:relative;display:flex;align-items:center}.home-search__icon{position:absolute;left:16px;font-size:15px;opacity:.5;pointer-events:none}.home-search__input{width:100%;padding:13px 40px 13px 42px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:14.5px;font-family:inherit;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.home-search__input::placeholder{color:var(--text-muted)}.home-search__input:focus{border-color:#b18cff;box-shadow:0 0 0 3px rgba(177,140,255,.18)}.home-search__clear{position:absolute;right:12px;width:24px;height:24px;border-radius:50%;border:none;background:var(--surface-hover);color:var(--text-muted);font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center}.home-categories{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.home-categories::-webkit-scrollbar{display:none}.home-category-pill{flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease,border-color .15s ease}.home-category-pill:hover{border-color:#b18cff;color:var(--text)}.home-category-pill--active{background:linear-gradient(135deg,#ff4fa3,#7c4dff);background-size:200% auto;border-color:transparent;color:#fff;animation:pillGlow 2.2s ease-in-out infinite}@keyframes pillGlow{0%,to{box-shadow:0 0 0 rgba(255,79,163,0);background-position:0}50%{box-shadow:0 0 18px rgba(255,79,163,.55);background-position:100%}}.home-category-pill__count{font-size:11px;opacity:.75;font-weight:600}.home-empty{text-align:center;color:var(--text-muted);padding:50px 16px;font-size:14.5px}.game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:14px;gap:14px}.game-card{position:relative;display:block;padding:16px;border-radius:18px;text-decoration:none;color:var(--text);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;animation:cardIn .45s ease backwards}@keyframes cardIn{0%{opacity:0;transform:translateY(16px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.game-card:before{inset:0;background:var(--card-accent,#ff4fa3);opacity:0;transition:opacity .25s ease}.game-card:after,.game-card:before{content:"";position:absolute;pointer-events:none}.game-card:after{top:0;left:-160%;width:55%;height:100%;background:linear-gradient(115deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg);transition:left .65s ease}.game-card:hover{transform:translateY(-6px) scale(1.02);border-color:var(--card-accent,#ff4fa3);box-shadow:0 18px 44px -10px var(--card-accent,#ff4fa3)}.game-card:hover:before{opacity:.06}.game-card:hover:after{left:160%}.game-card__category{display:inline-block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--card-accent,#ff4fa3);background:color-mix(in srgb,var(--card-accent,#ff4fa3) 14%,transparent);padding:3px 8px;border-radius:999px;margin-bottom:10px}.game-card__icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;background:linear-gradient(135deg,var(--card-accent,#ff4fa3),transparent);border:1px solid var(--card-accent,#ff4fa3);margin-bottom:10px;transition:transform .3s ease}.game-card:hover .game-card__icon{animation:iconBounce .55s ease}@keyframes iconBounce{0%,to{transform:scale(1) rotate(0deg)}30%{transform:scale(1.18) rotate(-8deg)}60%{transform:scale(.94) rotate(5deg)}}.game-card__name{font-size:14.5px;font-weight:800;margin-bottom:4px;color:var(--card-accent,inherit)}.game-card__tagline{font-size:12px;line-height:1.45;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.game-card__play{margin-top:10px;font-size:11.5px;font-weight:700;color:var(--card-accent,#ff4fa3);display:inline-block}.game-card:hover .game-card__play{animation:arrowSlide .7s ease infinite alternate}@keyframes arrowSlide{0%{transform:translateX(0)}to{transform:translateX(4px)}}@media (min-width:640px){.home-controls{flex-direction:row;align-items:center}.home-search{max-width:340px}.game-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px}.game-card{padding:20px}.game-card__icon{width:52px;height:52px;font-size:26px;border-radius:14px}.game-card__name{font-size:16px}.game-card__tagline{font-size:13px}.game-card__play{opacity:0;transform:translateX(-4px);transition:opacity .2s ease,transform .2s ease}.game-card:hover .game-card__play{opacity:1;transform:translateX(0)}}.landing{padding:0 20px 40px}.landing,.landing-back-row{max-width:860px;margin:0 auto}.landing-back-row{padding:14px 20px 0}.landing-back{background:none;border:none;color:var(--text-muted);font-size:13px;font-weight:700;cursor:pointer;padding:6px 0}.landing-back:hover{color:var(--text)}.landing-hero{text-align:center;padding:56px 0 40px}.landing-badge{display:inline-block;font-size:12.5px;font-weight:700;padding:7px 16px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--text-muted);margin-bottom:22px}.landing-hero__title{font-size:38px;font-weight:900;letter-spacing:-.5px;margin:0 0 16px;line-height:1.15}.landing-hero__accent{color:var(--card-accent,#ff4fa3)}.landing-hero__sub{max-width:560px;margin:0 auto 28px;color:var(--text-muted);font-size:15.5px;line-height:1.65}.landing-hero__actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}.landing-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 30px;border-radius:999px;font-size:15px;font-weight:800;cursor:pointer;text-decoration:none;border:none;transition:transform .15s ease,box-shadow .15s ease}.landing-btn--primary{background:linear-gradient(135deg,var(--card-accent,#ff4fa3),#7c4dff);color:#fff;box-shadow:0 10px 26px -6px var(--card-accent,#ff4fa3)}.landing-btn--primary:hover{transform:translateY(-2px)}.landing-btn--ghost{background:var(--surface);border:1px solid var(--border);color:var(--text)}.landing-btn--ghost:hover{background:var(--surface-hover)}.landing-hero__all{display:inline-block;font-size:13px;font-weight:700;color:var(--text-muted);text-decoration:none}.landing-hero__all:hover{color:var(--text)}.landing-section{padding:44px 0;border-top:1px solid var(--border)}.landing-section__title{font-size:24px;font-weight:900;text-align:center;margin:0 0 6px}.landing-section__subtitle{text-align:center;color:var(--text-muted);font-size:14px;margin:0 0 28px}.landing-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:16px;gap:16px}.landing-step-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px 18px 18px}.landing-step-card__num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--card-accent,#ff4fa3);color:#fff;font-size:13px;font-weight:900;margin-bottom:12px}.landing-step-card p{margin:0;font-size:13.5px;line-height:1.6;color:var(--text-muted)}.landing-benefits{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:16px;gap:16px}.landing-benefit-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:22px 18px}.landing-benefit-card__emoji{font-size:26px;margin-bottom:10px}.landing-benefit-card h3{font-size:15px;font-weight:800;margin:0 0 8px}.landing-benefit-card p{margin:0;font-size:13.5px;line-height:1.6;color:var(--text-muted)}.landing-article{max-width:760px;margin:0 auto}.landing-article__block{margin-bottom:28px}.landing-article__block:last-child{margin-bottom:0}.landing-article__block h3{font-size:17px;font-weight:800;margin:0 0 10px;color:var(--card-accent,inherit)}.landing-article__block p{margin:0 0 12px;font-size:14.5px;line-height:1.75;color:var(--text-muted)}.landing-article__block p:last-child{margin-bottom:0}.landing-leaderboard{max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:8px}.landing-lb-empty{text-align:center;color:var(--text-muted);font-size:14px}.landing-lb-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--border)}.landing-lb-rank{width:26px;text-align:center;font-weight:900;font-size:14px}.landing-lb-avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;color:#fff;background:linear-gradient(135deg,var(--card-accent,#ff4fa3),#7c4dff);flex-shrink:0}.landing-lb-name{flex:1 1;font-size:13.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.landing-lb-score{font-size:13px;font-family:monospace;color:var(--card-accent,#ff4fa3);font-weight:700}.landing-faq{max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:8px}.landing-faq-item{border:1px solid var(--border);border-radius:14px;background:var(--surface);overflow:hidden}.landing-faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 18px;background:none;border:none;color:var(--text);font-size:14px;font-weight:700;text-align:left;cursor:pointer}.landing-faq-answer{margin:0;padding:0 18px 16px;font-size:13.5px;line-height:1.6;color:var(--text-muted)}.landing-final-cta{text-align:center;padding:50px 0 20px;border-top:1px solid var(--border)}.landing-final-cta h2{font-size:26px;font-weight:900;margin:0 0 8px}.landing-final-cta p{color:var(--text-muted);font-size:14.5px;margin:0 0 24px}