:root{--blue-50: #eff5ff;--blue-100: #dbe8ff;--blue-200: #bfd5ff;--blue-400: #5b8cff;--blue-500: #2f6bff;--blue-600: #1d4ed8;--blue-700: #1e40af;--blue-900: #172554;--violet-500: #7c3aed;--violet-100: #ede4ff;--cyan-400: #22d3ee;--cyan-100: #d6f7fc;--green-500: #16a34a;--green-100: #dcfce7;--red-500: #dc2626;--red-100: #fee2e2;--amber-500: #f59e0b;--amber-100: #fef3c7;--gold: #eab308;color-scheme:light;--bg: #f4f6fb;--bg-elev: #ffffff;--surface: #ffffff;--surface-2: #f1f4fa;--surface-3: #e7ecf5;--border: #e2e8f2;--border-strong: #cbd5e4;--text: #0f172a;--text-2: #475569;--text-3: #8391a7;--primary: var(--blue-600);--primary-hover: var(--blue-700);--primary-soft: var(--blue-50);--primary-text: #fff;--accent: var(--violet-500);--accent-soft: var(--violet-100);--cyan: #0891b2;--cyan-soft: var(--cyan-100);--success: var(--green-500);--success-soft: var(--green-100);--danger: var(--red-500);--danger-soft: var(--red-100);--warning: var(--amber-500);--warning-soft: var(--amber-100);--coin: #d97706;--xp: var(--violet-500);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow: 0 1px 2px rgba(15, 23, 42, .05), 0 4px 14px rgba(15, 23, 42, .06);--shadow-lg: 0 10px 30px rgba(15, 23, 42, .12);--shadow-primary: 0 6px 18px rgba(29, 78, 216, .28);--r-sm: 8px;--r: 12px;--r-lg: 16px;--r-xl: 22px;--r-full: 999px;--font: "Plus Jakarta Sans", "Hind Siliguri", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-bn: "Hind Siliguri", "Plus Jakarta Sans", system-ui, sans-serif;--fs-xs: 12px;--fs-sm: 13px;--fs: 15px;--fs-md: 16px;--fs-lg: 18px;--fs-xl: 22px;--fs-2xl: 28px;--dur-fast: .15s;--dur: .22s;--dur-slow: .35s;--ease: cubic-bezier(.2, .8, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}:root[data-theme=dark]{color-scheme:dark;--bg: #0a0f1e;--bg-elev: #111830;--surface: #121a31;--surface-2: #18213b;--surface-3: #212c4a;--border: #243052;--border-strong: #33416a;--text: #e8edf8;--text-2: #a7b3cc;--text-3: #6f7d9c;--primary: var(--blue-500);--primary-hover: var(--blue-400);--primary-soft: rgba(47, 107, 255, .14);--accent-soft: rgba(124, 58, 237, .18);--cyan: var(--cyan-400);--cyan-soft: rgba(34, 211, 238, .14);--success-soft: rgba(22, 163, 74, .16);--danger-soft: rgba(220, 38, 38, .16);--warning-soft: rgba(245, 158, 11, .16);--coin: #fbbf24;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 14px rgba(0, 0, 0, .25);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .45)}@media(prefers-reduced-motion:reduce){:root{--dur-fast: 0ms;--dur: 0ms;--dur-slow: 0ms}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs);line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}:lang(bn),.bn{font-family:var(--font-bn)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--primary);text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,h4{margin:0;line-height:1.2;letter-spacing:-.01em}h1{font-size:var(--fs-xl);font-weight:800}h2{font-size:var(--fs-lg);font-weight:800}h3{font-size:var(--fs-md);font-weight:700}p{margin:0}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.num{font-variant-numeric:tabular-nums}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.small{font-size:var(--fs-sm)}.xs{font-size:var(--fs-xs)}.bold{font-weight:700}.center{text-align:center}.row{display:flex;align-items:center;gap:10px}.row.wrap{flex-wrap:wrap}.col{display:flex;flex-direction:column;gap:10px}.grow{flex:1;min-width:0}.between{justify-content:space-between}.gap-sm{gap:6px}.gap-lg{gap:16px}.mt{margin-top:12px}.mt-lg{margin-top:20px}.mb{margin-bottom:12px}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stack>*+*{margin-top:12px}.shell{min-height:100dvh;display:flex}.main{flex:1;min-width:0;display:flex;flex-direction:column}.page{width:100%;max-width:640px;margin:0 auto;padding:12px 16px calc(84px + env(safe-area-inset-bottom))}.page.wide{max-width:960px}.page.full{padding-bottom:24px}.page-title{display:flex;align-items:center;gap:10px;margin:6px 0 14px}.page-title h1{flex:1}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:8px;padding:calc(8px + env(safe-area-inset-top)) 16px 8px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid transparent}.topbar.scrolled{border-bottom-color:var(--border)}.brand{display:flex;align-items:center;gap:8px;font-weight:800;letter-spacing:.02em;color:var(--text)}.brand img{width:30px;height:30px;border-radius:9px}.brand small{display:block;font-size:10px;color:var(--text-3);font-weight:700;letter-spacing:.12em}.pill{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 10px;border-radius:var(--r-full);background:var(--surface);border:1px solid var(--border);font-weight:700;font-size:var(--fs-sm);white-space:nowrap;color:var(--text)}.pill.coin{color:var(--coin)}.pill.streak{color:#ea580c}.pill.online .dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px var(--success-soft)}.bottom-nav{position:fixed;inset:auto 0 0;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg-elev) 94%,transparent);backdrop-filter:blur(12px);border-top:1px solid var(--border)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;color:var(--text-3);font-size:11px;font-weight:700;border-radius:var(--r);transition:color var(--dur-fast) var(--ease)}.bottom-nav a svg{width:24px;height:24px;transition:transform var(--dur) var(--ease-spring)}.bottom-nav a.active{color:var(--primary)}.bottom-nav a.active svg{transform:translateY(-2px) scale(1.08)}.bottom-nav a.battle-tab .battle-orb{width:46px;height:46px;margin-top:-20px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--blue-500),var(--blue-700));color:#fff;box-shadow:var(--shadow-primary);border:3px solid var(--bg-elev)}.bottom-nav a.battle-tab .battle-orb svg{width:24px;height:24px}.side-nav{display:none}@media(min-width:900px){.bottom-nav{display:none}.page{padding-bottom:32px}.side-nav{display:flex;flex-direction:column;gap:4px;width:232px;flex-shrink:0;position:sticky;top:0;height:100dvh;padding:18px 12px;border-right:1px solid var(--border);background:var(--bg-elev)}.side-nav .brand{padding:6px 10px 18px}.side-nav a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:var(--r);color:var(--text-2);font-weight:700}.side-nav a svg{width:22px;height:22px}.side-nav a:hover{background:var(--surface-2)}.side-nav a.active{background:var(--primary-soft);color:var(--primary)}.side-nav .spacer{flex:1}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px;box-shadow:var(--shadow-sm)}.card.pad-lg{padding:18px}.card.flat{box-shadow:none}.card-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.card-title h2,.card-title h3{font-size:var(--fs-md)}.section-label{font-size:var(--fs-xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin:18px 2px 8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;border-radius:var(--r);border:1px solid transparent;font-weight:800;font-size:var(--fs);letter-spacing:.01em;white-space:nowrap;background:var(--surface-2);color:var(--text);transition:transform var(--dur-fast) var(--ease),background var(--dur-fast),box-shadow var(--dur-fast),opacity var(--dur-fast);user-select:none}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn svg{width:18px;height:18px;flex-shrink:0}.btn.primary{background:var(--primary);color:var(--primary-text);box-shadow:var(--shadow-primary)}.btn.primary:hover:not(:disabled){background:var(--primary-hover)}.btn.accent{background:var(--accent);color:#fff}.btn.success{background:var(--success);color:#fff}.btn.danger{background:var(--danger);color:#fff}.btn.soft{background:var(--primary-soft);color:var(--primary)}.btn.ghost{background:transparent;color:var(--text-2)}.btn.outline{background:var(--surface);border-color:var(--border-strong)}.btn.block{width:100%}.btn.lg{height:52px;font-size:var(--fs-md);border-radius:var(--r-lg)}.btn.sm{height:34px;padding:0 12px;font-size:var(--fs-sm);border-radius:10px}.btn.icon{width:40px;padding:0;height:40px}.btn.icon.sm{width:34px;height:34px}.btn .spinner{width:16px;height:16px}.chip{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:var(--r-full);font-size:var(--fs-xs);font-weight:800;background:var(--surface-2);color:var(--text-2);white-space:nowrap}.chip.primary{background:var(--primary-soft);color:var(--primary)}.chip.success{background:var(--success-soft);color:var(--success)}.chip.danger{background:var(--danger-soft);color:var(--danger)}.chip.warning{background:var(--warning-soft);color:#b45309}.chip.accent{background:var(--accent-soft);color:var(--accent)}:root[data-theme=dark] .chip.warning{color:var(--warning)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:var(--fs-sm);font-weight:700;color:var(--text-2)}.input,select.input,textarea.input{height:46px;width:100%;padding:0 14px;border-radius:var(--r);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);outline:none;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}textarea.input{height:auto;min-height:84px;padding:10px 14px;resize:vertical}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.input[aria-invalid=true]{border-color:var(--danger)}.field-error{color:var(--danger);font-size:var(--fs-sm);font-weight:600}.field-hint{color:var(--text-3);font-size:var(--fs-xs)}.form-error{padding:10px 12px;border-radius:var(--r);background:var(--danger-soft);color:var(--danger);font-weight:600;font-size:var(--fs-sm)}.form-success{padding:10px 12px;border-radius:var(--r);background:var(--success-soft);color:var(--success);font-weight:600;font-size:var(--fs-sm)}.switch{position:relative;width:46px;height:28px;flex-shrink:0}.switch input{appearance:none;position:absolute;inset:0;margin:0;border-radius:999px;background:var(--surface-3);transition:background var(--dur);cursor:pointer}.switch input:checked{background:var(--success)}.switch input:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease-spring)}.switch input:checked:after{transform:translate(18px)}.tabs{display:flex;gap:4px;padding:4px;border-radius:var(--r);background:var(--surface-2);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{flex:1 0 auto;height:34px;padding:0 12px;border:0;border-radius:9px;background:transparent;font-weight:700;font-size:var(--fs-sm);color:var(--text-2);transition:background var(--dur-fast),color var(--dur-fast)}.tabs button[aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.list{display:flex;flex-direction:column}.list-row{display:flex;align-items:center;gap:12px;padding:11px 2px;border-bottom:1px solid var(--border);min-height:56px}.list-row:last-child{border-bottom:0}.list-row.link{cursor:pointer;border-radius:var(--r);padding-inline:8px;margin-inline:-8px;transition:background var(--dur-fast)}.list-row.link:hover{background:var(--surface-2)}.progress{height:8px;border-radius:999px;background:var(--surface-3);overflow:hidden}.progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--accent));transition:width var(--dur-slow) var(--ease)}.avatar{position:relative;flex-shrink:0;border-radius:50%;background:linear-gradient(145deg,var(--blue-100),var(--violet-100));display:grid;place-items:center;font-weight:800;color:var(--blue-700);overflow:visible}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar .initial{font-size:.42em}.avatar.bot{background:linear-gradient(145deg,#e0f2fe,#ede9fe)}.avatar .status{position:absolute;right:0;bottom:0;width:28%;height:28%;min-width:10px;min-height:10px;border-radius:50%;border:2px solid var(--surface)}.status.online{background:var(--success)}.status.away{background:var(--warning)}.status.in_match{background:var(--accent)}.status.offline{background:var(--text-3)}.status.dnd{background:var(--danger)}.frame-neon{box-shadow:0 0 0 3px var(--surface),0 0 0 5px #22d3ee,0 0 14px #22d3ee88}.frame-gold{box-shadow:0 0 0 3px var(--surface),0 0 0 5px #eab308,0 0 14px #eab30888}.frame-flame{box-shadow:0 0 0 3px var(--surface),0 0 0 5px #f97316,0 0 14px #ef444488}dialog.sheet{border:0;padding:0;color:var(--text);background:var(--surface);width:min(560px,100%);max-width:100%;max-height:min(88dvh,760px);margin:auto auto 0;border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:var(--shadow-lg);overflow:auto;overscroll-behavior:contain}dialog.sheet[open]{animation:sheet-in var(--dur-slow) var(--ease)}dialog.sheet::backdrop{background:#0a0f1e73;animation:fade-in var(--dur) var(--ease)}dialog.sheet .sheet-body{padding:8px 18px calc(18px + env(safe-area-inset-bottom))}dialog.sheet .grabber{width:40px;height:5px;border-radius:99px;background:var(--surface-3);margin:10px auto 6px}dialog.sheet .sheet-head{display:flex;align-items:center;gap:8px;margin-bottom:12px}dialog.sheet .sheet-head h2{flex:1}@media(min-width:700px){dialog.sheet{margin:auto;border-radius:var(--r-xl)}dialog.sheet[open]{animation:pop-in var(--dur) var(--ease)}dialog.sheet .grabber{display:none}dialog.sheet .sheet-body{padding-top:18px}}.toasts{position:fixed;z-index:100;left:50%;top:calc(10px + env(safe-area-inset-top));transform:translate(-50%);display:flex;flex-direction:column;gap:8px;width:min(440px,calc(100% - 24px));pointer-events:none}.toast{pointer-events:auto;display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-lg);background:var(--bg-elev);border:1px solid var(--border);box-shadow:var(--shadow-lg);animation:toast-in var(--dur-slow) var(--ease-spring);font-size:var(--fs-sm)}.toast .t-icon{font-size:20px;line-height:1}.toast strong{display:block;font-size:var(--fs)}.toast.error{border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}.toast.success{border-color:color-mix(in srgb,var(--success) 40%,var(--border))}.toast .t-actions{display:flex;gap:6px;margin-top:8px}.skeleton{position:relative;overflow:hidden;background:var(--surface-2);border-radius:var(--r)}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--surface) 70%,transparent),transparent);animation:shimmer 1.2s infinite}.sk-line{height:14px;margin:6px 0}.sk-row{height:56px;margin:8px 0}.sk-card{height:120px}.spinner{width:22px;height:22px;border-radius:50%;border:2.5px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite;display:inline-block}.empty{text-align:center;padding:28px 16px;color:var(--text-2)}.empty .e-icon{font-size:40px;margin-bottom:8px}.empty h3{color:var(--text);margin-bottom:4px}.empty .btn{margin-top:14px}.banner{display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:var(--fs-sm);font-weight:700}.banner.offline{background:var(--danger);color:#fff}.banner.reconnecting{background:var(--warning);color:#111}.banner.info{background:var(--primary);color:#fff}.banner .btn{margin-left:auto}.hero-battle{position:relative;overflow:hidden;border-radius:var(--r-xl);padding:18px;color:#fff;background:radial-gradient(120% 120% at 100% 0%,#3b82f6 0%,transparent 55%),linear-gradient(150deg,#1d4ed8,#1e3a8a 70%);box-shadow:var(--shadow-primary)}.hero-battle:after{content:"⚔️";position:absolute;right:-6px;bottom:-14px;font-size:110px;opacity:.14;transform:rotate(-12deg)}.hero-battle h2{font-size:var(--fs-xl)}.hero-battle p{opacity:.85;font-size:var(--fs-sm);margin-top:4px}.hero-battle .btn{margin-top:14px;background:#fff;color:var(--blue-700);box-shadow:0 6px 18px #0000002e;height:50px;font-size:var(--fs-md)}.hero-battle .live{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:800;background:#ffffff29;padding:4px 10px;border-radius:999px}.hero-battle .live i{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 #4ade80;animation:pulse 1.8s infinite}.mode-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media(min-width:560px){.mode-grid{grid-template-columns:repeat(3,1fr)}}.mode-card{text-align:left;border:1px solid var(--border);background:var(--surface);border-radius:var(--r-lg);padding:14px;display:flex;flex-direction:column;gap:6px;min-height:108px;transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast)}.mode-card:hover{box-shadow:var(--shadow)}.mode-card:active{transform:scale(.98)}.mode-card .m-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:22px;background:var(--primary-soft)}.mode-card strong{font-size:var(--fs)}.mode-card span{font-size:var(--fs-xs);color:var(--text-2)}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat{background:var(--surface-2);border-radius:var(--r);padding:10px;text-align:center}.stat b{display:block;font-size:var(--fs-lg);font-weight:800}.stat span{font-size:var(--fs-xs);color:var(--text-2);font-weight:600}.reward-track{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.reward-day{border-radius:var(--r);padding:8px 2px;text-align:center;background:var(--surface-2);font-size:11px;font-weight:700;color:var(--text-2);border:1px solid transparent}.reward-day .r-ico{font-size:18px;display:block}.reward-day.done{background:var(--success-soft);color:var(--success)}.reward-day.today{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);animation:glow 1.8s infinite}.mm-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px;min-height:70dvh}.radar{position:relative;width:210px;height:210px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,var(--primary-soft) 0 40%,transparent 41%)}.radar:before,.radar:after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--primary);opacity:0;animation:ripple 2.2s infinite var(--ease)}.radar:after{animation-delay:1.1s}.radar .sweep{position:absolute;inset:8px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 300deg,color-mix(in srgb,var(--primary) 40%,transparent));animation:spin 1.6s linear infinite}.vs-row{display:flex;align-items:center;justify-content:center;gap:18px}.vs-badge{font-size:26px;font-weight:900;color:var(--danger);font-style:italic;animation:vs-pop .6s var(--ease-spring)}.vs-player{display:flex;flex-direction:column;align-items:center;gap:6px;width:110px;animation:slide-in-left .5s var(--ease)}.vs-player.right{animation-name:slide-in-right}.vs-player b{font-size:var(--fs-sm);max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.war-room{display:flex;flex-direction:column;gap:12px}.team-box{border-radius:var(--r-lg);padding:10px;border:1px solid var(--border);background:var(--surface)}.team-box.t0{border-top:3px solid var(--primary)}.team-box.t1{border-top:3px solid var(--danger)}.ready-tag{font-size:var(--fs-xs);font-weight:800;padding:3px 8px;border-radius:99px}.ready-tag.on{background:var(--success-soft);color:var(--success)}.ready-tag.off{background:var(--surface-2);color:var(--text-3)}.countdown-big{font-size:96px;font-weight:900;color:var(--primary);animation:count-pop 1s var(--ease) infinite;text-shadow:0 8px 30px color-mix(in srgb,var(--primary) 35%,transparent)}.game{min-height:100dvh;display:flex;flex-direction:column;max-width:640px;margin:0 auto;padding:calc(10px + env(safe-area-inset-top)) 14px calc(14px + env(safe-area-inset-bottom))}.score-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}.score-side{display:flex;align-items:center;gap:8px;min-width:0}.score-side.right{flex-direction:row-reverse;text-align:right}.score-side .s-name{font-size:var(--fs-xs);font-weight:700;color:var(--text-2)}.score-side .s-score{font-size:var(--fs-xl);font-weight:900;line-height:1}.score-side .answered-dot{width:8px;height:8px;border-radius:50%;background:var(--success);display:inline-block;animation:pop-in .25s var(--ease-spring)}.q-counter{text-align:center;font-size:var(--fs-xs);font-weight:800;color:var(--text-3);letter-spacing:.06em}.q-counter b{display:block;font-size:var(--fs-lg);color:var(--text);letter-spacing:0}.timer-ring{position:relative;width:58px;height:58px;margin:14px auto 6px}.timer-ring svg{transform:rotate(-90deg)}.timer-ring .t-num{position:absolute;inset:0;display:grid;place-items:center;font-size:var(--fs-xl);font-weight:900}.timer-ring.low .t-num{color:var(--danger);animation:shake-x .4s}.timer-bar{height:6px;border-radius:99px;background:var(--surface-3);overflow:hidden;margin:8px 0 4px}.timer-bar span{display:block;height:100%;background:var(--primary);transform-origin:left}.timer-bar.low span{background:var(--danger)}.question-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:18px 16px;box-shadow:var(--shadow);text-align:center;animation:q-in .35s var(--ease)}.question-card .q-meta{display:flex;justify-content:center;gap:6px;margin-bottom:10px}.question-card .q-text{font-size:19px;font-weight:700;line-height:1.45;font-family:var(--font-bn)}.question-card img{margin:12px auto 0;max-height:200px;border-radius:var(--r);object-fit:contain}.options{display:grid;gap:10px;margin-top:14px}.option{position:relative;display:flex;align-items:center;gap:12px;min-height:56px;width:100%;text-align:left;padding:10px 14px;border-radius:var(--r-lg);border:2px solid var(--border);background:var(--surface);font-size:var(--fs-md);font-weight:600;font-family:var(--font-bn);transition:transform var(--dur-fast) var(--ease),border-color var(--dur-fast),background var(--dur-fast),opacity var(--dur);animation:opt-in .35s var(--ease) both}.option:nth-child(2){animation-delay:40ms}.option:nth-child(3){animation-delay:80ms}.option:nth-child(4){animation-delay:.12s}.option .o-key{width:30px;height:30px;flex-shrink:0;border-radius:9px;display:grid;place-items:center;font-family:var(--font);font-weight:800;font-size:var(--fs-sm);background:var(--surface-2);color:var(--text-2)}.option:hover:not(:disabled){border-color:var(--blue-200)}.option:active:not(:disabled){transform:scale(.985)}.option:disabled{cursor:default}.option.picked{border-color:var(--primary);background:var(--primary-soft)}.option.picked .o-key{background:var(--primary);color:#fff}.option.correct{border-color:var(--success);background:var(--success-soft);animation:correct-pop .45s var(--ease-spring)}.option.correct .o-key{background:var(--success);color:#fff}.option.wrong{border-color:var(--danger);background:var(--danger-soft);animation:shake-x .4s}.option.wrong .o-key{background:var(--danger);color:#fff}.option.removed{opacity:.25;text-decoration:line-through}.option .o-who{margin-left:auto;display:flex;gap:-6px}.option .o-who .avatar{width:22px!important;height:22px!important;margin-left:-6px;border:2px solid var(--surface);font-size:10px}.game-foot{margin-top:auto;padding-top:14px;display:flex;align-items:center;gap:8px}.powerups{display:flex;gap:8px;flex:1}.pu-btn{position:relative;height:44px;min-width:44px;padding:0 10px;border-radius:12px;border:1px solid var(--border);background:var(--surface);font-weight:800;font-size:var(--fs-sm);display:inline-flex;align-items:center;gap:4px}.pu-btn:disabled{opacity:.4}.pu-btn .badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;border-radius:9px;background:var(--accent);color:#fff;font-size:10px;display:grid;place-items:center;padding:0 4px}.combo{position:fixed;left:50%;top:32%;transform:translate(-50%);z-index:50;pointer-events:none;text-align:center;font-weight:900;animation:combo-float 1.1s var(--ease) forwards}.combo .c-flames{font-size:40px}.combo .c-text{font-size:22px;color:#ea580c;text-shadow:0 2px 0 #fff}.combo.super .c-text{font-size:30px;background:linear-gradient(90deg,#f97316,#dc2626,#7c3aed);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}.points-float{position:absolute;right:14px;top:10px;font-weight:900;color:var(--success);animation:points-up .9s var(--ease) forwards}.hint-box{margin-top:10px;padding:10px 12px;border-radius:var(--r);background:var(--warning-soft);font-size:var(--fs-sm);font-weight:600;animation:pop-in .3s var(--ease-spring)}.reveal-explain{margin-top:12px;padding:12px;border-radius:var(--r);background:var(--surface-2);font-size:var(--fs-sm);color:var(--text-2);animation:fade-up .3s var(--ease);font-family:var(--font-bn)}.conn-chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:800;color:var(--text-3)}.conn-chip i{width:7px;height:7px;border-radius:50%;background:var(--success)}.conn-chip.bad i{background:var(--danger);animation:blink 1s infinite}.opponent-left{margin-top:8px;text-align:center;font-size:var(--fs-xs);font-weight:700;color:var(--warning)}.result-hero{text-align:center;padding:26px 16px 18px;border-radius:var(--r-xl);color:#fff;position:relative;overflow:hidden}.result-hero.win{background:linear-gradient(150deg,#16a34a,#0f766e)}.result-hero.loss{background:linear-gradient(150deg,#475569,#1e293b)}.result-hero.draw{background:linear-gradient(150deg,#7c3aed,#1d4ed8)}.result-hero.solo{background:linear-gradient(150deg,#1d4ed8,#7c3aed)}.result-hero .r-emoji{font-size:64px;animation:trophy .9s var(--ease-spring)}.result-hero h1{font-size:34px;font-weight:900;letter-spacing:.04em;animation:result-title .6s var(--ease-spring)}.result-hero p{opacity:.9;margin-top:4px}.gain-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.gain{background:#ffffff24;border-radius:var(--r);padding:10px 4px}.gain b{display:block;font-size:var(--fs-lg)}.gain span{font-size:11px;opacity:.85;font-weight:700}.rank-up{margin-top:12px;padding:14px;border-radius:var(--r-lg);background:linear-gradient(135deg,#fde68a,#f59e0b);color:#451a03;text-align:center;font-weight:800;animation:rank-up 1s var(--ease-spring)}.rank-up .ru-icon{font-size:44px;display:block;animation:trophy 1s var(--ease-spring)}.confetti-canvas{position:fixed;inset:0;pointer-events:none;z-index:90}.lb-row{display:flex;align-items:center;gap:12px;padding:10px 2px;border-bottom:1px solid var(--border)}.lb-row .rank{width:32px;text-align:center;font-weight:900;color:var(--text-3)}.lb-row.me{background:var(--primary-soft);border-radius:var(--r);padding-inline:8px;margin-inline:-8px}.podium{display:grid;grid-template-columns:1fr 1.15fr 1fr;align-items:end;gap:8px;margin:6px 0 12px}.podium .p{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px 6px 10px;display:flex;flex-direction:column;align-items:center;gap:4px}.podium .p.first{padding-top:18px;border-color:#eab30866;box-shadow:0 8px 22px #eab30826}.podium .p .medal{font-size:24px}.league-card{display:flex;align-items:center;gap:14px}.league-card .l-icon{font-size:44px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.15))}.profile-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:8px 0 4px}.uid-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:99px;background:var(--surface-2);font-family:ui-monospace,SF Mono,Menlo,monospace;font-weight:700;font-size:var(--fs-sm);border:1px dashed var(--border-strong)}.badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}.badge-tile{text-align:center;padding:10px 6px;border-radius:var(--r);background:var(--surface-2);font-size:11px;font-weight:700}.badge-tile .b-icon{font-size:26px;display:block}.badge-tile.locked{opacity:.45;filter:grayscale(1)}.qr-box{background:#fff;padding:14px;border-radius:var(--r-lg);width:fit-content;margin:0 auto;box-shadow:var(--shadow)}.qr-box canvas,.qr-box img{width:220px;height:220px}.scanner-video{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r-lg);background:#000}.scanner-frame{position:relative}.scanner-frame:after{content:"";position:absolute;inset:18%;border:3px solid #fff;border-radius:18px;box-shadow:0 0 0 999px #00000059}.welcome{min-height:100dvh;display:flex;flex-direction:column;padding:calc(24px + env(safe-area-inset-top)) 20px calc(20px + env(safe-area-inset-bottom));max-width:460px;margin:0 auto}.welcome-art{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;min-height:280px}.welcome-art img{width:108px;height:108px;border-radius:28px;box-shadow:var(--shadow-primary);animation:float 4s ease-in-out infinite}.welcome-art h1{font-size:30px;font-weight:900;letter-spacing:.02em}.welcome-art h1 span{color:var(--primary)}.welcome-features{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:6px}.divider{display:flex;align-items:center;gap:10px;color:var(--text-3);font-size:var(--fs-xs);font-weight:700;margin:6px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border)}.google-btn{background:var(--surface);border-color:var(--border-strong)}.splash{position:fixed;inset:0;display:grid;place-items:center;background:linear-gradient(160deg,#1d4ed8,#1e3a8a);z-index:200}.splash img{width:96px;height:96px;border-radius:26px;animation:pulse-scale 1.2s ease-in-out infinite}.tutorial-step{text-align:center;padding:10px 4px}.tutorial-step .t-art{font-size:64px;margin-bottom:8px}.dots{display:flex;justify-content:center;gap:6px;margin:14px 0}.dots i{width:8px;height:8px;border-radius:99px;background:var(--surface-3);transition:width var(--dur)}.dots i.on{width:22px;background:var(--primary)}.legal{font-family:var(--font)}.legal h2{margin:20px 0 8px}.legal p,.legal li{color:var(--text-2);line-height:1.6;margin-bottom:8px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{transform:translate(100%)}}@keyframes fade-in{0%{opacity:0}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}}@keyframes pop-in{0%{opacity:0;transform:scale(.92)}}@keyframes sheet-in{0%{transform:translateY(40px);opacity:0}}@keyframes toast-in{0%{opacity:0;transform:translateY(-14px) scale(.96)}}@keyframes pulse{0%{box-shadow:0 0 #4ade80b3}70%{box-shadow:0 0 0 8px #4ade8000}to{box-shadow:0 0 #4ade8000}}@keyframes glow{50%{box-shadow:0 0 0 4px var(--primary-soft)}}@keyframes ripple{0%{transform:scale(.4);opacity:.7}to{transform:scale(1.15);opacity:0}}@keyframes vs-pop{0%{transform:scale(2.4);opacity:0}to{transform:scale(1);opacity:1}}@keyframes slide-in-left{0%{transform:translate(-60px);opacity:0}}@keyframes slide-in-right{0%{transform:translate(60px);opacity:0}}@keyframes count-pop{0%{transform:scale(1.4);opacity:0}25%{transform:scale(1);opacity:1}85%{opacity:1}to{transform:scale(.8);opacity:0}}@keyframes q-in{0%{opacity:0;transform:translateY(14px) scale(.98)}}@keyframes opt-in{0%{opacity:0;transform:translateY(10px)}}@keyframes correct-pop{0%{transform:scale(1)}40%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes shake-x{20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}@keyframes combo-float{0%{opacity:0;transform:translate(-50%,20px) scale(.6)}25%{opacity:1;transform:translate(-50%) scale(1.08)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-40px) scale(1)}}@keyframes points-up{0%{opacity:0;transform:translateY(6px)}30%{opacity:1}to{opacity:0;transform:translateY(-26px)}}@keyframes trophy{0%{transform:scale(0) rotate(-30deg)}to{transform:scale(1) rotate(0)}}@keyframes result-title{0%{transform:scale(1.6);opacity:0}to{transform:scale(1);opacity:1}}@keyframes rank-up{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.05);opacity:1}to{transform:scale(1)}}@keyframes float{50%{transform:translateY(-8px)}}@keyframes pulse-scale{50%{transform:scale(1.08)}}@keyframes blink{50%{opacity:.3}}::view-transition-old(root),::view-transition-new(root){animation-duration:.18s;animation-timing-function:var(--ease)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}:root.reduce-motion *,:root.reduce-motion *:before,:root.reduce-motion *:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}@media(min-width:900px){.topbar .brand{display:none}}@media(max-width:380px){.topbar .brand .hide-desktop{display:none}}
