@import"https://fonts.googleapis.com/css2?family=Russo+One&family=Oswald:wght@500;600;700&family=Inter:wght@400;500;700;900&display=swap";:root{--c-bg: #f4ead5;--c-surface: #efe1c5;--c-card: #efe1c5;--c-border: rgba(14, 12, 18, .2);--c-accent: #c41e3a;--c-accent2: #c4884c;--c-text: #0e0c12;--c-muted: rgba(14, 12, 18, .55);--c-error: #8a0f24;--r-sm: 2px;--r-md: 2px;--r-lg: 2px;--r-xl: 2px;--c-cat-math: #c41e3a;--c-cat-russian: #c4884c;--c-cat-battles: #0e0c12;--c-cat-math-glow: rgba(196, 30, 58, .18);--c-cat-russian-glow: rgba(196, 136, 76, .18);--c-cat-battles-glow: rgba(14, 12, 18, .18)}.theme-study{--c-bg: #17100a;--c-surface: #241a10;--c-card: #241a10;--c-border: rgba(201, 162, 90, .3);--c-accent: #d83b46;--c-accent2: #e0a44a;--c-text: #f0e3c6;--c-muted: rgba(240, 227, 198, .58);--c-error: #e0584a;--c-cat-math: #d83b46;--c-cat-russian: #e0a44a;--c-cat-battles: #f0e3c6;background:var(--c-bg);color:var(--c-text);min-height:100vh;min-height:100dvh}*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;height:100dvh}body{margin:0;background:var(--c-bg);color:var(--c-text);-webkit-font-smoothing:antialiased}#root{width:100%;max-width:none;margin:0;padding:0;text-align:center}.App{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:var(--c-text);background-color:var(--c-bg);min-height:100vh;min-height:100dvh;width:100%}button{font-family:inherit;padding:10px 16px;font-size:16px;background:var(--c-card);color:var(--c-text);border:1px solid var(--c-border);border-radius:var(--r-md);cursor:pointer}button:disabled{opacity:.6}input{font-family:inherit;background:var(--c-surface);color:var(--c-text)}.screen{animation:screenIn .24s cubic-bezier(.22,1,.36,1) both}@keyframes screenIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.init-screen{min-height:100vh;min-height:100dvh;background:var(--c-bg);display:flex;align-items:center;justify-content:center}.init-spinner{width:38px;height:38px;border:3px solid var(--c-border);border-top-color:var(--c-accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.splash{min-height:100vh;min-height:100dvh;background:var(--c-bg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 24px 48px;text-align:center;position:relative;overflow:hidden}.splash:before{content:"";position:absolute;top:-10%;left:50%;transform:translate(-50%);width:160%;height:60%;background:radial-gradient(ellipse at center,rgba(196,30,58,.12) 0%,transparent 70%);pointer-events:none}.splash-logo{font-size:clamp(36px,11vw,72px);font-weight:900;letter-spacing:-1px;color:var(--c-accent);line-height:1;animation:logoIn .56s cubic-bezier(.22,1,.36,1) both;position:relative;max-width:100%;word-break:keep-all;overflow-wrap:normal;white-space:nowrap}@media (max-width: 380px){.splash-logo{font-size:clamp(32px,9.5vw,44px);letter-spacing:-.5px}}@keyframes logoIn{0%{opacity:0;transform:scale(.78)}to{opacity:1;transform:scale(1)}}.splash-sub{margin-top:4px;font-size:13px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--c-muted);animation:fadeUp .56s .1s cubic-bezier(.22,1,.36,1) both}.splash-tagline{margin-top:20px;color:var(--c-muted);font-size:16px;max-width:300px;line-height:1.45;animation:fadeUp .56s .18s cubic-bezier(.22,1,.36,1) both}.splash-features{display:flex;flex-direction:column;gap:8px;margin-top:28px;max-width:100%;width:min(420px,100%);animation:fadeUp .56s .24s cubic-bezier(.22,1,.36,1) both}.splash-feat{font-size:14px;color:var(--c-muted);display:flex;align-items:center;justify-content:center;gap:6px;max-width:100%;overflow-wrap:break-word;word-break:normal;text-align:center}@media (max-width: 380px){.splash-feat{font-size:13px}}.splash-partner{margin-top:20px;padding:12px 14px;border-radius:var(--r-md, 12px);border:1px solid var(--c-border);background:var(--c-surface);max-width:min(420px,92vw);animation:fadeUp .56s .26s cubic-bezier(.22,1,.36,1) both}.splash-partner-title{font-size:13px;font-weight:700;color:var(--c-text);margin-bottom:4px}.splash-partner-text{font-size:13px;line-height:1.45;color:var(--c-muted)}.splash-actions{display:flex;flex-direction:column;gap:10px;width:min(400px,92vw);margin-top:52px;animation:fadeUp .56s .28s cubic-bezier(.22,1,.36,1) both}.splash-btn-primary{width:100%;padding:17px;border-radius:var(--r-lg);border:none;background:var(--c-accent);color:#f4ead5;font-weight:900;font-size:16px;cursor:pointer;transition:opacity .12s,transform .12s}.splash-btn-primary:active{opacity:.88;transform:scale(.98)}.splash-btn-secondary{width:100%;padding:17px;border-radius:var(--r-lg);border:1.5px solid var(--c-border);background:transparent;color:var(--c-text);font-weight:700;font-size:16px;cursor:pointer;transition:border-color .14s,transform .12s}.splash-btn-secondary:hover{border-color:#0e0c1266}.splash-btn-secondary:active{transform:scale(.98)}.splash-guest{background:transparent;border:none;color:var(--c-muted);font-size:13px;cursor:pointer;padding:6px 10px;text-decoration:underline;text-underline-offset:3px;margin-top:14px;animation:fadeUp .56s .36s cubic-bezier(.22,1,.36,1) both}.splash-guest:hover{color:var(--c-text)}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%) translateY(-10px)}15%{opacity:1;transform:translate(-50%) translateY(0)}80%{opacity:1}to{opacity:0}}.auth-screen{min-height:100vh;min-height:100dvh;background:var(--c-bg);color:var(--c-text);display:flex;flex-direction:column;padding:0 20px 48px}.auth-header{display:flex;align-items:center;padding:16px 0 12px;gap:14px}.auth-back{background:transparent;border:none;color:var(--c-muted);font-size:15px;padding:4px 0;cursor:pointer;flex-shrink:0;transition:color .12s}.auth-back:hover{color:var(--c-text)}.auth-tabs{display:flex;flex:1;background:var(--c-surface);border-radius:12px;padding:3px;gap:2px}.auth-tab{flex:1;padding:9px 8px;border-radius:10px;border:none;background:transparent;color:var(--c-muted);font-weight:700;font-size:14px;cursor:pointer;transition:background .18s,color .18s}.auth-tab.active{background:var(--c-text);color:#f4ead5}.auth-logo{text-align:center;margin:20px 0 40px}.auth-logo-text{font-size:clamp(32px,10vw,42px);font-weight:900;color:var(--c-accent);letter-spacing:-1px;line-height:1}.auth-logo-sub{margin-top:8px;color:var(--c-muted);font-size:14px}.auth-form{display:flex;flex-direction:column;gap:12px;max-width:440px;width:100%;margin:0 auto}.auth-input{width:100%;padding:15px 16px;border-radius:var(--r-md);border:1.5px solid var(--c-border);background:var(--c-surface);color:var(--c-text);font-size:15px;outline:none;transition:border-color .16s}.auth-input:focus{border-color:var(--c-accent)}.auth-input::placeholder{color:#0e0c1259}.auth-error{color:var(--c-error);font-size:13px;text-align:center;padding:9px 14px;background:#c41e3a1a;border-radius:var(--r-sm)}.auth-submit{width:100%;padding:16px;border-radius:var(--r-lg);border:none;background:var(--c-accent);color:#f4ead5;font-weight:900;font-size:16px;cursor:pointer;transition:opacity .12s,transform .12s;margin-top:4px}.auth-submit:disabled{opacity:.6}.auth-submit:active:not(:disabled){transform:scale(.98)}.auth-switch{text-align:center;margin-top:22px;color:var(--c-muted);font-size:13px;max-width:440px;width:100%;margin-left:auto;margin-right:auto}.auth-switch button{background:transparent;border:none;color:var(--c-accent);font-size:13px;cursor:pointer;padding:0;font-weight:700}.account-screen{min-height:100vh;min-height:100dvh;background:var(--c-bg);color:var(--c-text);padding:0 16px 48px;display:flex;flex-direction:column}.account-header{display:flex;align-items:center;justify-content:space-between;padding:16px 0 20px}.account-hero{display:flex;flex-direction:column;align-items:center;padding:4px 0 24px;gap:10px}.account-avatar{width:72px;height:72px;border-radius:50%;border:2px solid var(--c-border);object-fit:cover;object-position:50% 18%}.account-avatar-placeholder{width:72px;height:72px;border-radius:50%;background:var(--c-surface);border:2px solid var(--c-border);display:flex;align-items:center;justify-content:center;font-size:28px}.account-name{font-weight:900;font-size:20px}.account-handle{color:var(--c-muted);font-size:13px;margin-top:-4px}.account-coins-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:99px;font-weight:700;font-size:14px;color:var(--c-accent)}.account-section{border:1px solid var(--c-border);background:var(--c-card);border-radius:var(--r-lg);padding:4px 0;margin-bottom:12px}.account-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--c-muted);padding:10px 16px 6px}.account-row{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;gap:12px;background:transparent;border:none;color:var(--c-text);font-size:15px;font-weight:600;width:100%;text-align:left;cursor:pointer;transition:background .12s;border-radius:0}.account-row:hover{background:#0e0c120d}.account-row:active{background:#0e0c1212}.account-row+.account-row{border-top:1px solid var(--c-border)}.account-row-danger{color:var(--c-error)}.account-row-accent{color:var(--c-accent)}.account-row-chevron{color:var(--c-muted);font-size:13px;flex-shrink:0}.account-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--c-border);border-radius:var(--r-md);overflow:hidden;margin-bottom:12px;animation:fadeUp .38s 60ms cubic-bezier(.22,1,.36,1) both}.account-stat-cell{background:var(--c-card);padding:14px 8px;text-align:center}.account-stat-value{font-size:22px;font-weight:900;line-height:1}.account-stat-label{font-size:10px;color:var(--c-muted);margin-top:4px;text-transform:uppercase;letter-spacing:.5px}.account-version{text-align:center;color:var(--c-muted);font-size:11px;margin-top:auto;padding-top:24px}.account-daily-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:4px}.account-streak-badge,.account-battles-badge{font-size:12px;font-weight:700;padding:4px 10px;border-radius:20px;background:var(--c-surface);border:1px solid var(--c-border);color:var(--c-text)}@keyframes streakBounce{0%{transform:scale(.8);opacity:0}60%{transform:scale(1.12);opacity:1}80%{transform:scale(.96)}to{transform:scale(1)}}.account-streak-badge{animation:streakBounce .5s .12s cubic-bezier(.22,1,.36,1) both;border-color:#c4884c66}.account-section:nth-of-type(1){animation:fadeUp .38s .12s cubic-bezier(.22,1,.36,1) both}.account-section:nth-of-type(2){animation:fadeUp .38s .2s cubic-bezier(.22,1,.36,1) both}.account-section:nth-of-type(3){animation:fadeUp .38s .28s cubic-bezier(.22,1,.36,1) both}.account-section:nth-of-type(4){animation:fadeUp .38s .36s cubic-bezier(.22,1,.36,1) both}.battles{min-height:100vh;min-height:100dvh;background:var(--c-bg);color:var(--c-text);padding:56px 16px 48px;display:flex;flex-direction:column;gap:14px}.battles-header{display:flex;align-items:center;gap:12px;margin-bottom:4px}.battles-title{font-size:22px;font-weight:900;flex:1}.battles-back{background:transparent;border:none;color:var(--c-muted);font-size:15px;padding:4px 0;cursor:pointer;transition:color .12s}.battles-back:hover{color:var(--c-text)}.battles-tabs{display:flex;background:var(--c-surface);border-radius:12px;padding:3px;gap:2px}.battles-tab{flex:1;padding:9px 8px;border-radius:10px;border:none;background:transparent;color:var(--c-muted);font-weight:700;font-size:14px;cursor:pointer;transition:background .18s,color .18s}.battles-tab.active{background:var(--c-card);color:var(--c-text)}.battles-stakes{display:flex;gap:10px;flex-wrap:wrap}.battles-stake-btn{flex:1;min-width:80px;padding:14px 10px;border-radius:var(--r-md);border:1.5px solid var(--c-border);background:var(--c-card);color:var(--c-text);font-weight:900;font-size:15px;cursor:pointer;transition:border-color .14s,transform .12s,background .14s;text-align:center}.battles-stake-btn:hover{border-color:var(--c-accent);background:#0e0c120d}.battles-stake-btn:active{transform:scale(.97)}.battles-room-row{display:flex;gap:8px;align-items:center}.battles-code-input{flex:1;padding:12px 14px;border-radius:var(--r-md);border:1.5px solid var(--c-border);background:var(--c-surface);color:var(--c-text);font-size:15px;outline:none;transition:border-color .16s}.battles-code-input:focus{border-color:var(--c-accent)}.battles-code-input::placeholder{color:#0e0c1259}.battles-join-btn{padding:12px 18px;border-radius:var(--r-md);border:none;background:var(--c-accent);color:#f4ead5;font-weight:900;font-size:14px;cursor:pointer;white-space:nowrap;transition:opacity .12s,transform .12s}.battles-join-btn:active{transform:scale(.97)}.battles-invite-tag{padding:8px 14px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);font-size:13px;color:var(--c-muted)}.battles-invite-tag b{color:var(--c-accent)}.battles-card{background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:16px}.battles-card-title{font-weight:900;font-size:16px;margin-bottom:8px}.battles-info-row{color:var(--c-muted);font-size:14px;margin-top:4px}.battles-hud{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-md)}.battles-timer{font-size:18px;font-weight:900;color:var(--c-accent2)}.battles-score{font-size:20px;font-weight:900;color:var(--c-accent)}.battles-board{background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-md);padding:12px}.battles-board-title{font-weight:900;font-size:13px;color:var(--c-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.battles-board-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-size:14px;gap:8px}.battles-board-row+.battles-board-row{border-top:1px solid var(--c-border)}.battles-board-row-left{display:flex;align-items:center;gap:8px}.battles-board-score{font-weight:900;color:var(--c-accent)}.battles-task{background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:24px 16px;text-align:center}.battles-task-expr{font-size:36px;font-weight:900;letter-spacing:-1px;color:var(--c-text)}.battles-task-loading{font-size:14px;color:var(--c-muted)}.battles-answer-row{display:flex;gap:8px}.battles-answer-input{flex:1;padding:14px 16px;border-radius:var(--r-md);border:1.5px solid var(--c-border);background:var(--c-surface);color:var(--c-text);font-size:20px;font-weight:900;outline:none;transition:border-color .16s;text-align:center}.battles-answer-input:focus{border-color:var(--c-accent)}.battles-submit-btn{padding:14px 22px;border-radius:var(--r-md);border:none;background:var(--c-accent);color:#f4ead5;font-weight:900;font-size:18px;cursor:pointer;transition:opacity .12s,transform .12s}.battles-submit-btn:active{transform:scale(.97)}.battles-msg{text-align:center;font-size:22px;font-weight:900;min-height:28px;color:var(--c-accent)}.battles-result-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.battles-result-btn{flex:1;padding:13px;border-radius:var(--r-md);border:1.5px solid var(--c-border);background:var(--c-card);color:var(--c-text);font-weight:700;font-size:14px;cursor:pointer;transition:border-color .14s,transform .12s}.battles-result-btn:hover{border-color:var(--c-accent)}.battles-result-btn:active{transform:scale(.97)}.battles-result-btn-primary{background:var(--c-accent);color:#f4ead5;border-color:transparent}.battles-win{color:#2f7d4f;font-weight:900;font-size:18px}.battles-lose{color:var(--c-error);font-weight:900;font-size:18px}.battles-tie{color:var(--c-accent);font-weight:900;font-size:18px}.battles-locked{padding:32px 16px;text-align:center}.battles-locked-title{font-size:20px;font-weight:900;margin-bottom:10px}.battles-locked-sub{color:var(--c-muted);font-size:15px}.battles-top10-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-card)}.battles-inspect-btn{padding:6px 12px;border-radius:99px;border:1px solid var(--c-border);background:transparent;color:var(--c-muted);font-size:12px;cursor:pointer;white-space:nowrap;transition:border-color .12s,color .12s}.battles-inspect-btn:hover{border-color:var(--c-accent);color:var(--c-accent)}.battles-inspect-card{padding:12px;border-radius:var(--r-md);border:1px solid var(--c-border);background:var(--c-surface);margin-top:8px;font-size:14px}@keyframes paywallIn{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes lockShake{0%,to{transform:rotate(0)}20%{transform:rotate(-12deg)}40%{transform:rotate(10deg)}60%{transform:rotate(-8deg)}80%{transform:rotate(6deg)}}.battles-paywall{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 20px;background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-lg);text-align:center;animation:paywallIn .34s cubic-bezier(.22,1,.36,1) both}.battles-paywall-icon{font-size:36px;line-height:1;animation:lockShake .5s .34s cubic-bezier(.22,1,.36,1) both;display:inline-block}.battles-paywall-title{font-weight:900;font-size:18px}.battles-paywall-sub{font-size:14px;color:var(--c-muted);font-variant-numeric:tabular-nums}.battles-paywall-desc{font-size:13px;color:var(--c-muted);line-height:1.5;max-width:240px}@keyframes paywallBtnPulse{0%,to{box-shadow:0 0 #c41e3a00}50%{box-shadow:0 0 0 6px #c41e3a2e}}.battles-paywall-btn{margin-top:6px;background:var(--c-accent);color:#f4ead5;border:none;border-radius:var(--r-md);padding:12px 28px;font-weight:900;font-size:15px;cursor:pointer;width:100%;max-width:240px;transition:opacity .12s,transform .12s;animation:paywallBtnPulse 2s .9s ease-in-out infinite}.battles-paywall-btn:hover{opacity:.88;transform:scale(1.02)}.battles-paywall-btn:active{transform:scale(.97)}.battles-paywall-dismiss{background:transparent;border:none;color:var(--c-muted);font-size:13px;cursor:pointer;text-decoration:underline}.account-league-widget{display:flex;flex-direction:column;gap:8px;padding:14px 16px;background:var(--c-surface);border-radius:var(--r-md);border:1px solid var(--c-border)}.account-league-badge{display:flex;align-items:center;gap:10px}.account-league-emoji{font-size:28px;line-height:1}.account-league-name{font-size:20px;font-weight:900;color:var(--c-text)}.account-league-meta{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--c-muted);flex-wrap:wrap}.account-league-sep{opacity:.4}.account-league-season{font-size:11px;opacity:.5}.account-referral-block{display:flex;flex-direction:column;gap:10px}.account-referral-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--c-surface);border-radius:var(--r-md);border:1px solid var(--c-border)}.account-referral-label{font-size:13px;color:var(--c-muted)}.account-referral-code{font-family:monospace;font-size:18px;font-weight:900;letter-spacing:.1em;color:var(--c-accent)}.account-referral-copy{background:#c4884c1f;border:1px solid rgba(196,136,76,.25);color:var(--c-accent);border-radius:var(--r-md);padding:10px 16px;font-size:14px;font-weight:700;cursor:pointer;transition:background .15s;text-align:center}.account-referral-copy:hover{background:#c4884c33}.account-referral-stats{display:flex;gap:12px}.account-referral-stat{flex:1;display:flex;flex-direction:column;align-items:center;padding:10px 8px;background:var(--c-surface);border-radius:var(--r-md);border:1px solid var(--c-border);gap:4px}.account-referral-stat-value{font-size:16px;font-weight:900}.account-referral-stat-label{font-size:11px;color:var(--c-muted);text-align:center}.account-referral-hint{font-size:12px;color:var(--c-muted);text-align:center}.task-screen{background:var(--c-bg);color:var(--c-text);padding:16px;min-height:100vh;min-height:100dvh;box-sizing:border-box;animation:screenIn .24s cubic-bezier(.22,1,.36,1) both}.task-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:10px}.task-back{background:transparent;border:1px solid var(--c-border);color:var(--c-text);font-size:14px;padding:8px 14px;border-radius:var(--r-md);cursor:pointer;transition:background .15s,border-color .15s}.task-back:hover{background:#0e0c120d;border-color:#0e0c124d}.task-level{font-size:13px;color:var(--c-muted)}.task-level--btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:1px solid var(--c-border);border-radius:999px;color:var(--c-muted);font-weight:600;cursor:pointer;font-variant-numeric:tabular-nums;transition:background .14s,color .14s,border-color .14s}.task-level--btn:hover{color:var(--c-text);border-color:#0e0c124d;background:#0e0c120d}.task-level--btn:active{transform:scale(.98)}.task-title{margin:0 0 8px;font-weight:800;font-size:20px;color:var(--c-text)}.task-subtitle{font-size:13px;color:var(--c-muted);margin-bottom:10px}.task-question{font-size:32px;font-weight:800;margin-bottom:16px;text-align:center;color:var(--c-text);transition:color .15s}.task-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);padding:14px;text-align:left;line-height:1.5;font-size:15px;color:var(--c-text);transition:background .15s,border-color .15s}.task-input{width:100%;padding:14px;border-radius:var(--r-md);border:2px solid var(--c-border);background:var(--c-surface);color:var(--c-text);font-size:20px;box-sizing:border-box;outline:none;transition:border-color .2s,background .2s,color .2s}.task-input:focus{border-color:var(--c-accent)}.task-input--error{border:2px solid var(--c-error);background:#c41e3a14;color:var(--c-error)}.task-submitBtn{margin-top:10px;width:100%;background:var(--c-accent);color:#f4ead5;border:none;border-radius:var(--r-md);font-weight:800;padding:14px 0;font-size:16px;cursor:pointer;transition:opacity .15s,transform .15s}.task-submitBtn:hover{opacity:.92}.task-submitBtn:active{transform:scale(.98)}.task-submitBtn:disabled{background:var(--c-card);color:var(--c-text-dim, rgba(14,12,18,.45));cursor:default;opacity:1}.task-submitBtn:disabled:hover{opacity:1}.task-submitBtn:disabled:active{transform:none}.task-optionBtn{width:100%;padding:14px;background:var(--c-surface);color:var(--c-text);border:1px solid var(--c-border);border-radius:var(--r-md);margin:0;font-weight:700;font-size:16px;cursor:pointer;transition:background .15s,border-color .15s,transform .12s}.task-optionBtn:hover:not(:disabled){border-color:var(--c-accent);background:var(--c-card)}.task-optionBtn:active:not(:disabled){transform:scale(.98)}.task-optionBtn:disabled{opacity:.6;cursor:default}.task-options{display:flex;flex-direction:column;gap:10px}.task-streakBar{display:flex;gap:5px;margin-bottom:12px}.task-streakDot{flex:1;height:5px;border-radius:3px;background:var(--c-border);transition:background .2s}.task-streakDot--filled{background:var(--c-accent)}.task-progressBar{flex:1;height:4px;background:var(--c-border);border-radius:2px;overflow:hidden}.task-progressBar-fill{height:100%;background:var(--c-accent);border-radius:2px;transition:width .3s ease}.task-levelUp{text-align:center;font-size:22px;font-weight:800;color:var(--c-accent);margin-bottom:10px}.task-errorHint{margin-top:10px;color:var(--c-error);font-weight:600;text-align:center}.task-feedback{margin-top:10px;min-height:22px;text-align:center;font-size:15px;color:var(--c-text)}.task-hint{margin-top:12px;opacity:.75;font-size:13px;color:var(--c-muted);text-align:center}.task-toast{position:fixed;top:60px;left:50%;transform:translate(-50%);background:var(--c-accent);color:#f4ead5;padding:10px 22px;border-radius:var(--r-md);font-weight:800;font-size:15px;z-index:9999;box-shadow:0 4px 20px #0e0c122e;animation:fadeInOut 2.5s ease}@keyframes taskShake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(4px)}}@keyframes taskPulseGlow{0%,to{box-shadow:0 0 0 0 var(--c-accent)}50%{box-shadow:0 0 0 4px #c41e3a4d}}@keyframes taskBouncePop{0%{transform:scale(.6);opacity:0}50%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.task-input--shake{animation:taskShake .36s cubic-bezier(.36,.07,.19,.97)}.task-submitBtn--pulse{animation:taskPulseGlow .48s ease-out}.task-levelUp--bounce{animation:taskBouncePop .52s cubic-bezier(.22,1,.36,1)}@media (prefers-reduced-motion: reduce){.task-input--shake,.task-submitBtn--pulse,.task-levelUp--bounce{animation:none!important}}.reward-effect-root{position:fixed;inset:0;pointer-events:none;z-index:9999;overflow:hidden}.reward-effect-coin{position:fixed;width:28px;height:28px;border-radius:50%;background:var(--c-accent, #c4884c);color:#f4ead5;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;line-height:1;box-shadow:0 0 0 2px #c4884c8c,0 6px 16px #0e0c122e,inset 0 -3px #0e0c122e;transform:translate(-50%,-50%);pointer-events:none;will-change:transform,opacity;user-select:none}.skeleton{display:inline-block;vertical-align:middle;background:var(--c-surface);background-image:linear-gradient(90deg,var(--c-surface) 0%,rgba(14,12,18,.05) 50%,var(--c-surface) 100%);background-size:200% 100%;background-repeat:no-repeat;animation:skeletonShimmer 1.4s ease-in-out infinite;border:1px solid var(--c-border)}@keyframes skeletonShimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}.page-skeleton{position:fixed;inset:0;background:var(--c-bg);color:var(--c-text);display:flex;flex-direction:column;padding:18px 16px;box-sizing:border-box;z-index:1}.page-skeleton__topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:28px}.page-skeleton__topbar-right{display:flex;align-items:center;gap:10px}.page-skeleton__body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:0 8px}.page-skeleton__card{width:100%;max-width:420px}.ctv-theme{--ctv-paper: #f4ead5;--ctv-paper-warm: #efe1c5;--ctv-paper-shadow: #d9c9a4;--ctv-ink: #0e0c12;--ctv-ink-soft: #2a2520;--ctv-carmine: #c41e3a;--ctv-carmine-dark: #8a0f24;--ctv-ochre: #c4884c;--ctv-rust: #7a2418;--ctv-muted: rgba(14, 12, 18, .55);--ctv-grain: rgba(14, 12, 18, .08);--ctv-font-display: "Russo One", "Oswald", "Bebas Neue", system-ui, sans-serif;--ctv-font-sub: "Oswald", "Inter", system-ui, sans-serif;--ctv-font-body: "Inter", system-ui, sans-serif;--ctv-radius-none: 0;--ctv-radius-cut: 2px;--ctv-transition: .14s ease-out;background-color:var(--ctv-paper);color:var(--ctv-ink);font-family:var(--ctv-font-body);min-height:100vh;position:relative;overflow-x:hidden}.ctv-theme:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(ellipse at 20% 30%,rgba(122,36,24,.06) 0%,transparent 50%),radial-gradient(ellipse at 80% 70%,rgba(196,136,76,.08) 0%,transparent 60%),radial-gradient(circle at 50% 50%,transparent 0%,rgba(14,12,18,.04) 100%),url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.05 0 0 0 0 0.04 0 0 0 0 0.07 0 0 0 0.12 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:100% 100%,100% 100%,100% 100%,240px 240px;z-index:0}.ctv-theme>*{position:relative;z-index:1}.ctv-heading-display{font-family:var(--ctv-font-display);font-weight:400;font-size:clamp(2rem,8vw,3rem);letter-spacing:-.01em;line-height:.9;text-transform:uppercase;color:var(--ctv-ink);margin:0}.ctv-heading-section{font-family:var(--ctv-font-sub);font-weight:700;font-size:1rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ctv-ink);margin:0}.ctv-text-body{font-family:var(--ctv-font-body);font-weight:400;font-size:.92rem;line-height:1.5;color:var(--ctv-ink-soft)}.ctv-text-meta{font-family:var(--ctv-font-sub);font-weight:500;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ctv-muted)}.ctv-text-number{font-family:var(--ctv-font-display);font-weight:400;font-size:1.85rem;line-height:1;color:var(--ctv-carmine)}.ctv-btn{font-family:var(--ctv-font-sub);font-weight:700;font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;padding:14px 22px;border:none;border-radius:var(--ctv-radius-cut);cursor:pointer;transition:transform var(--ctv-transition),background var(--ctv-transition);display:inline-flex;align-items:center;justify-content:space-between;gap:12px;position:relative}.ctv-btn:active{transform:translateY(1px)}.ctv-btn:disabled{opacity:.5;cursor:not-allowed}.ctv-btn-primary{background:var(--ctv-carmine);color:var(--ctv-paper);clip-path:polygon(0 0,100% 0,calc(100% - 12px) 100%,0 100%);padding-right:32px}.ctv-btn-primary:hover{background:var(--ctv-carmine-dark)}.ctv-btn-ghost{background:transparent;color:var(--ctv-ink);border:1.5px solid var(--ctv-ink)}.ctv-btn-ghost:hover{background:var(--ctv-ink);color:var(--ctv-paper)}.ctv-btn-danger{background:transparent;color:var(--ctv-carmine);border:1.5px solid var(--ctv-carmine)}.ctv-btn-danger:hover{background:var(--ctv-carmine);color:var(--ctv-paper)}.ctv-btn-compact{padding:8px 14px;font-size:.7rem;letter-spacing:.18em}.ctv-card{background:var(--ctv-paper-warm);border:1.5px solid var(--ctv-ink);padding:18px 16px;position:relative;border-radius:var(--ctv-radius-cut)}.ctv-card-dark{background:var(--ctv-ink);color:var(--ctv-paper);padding:18px 16px;position:relative;border-radius:var(--ctv-radius-cut)}.ctv-card-accent{background:var(--ctv-carmine);color:var(--ctv-paper);padding:18px 16px;border-radius:var(--ctv-radius-cut);position:relative;overflow:hidden}.ctv-diagonal-red{position:absolute;background:var(--ctv-carmine);pointer-events:none}.ctv-diagonal-black{position:absolute;background:var(--ctv-ink);pointer-events:none}.ctv-circle-sun{position:absolute;background:var(--ctv-carmine);border-radius:50%;pointer-events:none}.ctv-halftone{position:absolute;pointer-events:none;background-image:radial-gradient(circle,var(--ctv-ink) 1px,transparent 1.5px);background-size:6px 6px}.ctv-input{width:100%;padding:12px 14px;border:1.5px solid var(--ctv-ink);background:var(--ctv-paper);color:var(--ctv-ink);font-family:var(--ctv-font-body);font-size:1rem;border-radius:var(--ctv-radius-cut);box-sizing:border-box}.ctv-input:focus{outline:2px solid var(--ctv-carmine);outline-offset:-2px;border-color:var(--ctv-carmine)}.ctv-input::placeholder{color:var(--ctv-muted)}.ctv-divider{height:4px;background:var(--ctv-carmine);margin:24px 0;transform:skewY(-1.5deg);transform-origin:left}.ctv-divider-thin{height:1.5px;background:var(--ctv-ink);margin:14px 0}.ctv-stamp{display:inline-flex;align-items:center;gap:6px;font-family:var(--ctv-font-sub);font-weight:700;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;padding:4px 10px;background:var(--ctv-ink);color:var(--ctv-paper);border-radius:var(--ctv-radius-cut)}.ctv-stamp-red{background:var(--ctv-carmine);color:var(--ctv-paper)}.ctv-stamp-ochre{background:var(--ctv-ochre);color:var(--ctv-ink)}.ctv-stamp-outline{background:transparent;color:var(--ctv-ink);border:1.5px solid var(--ctv-ink)}.ctv-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border-bottom:1.5px solid var(--ctv-ink);cursor:pointer;transition:background var(--ctv-transition);background:transparent;border-left:none;border-right:none;border-top:none;width:100%;text-align:left;font-family:var(--ctv-font-body);color:var(--ctv-ink)}.ctv-row:hover{background:#0e0c120a}.ctv-row:last-child{border-bottom:none}.ctv-row-danger{color:var(--ctv-carmine)}.ctv-row-accent{background:var(--ctv-carmine);color:var(--ctv-paper);border-bottom:none;padding:16px 14px;margin-bottom:10px}.ctv-row-accent:hover{background:var(--ctv-carmine-dark)}.ctv-row-label{font-family:var(--ctv-font-sub);font-weight:600;font-size:.88rem;letter-spacing:.1em;text-transform:uppercase}.ctv-row-arrow{font-family:var(--ctv-font-display);color:var(--ctv-carmine);font-size:1.4rem;line-height:1}.ctv-row-accent .ctv-row-arrow{color:var(--ctv-paper)}.ctv-avatar{object-fit:cover;border:2px solid var(--ctv-ink);filter:contrast(1.08) saturate(.9);background:var(--ctv-paper);border-radius:0}.ctv-league-card{display:flex;align-items:center;gap:14px;padding:14px 16px}.ctv-league-emoji{font-size:2rem;line-height:1}.ctv-league-name{font-family:var(--ctv-font-display);font-size:1.4rem;text-transform:uppercase;color:var(--ctv-ink);letter-spacing:-.01em}.ctv-league-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}.ctv-referral-code{font-family:var(--ctv-font-display);font-size:1.5rem;letter-spacing:.08em;color:var(--ctv-carmine);background:var(--ctv-paper);border:1.5px dashed var(--ctv-ink);padding:10px 16px;display:inline-block;border-radius:var(--ctv-radius-cut)}
