:root{--c-bg: #09090f;--c-surface: #14141c;--c-card: #1a1a24;--c-border: rgba(255,255,255,.09);--c-accent: #ffe066;--c-accent2: #ffad33;--c-text: #ffffff;--c-muted: rgba(255,255,255,.48);--c-error: #ff6b6b;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 26px}*,*: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:#23232b;color:#fff;border:1px solid #2a2a35;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 rgba(255,255,255,.1);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(100,60,220,.22) 0%,transparent 70%);pointer-events:none}.splash-logo{font-size:clamp(48px,14vw,72px);font-weight:900;letter-spacing:-2px;color:var(--c-accent);line-height:1;animation:logoIn .56s cubic-bezier(.22,1,.36,1) both;position:relative}@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:#ffffffb8;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;animation:fadeUp .56s .24s cubic-bezier(.22,1,.36,1) both}.splash-feat{font-size:14px;color:#ffffff9e;display:flex;align-items:center;gap:6px}.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:#111;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 rgba(255,255,255,.18);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:#ffffff57}.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:#ffffffb8}@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:#111}.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:#ffffff4d}.auth-error{color:var(--c-error);font-size:13px;text-align:center;padding:9px 14px;background:#ff6b6b1a;border-radius:var(--r-sm)}.auth-submit{width:100%;padding:16px;border-radius:var(--r-lg);border:none;background:var(--c-accent);color:#111;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:#ffffff0a}.account-row:active{background:#ffffff12}.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:#ff8c0066}.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:#1e1e28}.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:#ffffff4d}.battles-join-btn{padding:12px 18px;border-radius:var(--r-md);border:none;background:var(--c-accent);color:#111;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:#ffffffb8;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:#111;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:#111;border-color:transparent}.battles-win{color:#51cf66;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 #ffe06600}50%{box-shadow:0 0 0 6px #ffe0662e}}.battles-paywall-btn{margin-top:6px;background:var(--c-accent);color:#111;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}.pet-hunger{flex:1;height:7px;background:#ffffff1a;border-radius:99px;overflow:hidden}.pet-hunger-fill{height:100%;background:linear-gradient(90deg,var(--c-accent) 0%,var(--c-accent2) 100%);border-radius:99px;transition:width .4s ease}.pet-tap{padding:7px 14px;border-radius:99px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:#fff;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}.account-league-widget{display:flex;flex-direction:column;gap:8px;padding:14px 16px;background:#ffffff0a;border-radius:var(--r-md);border:1px solid rgba(255,255,255,.06)}.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:#ffffff0a;border-radius:var(--r-md);border:1px solid rgba(255,255,255,.06)}.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:#ffdc501f;border:1px solid rgba(255,220,80,.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:#ffdc5033}.account-referral-stats{display:flex;gap:12px}.account-referral-stat{flex:1;display:flex;flex-direction:column;align-items:center;padding:10px 8px;background:#ffffff08;border-radius:var(--r-md);border:1px solid rgba(255,255,255,.05);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}
