:root{--bg-primary:#f0f4ff;--bg-secondary:#fff;--bg-card:#fff;--text-primary:#1a1a2e;--text-secondary:#666;--border:#d0d8e8;--accent:#e74c3c;--accent-light:#fde8e8;--accent-dark:#c0392b;--correct:#27ae60;--correct-light:#d5f5e3;--wrong:#c0392b;--wrong-light:#f5b7b1;--warning:#f39c12;--warning-dark:#d68910;--info:#3498db;--info-dark:#2980b9;--boss:#9b59b6;--orange:#e67e22;--hp-fill:var(--correct);--hp-fill-mid:var(--warning);--hp-fill-low:var(--accent);--star-color:#f1c40f;--focus-ring:#f1c40f;--pill-active:var(--accent);--pill-active-text:#fff;--pill-inactive:#eef2f8;--pill-inactive-text:#555;--pokeball-red:var(--accent);--pokeball-dark:var(--accent-dark);--surface-glass:#ffffffd9;--surface-glass-strong:#ffffffe6;--surface-glass-solid:#fffffff2;--surface-glass-border:#fff6;--surface-glass-border-strong:#fff6;--shadow-glass:0 4px 20px #0000000f;--shadow-glass-lg:0 8px 32px #00000014;--shadow-nav:0 -2px 12px #0000000f;--hp-track:#333;--hp-track-border:#555;--ink-strong:#333;--ink-soft:#555;--chip-gold-bg:#f1c40f26;--caught-banner-bg:#d5f5e3;--caught-banner-bg-end:#abebc6;--caught-banner-text:#1e8449;--grad-cta-a:#e74c3c;--grad-cta-b:#c0392b;--grad-adventure-a:#3498db;--grad-adventure-b:#2980b9;--grad-gold-a:#f1c40f;--grad-gold-b:#e67e22;--grad-boss-a:#9b59b6;--grad-boss-b:#e74c3c;--grad-cta-edge:#96281b;--grad-adventure-edge:#1f618d;--grad-gold-edge:#b9770e;--grad-boss-edge:#6f3690;--edge-gold:#b7950b;--edge-neutral:#b6c2d6;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-pill:999px;--shadow-sm:0 2px 6px #0000000f;--shadow-md:0 4px 20px #00000014;--shadow-lg:0 10px 30px #0000001f;--shadow-accent:0 6px 20px #e74c3c40;--font-xs:12px;--font-sm:13px;--font-md:clamp(14px, 1.6vw, 16px);--font-lg:clamp(16px, 1.9vw, 18px);--font-xl:clamp(18px, 2.3vw, 22px);--font-2xl:clamp(22px, 3vw, 28px);--font-3xl:clamp(28px, 4vw, 40px);--container-sm:520px;--container-md:720px;--container-lg:900px;--tap-min:44px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:Heebo,Segoe UI,Tahoma,Arial,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg-primary:#1a1a2e;--bg-secondary:#16213e;--bg-card:#1e2a4a;--text-primary:#e0e0e0;--text-secondary:#aaa;--border:#2a3a5c;--accent-light:#3a1a1a;--correct-light:#1a3a2a;--wrong-light:#2d1515;--pill-inactive:#2a3a5c;--pill-inactive-text:#ccc;--shadow-sm:0 2px 6px #00000059;--shadow-md:0 4px 20px #0006;--shadow-lg:0 10px 30px #00000080;--warning-dark:#f1c40f;--surface-glass:#1e2a4ad9;--surface-glass-strong:#1e2a4ae6;--surface-glass-solid:#1a1a2ef2;--surface-glass-border:#ffffff14;--surface-glass-border-strong:#ffffff0f;--shadow-glass:0 4px 20px #00000040;--shadow-glass-lg:0 8px 32px #0000004d;--shadow-nav:0 -2px 12px #0000004d;--hp-track:#3d4a68;--hp-track-border:#55648a;--ink-strong:#e0e0e0;--ink-soft:#b0b8c8;--chip-gold-bg:#f1c40f1a;--caught-banner-bg:#1a3a2a;--caught-banner-bg-end:#1e5631;--caught-banner-text:#2ecc71;--grad-cta-a:#cf4436;--grad-cta-b:#a93226;--grad-adventure-a:#2e86c1;--grad-adventure-b:#21618c;--grad-gold-a:#d4ac0d;--grad-gold-b:#ca6f1e;--grad-boss-a:#884ea0;--grad-boss-b:#cb4335;--grad-cta-edge:#7b241c;--grad-adventure-edge:#17435f;--grad-gold-edge:#9c5715;--grad-boss-edge:#5b2c6f;--edge-gold:#9a7d0a;--edge-neutral:#1c2942}}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);color:var(--text-primary);min-height:100dvh;position:relative;overflow-x:hidden}body:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle at 8% 15%,#e74c3c0f 8px,#0000 8px),radial-gradient(circle at 8% 15%,#ffffff0a 4px,#0000 4px),radial-gradient(circle at 92% 8%,#e74c3c0d 6px,#0000 6px),radial-gradient(circle at 25% 85%,#e74c3c0d 7px,#0000 7px),radial-gradient(circle at 78% 75%,#e74c3c0a 5px,#0000 5px),radial-gradient(circle at 55% 45%,#e74c3c08 9px,#0000 9px),radial-gradient(circle at 15% 55%,#f1c40f0a 6px,#0000 6px),radial-gradient(circle at 85% 40%,#f1c40f0a 5px,#0000 5px),radial-gradient(circle at 40% 20%,#2ecc710a 5px,#0000 5px),radial-gradient(circle at 65% 90%,#3498db0a 6px,#0000 6px);position:fixed;inset:0}body:after{content:"";z-index:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Ctext x='30' y='40' font-size='18' opacity='0.04' fill='%23e74c3c'%3E⚡%3C/text%3E%3Ctext x='150' y='80' font-size='14' opacity='0.04' fill='%23333'%3E＋%3C/text%3E%3Ctext x='250' y='50' font-size='16' opacity='0.03' fill='%23e74c3c'%3E●%3C/text%3E%3Ctext x='80' y='140' font-size='12' opacity='0.04' fill='%23333'%3E×%3C/text%3E%3Ctext x='200' y='160' font-size='20' opacity='0.03' fill='%23c0392b'%3E◓%3C/text%3E%3Ctext x='40' y='230' font-size='14' opacity='0.04' fill='%23333'%3E÷%3C/text%3E%3Ctext x='130' y='260' font-size='16' opacity='0.03' fill='%23f1c40f'%3E★%3C/text%3E%3Ctext x='240' y='220' font-size='12' opacity='0.04' fill='%23333'%3E＝%3C/text%3E%3Ctext x='180' y='290' font-size='15' opacity='0.03' fill='%23e74c3c'%3E◓%3C/text%3E%3C/svg%3E");animation:80s linear infinite bgDriftUp;position:fixed;inset:0}@keyframes bgDriftUp{0%{transform:translate(0)}to{transform:translateY(-300px)}}#root:before{content:"";z-index:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Ccircle cx='80' cy='80' r='3' fill='%23e74c3c' opacity='0.06'/%3E%3Ccircle cx='300' cy='150' r='4' fill='%23f1c40f' opacity='0.05'/%3E%3Ccircle cx='200' cy='320' r='3' fill='%233498db' opacity='0.06'/%3E%3Ccircle cx='350' cy='280' r='2' fill='%2327ae60' opacity='0.07'/%3E%3Ccircle cx='50' cy='250' r='5' fill='%239b59b6' opacity='0.05'/%3E%3Ccircle cx='150' cy='60' r='2' fill='%23e67e22' opacity='0.07'/%3E%3C/svg%3E");animation:120s linear infinite bgDriftDown;position:fixed;inset:-50px}@keyframes bgDriftDown{0%{transform:translate(0)}to{transform:translate(20px,400px)}}@media (prefers-color-scheme:dark){body:before{background:radial-gradient(circle at 8% 15%,#e74c3c14 8px,#0000 8px),radial-gradient(circle at 92% 8%,#e74c3c0f 6px,#0000 6px),radial-gradient(circle at 25% 85%,#e74c3c0f 7px,#0000 7px),radial-gradient(circle at 78% 75%,#e74c3c0d 5px,#0000 5px),radial-gradient(circle at 55% 45%,#e74c3c0a 9px,#0000 9px),radial-gradient(circle at 15% 55%,#f1c40f0d 6px,#0000 6px),radial-gradient(circle at 85% 40%,#f1c40f0d 5px,#0000 5px)}body:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Ctext x='30' y='40' font-size='18' opacity='0.06' fill='%23e74c3c'%3E⚡%3C/text%3E%3Ctext x='150' y='80' font-size='14' opacity='0.06' fill='%23aaa'%3E＋%3C/text%3E%3Ctext x='250' y='50' font-size='16' opacity='0.05' fill='%23e74c3c'%3E●%3C/text%3E%3Ctext x='80' y='140' font-size='12' opacity='0.06' fill='%23aaa'%3E×%3C/text%3E%3Ctext x='200' y='160' font-size='20' opacity='0.05' fill='%23c0392b'%3E◓%3C/text%3E%3Ctext x='40' y='230' font-size='14' opacity='0.06' fill='%23aaa'%3E÷%3C/text%3E%3Ctext x='130' y='260' font-size='16' opacity='0.05' fill='%23f1c40f'%3E★%3C/text%3E%3Ctext x='240' y='220' font-size='12' opacity='0.06' fill='%23aaa'%3E＝%3C/text%3E%3C/svg%3E")}}#root{z-index:1;flex-direction:column;align-items:center;width:100%;min-height:100dvh;display:flex;position:relative}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:6px}button:focus-visible,[role=button]:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.tap-target{min-width:var(--tap-min);min-height:var(--tap-min)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}body:after{animation:none!important}}.design-preview{width:100%;max-width:960px;color:var(--text-primary);flex-direction:column;gap:16px;margin:0 auto;padding:16px 16px 64px;display:flex}.design-preview-topbar{background:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.design-preview-label{letter-spacing:.4px;color:var(--accent);text-transform:uppercase;font-size:13px;font-weight:800}.design-preview-exit{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;min-height:var(--tap-min);align-items:center;gap:6px;padding:8px 12px;font-weight:700;display:inline-flex}.design-preview-tabs{flex-wrap:wrap;gap:6px;display:flex}.design-preview-tab{border-radius:var(--radius-pill);background:var(--pill-inactive);color:var(--pill-inactive-text);cursor:pointer;min-height:var(--tap-min);border:1px solid #0000;flex:140px;padding:10px 14px;font-weight:700;transition:background .15s,color .15s,transform .1s}.design-preview-tab.active{background:var(--accent);color:var(--pill-active-text);box-shadow:var(--shadow-accent)}.design-preview-tab:active{transform:scale(.97)}.design-preview-notes{background:var(--bg-card);border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--text-secondary);padding:12px 14px;font-size:13px;line-height:1.5}.design-preview-notes p{margin:0}.design-preview-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=768px){.design-preview-grid{grid-template-columns:1fr 1fr}.design-preview-grid .dp-hero,.design-preview-grid .dp-emoji-grid-card{grid-column:1/-1}}.dp-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;gap:12px;padding:20px;display:flex}.dp-hero{text-align:center;align-items:center}.dp-hero-sprite{justify-content:center;display:flex}.dp-title{color:var(--accent);margin:0;font-size:28px;font-weight:900}.dp-subtitle{color:var(--text-secondary);align-items:center;gap:6px;margin:0;font-size:15px;display:inline-flex}.dp-cta-card{align-items:stretch}.dp-btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-dark));color:#fff;border-radius:var(--radius-md);cursor:pointer;min-height:var(--tap-min);border:none;padding:14px 20px;font-size:18px;font-weight:800;transition:transform .15s,box-shadow .15s}.dp-btn-primary:hover{box-shadow:var(--shadow-accent);transform:translateY(-1px)}.dp-btn-primary:active{transform:translateY(0)}.dp-btn-secondary{background:var(--pill-inactive);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;min-height:var(--tap-min);padding:10px 16px;font-weight:700}.dp-stats-row{justify-content:space-between;gap:8px;display:flex}.dp-stat{border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--border);flex-direction:column;flex:1;align-items:center;gap:2px;padding:10px;display:flex}.dp-stat-value{color:var(--accent);font-size:20px;font-weight:900}.dp-stat-label{color:var(--text-secondary);font-size:11px}.dp-reward-card{text-align:center}.dp-reward-header{justify-content:center;align-items:center;gap:8px;display:flex}.dp-reward-title{margin:0;font-size:20px;font-weight:900}.dp-reward-body{text-align:right;border-radius:var(--radius-md);background:var(--bg-secondary);align-items:center;gap:14px;padding:12px;display:flex}.dp-reward-name{font-size:16px;font-weight:800}.dp-reward-desc{color:var(--text-secondary);font-size:13px}.dp-daily-card{flex-direction:unset;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.dp-daily-icon{border-radius:var(--radius-md);background:var(--correct-light);place-items:center;width:56px;height:56px;display:grid}.dp-daily-title{font-size:15px;font-weight:800}.dp-daily-desc{color:var(--text-secondary);font-size:12px}.dp-daily-reward{color:var(--warning);background:var(--warning-light,#f39c1226);border-radius:var(--radius-pill);white-space:nowrap;padding:6px 10px;font-weight:900}.dp-section-title{margin:0;font-size:15px;font-weight:800}.dp-emoji-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}@media (width>=500px){.dp-emoji-grid{grid-template-columns:repeat(6,1fr)}}.dp-emoji-cell{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border);flex-direction:column;align-items:center;gap:4px;padding:10px;display:flex}.dp-emoji-name{color:var(--text-secondary);font-family:ui-monospace,monospace;font-size:11px}.dp-burst{pointer-events:none;z-index:200;place-items:center;display:grid;position:fixed;inset:0}.design-preview.variant-kenney .dp-card{border-width:3px;border-color:var(--accent-dark,#c0392b);box-shadow:inset 0 2px 0 #fff9, 0 6px 0 var(--accent-dark,#c0392b), 0 10px 20px #00000026;background:linear-gradient(#fff7f5 0%,#ffece8 100%);border-radius:18px;position:relative;overflow:hidden}.design-preview.variant-kenney .dp-card:before{content:"";background:linear-gradient(90deg, var(--accent), #f39c12, var(--accent));height:6px;position:absolute;top:0;left:0;right:0}.design-preview.variant-kenney .dp-btn-primary{border:3px solid var(--accent-dark,#c0392b);box-shadow:inset 0 2px 0 #ffffff59, 0 5px 0 var(--accent-dark,#c0392b);border-radius:14px;padding:12px 18px}.design-preview.variant-kenney .dp-btn-primary:active{box-shadow:inset 0 2px 0 #ffffff59, 0 2px 0 var(--accent-dark,#c0392b);transform:translateY(3px)}.design-preview.variant-kenney .dp-btn-secondary{box-shadow:0 3px 0 var(--border);border-width:2px;border-radius:12px}.design-preview.variant-kenney .dp-stat{box-shadow:0 3px 0 var(--border);border-width:2px}.design-preview.variant-kenney .dp-title{text-shadow:0 2px #0000001a}.design-preview.variant-fredoka .dp-title,.design-preview.variant-fredoka .dp-reward-title,.design-preview.variant-fredoka .dp-daily-title,.design-preview.variant-fredoka .dp-section-title{letter-spacing:.2px;font-family:Fredoka,Heebo,system-ui,sans-serif;font-weight:700}.home-profile-bar{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-lg);z-index:3;align-items:center;gap:10px;width:100%;padding:8px 10px;display:flex;position:relative;box-shadow:0 3px 10px #00000014}.home-profile-avatar{flex-shrink:0}.home-profile-text{flex:1;min-width:0}.home-profile-name-row{color:var(--text-primary);align-items:center;gap:6px;font-size:15px;font-weight:800;line-height:1.1;display:flex}.home-profile-lock{color:var(--accent);opacity:.8}.home-profile-sub{color:var(--accent);letter-spacing:.5px;margin-top:2px;font-family:ui-monospace,monospace;font-size:11px;font-weight:700}.home-lang-toggle{min-height:var(--tap-min);background:var(--bg-secondary);border:1.5px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;white-space:nowrap;align-items:center;gap:4px;padding:8px 10px;font-size:13px;font-weight:800;transition:all .2s;display:flex}.home-lang-toggle:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.home-profile-switch{min-height:var(--tap-min);background:var(--bg-secondary);border:1.5px solid var(--border);cursor:pointer;color:var(--text-secondary);border-radius:10px;align-items:center;gap:4px;padding:8px 12px;font-size:12px;font-weight:800;transition:all .2s;display:flex}.home-profile-switch:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.home-profile-settings{border-radius:10px;width:34px;height:34px;position:static!important}.home-profile-settings:hover{transform:rotate(45deg)}.account-type-card{background:var(--bg-secondary);border:2px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;text-align:start;align-items:center;gap:14px;width:100%;padding:14px 16px;transition:all .2s;display:flex}.account-type-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 16px #0000001a}.account-type-card.quick:hover{border-color:var(--warning);box-shadow:0 6px 16px #f1c40f4d}.account-type-card.secure:hover{border-color:var(--info);box-shadow:0 6px 16px #3498db4d}.account-type-icon{flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:32px;display:flex}.account-type-body{flex:1}.account-type-title{color:var(--text-primary);margin-bottom:2px;font-size:16px;font-weight:800}.account-type-desc{color:var(--text-secondary);font-size:12px;line-height:1.4}.password-row{align-items:center;gap:6px;width:100%;display:flex}.password-row .profile-input{flex:1}.profile-input-ltr{text-align:left;direction:ltr;font-family:ui-monospace,monospace}.profile-card-lock{opacity:.7;margin-inline-start:4px;font-size:13px}.profile-selector-overlay{z-index:250;background:linear-gradient(135deg,#e74c3cf5,#3498dbf5);justify-content:center;align-items:center;padding:20px;animation:.3s fadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}.profile-selector{background:var(--bg-card);border-radius:24px;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:460px;max-height:calc(100vh - 40px);padding:28px 22px 22px;animation:.3s ease-out popIn;display:flex;position:relative;overflow-y:auto;box-shadow:0 20px 60px #00000059}.profile-close,.profile-back{cursor:pointer;color:var(--text-secondary);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:6px;display:flex;position:absolute;top:14px}.profile-close{inset-inline-end:14px}.profile-back{inset-inline-start:14px}.profile-close:hover,.profile-back:hover{background:var(--pill-inactive)}.profile-selector-title{color:var(--accent);text-align:center;margin:0;font-size:22px;font-weight:900}.profile-selector-desc{color:var(--text-secondary);text-align:center;margin:0;font-size:14px}.profile-list{flex-direction:column;gap:8px;width:100%;display:flex}.profile-card{background:var(--bg-secondary);border:2px solid var(--border);cursor:pointer;border-radius:14px;align-items:center;gap:12px;padding:10px 12px;transition:all .15s;display:flex}.profile-card:hover,.profile-card:focus{border-color:var(--accent);outline:none;transform:translateY(-1px);box-shadow:0 4px 12px #e74c3c26}.profile-card-avatar{flex-shrink:0}.profile-card-info{flex:1;min-width:0}.profile-card-name{font-size:16px;font-weight:800}.profile-card-meta{color:var(--text-secondary);font-size:12px}.profile-card-code{color:var(--accent);letter-spacing:.5px;margin-top:2px;font-family:ui-monospace,monospace;font-size:11px;font-weight:700}.profile-card-delete{cursor:pointer;color:var(--text-secondary);min-width:var(--tap-min);min-height:var(--tap-min);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:inline-flex}.profile-card-delete:hover{color:var(--wrong);background:var(--wrong-light)}.profile-actions{flex-direction:column;align-items:center;gap:8px;width:100%;margin-top:4px;display:flex}.profile-field{width:100%;color:var(--text-secondary);flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}.profile-input{border:2px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);box-sizing:border-box;width:100%;padding:12px 14px;font-family:inherit;font-size:16px;font-weight:500}.profile-input:focus{border-color:var(--accent);outline:none}.profile-code-input{letter-spacing:4px;text-align:center;text-transform:uppercase;font-family:ui-monospace,monospace;font-size:22px;font-weight:800}.avatar-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.avatar-option{border-radius:var(--radius-md);background:var(--bg-secondary);border:2px solid var(--border);cursor:pointer;justify-content:center;align-items:center;padding:6px;transition:all .15s;display:flex}.avatar-option:hover{border-color:var(--accent)}.avatar-option.active{border-color:var(--accent);background:var(--accent-light);transform:scale(1.05);box-shadow:0 2px 8px #e74c3c40}.profile-error{color:var(--wrong);text-align:center;background:var(--wrong-light);border-radius:var(--radius-sm);width:100%;padding:8px 12px;font-size:13px;font-weight:700}.profile-created-hero{filter:drop-shadow(0 6px 14px #00000026);animation:2s ease-in-out infinite onboardingBounce}.profile-created-title{color:var(--accent);margin:0;font-size:24px;font-weight:900}.profile-created-intro{color:var(--text-primary);text-align:center;margin:0;font-size:14px}.profile-code-display{border:2px dashed var(--star-color);background:linear-gradient(135deg,#f1c40f26,#e67e2226);border-radius:14px;justify-content:center;align-items:center;gap:12px;width:100%;padding:14px 18px;display:flex}.profile-code-text{letter-spacing:4px;color:var(--warning-dark);font-family:ui-monospace,monospace;font-size:28px;font-weight:900}.profile-created-note{color:var(--text-secondary);text-align:center;margin:0;font-size:12px;line-height:1.5}.settings-section{width:100%;padding:12px 0}.settings-section+.settings-section{border-top:1px solid var(--border);margin-top:4px;padding-top:14px}.settings-section-title{margin-bottom:4px;font-size:15px;font-weight:800}.settings-profile{align-items:center;gap:12px;padding:8px 0;display:flex}.settings-profile-avatar{flex-shrink:0}.settings-profile-info{flex:1;min-width:0}.settings-profile-name{font-size:16px;font-weight:800}.settings-profile-code-row{align-items:center;gap:6px;margin-top:2px;display:flex}.settings-profile-code{color:var(--accent);letter-spacing:.5px;font-family:ui-monospace,monospace;font-size:13px;font-weight:700}.settings-profile-copy{width:28px;height:28px}.settings-switch-btn{background:var(--bg-secondary);border:1.5px solid var(--border);cursor:pointer;color:var(--text-primary);border-radius:10px;align-items:center;gap:4px;padding:8px 12px;font-size:13px;font-weight:700;transition:all .2s;display:flex}.settings-switch-btn:hover{border-color:var(--accent);color:var(--accent)}.settings-profile-actions{flex-direction:column;flex-shrink:0;gap:6px;display:flex}.settings-logout-btn{color:var(--wrong)!important}.settings-logout-btn:hover{background:var(--wrong-light);border-color:var(--wrong)!important;color:var(--wrong)!important}.inline-icon{vertical-align:middle;margin-inline-end:4px;display:inline-block}.inline-icon.gold{color:var(--star-color)}.inline-icon.fire{color:var(--accent)}.icon-gold{color:var(--star-color)}.icon-accent{color:var(--accent)}.icon-muted{color:var(--text-secondary)}.icon-btn{background:var(--bg-secondary);border:1px solid var(--border);width:var(--tap-min);height:var(--tap-min);cursor:pointer;color:var(--text-secondary);border-radius:10px;justify-content:center;align-items:center;transition:all .2s;display:flex}.icon-btn:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.start-btn,.adventure-btn,.learn-btn,.play-again-btn{justify-content:center;align-items:center;gap:8px;display:inline-flex}.hero-level-badge{background:var(--accent);color:#fff;border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:2px;min-width:40px;padding:4px 8px;font-size:12px;font-weight:800;display:flex}.hp-icon{flex-shrink:0}.end-icon{justify-content:center;align-items:center;margin-top:8px;display:flex;position:relative}.pokemon-sprite{justify-content:center;align-items:center;transition:filter .3s,transform .3s;display:flex}.pokemon-sprite img{object-fit:contain;filter:drop-shadow(0 2px 4px #00000026);max-width:100%;max-height:100%}.pokemon-damaged{animation:.6s cubic-bezier(.36,0,.66,-.56) pokemonHit}.pokemon-damaged img{filter:brightness(1.8)drop-shadow(0 0 12px #ffdc64e6)saturate(1.5)}@keyframes pokemonHit{0%{transform:translate(0)scale(1)}10%{transform:translate(-8px)scale(1.08)rotate(-4deg)}25%{transform:translate(8px)scale(.95)rotate(4deg)}40%{transform:translate(-6px)scale(1.05)rotate(-2deg)}55%{transform:translate(6px)scale(.98)rotate(2deg)}70%{transform:translate(-3px)scale(1.02)}85%{transform:translate(3px)scale(.99)}to{transform:translate(0)scale(1)}}.damage-stars{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.damage-star{opacity:0;font-size:18px;animation:.8s ease-out forwards damageStar;position:absolute}@keyframes damageStar{0%{opacity:0;transform:translate(0)scale(.5)}30%{opacity:1}to{transform:translate(var(--dx,30px), var(--dy,-30px)) scale(1.2) rotate(360deg);opacity:0}}.pokemon-sprite-large{filter:drop-shadow(0 4px 12px #0003)}.app{width:100%;max-width:var(--container-sm);padding:16px;padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));flex-direction:column;align-items:center;gap:16px;margin:0 auto;display:flex;position:relative}.screen-wrap{width:100%}.screen{flex-direction:column;align-items:center;gap:14px;width:100%;display:flex}.hero-bar{background:var(--surface-glass-strong);-webkit-backdrop-filter:blur(10px);border:1px solid var(--surface-glass-border-strong);width:100%;box-shadow:var(--shadow-glass);border-radius:var(--radius-lg);flex-direction:column;gap:8px;padding:12px 16px;display:flex}.hero-bar-top{justify-content:space-between;align-items:center;display:flex}.hero-side{flex:1;align-items:center;gap:10px;display:flex}.villain-side{flex-shrink:0}.hero-emoji{font-size:32px;line-height:1}.hero-info{flex-direction:column;flex:1;gap:2px;display:flex}.hero-name-row{justify-content:space-between;align-items:center;display:flex}.hero-name{font-size:15px;font-weight:700}.hero-actions{gap:4px;display:flex}.hero-stars{letter-spacing:2px;color:var(--star-color);font-size:16px}.wild-pokemon-name{color:var(--accent);text-align:center;font-size:12px;font-weight:700}.battle-stats{align-items:center;gap:8px;display:flex}.hp-label{color:var(--warning);letter-spacing:1px;font-size:11px;font-weight:800}.hp-container{flex:1;align-items:center;gap:6px;display:flex}.hp-bar{background:var(--hp-track);border:1px solid var(--hp-track-border);border-radius:4px;flex:1;height:8px;overflow:hidden}.hp-fill{border-radius:3px;height:100%;transition:width .6s cubic-bezier(.22,1,.36,1),background .4s;position:relative;overflow:hidden}.hp-fill:after{content:"";background:linear-gradient(90deg,#0000,#fff6,#0000);animation:2.5s ease-in-out infinite hpShimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes hpShimmer{0%,to{transform:translate(-100%)}50%{transform:translate(100%)}}@keyframes counterPulse{0%{color:var(--accent);transform:scale(1)}50%{color:var(--star-color);text-shadow:0 0 8px #f1c40f99;transform:scale(1.15)}to{color:var(--accent);transform:scale(1)}}.counter-pulse{animation:.5s ease-out counterPulse;display:inline-block}.hp-text{color:var(--text-secondary);min-width:32px;font-size:12px;font-weight:700}.score-display{color:var(--accent);white-space:nowrap;font-size:18px;font-weight:700}.grade-selector{text-align:center;width:100%}.grade-label{margin-bottom:8px;font-size:15px;font-weight:600}.grade-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;max-width:420px;margin-inline:auto;display:grid}.grade-btn{--qg-border:var(--border);--qg-edge:var(--edge-neutral);border:3px solid var(--qg-border);background:var(--bg-card);color:var(--text-primary);cursor:pointer;min-height:104px;box-shadow:0 5px 0 var(--qg-edge), 0 10px 16px #0000001a;border-radius:20px;flex-direction:column;align-items:center;gap:4px;padding:12px 8px 10px;transition:transform .1s,box-shadow .1s,background .15s;display:flex;position:relative}.grade-btn.grade-1{--qg-border:var(--star-color);--qg-edge:var(--edge-gold)}.grade-btn.grade-2{--qg-border:var(--accent);--qg-edge:var(--grad-cta-edge)}.grade-btn.grade-3{--qg-border:var(--info);--qg-edge:var(--grad-adventure-edge)}.grade-btn.mixed{--qg-border:var(--boss);--qg-edge:var(--grad-boss-edge)}.grade-btn:hover{box-shadow:0 7px 0 var(--qg-edge), 0 12px 18px #0000001f;transform:translateY(-2px)}.grade-btn:active{box-shadow:0 2px 0 var(--qg-edge), 0 5px 8px #00000014;transform:translateY(3px)}.grade-btn.active{background:color-mix(in srgb, var(--qg-border) 20%, var(--bg-card));box-shadow:0 3px 0 var(--qg-edge), 0 6px 10px #00000014;transform:translateY(2px)}.grade-btn.active .grade-name{font-weight:800}.grade-btn .pokemon-sprite{transition:transform .3s}.grade-btn.active .pokemon-sprite{filter:drop-shadow(0 4px 8px #00000040);transform:scale(1.08)translateY(-2px)}.grade-name{font-size:13px;font-weight:600;transition:all .2s}.grade-emoji{font-size:24px}.start-screen{gap:18px;padding-top:4px}.start-title-block{flex-direction:column;align-items:center;gap:6px;margin-top:-4px;display:flex}.start-subtitle{background:linear-gradient(135deg, var(--accent), var(--star-color), var(--accent));-webkit-text-fill-color:transparent;letter-spacing:1px;text-align:center;filter:drop-shadow(0 2px 8px #e74c3c33);-webkit-background-clip:text;background-clip:text;font-size:34px;font-weight:900;line-height:1.1}.start-tagline-chip{background:var(--chip-gold-bg);color:var(--warning-dark);letter-spacing:.5px;border:1.5px solid #f1c40f66;border-radius:14px;padding:4px 14px;font-size:13px;font-weight:700;display:inline-block}.hero-banner{justify-content:center;align-items:center;width:100%;min-height:110px;padding:16px 0 8px;display:flex;position:relative}.hero-banner-sprites{z-index:2;justify-content:center;align-items:flex-end;gap:8px;display:flex;position:relative}.hero-banner-pokemon{filter:drop-shadow(0 6px 12px #00000026);animation:3s ease-in-out infinite pokemonFloat}@keyframes pokemonFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.hero-banner-pokeball{opacity:.08;z-index:1;animation:8s linear infinite pokeballSpin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes pokeballSpin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}.quest-scene{border:3px solid var(--star-color);background:linear-gradient(#1b6fd6 0%,#4fa0ef 36%,#9fd7fb calc(100% - 96px),#eaf8ff calc(100% - 62px),#67c455 calc(100% - 60px),#4aa93c calc(100% - 18px),#3c8f31 100%);border-radius:22px;flex-direction:column;align-items:center;gap:2px;width:100%;padding:18px 14px 44px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px #00000012,0 14px 28px #0000001f,inset 0 2px #ffffff40,inset 0 -4px #0000001f}.quest-scene-sun{top:12px;filter:drop-shadow(0 0 10px #ffdc5ad9);pointer-events:none;font-size:34px;line-height:1;position:absolute;inset-inline-start:16px}.quest-scene-cloud{opacity:.9;pointer-events:none;font-size:26px;line-height:1;position:absolute}.quest-scene-cloud-a{top:18px;inset-inline-end:14%}.quest-scene-cloud-b{top:54px;opacity:.75;font-size:20px;inset-inline-end:55%}.quest-scene .start-title-block{z-index:2;order:1;gap:10px;margin-top:0;position:relative}.quest-scene .hero-banner{z-index:1;order:2;min-height:96px;padding:4px 0 0;position:relative}.quest-logo-plate{background:#fffdf4;border:4px solid #2c3e50;border-radius:18px;padding:10px 22px;position:relative;transform:rotate(-2deg);box-shadow:0 6px #2c3e50,0 12px 22px #00000047}.quest-logo-plate .start-subtitle{background:linear-gradient(#f9b233 20%,#e74c3c 85%);-webkit-text-fill-color:transparent;filter:none;letter-spacing:.5px;-webkit-background-clip:text;background-clip:text;font-size:clamp(24px,6vw,34px)}.quest-scene .start-tagline-chip{color:#b9770e;background:#fffdf4eb;border-color:#b9770e80}.profile-card-home{border-radius:var(--radius-xl);background:var(--bg-card);border:1.5px solid var(--border);align-items:center;gap:12px;padding:10px 20px;display:flex;box-shadow:0 3px 12px #0000000f}.profile-card-item{align-items:center;gap:8px;display:flex}.profile-card-stack{flex-direction:column;line-height:1.1;display:flex}.profile-card-label{color:var(--text-secondary);letter-spacing:.5px;text-transform:uppercase;font-size:10px;font-weight:600}.profile-card-value{color:var(--text-primary);font-size:18px;font-weight:900}.profile-card-divider{background:var(--border);width:1px;height:28px}.settings-icon-btn{top:10px;background:var(--bg-card);border:1px solid var(--border);cursor:pointer;width:40px;height:40px;color:var(--text-secondary);z-index:5;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;inset-inline-end:10px;box-shadow:0 2px 8px #0000000f}.settings-icon-btn:hover{background:var(--accent-light);color:var(--accent);transform:rotate(45deg)}.settings-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.settings-modal{background:var(--bg-card);border-radius:var(--radius-xl);padding:20px;padding-bottom:max(20px, env(safe-area-inset-bottom));width:90%;max-width:420px;max-height:80vh;animation:.2s ease-out popIn;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.settings-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.settings-title{font-size:20px;font-weight:800}.settings-desc{color:var(--text-secondary);margin-bottom:12px;font-size:13px}.start-btn.big,.adventure-btn.big{width:100%;padding:18px 32px;font-size:22px}.start-actions{flex-direction:column;gap:10px;width:100%;max-width:380px;display:flex}.profile-summary{color:var(--text-secondary);gap:16px;font-size:14px;font-weight:600;display:flex}.categories-label{margin-top:4px;font-size:15px;font-weight:600}.categories{flex-wrap:wrap;justify-content:center;gap:8px;width:100%;display:flex}.cat-pill{border-radius:var(--radius-xl);border:2px solid var(--border);background:var(--pill-inactive);color:var(--pill-inactive-text);min-height:var(--tap-min);cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 14px;font-size:13px;font-weight:600;transition:all .2s}.cat-pill:hover{border-color:var(--accent)}.cat-pill.active{background:var(--pill-active);color:var(--pill-active-text);border-color:var(--pill-active)}.recommend-banner{background:var(--accent-light);border:1px solid var(--accent);text-align:center;width:100%;color:var(--accent);border-radius:10px;padding:10px 16px;font-size:14px}.start-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}.start-actions-secondary{gap:12px;display:flex}.adventure-btn{background:linear-gradient(180deg, var(--grad-adventure-a), var(--grad-adventure-b));color:#fff;cursor:pointer;box-shadow:0 5px 0 var(--grad-adventure-edge), 0 10px 18px #3498db4d;border:none;border-radius:18px;padding:16px 36px;font-size:20px;font-weight:800;transition:transform .1s,box-shadow .1s}.adventure-btn:hover{box-shadow:0 6px 0 var(--grad-adventure-edge), 0 12px 22px #3498db66;transform:translateY(-1px)}.adventure-btn:active{box-shadow:0 2px 0 var(--grad-adventure-edge), 0 5px 10px #3498db40;transform:translateY(3px)}.start-btn{background:linear-gradient(180deg, var(--grad-cta-a), var(--grad-cta-b));color:#fff;cursor:pointer;box-shadow:0 5px 0 var(--grad-cta-edge), 0 10px 18px #e74c3c4d;letter-spacing:.5px;border:none;border-radius:18px;padding:16px 48px;font-size:22px;font-weight:800;transition:transform .1s,box-shadow .1s}.start-btn:hover{box-shadow:0 6px 0 var(--grad-cta-edge), 0 12px 22px #e74c3c66;transform:translateY(-1px)}.start-btn:active{box-shadow:0 2px 0 var(--grad-cta-edge), 0 5px 10px #e74c3c40;transform:translateY(3px)}.start-links{gap:16px;display:flex}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:8px;font-size:15px;font-weight:600;text-decoration:underline;transition:opacity .2s}.link-btn:hover{opacity:.7}.progress-dots{justify-content:center;gap:8px;margin-bottom:4px;display:flex}.dot{background:var(--pill-inactive);border:2px solid var(--border);border-radius:50%;width:14px;height:14px;transition:all .3s}.dot.correct{background:var(--correct);border-color:var(--correct)}.dot.wrong{background:var(--wrong);border-color:var(--wrong)}.dot.current{border-color:var(--accent);transform:scale(1.2)}.question-card{background:var(--surface-glass);-webkit-backdrop-filter:blur(12px);border:2px solid color-mix(in srgb, var(--accent) 35%, transparent);width:100%;box-shadow:var(--shadow-glass-lg);text-align:center;border-radius:24px;padding:28px 22px;position:relative;overflow:hidden}.question-category{color:var(--accent);background:var(--accent-light);border-radius:var(--radius-md);letter-spacing:.3px;margin-bottom:8px;padding:4px 12px;font-size:12px;font-weight:700;animation:.4s ease-out categoryFadeIn;display:inline-block}@keyframes categoryFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.question-text{margin-bottom:18px;font-size:24px;font-weight:700;line-height:1.5}.boss-taunt-bubble{inset-inline-start:calc(100% + 8px);background:var(--bg-card);color:var(--ink-strong);border-radius:var(--radius-md);white-space:nowrap;border:2px solid var(--accent);z-index:10;padding:8px 12px;font-size:13px;font-weight:700;animation:.3s cubic-bezier(.34,1.56,.64,1) tauntPop;position:absolute;bottom:100%;box-shadow:0 2px 10px #00000026}.boss-taunt-bubble:after{content:"";bottom:-8px;border-left:8px solid #0000;border-right:8px solid #0000;border-top:8px solid var(--accent);width:0;height:0;position:absolute;inset-inline-start:16px}@keyframes tauntPop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.end-actions{flex-wrap:wrap;justify-content:center;gap:10px;width:100%;display:flex}.end-menu-btn{background:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--border);cursor:pointer;box-shadow:0 4px 0 var(--edge-neutral);border-radius:16px;align-items:center;gap:6px;padding:14px 24px;font-size:16px;font-weight:700;transition:transform .1s,box-shadow .1s,border-color .15s,color .15s;display:inline-flex}.end-menu-btn:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 5px 0 var(--edge-neutral);transform:translateY(-1px)}.end-menu-btn:active{box-shadow:0 2px 0 var(--edge-neutral);transform:translateY(2px)}.share-overlay{z-index:150;background:#000000b3;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.share-modal{background:var(--bg-card);border-radius:var(--radius-xl);flex-direction:column;align-items:center;gap:16px;width:100%;max-width:380px;padding:24px;animation:.3s ease-out popIn;display:flex;position:relative}.share-close{top:12px;position:absolute;inset-inline-end:12px}.share-preview{border:2px solid var(--accent);border-radius:var(--radius-lg);text-align:center;background:linear-gradient(135deg,#e74c3c1a,#f1c40f1a);flex-direction:column;align-items:center;gap:8px;width:100%;padding:20px;display:flex}.share-title{color:var(--accent);font-size:18px;font-weight:800}.share-stars{letter-spacing:4px;color:var(--star-color);font-size:32px}.share-big-score{color:var(--accent);font-size:56px;font-weight:900;line-height:1}.share-label{color:var(--text-secondary);margin-top:-4px;font-size:14px}.share-stat{font-size:14px;font-weight:600}.share-catch{flex-direction:column;align-items:center;gap:4px;margin-top:8px;display:flex}.share-catch img{filter:drop-shadow(0 2px 8px #0003)}.onboarding-overlay{z-index:300;background:linear-gradient(135deg,#e74c3cf2,#3498dbf2);justify-content:center;align-items:center;padding:20px;animation:.4s fadeIn;display:flex;position:fixed;inset:0}.onboarding-content{background:var(--bg-card);border-radius:24px;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:380px;padding:32px 24px 24px;animation:.4s ease-out popIn;display:flex;position:relative;box-shadow:0 20px 60px #0000004d}.onboarding-skip{top:4px;color:var(--text-secondary);min-height:var(--tap-min);min-width:var(--tap-min);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:6px 12px;font-size:13px;position:absolute;inset-inline-end:8px}.onboarding-skip:hover{background:var(--pill-inactive)}.onboarding-pokemon{animation:2s ease-in-out infinite onboardingBounce}@keyframes onboardingBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.onboarding-title{color:var(--accent);margin:0;font-size:24px;font-weight:900}.onboarding-text{color:var(--text-primary);text-align:center;margin:0;font-size:15px;line-height:1.6}.onboarding-dots{gap:6px;margin:4px 0;display:flex}.onboarding-dot{background:var(--pill-inactive);border-radius:50%;width:8px;height:8px;transition:all .3s}.onboarding-dot.active{background:var(--accent);border-radius:4px;width:24px}.onboarding-dot.done{background:var(--correct)}.daily-challenge{border:3px solid var(--star-color);background:linear-gradient(135deg,#f1c40f26,#e67e2226);border-radius:20px;align-items:center;gap:12px;width:100%;padding:12px 16px;animation:3s ease-in-out infinite dailyChallengeGlow;display:flex;box-shadow:0 4px #b7950b59,0 2px 10px #f1c40f33}.daily-challenge.completed{border-color:var(--correct);background:linear-gradient(135deg,#2ecc7126,#27ae6026);animation:none;box-shadow:0 4px #27ae6059,0 2px 10px #0000000f}@keyframes dailyChallengeGlow{0%,to{box-shadow:0 4px #b7950b59,0 2px 10px #f1c40f33}50%{box-shadow:0 4px #b7950b59,0 4px 18px #f1c40f66}}.daily-challenge-icon{flex-shrink:0;font-size:32px}.daily-challenge-info{flex:1}.daily-challenge-title{color:var(--orange);font-size:14px;font-weight:800}.daily-challenge.completed .daily-challenge-title{color:var(--correct)}.daily-challenge-desc{color:var(--text-secondary);font-size:12px}.daily-challenge-reward{background:var(--star-color);color:#333;white-space:nowrap;border-radius:10px;padding:4px 10px;font-size:13px;font-weight:900}.daily-challenge.completed .daily-challenge-reward{background:var(--correct);color:#fff}.daily-complete-reward{color:var(--warning);font-size:18px;font-weight:900}.hint-container{justify-content:center;margin-top:8px;display:flex}.hint-btn{border-radius:var(--radius-xl);min-height:var(--tap-min);background:linear-gradient(180deg, var(--grad-gold-a), var(--grad-gold-b));color:#333;border:2px solid var(--grad-gold-b);cursor:pointer;box-shadow:0 4px 0 var(--grad-gold-edge), 0 6px 12px #f1c40f4d;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:700;transition:transform .1s,box-shadow .1s;display:inline-flex}.hint-btn:hover:not(:disabled){box-shadow:0 5px 0 var(--grad-gold-edge), 0 8px 16px #f1c40f73;transform:translateY(-1px)}.hint-btn:active:not(:disabled){box-shadow:0 2px 0 var(--grad-gold-edge), 0 3px 6px #f1c40f4d;transform:translateY(2px)}.hint-btn:disabled,.hint-btn.used{opacity:.5;cursor:default;box-shadow:none}.hint-cost{color:var(--accent-dark);border-radius:var(--radius-sm);background:#fff;padding:1px 6px;font-size:11px;font-weight:900}.choice-btn.hinted-out{opacity:.25;cursor:not-allowed;animation:.4s ease-out hintedOut;background:var(--pill-inactive)!important;color:var(--text-secondary)!important;border-color:var(--border)!important}@keyframes hintedOut{0%{opacity:1;transform:scale(1)}50%{transform:scale(.9)rotate(-5deg)}to{opacity:.25;transform:scale(.95)}}.blank-slot{background:var(--accent-light);border-bottom:3px solid var(--accent);min-width:40px;color:var(--accent);border-radius:4px;margin:0 4px;padding:0 8px;font-weight:900;display:inline-block}.choices{grid-template-columns:1fr 1fr;gap:10px;display:grid}.choice-btn{border:2px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;border-radius:14px;padding:16px;font-size:22px;font-weight:700;transition:all .15s;box-shadow:0 2px 8px #0000000a}@media (hover:hover){.choice-btn:hover:not(.disabled){border-color:var(--accent);background:var(--accent-light);transform:scale(1.05)translateY(-2px);box-shadow:0 6px 16px #0000001a}}.choice-btn:active:not(.disabled){transform:scale(.95);box-shadow:0 1px 4px #0000000d}.choice-btn.correct-choice{background:var(--correct-light);border-color:var(--correct);color:var(--correct)}.choice-btn.wrong-choice{background:var(--wrong-light);border-color:var(--wrong);color:var(--wrong)}.choice-btn.disabled{cursor:default;pointer-events:none}.feedback-area{flex-direction:column;align-items:center;gap:4px;min-height:50px;margin-top:14px;display:flex}.feedback-text{font-size:18px;font-weight:700}.streak-fire{letter-spacing:4px;font-size:24px}.pokeball-catch-container{pointer-events:none;z-index:10;position:absolute;top:10px;left:50%;transform:translate(-50%)}.catch-flash{pointer-events:none;background:radial-gradient(circle,#fffc,#0000);border-radius:50%;width:60px;height:60px;position:absolute;top:0;left:50%;transform:translate(-50%)}.xp-flyup{bottom:20px;color:var(--accent);pointer-events:none;z-index:10;text-shadow:0 1px 4px #00000026;font-size:18px;font-weight:800;position:absolute;inset-inline-start:20px}.streak-gold-flash{border-radius:var(--radius-xl);background:linear-gradient(135deg, var(--grad-gold-a), var(--grad-gold-b));pointer-events:none;z-index:0;position:absolute;inset:0}.confetti-container{pointer-events:none;z-index:10;position:absolute;top:50%;left:50%}.confetti-piece{background:var(--color,var(--accent));width:8px;height:8px;animation:confettiFall .8s ease-out var(--delay,0s) forwards;border-radius:50%;position:absolute}@keyframes confettiFall{0%{opacity:1;transform:translate(0)rotate(0)scale(1)}to{transform:translate(var(--x), var(--y)) rotate(var(--r)) scale(0);opacity:0}}@keyframes pokeballDrop{0%{opacity:0;transform:translateY(-80px)}30%{opacity:1;transform:translateY(0)}45%{transform:translateY(-8px)rotate(-15deg)}60%{transform:translateY(0)rotate(15deg)}75%{transform:translateY(-4px)rotate(-8deg)}90%{transform:translateY(0)rotate(0)}to{transform:translateY(0)rotate(0)}}.pokeball-drop{animation:.8s ease-out pokeballDrop}@keyframes catchFlash{0%,60%{opacity:0;transform:translate(-50%)scale(.5)}75%{opacity:.6;transform:translate(-50%)scale(1.5)}to{opacity:0;transform:translate(-50%)scale(2)}}.flash-catch{animation:.8s ease-out catchFlash}.end-screen{padding-top:12px}.end-title{font-size:26px;font-weight:700}.new-record-badge{background:linear-gradient(135deg, var(--grad-gold-a), var(--grad-gold-b));color:#fff;border-radius:var(--radius-xl);padding:8px 24px;font-size:18px;font-weight:700;animation:1s ease-in-out infinite pulse}.level-up-badge{background:var(--accent);color:#fff;border-radius:var(--radius-lg);padding:6px 20px;font-size:16px;font-weight:700}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.end-stats{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;flex-direction:column;align-items:center;gap:10px;width:100%;padding:20px;display:flex}.end-stat{font-size:17px}.end-stat strong{color:var(--accent)}.end-stars{letter-spacing:4px;color:var(--star-color);font-size:32px}.best-score{color:var(--text-secondary);font-size:14px}.play-again-btn{background:linear-gradient(180deg, var(--grad-cta-a), var(--grad-cta-b));color:#fff;cursor:pointer;box-shadow:0 4px 0 var(--grad-cta-edge), 0 8px 16px #e74c3c4d;border:2px solid #0000;border-radius:16px;align-items:center;gap:6px;padding:14px 28px;font-size:17px;font-weight:800;transition:transform .1s,box-shadow .1s;display:inline-flex}.play-again-btn:hover{box-shadow:0 5px 0 var(--grad-cta-edge), 0 10px 20px #e74c3c66;transform:translateY(-1px)}.play-again-btn:active{box-shadow:0 2px 0 var(--grad-cta-edge), 0 4px 8px #e74c3c40;transform:translateY(2px)}.end-actions .play-again-btn{padding:14px 24px;font-size:16px}.end-actions .play-again-btn,.end-actions .end-menu-btn{min-height:48px}.stats-screen{gap:12px;padding-bottom:32px}.back-link{color:var(--accent);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:4px 0;font-size:15px;font-weight:600}.stats-card{background:var(--bg-card);border:3px solid var(--border);border-radius:20px;width:100%;padding:16px;transition:transform .2s,box-shadow .2s;box-shadow:0 4px #0000000f,0 10px 22px #00000012}.stats-card:hover{transform:translateY(-1px);box-shadow:0 5px #0000000f,0 12px 26px #00000017}.stats-title{margin-bottom:10px;font-size:16px;font-weight:700}.stats-profile-card{flex-direction:column;gap:8px;display:flex}.profile-header{align-items:center;gap:12px;display:flex}.profile-avatar{font-size:36px}.profile-info{flex:1}.profile-name{font-size:18px;font-weight:700}.profile-level{color:var(--text-secondary);font-size:14px}.xp-bar{background:var(--pill-inactive);border-radius:4px;height:8px;overflow:hidden}.xp-fill{background:var(--accent);border-radius:4px;height:100%;transition:width .3s}.xp-label{color:var(--text-secondary);text-align:center;font-size:12px}.stats-grid{text-align:center;grid-template-columns:1fr 1fr 1fr 1fr;gap:8px;display:grid}.stat-item{flex-direction:column;gap:2px;display:flex}.stat-value{color:var(--accent);font-size:22px;font-weight:700}.stat-label{color:var(--text-secondary);font-size:12px}.best-scores{grid-template-columns:1fr 1fr;gap:6px;font-size:14px;display:grid}.best-score-item strong{color:var(--accent)}.recommend-card{border-color:var(--accent);background:var(--accent-light)}.weak-topic{justify-content:space-between;align-items:center;padding:6px 0;font-size:14px;display:flex}.weak-score{font-weight:700}.topic-progress{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.topic-label{font-size:13px}.topic-bar-container{align-items:center;gap:8px;display:flex}.topic-bar{background:var(--pill-inactive);border-radius:4px;flex:1;height:8px;overflow:hidden}.topic-fill{border-radius:4px;height:100%;transition:width .3s}.topic-score{min-width:30px;font-size:12px;font-weight:700}.topic-mastered{font-size:14px}.badges-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;display:grid}.badge-item{border-radius:var(--radius-sm);text-align:center;border:1px solid var(--border);flex-direction:column;align-items:center;gap:2px;padding:8px 4px;font-size:12px;display:flex}.badge-item.locked{opacity:.4}.badge-item.earned{background:var(--accent-light);border-color:var(--accent)}.badge-emoji{font-size:24px}.badge-name{font-weight:600}.history-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:6px 0;font-size:13px;display:flex}.history-item:last-child{border-bottom:none}.badge-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:20px;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.badge-popup{background:var(--bg-card);border-radius:var(--radius-lg);text-align:center;width:100%;max-width:340px;box-shadow:var(--shadow-lg);flex-direction:column;align-items:stretch;gap:16px;padding:24px;animation:.3s ease-out popIn;display:flex;position:relative}.badge-popup-title{font-size:22px;font-weight:700}.badge-popup-counter{color:var(--text-secondary);background:var(--pill-inactive);border-radius:var(--radius-pill);align-self:center;padding:4px 10px;font-size:12px;font-weight:700}.badge-popup-item{text-align:start;align-items:center;gap:12px;display:flex}.badge-popup-emoji{flex-shrink:0;font-size:40px}.badge-popup-name{font-size:16px;font-weight:700}.badge-popup-desc{color:var(--text-secondary);font-size:13px}.badge-popup-dismiss{background:linear-gradient(180deg, var(--accent), var(--accent-dark));color:#fff;cursor:pointer;min-height:var(--tap-min);box-shadow:0 4px 0 var(--grad-cta-edge);border:none;border-radius:14px;padding:12px 20px;font-size:16px;font-weight:700;transition:transform .1s,box-shadow .1s}.badge-popup-dismiss:hover{box-shadow:0 5px 0 var(--grad-cta-edge), 0 8px 16px #e74c3c4d;transform:translateY(-1px)}.badge-popup-dismiss:active{box-shadow:0 2px 0 var(--grad-cta-edge);transform:translateY(2px)}.reward-overlay{z-index:100;background:#0000008c;justify-content:center;align-items:center;padding:20px;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.reward-popup{background:var(--bg-card);border-radius:var(--radius-lg);text-align:center;width:100%;max-width:340px;box-shadow:var(--shadow-lg);flex-direction:column;align-items:stretch;gap:16px;padding:24px;animation:.3s ease-out popIn;display:flex}.reward-popup-title{font-size:22px;font-weight:800}.reward-popup-body{flex-direction:column;align-items:center;gap:8px;display:flex}.reward-popup-dismiss{background:linear-gradient(180deg, var(--accent), var(--accent-dark));color:#fff;cursor:pointer;min-height:var(--tap-min);box-shadow:0 4px 0 var(--grad-cta-edge);border:none;border-radius:14px;padding:12px 20px;font-size:16px;font-weight:700;transition:transform .1s,box-shadow .1s}.reward-popup-dismiss:hover{box-shadow:0 5px 0 var(--grad-cta-edge), 0 8px 16px #e74c3c4d;transform:translateY(-1px)}.reward-popup-dismiss:active{box-shadow:0 2px 0 var(--grad-cta-edge);transform:translateY(2px)}@keyframes popIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.shake{animation:.4s shake}@keyframes fadeIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.fade-in{animation:.2s ease-out fadeIn}@keyframes flyUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-60px)}}.fly-up{animation:.8s ease-out forwards flyUp}@keyframes flashIn{0%{opacity:0}to{opacity:.15}}.flash-in{animation:.4s forwards flashIn}.bottom-nav{background:var(--surface-glass-solid);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border);padding:6px 8px;padding-bottom:max(6px, env(safe-area-inset-bottom));z-index:50;box-shadow:var(--shadow-nav);justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-tab{cursor:pointer;color:var(--text-secondary);min-width:56px;min-height:var(--tap-min);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 12px;font-size:11px;font-weight:600;transition:color .2s;display:flex;position:relative}.bottom-nav-tab.active{color:var(--accent)}.bottom-nav-emoji{font-size:20px;line-height:1}.bottom-nav-label{font-size:10px}.bottom-nav-indicator{background:var(--accent);border-radius:2px;width:24px;height:3px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.app.has-nav{padding-bottom:72px}@media (width<=520px){.app{padding:12px 8px}.choice-btn{min-height:56px;padding:14px;font-size:20px}.cat-pill{min-height:var(--tap-min);padding:10px 14px;font-size:13px}.question-text{font-size:20px}.start-subtitle{font-size:24px}.start-btn,.adventure-btn,.play-again-btn{padding:14px 32px;font-size:18px}.hero-bar{padding:10px 12px}}@media (width>=768px){.app{max-width:var(--container-md);gap:20px;padding:20px}.question-card{padding:32px 28px}.question-text{font-size:28px}.choice-btn{min-height:64px;padding:18px;font-size:24px}.start-subtitle{font-size:30px}.start-btn,.adventure-btn,.play-again-btn{padding:18px 36px;font-size:22px}.hero-bar{padding:14px 20px}.grade-btn{min-width:100px;min-height:118px}.hero-banner{min-height:140px}.pokedex-grid{grid-template-columns:repeat(4,1fr)!important}}@media (width>=1024px){.app{max-width:var(--container-lg);gap:24px}.question-card{padding:40px 32px}.question-text{font-size:32px}.choice-btn{min-height:72px;padding:20px;font-size:26px}.pokedex-grid{grid-template-columns:repeat(5,1fr)!important}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;display:grid}}html{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.skeleton{background:linear-gradient(90deg, var(--bg-card) 25%, var(--pill-inactive) 50%, var(--bg-card) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.hero-bar.boss-battle{border:2px solid var(--boss);background:linear-gradient(135deg,#9b59b626,#e74c3c26);box-shadow:0 0 20px #9b59b64d}.boss-banner{background:linear-gradient(135deg, var(--grad-boss-a), var(--grad-boss-b));color:#fff;border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:8px;margin-bottom:4px;padding:6px 12px;font-size:14px;font-weight:800;animation:1.5s ease-in-out infinite bossBannerPulse;display:flex}@keyframes bossBannerPulse{0%,to{box-shadow:0 0 10px #9b59b680}50%{box-shadow:0 0 20px #e74c3ccc}}.villain-side.boss-sprite{filter:drop-shadow(0 0 12px #e74c3c99);animation:2s ease-in-out infinite bossFloat}@keyframes bossFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.wild-pokemon-name.boss-name{color:var(--boss);text-shadow:0 0 8px #9b59b64d;font-size:15px;font-weight:800}.boss-hp-row{align-items:center;gap:6px;margin-top:4px;display:flex}.boss-hp-icon{color:var(--boss)}.boss-hp-bar{height:10px}.catch-animation-overlay{z-index:200;background:radial-gradient(#141e32e6,#000000f2);justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.catch-stage{flex-direction:column;justify-content:center;align-items:center;width:300px;height:400px;display:flex;position:relative}.catch-pokemon{transition:all .5s;position:absolute;top:30%;left:50%;transform:translate(-50%)}.catch-pokemon.phase-throw{transform:translate(-50%)scale(1)}.catch-pokemon.phase-shake{opacity:0;transition:all .3s ease-in;transform:translate(-50%)scale(0)}.catch-pokemon.phase-caught{opacity:1;filter:drop-shadow(0 0 20px #ffd700cc);transform:translate(-50%)scale(1.1)}.catch-pokeball{position:absolute;left:50%}.catch-pokeball.phase-throw{animation:.7s cubic-bezier(.5,-.5,.5,1.5) forwards pokeballThrow;top:80%;transform:translate(-50%)}.catch-pokeball.phase-shake{animation:1.3s ease-in-out pokeballShake;top:30%;transform:translate(-50%)}.catch-pokeball.phase-caught{top:78%;transform:translate(-50%)}@keyframes pokeballThrow{0%{top:110%;transform:translate(-50%)rotate(0)}to{top:30%;transform:translate(-50%)rotate(720deg)}}@keyframes pokeballShake{0%,to{transform:translate(-50%)rotate(0)}15%,45%,75%{transform:translate(-50%)rotate(-20deg)}30%,60%,90%{transform:translate(-50%)rotate(20deg)}}.catch-stars{gap:10px;display:flex;position:absolute;top:20%;left:50%;transform:translate(-50%)}.catch-star{opacity:0;font-size:28px;animation:.6s ease-out forwards starPop}@keyframes starPop{0%{opacity:0;transform:scale(0)translateY(0)}50%{opacity:1;transform:scale(1.3)translateY(-10px)}to{opacity:0;transform:scale(1)translateY(-20px)}}.catch-text{text-align:center;opacity:0;white-space:nowrap;transition:opacity .4s;position:absolute;bottom:10%;left:50%;transform:translate(-50%)}.catch-text.visible{opacity:1}.catch-new-badge{background:linear-gradient(135deg, var(--grad-gold-a), var(--grad-gold-b));color:#fff;border-radius:10px;margin-bottom:8px;padding:4px 12px;font-size:14px;font-weight:800;animation:.8s ease-in-out infinite newBadgePulse;display:inline-block}@keyframes newBadgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.catch-message{color:#fff;text-shadow:0 2px 8px #000c;font-size:22px;font-weight:700}.evolution-row{background:var(--pill-inactive);border-radius:var(--radius-md);justify-content:center;align-items:center;gap:12px;padding:8px;display:flex}.evolution-arrow{color:var(--accent);font-size:28px;font-weight:900;animation:1s ease-in-out infinite evolveArrow}@keyframes evolveArrow{0%,to{transform:translate(0)}50%{transform:translate(-4px)}}.pokemon-caught-banner{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--caught-banner-bg), var(--caught-banner-bg-end));border:2px solid var(--correct);align-items:center;gap:12px;width:100%;padding:12px 20px;display:flex}.pokemon-caught-text{color:var(--caught-banner-text);font-size:16px;font-weight:700}.caught-new{background:var(--star-color);color:#333;border-radius:var(--radius-sm);margin-inline-end:4px;padding:2px 8px;font-size:13px;font-weight:800;display:inline-block}.pokemon-escaped-banner{background:var(--wrong-light);border:1px solid var(--wrong);opacity:.8;border-radius:14px;align-items:center;gap:12px;width:100%;padding:10px 16px;display:flex}.pokemon-escaped-text{color:var(--wrong);font-size:15px;font-weight:600}.pokedex-screen{gap:12px;padding-bottom:32px}.pokedex-header{text-align:center;width:100%}.pokedex-progress{margin-top:8px}.pokedex-count{color:var(--text-primary);font-size:20px;font-weight:800}.pokedex-bar{background:var(--pill-inactive);border-radius:5px;height:10px;margin:6px 0;overflow:hidden}.pokedex-bar-fill{background:linear-gradient(90deg, var(--accent), var(--orange));border-radius:5px;height:100%;transition:width .5s}.pokedex-pct{color:var(--text-secondary);font-size:13px}.pokedex-toolbar{flex-direction:column;gap:8px;width:100%;margin-top:4px;display:flex}.pokedex-search{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);align-items:center;gap:8px;padding:10px 14px;transition:border-color .15s,box-shadow .15s;display:flex}.pokedex-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #e74c3c26}.pokedex-search input{min-width:0;color:var(--text-primary);font:inherit;background:0 0;border:none;outline:none;flex:1;font-size:15px}.pokedex-search-clear{background:var(--pill-inactive);color:var(--text-secondary);border-radius:var(--radius-pill);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.pokedex-search-clear:hover{background:var(--border)}.pokedex-filters{flex-wrap:wrap;gap:6px;display:flex}.pokedex-filter{min-height:var(--tap-min);border-radius:var(--radius-pill);background:var(--pill-inactive);color:var(--pill-inactive-text);cursor:pointer;border:1px solid #0000;flex:1;padding:8px 14px;font-size:14px;font-weight:700;transition:background .15s,color .15s,transform .1s}.pokedex-filter.active{background:var(--accent);color:var(--pill-active-text)}.pokedex-filter:active{transform:scale(.97)}.pokedex-empty{text-align:center;width:100%;color:var(--text-secondary);background:var(--bg-card);border-radius:var(--radius-md);border:1px dashed var(--border);padding:24px}.pokedex-group{width:100%}.pokedex-group-title{margin:8px 0;font-size:16px;font-weight:700}.pokedex-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}@media (width<=400px){.pokedex-grid{grid-template-columns:repeat(2,1fr);gap:6px}}.pokedex-card-wrap{perspective:800px;cursor:pointer;aspect-ratio:1/1.4;min-height:160px}.pokedex-card-wrap[tabindex="-1"]{cursor:default}.pokedex-card{width:100%;height:100%;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.4,0,.2,1);position:relative}.pokedex-card-wrap.flipped .pokedex-card{transform:rotateY(180deg)}.card-face{background:var(--bg-card);border:3px solid var(--border);backface-visibility:hidden;border-radius:16px;flex-direction:column;justify-content:space-between;align-items:center;padding:10px 6px 8px;display:flex;position:absolute;inset:0;box-shadow:0 3px #00000012,0 8px 16px #00000014}.pokedex-card-wrap[tabindex="0"] .card-front{border-color:var(--correct);box-shadow:0 3px #27ae6059,0 8px 16px #2ecc7126}.pokedex-card-wrap[tabindex="0"]:hover .card-front{transform:translateY(-2px);box-shadow:0 4px #27ae6059,0 10px 20px #2ecc7140}.pokedex-card-wrap[tabindex="-1"] .card-face{opacity:.5}.card-back{background:linear-gradient(135deg, var(--grad-cta-a), var(--grad-cta-b));color:#fff;border-color:var(--accent);justify-content:center;transform:rotateY(180deg)}.card-back-emoji{color:var(--star-color);justify-content:center;align-items:center;margin-bottom:4px;font-size:20px;display:flex}.card-back-stats{flex-direction:column;align-items:center;gap:4px;width:100%;display:flex}.stat-row{justify-content:space-between;gap:6px;width:100%;padding:0 8px;font-size:12px;display:flex}.stat-row strong{color:var(--star-color)}.stat-badge{letter-spacing:.5px;border-radius:6px;margin-top:4px;padding:2px 8px;font-size:10px;font-weight:800}.stat-badge.boss{background:var(--star-color);color:#333}.stat-badge.legendary{background:linear-gradient(90deg, var(--grad-boss-a), var(--grad-boss-b));color:#fff}.pokedex-sprite{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex}.pokedex-sprite .pokemon-sprite{max-width:110px;max-height:110px;width:100%!important;height:100%!important}.pokedex-sprite .pokemon-sprite img{object-fit:contain;width:100%;height:100%}.pokedex-silhouette{filter:brightness(0)saturate(0);opacity:.3}.pokedex-name{text-align:center;min-height:16px;font-size:11px;font-weight:700}.pokedex-id{color:var(--text-secondary);font-size:10px}.map-screen{gap:12px;padding-bottom:32px}.map-subtitle{color:var(--text-secondary);font-size:15px}.map-path{flex-direction:column;gap:4px;width:100%;display:flex}.map-region{width:100%}.map-region.locked{opacity:.5}.region-header{background:var(--bg-card);border:3px solid;border-radius:20px;align-items:center;gap:12px;margin-bottom:8px;padding:12px 16px;display:flex;box-shadow:0 4px #00000012,0 10px 22px #00000017}.region-emoji{font-size:32px}.region-info{flex:1}.region-name{font-size:18px;font-weight:800}.region-desc{color:var(--text-secondary);font-size:13px}.stage-list{flex-direction:column;gap:6px;padding:0 8px;display:flex}.stage-node{border-radius:var(--radius-md);background:var(--bg-card);border:2px solid var(--border);cursor:pointer;text-align:start;align-items:center;gap:12px;width:100%;min-height:64px;padding:12px 14px;transition:transform .15s,border-color .2s,box-shadow .2s,background .2s;display:flex;box-shadow:0 2px 6px #00000008}.stage-node:hover:not(.locked):not(:disabled){border-color:var(--region-color);box-shadow:0 4px 14px #00000014}.stage-node:active:not(.locked):not(:disabled){background:var(--region-light,var(--pill-inactive));transform:scale(.97);box-shadow:0 2px 8px #0000001f}.stage-node.completed{border-color:var(--correct);background:var(--correct-light)}.stage-node.boss{border-width:3px}.stage-node.boss:not(.completed):not(.locked){border-color:var(--region-color);background:var(--region-light)}.stage-node.locked{opacity:.4;cursor:not-allowed}.stage-icon{text-align:center;flex-shrink:0;width:40px;font-size:24px}.stage-emoji{font-size:24px}.stage-info{flex:1}.stage-name{font-size:15px;font-weight:700}.stage-stars{letter-spacing:2px;font-size:14px}.stage-boss-label{color:var(--accent);font-size:12px;font-weight:700}.stage-questions{color:var(--text-secondary);white-space:nowrap;font-size:12px}.path-connector{opacity:.3;border-radius:2px;width:3px;height:20px;margin:4px auto}.learn-btn{background:var(--bg-secondary);color:var(--accent);border:2px solid var(--accent);cursor:pointer;border-radius:14px;padding:14px 44px;font-size:20px;font-weight:700;transition:transform .15s,opacity .2s}.learn-btn:hover{opacity:.88;background:var(--accent-light);transform:scale(1.03)}.learn-screen{gap:12px;padding-bottom:32px}.learn-desc{color:var(--text-secondary);text-align:center;font-size:14px}.learn-group{width:100%}.learn-group-title{margin-top:8px;margin-bottom:8px;font-size:16px;font-weight:700}.lesson-card{border:3px solid var(--border);background:var(--bg-card);cursor:pointer;text-align:start;border-radius:18px;align-items:center;gap:12px;width:100%;margin-bottom:10px;padding:12px 16px;transition:all .2s;display:flex;box-shadow:0 3px #0000000f,0 8px 16px #0000000f}.lesson-card:hover{border-color:var(--accent);background:var(--accent-light)}.lesson-card.completed{border-color:var(--correct)}.lesson-emoji{flex-shrink:0;font-size:24px}.lesson-name{flex:1;font-size:15px;font-weight:600}.lesson-check{flex-shrink:0;font-size:18px}.lesson-header{align-items:center;gap:10px;font-size:20px;font-weight:700;display:flex}.lesson-header-emoji{font-size:32px}.lesson-progress{background:var(--pill-inactive);border-radius:3px;width:100%;height:6px;overflow:hidden}.lesson-progress-fill{background:var(--accent);border-radius:3px;height:100%;transition:width .3s}.lesson-step-count{color:var(--text-secondary);font-size:13px}.lesson-content{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;width:100%;min-height:120px;padding:20px;position:relative}.speak-btn{top:12px;background:var(--bg-secondary);border:1px solid var(--border);cursor:pointer;z-index:1;border-radius:10px;padding:6px 10px;font-size:22px;line-height:1;transition:all .2s;position:absolute;inset-inline-end:12px}.speak-btn:hover{background:var(--accent-light);border-color:var(--accent);transform:scale(1.1)}.lesson-text{font-size:17px;line-height:1.7}.lesson-tip{background:var(--accent-light);border-inline-start:4px solid var(--accent);border-radius:10px;padding:12px 16px;font-size:16px;line-height:1.6}.lesson-example{flex-direction:column;gap:12px;display:flex}.example-problem{text-align:center;background:var(--accent-light);border-radius:10px;padding:12px;font-size:22px;font-weight:700}.example-steps{flex-direction:column;gap:8px;display:flex}.example-step{border-bottom:1px solid var(--border);gap:8px;padding:6px 0;font-size:16px;line-height:1.5;display:flex}.example-step:last-child{border-bottom:none}.step-number{color:var(--accent);min-width:20px;font-weight:700}.lesson-nav{justify-content:center;gap:12px;width:100%;display:flex}.lesson-nav-btn{border:2px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;box-shadow:0 4px 0 var(--edge-neutral);border-radius:14px;padding:12px 28px;font-size:16px;font-weight:700;transition:transform .1s,box-shadow .1s,border-color .15s}.lesson-nav-btn:disabled{opacity:.4;cursor:default;box-shadow:none}.lesson-nav-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 4px 0 var(--grad-cta-edge)}.lesson-nav-btn.primary:hover:not(:disabled){box-shadow:0 5px 0 var(--grad-cta-edge), 0 8px 16px #e74c3c4d;transform:translateY(-1px)}.lesson-nav-btn:hover:not(:disabled){border-color:var(--accent)}.lesson-nav-btn:active:not(:disabled){box-shadow:0 2px 0 var(--edge-neutral);transform:translateY(2px)}.lesson-nav-btn.primary:active:not(:disabled){box-shadow:0 2px 0 var(--grad-cta-edge)}.app-credits{text-align:center;width:100%;color:var(--text-secondary);opacity:.7;padding:16px 8px 8px;font-size:12px;line-height:1.5}.visual-widget{flex-direction:column;align-items:center;gap:10px;padding:12px 0;display:flex}.visual-caption{color:var(--text-secondary);text-align:center;font-size:15px;line-height:1.5}.column-math-wrap{flex-direction:column;align-items:center;gap:10px;width:100%;display:flex}.column-math-caption{color:var(--text-secondary);text-align:center;font-size:15px;font-weight:600}.column-math-narration{color:var(--text-secondary);text-align:center;max-width:320px;font-size:13px;line-height:1.6}.predict-card{background:var(--accent-light);border:2px dashed var(--accent);border-radius:14px;flex-direction:column;align-items:center;gap:14px;padding:16px;display:flex}.predict-problem{color:var(--text-primary);font-size:28px;font-weight:700}.predict-hint{color:var(--text-secondary);background:var(--bg-secondary);border-radius:var(--radius-sm);padding:6px 12px;font-size:14px}.predict-reveal-btn{background:var(--accent);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;padding:12px 24px;font-size:16px;font-weight:700;transition:all .2s}.predict-reveal-btn:hover{opacity:.88;transform:scale(1.03)}.predict-answer{color:var(--correct);font-size:32px;font-weight:700;animation:.4s predictReveal}@keyframes predictReveal{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.tenframe-wrap{flex-direction:column;align-items:center;gap:8px;display:flex}.tenframe-count{color:var(--accent);font-size:22px;font-weight:700}.numberline-wrap{flex-direction:column;align-items:center;gap:8px;width:100%;display:flex}.numberline-caption{color:var(--text-secondary);font-size:15px}.base10-wrap{flex-direction:column;align-items:center;gap:14px;width:100%;display:flex}.base10-columns{justify-content:center;align-items:flex-end;gap:24px;display:flex}.base10-col{flex-direction:column;align-items:center;gap:6px;display:flex}.base10-col-label{color:var(--text-secondary);font-size:13px;font-weight:700}.base10-count{color:var(--text-primary);font-size:14px;font-weight:600}.base10-total{color:var(--correct);background:var(--correct-light);border-radius:10px;padding:6px 16px;font-size:20px;font-weight:700}.array-wrap{flex-direction:column;align-items:center;gap:8px;display:flex}.array-caption{color:var(--text-primary);font-size:18px;font-weight:700}.pairup-wrap{flex-direction:column;align-items:center;gap:8px;display:flex}.pairup-caption{color:var(--text-secondary);font-size:15px}.pairup-result{border-radius:10px;padding:6px 14px;font-size:17px;font-weight:700}.pairup-result.even{color:var(--correct);background:var(--correct-light)}.pairup-result.odd{color:var(--accent);background:var(--accent-light)}.crocodile-wrap{flex-direction:column;align-items:center;gap:10px;display:flex}.crocodile-row{align-items:center;gap:20px;display:flex}.crocodile-num{color:var(--text-primary);text-align:center;background:var(--bg-secondary);border:2px solid var(--border);border-radius:var(--radius-md);min-width:68px;padding:8px 14px;font-size:42px;font-weight:700}.crocodile-sign{transition:opacity .3s}.crocodile-eq{color:var(--correct);font-size:42px;font-weight:700}.crocodile-caption{color:var(--accent);font-size:20px;font-weight:700}.crocodile-hint{color:var(--text-secondary);text-align:center;font-size:14px}.ruler-wrap{flex-direction:column;align-items:center;gap:10px;width:100%;max-width:340px;display:flex}.ruler-row{flex-direction:column;align-items:center;gap:6px;width:100%;display:flex}.ruler-label{color:var(--text-secondary);font-size:13px;font-weight:700}.ruler-slider{width:100%;accent-color:var(--accent)}.ruler-value{color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 12px;font-size:20px;font-weight:700}.ruler-value.big{color:var(--correct);font-size:24px}.ruler-equals{color:var(--text-secondary);font-size:20px;font-weight:700}.ruler-hint{color:var(--text-secondary);font-size:13px;font-style:italic}.gridrect-wrap{flex-direction:column;align-items:center;gap:10px;display:flex}.gridrect-caption{color:var(--text-primary);font-size:18px;font-weight:700}.gridrect-stats{flex-direction:column;align-items:stretch;gap:6px;min-width:220px;display:flex}.gridrect-stat{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;gap:10px;padding:6px 12px;font-size:15px;display:flex}.gridrect-stat-label{color:var(--text-secondary);font-weight:700}.fraction-pair{justify-content:center;align-items:center;gap:18px;display:flex}.fraction-slot{flex-direction:column;align-items:center;gap:4px;display:flex}.fraction-label{color:var(--text-primary);font-size:18px;font-weight:700}.fraction-pair-vs{color:var(--accent);font-size:24px;font-weight:700}.page-header{align-items:center;gap:var(--space-3);width:100%;padding-block:var(--space-1);display:flex}.page-title{min-width:0;font-size:var(--font-2xl);color:var(--text-primary);text-align:start;flex:1;font-weight:800;line-height:1.2}.page-title:focus:not(:focus-visible){outline:none}.back-link{align-items:center;gap:var(--space-1);display:inline-flex}.page-header .back-link{flex-shrink:0;align-self:center}.confirm-exit-overlay{z-index:200;background:#00000080;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.confirm-exit-modal{background:var(--bg-card);border-radius:var(--radius-xl);text-align:center;width:100%;max-width:340px;box-shadow:var(--shadow-lg);flex-direction:column;gap:8px;padding:24px;animation:.2s ease-out popIn;display:flex}.confirm-exit-title{color:var(--text-primary);margin:0;font-size:20px;font-weight:800}.confirm-exit-body{color:var(--text-secondary);margin:0 0 8px;font-size:15px}.confirm-exit-actions{flex-direction:column;gap:10px;margin-top:8px;display:flex}.confirm-exit-actions button{justify-content:center;width:100%;min-height:48px}.settings-lang-row{gap:10px;margin-top:8px;display:flex}.settings-lang-btn{min-height:var(--tap-min);border:2px solid var(--border);border-radius:var(--radius-xl);background:var(--pill-inactive);color:var(--pill-inactive-text);cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:0 3px 0 var(--edge-neutral);flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 14px;font-size:16px;font-weight:700;transition:transform .1s,box-shadow .1s,border-color .15s;display:flex}.settings-lang-btn:hover{border-color:var(--accent)}.settings-lang-btn:active{box-shadow:0 1px 0 var(--edge-neutral);transform:translateY(2px)}.settings-lang-btn.active{background:var(--pill-active);color:var(--pill-active-text);border-color:var(--pill-active);box-shadow:0 3px 0 var(--grad-cta-edge)}.settings-lang-btn.active:active{box-shadow:0 1px 0 var(--grad-cta-edge)}.app-toast{bottom:calc(84px + env(safe-area-inset-bottom));z-index:300;background:var(--surface-glass-solid);border:1px solid var(--surface-glass-border);border-radius:var(--radius-pill);max-width:min(90vw,380px);color:var(--text-primary);text-align:center;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(10px);pointer-events:none;padding:12px 20px;font-size:15px;font-weight:700;animation:.2s ease-out fadeIn;position:fixed;left:50%;transform:translate(-50%)}.design-preview.variant-quest .dp-card{border-width:3px;border-radius:22px;padding-top:28px;position:relative;overflow:hidden;box-shadow:0 4px #00000012,0 14px 28px #0000001f}.design-preview.variant-quest .dp-card:before{content:"";height:10px;position:absolute;top:0;left:0;right:0}.design-preview.variant-quest .dp-hero{border-color:var(--star-color)}.design-preview.variant-quest .dp-hero:before{background:linear-gradient(90deg, var(--star-color), #f8e187, var(--star-color))}.design-preview.variant-quest .dp-cta-card{border-color:var(--correct)}.design-preview.variant-quest .dp-cta-card:before{background:linear-gradient(90deg, var(--correct), #7ee2a8, var(--correct))}.design-preview.variant-quest .dp-reward-card{border-color:var(--boss)}.design-preview.variant-quest .dp-reward-card:before{background:linear-gradient(90deg, var(--boss), #cfa5de, var(--boss))}.design-preview.variant-quest .dp-daily-card{border-color:var(--info)}.design-preview.variant-quest .dp-daily-card:before{background:linear-gradient(90deg, var(--info), #9bcdf0, var(--info))}.design-preview.variant-quest .dp-quest-grades-card{border-color:var(--star-color)}.design-preview.variant-quest .dp-quest-grades-card:before{background:linear-gradient(90deg, var(--star-color), #f8e187, var(--star-color))}.design-preview.variant-quest .dp-emoji-grid-card{border-color:var(--correct)}.design-preview.variant-quest .dp-emoji-grid-card:before{background:linear-gradient(90deg, var(--correct), #7ee2a8, var(--correct))}.design-preview.variant-quest .dp-hero{padding:26px 14px 14px}.design-preview.variant-quest .dp-quest-scene{background:linear-gradient(#1b6fd6 0%,#4fa0ef 34%,#9fd7fb 58%,#eaf8ff 71%,#67c455 71.5%,#4aa93c 88%,#3c8f31 100%);border-radius:20px;place-items:center;width:100%;min-height:232px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 2px #ffffff40,inset 0 -4px #0000001f}.design-preview.variant-quest .dp-quest-sun{filter:drop-shadow(0 0 10px #ffdc5ad9);font-size:34px;line-height:1;position:absolute;top:10px;left:14px}.design-preview.variant-quest .dp-quest-cloud{opacity:.9;font-size:26px;line-height:1;position:absolute}.design-preview.variant-quest .dp-quest-cloud-a{top:16px;right:16%}.design-preview.variant-quest .dp-quest-cloud-b{opacity:.75;font-size:20px;top:52px;right:56%}.design-preview.variant-quest .dp-quest-logo-plate{z-index:2;background:#fffdf4;border:4px solid #2c3e50;border-radius:18px;margin-bottom:40px;padding:12px 22px;position:relative;transform:rotate(-2deg);box-shadow:0 6px #2c3e50,0 14px 24px #00000047}.design-preview.variant-quest .dp-quest-logo-title{background:linear-gradient(#f9b233 20%,#e74c3c 85%);color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(22px,6vw,32px);font-weight:900}.design-preview.variant-quest .dp-quest-scene-pokemon{z-index:1;filter:drop-shadow(0 5px 3px #00000040);justify-content:center;gap:28px;font-size:38px;line-height:1;display:flex;position:absolute;bottom:calc(29% - 14px);left:0;right:0}.design-preview.variant-quest .dp-subtitle{color:var(--text-primary);font-size:16px;font-weight:800}.design-preview.variant-quest .dp-btn-primary{border-radius:var(--radius-pill);background:linear-gradient(180deg, #ff6f54, var(--accent));box-shadow:0 6px 0 var(--accent-dark), 0 12px 20px #e74c3c59;border:none;padding:16px 24px;font-size:22px;font-weight:900;transition:transform 80ms,box-shadow 80ms}.design-preview.variant-quest .dp-btn-primary:hover{box-shadow:0 6px 0 var(--accent-dark), 0 14px 22px #e74c3c66;transform:none}.design-preview.variant-quest .dp-btn-primary:active{box-shadow:0 3px 0 var(--accent-dark), 0 6px 12px #e74c3c4d;transform:translateY(2px)}.design-preview.variant-quest .dp-btn-secondary{border-radius:var(--radius-pill);color:#fff;background:linear-gradient(180deg, #b07cc6, var(--boss));border:none;padding:12px 20px;font-size:17px;font-weight:900;transition:transform 80ms,box-shadow 80ms;box-shadow:0 5px #6f3690,0 10px 16px #9b59b659}.design-preview.variant-quest .dp-btn-secondary:active{transform:translateY(2px);box-shadow:0 2px #6f3690,0 5px 10px #9b59b64d}.design-preview.variant-quest .dp-stat{background:var(--bg-card);border:3px solid var(--correct);border-radius:16px;box-shadow:0 4px #27ae6059}.design-preview.variant-quest .dp-stat-value{color:var(--correct)}.design-preview.variant-quest .dp-daily-icon{border:3px solid var(--info);background:#3498db24;border-radius:16px;box-shadow:0 4px #2980b959}.design-preview.variant-quest .dp-daily-reward{border:2px solid var(--star-color);box-shadow:0 3px #b7950b66}.design-preview.variant-quest .dp-reward-body{border:3px solid var(--boss);background:var(--bg-card);border-radius:16px;box-shadow:0 4px #9b59b64d}.design-preview.variant-quest .dp-emoji-cell{box-shadow:0 3px 0 var(--border);border-width:2px;border-radius:14px}.design-preview.variant-quest .dp-quest-grades{grid-template-columns:1fr 1fr;gap:14px;display:grid}.design-preview.variant-quest .dp-quest-grade{--qg-border:var(--info);--qg-edge:var(--info-dark);border:3px solid var(--qg-border);background:var(--bg-card);color:var(--text-primary);cursor:pointer;min-height:var(--tap-min);box-shadow:0 5px 0 var(--qg-edge), 0 10px 16px #0000001f;border-radius:20px;flex-direction:column;align-items:center;gap:6px;padding:16px 10px 14px;font-size:17px;font-weight:900;transition:transform 80ms,box-shadow 80ms;display:flex}.design-preview.variant-quest .dp-quest-grade:active{box-shadow:0 2px 0 var(--qg-edge), 0 5px 8px #0000001a;transform:translateY(2px)}.design-preview.variant-quest .dp-quest-grade-emoji{filter:drop-shadow(0 3px 2px #00000026);font-size:40px;line-height:1}.design-preview.variant-quest .dp-quest-grade-g1{--qg-border:var(--star-color);--qg-edge:#b7950b}.design-preview.variant-quest .dp-quest-grade-g2{--qg-border:var(--accent);--qg-edge:var(--accent-dark)}.design-preview.variant-quest .dp-quest-grade-g3{--qg-border:var(--info);--qg-edge:var(--info-dark)}.design-preview.variant-quest .dp-quest-grade-mixed{--qg-border:var(--boss);--qg-edge:#6f3690}@media (width>=768px){.design-preview.variant-quest .dp-quest-grades-card{grid-column:1/-1}.design-preview.variant-quest .dp-quest-grades{grid-template-columns:repeat(4,1fr)}}@media (hover:none),(pointer:coarse){.choice-btn:hover:not(.disabled){border-color:var(--border);background:var(--bg-secondary);transform:none;box-shadow:0 2px 8px #0000000a}}
