@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--color-bg: #F9FAFB;--color-surface: #FFFFFF;--color-surface-elevated: #FFFFFF;--color-surface-hover: #F3F4F6;--color-accent: #00E5FF;--color-accent-dim: #A5F3FC;--color-accent-glow: rgba(0, 229, 255, .18);--color-yellow: #FFD400;--color-yellow-dim: #FFF1A6;--color-purple: #C084FC;--color-blue: #60A5FA;--color-coral: #FB7185;--color-onboarding-coral: #FF6B6B;--color-onboarding-peach: #FFCCBC;--color-onboarding-bg: #FFF5F0;--color-text: #111111;--color-text-secondary: #222222;--color-text-dim: #555555;--color-success: #22C55E;--color-error: #EF4444;--color-border: #1a1a2e;--color-border-hover: #1a1a2e;--color-on-accent: #1a1a2e;--color-surface-glass: rgba(255, 255, 255, .92);--color-neon-cyan: #22D3EE;--color-neon-blue: #60A5FA;--color-neon-purple: #A78BFA;--color-neon-pink: #F472B6;--color-neon-green: #34D399;--color-glow-cyan: rgba(34, 211, 238, .2);--color-glow-purple: rgba(167, 139, 250, .24);--color-glow-green: rgba(52, 211, 153, .22);--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-9: 40px;--font-size-xs: .72rem;--font-size-sm: .82rem;--font-size-md: .92rem;--font-size-lg: 1.1rem;--font-size-xl: 1.5rem;--font-size-2xl: 1.85rem;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 700;--line-height-tight: 1.15;--line-height-normal: 1.45;--shadow-card: 0 2px 8px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);--shadow-float: 0 8px 24px rgba(0,0,0,.12), 0 2px 4px rgba(0,0,0,.06);--shadow-pressed: 0 1px 2px rgba(0,0,0,.08);--shadow-glow-green: 0 0 0 3px rgba(34, 197, 94, .2);--shadow-brutalist: 0 4px 16px rgba(0,0,0,.1), 0 1px 3px rgba(0,0,0,.06);--shadow-neon-cyan: 0 4px 12px rgba(0,229,255,.15);--shadow-neon-purple: 0 4px 12px rgba(192,132,252,.15);--shadow-nav: 0 -2px 12px rgba(0,0,0,.06);--color-lime: #BFFF00;--color-gold: #FFD700;--color-silver: #C0C0C0;--color-bronze: #CD7F32;--transition-fast: .12s ease;--transition-normal: .18s ease;--transition-spring: .22s cubic-bezier(.2, .9, .3, 1);--nav-height: 82px;--content-gutter: var(--space-5);--content-bottom-safe: calc(var(--nav-height) + var(--space-4))}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{background-color:var(--color-bg)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}#root{width:100%;max-width:480px;margin:0 auto;min-height:100vh;position:relative;background-color:var(--color-bg);box-shadow:0 0 40px #0000000f}h1,h2,h3,h4,h5,h6{font-family:Inter,sans-serif;font-weight:700;color:var(--color-text);line-height:1.2;letter-spacing:-.02em}h1{font-size:1.75rem}h2{font-size:1.25rem}h3{font-size:1.05rem}p,span,button,input{font-family:Inter,sans-serif}button{border:none;background:none;font:inherit;cursor:pointer;outline:none;color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--color-border);outline-offset:2px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes glowPulse{0%{box-shadow:0 0 0 0 var(--color-accent-glow)}70%{box-shadow:0 0 0 8px transparent}to{box-shadow:0 0 0 0 transparent}}.fade-in{animation:fadeInUp .35s ease-out forwards}.stagger-in{opacity:0;animation:fadeInUp .4s ease-out forwards}.stagger-in:nth-child(1){animation-delay:0ms}.stagger-in:nth-child(2){animation-delay:50ms}.stagger-in:nth-child(3){animation-delay:.1s}.stagger-in:nth-child(4){animation-delay:.15s}.stagger-in:nth-child(5){animation-delay:.2s}.stagger-in:nth-child(6){animation-delay:.25s}.stagger-in:nth-child(7){animation-delay:.3s}.stagger-in:nth-child(8){animation-delay:.35s}.shake{animation:shake .35s ease}.glow-success{animation:glowPulse .6s ease}.text-muted{color:var(--color-text-secondary)}.flex-center{display:flex;align-items:center;justify-content:center}.w-full{width:100%}.hidden-actions{opacity:.2;pointer-events:none;filter:blur(1px)}::-webkit-scrollbar{width:0;background:transparent}.screen-container{padding-bottom:var(--space-5)}.auth-strip{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);border:1.5px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);background:var(--color-surface);padding:var(--space-3);margin-bottom:var(--space-4)}.auth-strip__identity{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);min-width:0}.auth-strip__button{flex-shrink:0;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);background:var(--color-yellow);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);padding:var(--space-2) var(--space-3);transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.auth-strip__button:active{transform:translateY(1px);box-shadow:var(--shadow-pressed)}.neo-btn{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.neo-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-float)}.neo-btn:active{transform:translateY(0);box-shadow:var(--shadow-pressed)}.header{position:sticky;top:0;background-color:var(--color-bg);padding:12px 0 16px;z-index:10;margin-bottom:16px}.session-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.chapter-name{font-size:1rem;color:var(--color-text);font-weight:700}.session-progress{font-size:.8rem;color:var(--color-text-dim);font-weight:500}.session-progress-bar-container{width:100%;height:8px;background-color:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-full);overflow:hidden}.session-progress-bar-fill{height:100%;background:var(--color-yellow);transition:width var(--transition-normal);border-radius:var(--radius-full)}.close-btn{background:none;border:none;padding:0;cursor:pointer;color:var(--color-text);display:flex;align-items:center;justify-content:center;margin-right:12px;transition:opacity var(--transition-fast)}.close-btn:hover{opacity:.7}.option-button{flex:1;padding:16px;min-height:64px;border-radius:var(--radius-md);border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);color:var(--color-text);font-weight:700;font-size:1rem;gap:8px;text-transform:uppercase;box-shadow:var(--shadow-card)}.option-button:active:not(:disabled){transform:translateY(1px);box-shadow:var(--shadow-pressed)}.option-button:disabled{opacity:.5;cursor:not-allowed}.option-button.correct{background:var(--color-accent)}.option-button.incorrect{background:var(--color-coral)}.option-button.selected.correct{background:var(--color-accent);transform:translateY(1px);box-shadow:var(--shadow-pressed)}.option-button.selected.incorrect{background:var(--color-coral);transform:translateY(1px);box-shadow:var(--shadow-pressed)}.option-button .icon-container{display:flex;align-items:center;justify-content:center}.home-screen{position:relative}.home-screen:before{content:none}.home-screen>*{position:relative;z-index:1}.home-header{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-6)}.app-brand{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.app-brand-name{font-size:1.5rem;font-weight:900;letter-spacing:-.02em;color:#000;line-height:1}.app-brand-accent{color:var(--color-yellow);background:#000;padding:2px 8px;border-radius:var(--radius-sm);margin-left:4px;font-size:.85em;letter-spacing:.04em}.app-brand-right{display:flex;align-items:center;gap:var(--space-2)}.app-brand-greeting{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold)}.sign-out-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);border:1.5px solid var(--color-border);background:#fff;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);box-shadow:var(--shadow-card)}.sign-out-btn:hover{background:#fee;color:#c00;border-color:#c00}.home-hero{border-radius:var(--radius-lg);padding:var(--space-5);border:1.5px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-brutalist);display:flex;flex-direction:column;gap:var(--space-4)}.home-kicker{display:inline-flex;align-items:center;gap:var(--space-2);border-radius:var(--radius-full);border:1.5px solid var(--color-border);padding:5px 12px;color:#000;background:var(--color-accent);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2)}.home-hero-copy h1{font-size:var(--font-size-2xl);line-height:var(--line-height-tight);font-weight:var(--font-weight-extrabold);margin-bottom:var(--space-1);text-transform:uppercase}.home-hero-copy p{font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text);font-weight:600}.home-hero-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.hero-metric-chip{border-radius:var(--radius-sm);border:1.5px solid var(--color-border);padding:var(--space-3) var(--space-4);background:#fff;display:flex;flex-direction:column;align-items:flex-start;gap:1px;box-shadow:var(--shadow-card)}.hero-metric-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.08em;font-weight:var(--font-weight-semibold)}.hero-metric-value{font-size:var(--font-size-xl);color:var(--color-text);font-weight:var(--font-weight-extrabold);line-height:1.1}.hero-metric-tail{font-size:var(--font-size-xs);color:var(--color-text);font-weight:var(--font-weight-medium)}.home-header-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.curriculum-meta{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.tabs{display:flex;gap:var(--space-2);padding:var(--space-1);background:#fff;border-radius:var(--radius-md);border:1.5px solid var(--color-border);box-shadow:var(--shadow-card)}.tab{flex:1;padding:10px var(--space-4);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-dim);transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.tab.active{background:var(--color-yellow);color:#000;box-shadow:var(--shadow-card);border:1.5px solid var(--color-border)}.subjects-grid{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-8)}.subject-card{background:#fff;padding:var(--space-5);border-radius:var(--radius-md);border:1.5px solid var(--color-border);box-shadow:var(--shadow-card);display:flex;align-items:center;gap:var(--space-4);min-height:98px;transition:background var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-normal);text-align:left}.subject-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-float)}.subject-card:active{transform:translateY(0);box-shadow:var(--shadow-pressed)}.subject-card-icon{width:54px;height:54px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1.5px solid var(--color-border);box-shadow:var(--shadow-card)}.subj-0 .subject-card-icon{background:var(--color-accent);color:#000}.subj-1 .subject-card-icon{background:var(--color-purple);color:#000}.subj-2 .subject-card-icon{background:var(--color-yellow);color:#000}.subject-card-info{flex:1}.subject-card-info h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin-bottom:var(--space-1);color:var(--color-text)}.subject-card-meta{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.subject-card-progress{min-width:52px;height:34px;padding:0 var(--space-2);border-radius:var(--radius-full);background:var(--color-accent);border:1.5px solid var(--color-border);color:#000;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);box-shadow:var(--shadow-card)}.subject-card-arrow{color:#000;opacity:1;flex-shrink:0}.subj-3 .subject-card-icon{background:var(--color-accent);color:#000}.subject-card--coming-soon{opacity:.6;cursor:default;border-style:dashed}.subject-card--coming-soon:hover,.subject-card--coming-soon:active{transform:none;box-shadow:var(--shadow-card)}.subject-card--coming-soon .subject-card-icon{background:#e0e0e0;color:#666}.subject-card--coming-soon .subject-card-meta{color:#999;font-style:italic}.favorites-list{display:flex;flex-direction:column;gap:var(--space-3)}.fav-topic-card{background:#fff;padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);border:1.5px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;text-align:left;gap:var(--space-4);transition:background var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-normal);box-shadow:var(--shadow-card)}.fav-topic-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-float)}.fav-topic-card:active{transform:translateY(0);box-shadow:var(--shadow-pressed)}.fav-topic-info h3{font-size:1rem;font-weight:var(--font-weight-semibold);margin-bottom:var(--space-1);color:var(--color-text)}.fav-topic-meta{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.fav-topic-action{color:#000;opacity:1}.empty-favorites{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-9) var(--space-4);text-align:center;border-radius:var(--radius-md);border:1.5px dashed var(--color-border);background:#fff;box-shadow:var(--shadow-card)}.empty-star{color:#000;opacity:1;margin-bottom:var(--space-2)}.empty-favorites h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text)}.empty-favorites p{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.section-header{margin-bottom:var(--space-3);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.section-header h3{font-size:var(--font-size-xs);color:var(--color-text-dim);text-transform:uppercase;letter-spacing:.1em;font-weight:var(--font-weight-semibold)}.section-header span{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.stats-card{background:#fff;border-radius:var(--radius-md);padding:var(--space-5);border:1.5px solid var(--color-border);box-shadow:var(--shadow-brutalist);display:flex;justify-content:space-around;align-items:center}.stat-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.stat-value{font-size:1.45rem;font-weight:var(--font-weight-extrabold);color:var(--color-text)}.stat-label{font-size:var(--font-size-xs);color:var(--color-text-dim);text-transform:uppercase;letter-spacing:.05em;font-weight:var(--font-weight-medium)}.stat-divider{width:1px;height:42px;background:var(--color-border);opacity:.3}.empty-subject{background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-lg);padding:28px 20px;display:flex;align-items:center;justify-content:center}.empty-subject span{font-size:var(--font-size-sm);color:var(--color-text-dim);font-weight:var(--font-weight-medium);letter-spacing:.02em}.curriculum-select{appearance:none;background:#fff;border:1.5px solid var(--color-border);color:var(--color-text);padding:8px 34px 8px 12px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);outline:2px solid transparent;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);box-shadow:var(--shadow-card)}.curriculum-select:hover{transform:translateY(-1px);box-shadow:var(--shadow-float)}.curriculum-select:focus{border-color:var(--color-border);box-shadow:var(--shadow-float)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:var(--nav-height);background:#ffffffd9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid rgba(0,0,0,.06);display:flex;justify-content:space-around;align-items:center;z-index:1000;max-width:480px;margin:0 auto;padding-bottom:var(--space-2);box-shadow:var(--shadow-nav)}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-dim);background:transparent;width:68px;gap:var(--space-1);transition:color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast);padding:var(--space-2) 0;position:relative;border-radius:var(--radius-sm);border:none}.nav-item.active{color:var(--color-text)}.nav-item.active:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:24px;height:3px;background:var(--color-accent);border-radius:var(--radius-full)}.nav-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.02em}.icon-container{transition:transform var(--transition-spring);display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-sm)}.nav-item.active .icon-container{transform:translateY(-1px)}.app-content{min-height:100vh;width:100%;padding:var(--content-gutter)}.app-content.with-nav{padding-bottom:var(--content-bottom-safe)}.app-content.no-nav{padding-bottom:var(--space-5)}
