:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#12081f;--bg-glow-1:#3a0f7a;--bg-glow-2:#0f1f5e;--bg-elevated:#1b0f31;--card:#221336;--card-2:#2a1743;--border:#ffffff14;--border-strong:#ffffff29;--purple:#9b4dff;--purple-bright:#b983ff;--blue:#47bfff;--green:#34e0a1;--red:#ff5c7a;--gold:#ffce54;--text:#f3efff;--text-dim:#b9aede;--text-faint:#8577a8;--gradient-primary:linear-gradient(135deg, #8a2be2 0%, #6c3bff 45%, #47bfff 100%);--gradient-gold:linear-gradient(135deg, #ffce54 0%, #ff9f4a 100%);--shadow-glow:0 8px 30px #8b3dff59;--font-heading:"Baloo 2", system-ui, sans-serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;font-family:var(--font-body);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(circle at 15% 0%, #3a0f7a8c, transparent 55%), radial-gradient(circle at 85% 20%, #0f1f5e8c, transparent 50%), var(--bg);background-attachment:fixed;min-height:100svh}#root{min-height:100svh}h1,h2,h3{font-family:var(--font-heading);color:var(--text);margin:0;font-weight:700}p{margin:0}button,input{font-family:inherit}::selection{background:var(--purple);color:#fff}.app-splash{justify-content:center;align-items:center;min-height:100svh;display:flex}.app-splash-logo{font-family:var(--font-heading);align-items:center;gap:10px;font-size:32px;font-weight:800;display:flex}.app-splash-bolt{filter:drop-shadow(0 0 14px #f9731699)}.app-splash-text{background:var(--gradient-primary);color:#0000;-webkit-background-clip:text;background-clip:text}.screen{flex-direction:column;gap:20px;max-width:480px;min-height:100svh;margin:0 auto;padding:20px 18px 48px;display:flex}.btn{font-family:var(--font-heading);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:14px;padding:14px 18px;font-size:16px;font-weight:600;transition:transform .12s,box-shadow .12s,opacity .12s}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed}a.btn{text-align:center;text-decoration:none;display:inline-block}.btn-block{width:100%}.btn-small{border-radius:10px;padding:8px 14px;font-size:13px}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-glow)}.btn-primary:not(:disabled):hover{box-shadow:0 10px 36px #8b3dff80}.btn-secondary{background:var(--card-2);color:var(--text);border:1px solid var(--border-strong)}.btn-ghost{color:var(--text-dim);border:1px solid var(--border);background:0 0}.btn-danger{background:var(--red);color:#fff}.btn-danger:not(:disabled):hover{box-shadow:0 10px 30px #ff5c7a66}.btn-danger-outline{color:var(--red);background:0 0;border:1.5px solid #ff5c7a80}.btn-danger-outline:not(:disabled):hover{background:#ff5c7a1a}.field{text-align:left;flex-direction:column;gap:6px;display:flex}.field label{color:var(--text-dim);font-size:13px;font-weight:600}.field input{background:var(--bg-elevated);border:1.5px solid var(--border);color:var(--text);border-radius:12px;outline:none;padding:13px 14px;font-size:16px;transition:border-color .15s}.field input:focus{border-color:var(--purple)}.field-hint{color:var(--text-faint);font-size:12px}.form-error{color:#ffb3c1;background:#ff5c7a1f;border:1px solid #ff5c7a66;border-radius:10px;margin:0;padding:10px 12px;font-size:13px}.form-success{color:var(--green);background:#34e0a11f;border:1px solid #34e0a166;border-radius:10px;margin:0;padding:10px 12px;font-size:13px}.field select{background:var(--bg-elevated);border:1.5px solid var(--border);color:var(--text);border-radius:12px;outline:none;padding:13px 14px;font-size:16px;transition:border-color .15s}.field select:focus{border-color:var(--purple)}.field-static{background:var(--bg-elevated);border:1.5px solid var(--border);color:var(--text-dim);border-radius:12px;margin:0;padding:13px 14px;font-size:16px}.field textarea{background:var(--bg-elevated);border:1.5px solid var(--border);color:var(--text);resize:vertical;border-radius:12px;outline:none;padding:13px 14px;font-family:inherit;font-size:15px;transition:border-color .15s}.field textarea:focus{border-color:var(--purple)}.avatar-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.avatar-option{aspect-ratio:1;background:var(--bg-elevated);border:1.5px solid var(--border);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;font-size:24px;transition:border-color .15s,background .15s,transform .1s;display:flex}.avatar-option:hover{border-color:var(--purple)}.avatar-option:active{transform:scale(.94)}.avatar-option--selected{border-color:var(--purple);background:#9b4dff29;box-shadow:0 0 0 2px #9b4dff59}.auth-screen{justify-content:center;align-items:center;min-height:100svh;padding:24px 18px;display:flex;position:relative}.auth-screen-corner{position:absolute;top:20px;left:20px}.auth-card{background:var(--card);border:1px solid var(--border);border-radius:24px;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:400px;padding:32px 26px;display:flex;box-shadow:0 20px 60px #0006}.zyndal-logo{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;gap:8px;padding:0;display:inline-flex}div.zyndal-logo{cursor:default}.zyndal-logo-bolt{filter:drop-shadow(0 0 10px #f97316cc);line-height:1}.zyndal-logo-text{font-family:var(--font-heading);letter-spacing:.3px;background:var(--gradient-primary);color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:800}.zyndal-logo--small .zyndal-logo-bolt,.zyndal-logo--small .zyndal-logo-text{font-size:23px}.zyndal-logo--large .zyndal-logo-bolt,.zyndal-logo--large .zyndal-logo-text{font-size:60px}.zyndal-logo--large .zyndal-logo-bolt{animation:2.4s ease-in-out infinite flame-pulse}.landing-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:48px;min-height:100svh;padding:32px 24px;display:flex;position:relative;overflow:hidden}.landing-glow{pointer-events:none;border-radius:50%;position:absolute}.landing-glow--1{background:radial-gradient(circle,#9b4dff66 0%,#9b4dff00 70%);width:340px;height:340px;top:-100px;right:-120px}.landing-glow--2{background:radial-gradient(circle,#47bfff59 0%,#47bfff00 70%);width:320px;height:320px;bottom:-100px;left:-120px}.landing-hero{z-index:1;flex-direction:column;align-items:center;gap:18px;max-width:420px;display:flex;position:relative}.landing-tagline{font-family:var(--font-heading);color:var(--text);margin:0;font-size:26px;font-weight:800}.landing-description{color:var(--text-dim);margin:0;font-size:15px;line-height:1.6}.landing-actions{z-index:1;flex-direction:column;gap:12px;width:100%;max-width:340px;display:flex;position:relative}.auth-tagline{color:var(--text-dim);text-align:center;margin-bottom:6px;font-size:14px}.auth-tabs{background:var(--bg-elevated);border-radius:12px;gap:4px;width:100%;padding:4px;display:flex}.auth-tab{color:var(--text-faint);font-family:var(--font-heading);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;padding:10px 0;font-size:14px;font-weight:600;transition:all .15s}.auth-tab--active{background:var(--gradient-primary);color:#fff}.auth-form{flex-direction:column;gap:14px;width:100%;margin-top:6px;display:flex}.social-login{flex-direction:column;gap:10px;display:flex}.social-btn{justify-content:center;align-items:center;gap:10px;font-size:14.5px;display:flex}.social-btn--google{color:#1f1f1f;border:1.5px solid var(--border-strong);background:#fff}.social-btn--google:not(:disabled):hover{box-shadow:0 6px 20px #00000026}.social-btn--email{background:var(--card-2);color:var(--text);border:1px solid var(--border-strong)}.social-btn--email:not(:disabled):hover{box-shadow:0 6px 20px #00000026}.account-type-selector{flex-direction:column;gap:10px;display:flex}.account-type-option{text-align:left;background:var(--card-2);border:1.5px solid var(--border-strong);cursor:pointer;border-radius:14px;align-items:center;gap:12px;padding:12px 14px;font-family:inherit;transition:border-color .15s,background .15s;display:flex}.account-type-option--selected{border-color:var(--purple);background:#9b4dff26}.account-type-icon{flex-shrink:0;font-size:22px;line-height:1}.account-type-text{flex-direction:column;gap:2px;display:flex}.account-type-label{color:var(--text);font-size:14.5px;font-weight:700}.account-type-option--selected .account-type-label{color:var(--purple-bright)}.account-type-description{color:var(--text-dim);font-size:12.5px}.oauth-onboarding-title{font-family:var(--font-heading);text-align:center;margin-top:8px;font-size:20px;font-weight:700}.oauth-use-different-email{color:var(--text-faint);cursor:pointer;background:0 0;border:none;margin-top:14px;font-size:13px;text-decoration:underline}.role-toggle{gap:8px;display:flex}.role-btn{border:1.5px solid var(--border);background:var(--bg-elevated);color:var(--text-dim);font-family:var(--font-heading);cursor:pointer;border-radius:12px;flex:1;padding:12px 8px;font-size:14px;font-weight:600;transition:all .15s}.role-btn--active{border-color:var(--purple);color:var(--purple-bright);background:#9b4dff26}.topbar{flex-direction:column;gap:10px;padding-top:4px;display:flex}.topbar-brand-row{display:flex}.topbar-main-row{justify-content:space-between;align-items:center;display:flex}.topbar-title-row{align-items:center;gap:10px;min-width:0;display:flex}.topbar-title-block{min-width:0}.topbar-back{border:1px solid var(--border);background:var(--card);width:34px;height:34px;color:var(--text-dim);cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;transition:border-color .15s;display:flex}.topbar-back:hover{border-color:var(--purple);color:var(--purple-bright)}.topbar-title{font-family:var(--font-heading);font-size:20px;font-weight:700}.topbar-subtitle{color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:13px;overflow:hidden}.topbar-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.topbar-username{color:var(--text-dim);font-size:12px;font-weight:600}.topbar-buttons{align-items:center;gap:6px;display:flex}.btn-icon{border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-size:15px;line-height:1;display:flex}.topbar-icon-btn{position:relative}.topbar-badge{background:var(--red);color:#fff;min-width:16px;height:16px;box-shadow:0 0 0 2px var(--bg);border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:800;display:flex;position:absolute;top:-4px;right:-4px}.stats-row{gap:10px;display:flex}.streak-pill,.stat-pill{background:var(--card);border:1px solid var(--border);border-radius:16px;flex:1;align-items:center;gap:8px;min-width:0;padding:12px 10px;display:flex;position:relative}.stats-row>:first-child{flex:1.15;padding-top:14px;padding-bottom:14px}.stats-row>:nth-child(2){flex:.85}.streak-pill--lit{background:linear-gradient(160deg, #ff9e4426, var(--card) 60%);border-color:#ff9e4480}.streak-flame{filter:grayscale()opacity(.5);font-size:24px}.streak-pill--lit .streak-flame{filter:none;animation:1.6s ease-in-out infinite flame-pulse}.stat-icon{font-size:22px}.streak-text,.stat-text{flex-direction:column;min-width:0;display:flex}.streak-text{text-align:center;align-items:center}.streak-count,.stat-value{font-family:var(--font-heading);font-size:18px;font-weight:700;line-height:1.1}.streak-label,.stat-label{color:var(--text-faint);font-size:11px}.stat-label{white-space:nowrap}.streak-label{white-space:normal;line-height:1.15}@keyframes flame-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.subject-dashboard{flex-direction:column;gap:16px;display:flex}.subject-dashboard-lead{color:var(--text-dim);text-align:center;font-size:14px}.subject-dashboard-lead--done{color:var(--green);font-weight:600}.streak-risk-banner{color:#ffb066;font-family:var(--font-heading);text-align:center;background:#ff9e441f;border:1.5px solid #ff9e4466;border-radius:14px;padding:12px 16px;font-size:14px;font-weight:700}.parent-deleted-banner{color:#ffb3c1;background:#ff5c7a1f;border:1.5px solid #ff5c7a66;border-radius:14px;align-items:center;gap:10px;padding:12px 14px;font-size:13px;line-height:1.4;display:flex}.parent-deleted-banner span{flex:1}.parent-deleted-banner-close{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;padding:4px;font-size:14px;line-height:1}.parent-deleted-banner-close:hover{opacity:1}.verify-email-banner{color:#ffb066;background:#ff9e441f;border:1.5px solid #ff9e4466;border-radius:14px;align-items:center;gap:10px;padding:12px 14px;font-size:13px;line-height:1.4;display:flex}.verify-email-banner span{flex:1}.verify-email-banner-resend{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}.verify-email-banner-error{opacity:.85}.verify-email-banner-close{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;padding:4px;font-size:14px;line-height:1}.verify-email-banner-close:hover{opacity:1}.subject-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.subject-card{background:var(--card);border:1.5px solid var(--border);cursor:pointer;text-align:left;border-radius:18px;flex-direction:column;align-items:flex-start;gap:8px;padding:18px 16px;transition:border-color .15s,transform .1s,background .15s;display:flex;position:relative}.subject-card:not(:disabled):hover{border-color:var(--subject-color,var(--purple));background:linear-gradient(160deg, color-mix(in srgb, var(--subject-color,var(--purple)) 14%, transparent), var(--card) 65%)}.subject-card:not(:disabled):active{transform:scale(.97)}.subject-card-icon{filter:drop-shadow(0 0 10px color-mix(in srgb, var(--subject-color,var(--purple)) 55%, transparent));font-size:30px}.subject-card-name{font-family:var(--font-heading);color:var(--text);font-size:16px;font-weight:700}.subject-card-badge{text-transform:uppercase;letter-spacing:.03em;color:var(--green);background:#34e0a12e;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700;position:absolute;top:12px;right:12px}.subject-card--completed{border-color:#34e0a173}.subject-card-badge--incorrect{color:var(--red);background:#ff5c7a2e}.subject-card--incorrect{border-color:#ff5c7a73}.daily-score-box{background:var(--card);border:1.5px solid var(--border);border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.daily-score-box-text{color:var(--text);font-size:14px;font-weight:700}.daily-score-box--celebrate{background:linear-gradient(160deg, #34e0a126, var(--card) 60%);border-color:#34e0a180}.daily-score-box--celebrate .daily-score-box-text{color:var(--green)}.daily-score-box-share{background:var(--card-2);height:32px;color:var(--text-dim);cursor:pointer;font-family:var(--font-heading);border:none;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:700;transition:transform .12s;display:flex}.daily-score-box-share:active{transform:scale(.92)}.calendar-icon-btn{border:1px solid var(--border);background:var(--card);cursor:pointer;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:44px;font-size:20px;transition:border-color .15s,transform .1s;display:flex}.calendar-icon-btn:active{transform:scale(.95)}.calendar-icon-btn:hover{border-color:var(--purple)}.calendar-legend{color:var(--text-dim);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.calendar-legend-item{align-items:center;gap:6px;display:flex}.calendar-legend-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.calendar-legend-dot--correct{background:var(--green)}.calendar-legend-dot--wrong{background:var(--red)}.calendar-legend-dot--mixed{background:linear-gradient(to bottom right, var(--green) 50%, var(--red) 50%)}.calendar-legend-dot--empty{background:var(--border-strong)}.calendar-nav{justify-content:center;align-items:center;gap:18px;margin-top:4px;display:flex}.calendar-nav-arrow{border:1px solid var(--border);background:var(--card);width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;font-size:16px;font-weight:700;transition:border-color .15s,transform .1s,opacity .15s;display:flex}.calendar-nav-arrow:not(:disabled):hover{border-color:var(--purple)}.calendar-nav-arrow:not(:disabled):active{transform:scale(.92)}.calendar-nav-arrow:disabled{opacity:.35;cursor:not-allowed}.calendar-nav-label{font-family:var(--font-heading);text-align:center;min-width:140px;font-size:15px;font-weight:700}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:6px;margin-top:6px;display:grid}.calendar-weekday-label{text-align:center;color:var(--text-faint);padding-bottom:4px;font-size:11px;font-weight:700}.calendar-day{aspect-ratio:1;border:1.5px solid var(--border);background:var(--card);color:var(--text-dim);cursor:pointer;border-radius:10px;font-size:13px;font-weight:600;transition:transform .1s}.calendar-day:not(:disabled):active{transform:scale(.93)}.calendar-day:disabled{cursor:default}.calendar-day--blank{background:0 0;border:none}.calendar-day--empty{background:var(--card-2);color:var(--text-faint)}.calendar-day--correct{color:var(--green);background:#34e0a138;border-color:#34e0a180}.calendar-day--wrong{color:var(--red);background:#ff5c7a2e;border-color:#ff5c7a73}.calendar-day--mixed{border-color:var(--border-strong);color:var(--text);background:linear-gradient(to bottom right,#34e0a159 50%,#ff5c7a59 50%)}.calendar-day--future{border-color:var(--border);color:var(--text-faint);opacity:.4;background:0 0}.calendar-day--today{border-color:var(--purple);border-width:2px;box-shadow:0 0 0 2px #9b4dff40}.late-answer-notice{color:#ffb066;background:#ff9e441f;border:1px solid #ff9e4459;border-radius:10px;padding:8px 10px;font-size:12px;font-weight:600}.question-card{background:var(--card);border:1px solid var(--border);border-radius:20px;flex-direction:column;gap:16px;padding:22px 20px;display:flex}.question-meta{letter-spacing:.04em;text-transform:uppercase;color:var(--purple-bright);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.question-prompt{font-size:21px;line-height:1.35}.options{flex-direction:column;gap:10px;display:flex}.option{text-align:left;background:var(--bg-elevated);border:1.5px solid var(--border);color:var(--text);cursor:pointer;border-radius:14px;align-items:center;gap:12px;padding:13px 14px;font-size:15px;transition:border-color .15s,background .15s,transform .1s;display:flex}.option:not(:disabled):hover{border-color:var(--purple);background:#9b4dff1a}.option:not(:disabled):active{transform:scale(.98)}.option-letter{background:var(--card-2);width:26px;height:26px;color:var(--text-dim);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.option-text{flex:1}.option-icon{font-size:16px;font-weight:800}.option:disabled{cursor:default}.option--correct{border-color:var(--green);background:#34e0a11f}.option--correct .option-letter{background:var(--green);color:#063025}.option--correct .option-icon{color:var(--green)}.option--wrong{border-color:var(--red);background:#ff5c7a1f}.option--wrong .option-letter{background:var(--red);color:#3a0311}.option--wrong .option-icon{color:var(--red)}.option--muted{opacity:.45}.question-card--celebrate{animation:.9s celebrate-glow}@keyframes celebrate-glow{0%{box-shadow:0 0 #34e0a100}30%{transform:scale(1.015);box-shadow:0 0 40px #34e0a173}to{transform:scale(1);box-shadow:0 0 #34e0a100}}.daily-status-banner{font-family:var(--font-heading);text-align:center;border:1.5px solid var(--border);border-radius:14px;padding:12px 16px;font-size:14px;font-weight:700}.daily-status-banner--done{color:var(--green);background:#34e0a11a;border-color:#34e0a166}.daily-status-banner--pending{color:var(--purple-bright);background:#9b4dff1a;border-color:#9b4dff66}.result-banner{border:1px solid var(--border);border-radius:16px;padding:16px 18px;animation:.3s rise-in}.result-banner--correct{background:#34e0a11a;border-color:#34e0a166}.result-banner--wrong{background:#ff5c7a14;border-color:#ff5c7a4d}.result-banner--neutral{background:var(--card-2);border-color:var(--border-strong)}.result-headline{font-family:var(--font-heading);margin-bottom:4px;font-size:15px;font-weight:700}.result-next{color:var(--text-faint);font-size:13px}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.section-heading{font-family:var(--font-heading);color:var(--text-dim);margin-bottom:10px;font-size:15px}.history-empty{color:var(--text-faint);font-size:13px}.history-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.history-item{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.history-item-row{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;gap:10px;padding:10px 12px;display:flex}.history-item-row--static{cursor:default}.history-chevron{color:var(--text-faint);flex-shrink:0;font-size:18px;transition:transform .15s}.answer-summary{flex-direction:column;gap:10px;margin-top:4px;display:flex}.answer-summary-row{background:var(--card-2);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.answer-summary-label{color:var(--text-faint);font-size:12px}.answer-summary-value{text-align:right;font-weight:700}.answer-summary-value--correct{color:var(--green)}.answer-summary-value--wrong{color:var(--red)}.history-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:800;display:flex}.history-item--correct .history-icon{color:var(--green);background:#34e0a133}.history-item--wrong .history-icon{color:var(--red);background:#ff5c7a33}.history-body{flex:1;min-width:0}.history-prompt{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.history-meta{color:var(--text-faint);margin-top:2px;font-size:11px}.history-reward{color:var(--gold);white-space:nowrap;font-size:12px;font-weight:700}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;background:#080312b8;justify-content:center;align-items:center;padding:20px;animation:.2s rise-in;display:flex;position:fixed;inset:0}.modal-card{background:var(--card);border:1px solid var(--border-strong);border-radius:22px;flex-direction:column;gap:14px;width:100%;max-width:380px;padding:26px 24px;display:flex;box-shadow:0 30px 80px #00000080}.modal-title{font-family:var(--font-heading);font-size:20px}.modal-subtitle{color:var(--text-dim);font-size:14px}.modal-actions{gap:10px;margin-top:4px;display:flex}.info-modal{text-align:center;align-items:center}.info-modal-icon{font-size:34px}.info-modal-text{color:var(--text-dim);font-size:14px;line-height:1.5}.legal-modal{max-width:640px;max-height:85vh;padding:22px 22px 20px}.legal-modal-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.legal-modal-body{-webkit-overflow-scrolling:touch;padding-right:4px;overflow-y:auto}.lang-toggle{background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;gap:6px;padding:3px;display:flex}.signup-lang-toggle{justify-content:center;margin-bottom:4px;display:flex}.lang-toggle-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:600;transition:background .15s,color .15s}.lang-toggle-btn--active{background:var(--gradient-primary);color:#fff}.legal-content{color:var(--text);text-align:left;font-size:14.5px;line-height:1.7}.legal-content .legal-updated{color:var(--text-faint);margin:0 0 14px;font-size:12px}.legal-content p{margin:0 0 14px}.legal-content h3{font-family:var(--font-heading);color:var(--purple-bright);margin:22px 0 8px;font-size:16px}.legal-content h3:first-of-type{margin-top:0}.legal-content ul{flex-direction:column;gap:6px;margin:0 0 14px;padding-left:20px;display:flex}.legal-content li{color:var(--text-dim)}.legal-content a{color:var(--blue);text-decoration:underline}.checkbox-field{text-align:left;cursor:pointer;align-items:flex-start;gap:10px;display:flex}.checkbox-field input[type=checkbox]{width:18px;min-width:18px;height:18px;accent-color:var(--purple);cursor:pointer;margin-top:2px}.checkbox-field span{color:var(--text-dim);font-size:13px;line-height:1.5}.checkbox-field button{font:inherit;color:var(--blue);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.auth-link-btn{font:inherit;color:var(--blue);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.auth-back-row{text-align:left;width:100%}.auth-forgot-row{text-align:right;width:100%;margin-top:-8px}.auth-forgot-note{color:var(--text-dim);margin:-8px 0 0;font-size:12.5px}.auth-switch-row{text-align:center;width:100%;color:var(--text-dim);font-size:13px}.landing-footer{z-index:1;color:var(--text-faint);flex-direction:column;align-items:center;gap:8px;padding-top:8px;font-size:12px;display:flex;position:relative}.landing-footer-links{flex-wrap:wrap;justify-content:center;gap:6px 14px;display:flex}.landing-footer-links button,.landing-footer-links a{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:12px;text-decoration:underline}.landing-footer-copyright{color:var(--text-faint)}.settings-legal-links{justify-content:center;gap:16px;padding-top:8px;display:flex}.settings-legal-links button{color:var(--text-faint);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:12px;text-decoration:underline}.settings-danger-zone{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:8px;display:flex}.preset-row{gap:8px;display:flex}.preset-btn{background:var(--bg-elevated);border:1.5px solid var(--border);color:var(--text);font-family:var(--font-heading);cursor:pointer;border-radius:12px;flex:1;padding:10px 0;font-weight:700;transition:border-color .15s}.preset-btn:hover{border-color:var(--gold);color:var(--gold)}.preset-btn--active{border-color:var(--purple);color:var(--purple-bright);background:#9b4dff29}.milestone-card{text-align:center;background:linear-gradient(180deg, #9b4dff2e, var(--card) 55%);align-items:center;position:relative;overflow:hidden}.milestone-emoji{font-size:56px;animation:1s ease-in-out infinite flame-pulse}.milestone-title{background:var(--gradient-gold);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:26px}.milestone-subtitle{color:var(--text-dim);font-size:14px}.milestone-bonus{font-family:var(--font-heading);color:var(--gold);font-size:16px;font-weight:700}.milestone-confetti{pointer-events:none;position:absolute;inset:0}.confetti-piece{top:-10px;left:calc(var(--i) * 4.3%);background:hsl(calc(var(--i) * 35), 90%, 65%);opacity:.9;width:7px;height:12px;animation:1.8s ease-in forwards confetti-fall;animation-delay:calc(var(--i) * 50ms);border-radius:2px;position:absolute}@keyframes confetti-fall{to{opacity:0;top:110%;transform:rotate(400deg)}}.parent-code-card{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-glow);border-radius:20px;padding:20px 22px}.parent-code-label{text-transform:uppercase;letter-spacing:.06em;opacity:.85;font-size:12px;font-weight:600}.parent-code-value-row{justify-content:space-between;align-items:center;margin:8px 0 6px;display:flex}.parent-code-value{font-family:var(--font-heading);letter-spacing:.08em;font-size:32px;font-weight:800}.parent-code-card .field-hint{color:#ffffffd9}.parent-code-card .btn-secondary{color:#fff;background:#ffffff2e;border-color:#ffffff4d}.student-list{flex-direction:column;gap:14px;display:flex}.student-card{background:var(--card);border:1px solid var(--border);border-radius:18px;flex-direction:column;gap:14px;padding:18px;display:flex}.student-card-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.student-card-actions{flex-shrink:0;gap:8px;display:flex}.student-card-name{font-family:var(--font-heading);font-size:17px;font-weight:700}.student-card-username{color:var(--text-faint);margin-top:2px;font-size:12px}.student-card-stats{gap:10px;display:flex}.mini-stat{background:var(--bg-elevated);border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:10px;display:flex}.mini-stat-value{font-family:var(--font-heading);font-size:14px;font-weight:700}.mini-stat-label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;font-size:10px}.student-history{color:var(--text-dim);font-size:13px}.student-history summary{cursor:pointer;padding:4px 0;font-weight:600}.student-history[open] summary{margin-bottom:10px}.empty-state{text-align:center;color:var(--text-dim);background:var(--card);border:1px dashed var(--border-strong);border-radius:18px;flex-direction:column;align-items:center;gap:6px;padding:40px 20px;display:flex}.empty-state-emoji{font-size:36px}.loading-text{text-align:center;color:var(--text-dim);padding:40px 20px}.home-actions{flex-wrap:wrap;gap:10px;display:flex}.home-actions .btn{white-space:nowrap;flex:auto;min-width:0}.home-action-wrap{flex:auto;min-width:0;display:flex;position:relative}.home-action-wrap .btn{flex:auto;min-width:0}.info-badge{background:var(--card-2);border:1px solid var(--border-strong);width:18px;height:18px;color:var(--text-dim);font-family:var(--font-heading);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:11px;font-weight:800;line-height:1;display:flex;position:absolute;top:-6px;right:-6px}.info-badge:hover{border-color:var(--purple);color:var(--text)}.leaderboard-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.leaderboard-row{background:var(--card);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.leaderboard-row--me{border-color:var(--purple);background:#9b4dff24;box-shadow:0 0 0 1px #9b4dff59}.leaderboard-row-main{align-items:center;gap:12px;display:flex}.leaderboard-nudge{color:var(--text-faint);border-top:1px solid var(--border);padding-top:6px;font-size:12px;line-height:1.4}.leaderboard-rank{background:var(--card-2);width:28px;height:28px;color:var(--text-dim);font-family:var(--font-heading);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.leaderboard-rank--1{background:var(--gradient-gold);color:#3a2200}.leaderboard-rank--2{color:#2a2f38;background:#c7cedb}.leaderboard-rank--3{color:#3a2200;background:#d99a5b}.leaderboard-info{flex:1;min-width:0}.leaderboard-username{font-family:var(--font-heading);color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.leaderboard-grade{color:var(--text-faint);font-size:12px}.leaderboard-stats{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;font-size:13px;font-weight:600;display:flex}.leaderboard-streak{color:var(--gold)}.leaderboard-xp{color:var(--text-dim)}.share-card{text-align:center;background:linear-gradient(160deg,#1a0b33 0%,#3a0f7a 50%,#12081f 100%);border:1px solid #ffffff1f;border-radius:28px;flex-direction:column;align-self:center;align-items:center;gap:16px;width:320px;padding:22px 24px 26px;display:flex;position:relative;overflow:hidden}.share-card-glow{pointer-events:none;border-radius:50%;position:absolute}.share-card-glow--1{background:radial-gradient(circle,#9b4dff8c 0%,#9b4dff00 70%);width:220px;height:220px;top:-60px;right:-70px}.share-card-glow--2{background:radial-gradient(circle,#47bfff66 0%,#47bfff00 70%);width:200px;height:200px;bottom:-60px;left:-60px}.share-card-top{z-index:1;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;width:100%;display:grid}.share-card-bolt{filter:drop-shadow(0 0 10px #f97316cc);font-size:30px;line-height:1}.share-card-bolt--mirror{visibility:hidden}.share-card-brand{text-align:center;font-family:var(--font-heading);color:var(--text);letter-spacing:.5px;font-size:30px;font-weight:800}.share-card-middle{z-index:1;flex-direction:column;align-items:center;gap:2px;display:flex}.share-card-date{font-family:var(--font-heading);color:var(--text);margin:0 0 4px;font-size:20px;font-weight:800}.share-card-score{font-family:var(--font-heading);color:var(--gold);margin:0 0 6px;font-size:54px;font-weight:800;line-height:1}.share-card-username{font-family:var(--font-heading);color:var(--text);margin:0;font-size:18px;font-weight:700}.share-card-xp{color:var(--purple-bright);text-align:center;margin:6px 0 0;font-size:22px;font-weight:800}.share-download-btn{align-self:center;width:50%;padding:8px 14px;font-size:13px}.wallet-card{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-glow);border-radius:22px;flex-direction:column;gap:14px;padding:22px 22px 20px;display:flex}.wallet-label{text-transform:uppercase;letter-spacing:.06em;opacity:.85;font-size:12px;font-weight:600}.wallet-balance{font-family:var(--font-heading);margin-top:2px;font-size:42px;font-weight:800}.wallet-meta-row{gap:10px;display:flex}.wallet-meta{background:#ffffff24;border-radius:12px;flex:1;padding:10px 12px}.wallet-meta-value{font-family:var(--font-heading);font-size:16px;font-weight:700}.wallet-meta-label{opacity:.85;margin-top:2px;font-size:11px}.wallet-card .btn-primary{box-shadow:none;background:#ffffff2e;border:1px solid #ffffff59}.wallet-card .btn-primary:hover{box-shadow:none}.finance-info-card{background:var(--card-2);border:1px solid var(--border);color:var(--text-dim);border-radius:14px;padding:14px 16px;font-size:13px;line-height:1.6}.finance-info-card strong{color:var(--text)}.finance-section-card{background:var(--card);border:1px solid var(--border);border-radius:18px;flex-direction:column;gap:12px;padding:18px;display:flex}.finance-section-card .section-heading{margin-bottom:0}.rate-form{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.rate-form-row{align-items:center;gap:10px;display:flex}.rate-input{background:var(--bg-elevated);border:1.5px solid var(--border);width:80px;color:var(--text);text-align:center;border-radius:12px;padding:10px 12px;font-size:16px;font-weight:700}.rate-input:focus{border-color:var(--purple);outline:none}.rate-form-static{color:var(--text-dim);font-size:14px;font-weight:600}.finance-student-list{flex-direction:column;gap:10px;display:flex}.finance-student-row{background:var(--bg-elevated);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.finance-student-row--clickable{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;border:none;transition:border-color .15s}.finance-student-name{font-family:var(--font-heading);align-items:center;gap:6px;font-size:14px;font-weight:700;display:flex}.finance-student-detail{color:var(--text-faint);margin-top:2px;font-size:12px}.friend-share-badge{background:var(--red);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:800;display:inline-flex}.milestone-form{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.milestone-table{border-collapse:collapse;width:100%}.milestone-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);padding-bottom:8px;font-size:11px;font-weight:600}.milestone-table td{border-top:1px solid var(--border);padding:6px 0;font-size:14px}.milestone-table td:first-child{color:var(--text-dim)}.milestone-input{background:var(--bg-elevated);border:1.5px solid var(--border);width:70px;color:var(--text);border-radius:10px;padding:7px 10px;font-size:14px;font-weight:700}.milestone-input:focus{border-color:var(--purple);outline:none}.payout-history-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.payout-history-row{background:var(--bg-elevated);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.payout-history-student{font-family:var(--font-heading);font-size:13px;font-weight:700}.payout-history-date{color:var(--text-faint);margin-top:2px;font-size:11px}.payout-history-amount{font-family:var(--font-heading);color:var(--green);font-size:15px;font-weight:700}.payment-modal{max-width:400px}.payment-method-tabs{gap:8px;display:flex}.payment-method-tab{background:var(--bg-elevated);border:1.5px solid var(--border);color:var(--text-dim);font-family:var(--font-heading);cursor:pointer;border-radius:12px;flex:1;padding:10px 0;font-size:13px;font-weight:600;transition:all .15s}.payment-method-tab--active{border-color:var(--purple);color:var(--purple-bright);background:#9b4dff24}.payment-form{flex-direction:column;gap:14px;display:flex}.payment-form-row{gap:10px;display:flex}.payment-form-row .field{flex:1}.btn-paypal{color:#1a1a1a;background:#ffc439}.btn-paypal:not(:disabled):hover{background:#ffb800}.payment-success{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:10px 0 4px;display:flex}.payment-success-icon{font-size:44px}.weekly-progress{background:var(--bg-elevated);border-radius:14px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.weekly-progress-label{color:var(--text-dim);font-size:12px;line-height:1.4}.weekly-progress-bar{background:var(--card-2);border-radius:999px;height:8px;overflow:hidden}.weekly-progress-fill{background:var(--gradient-gold);border-radius:999px;height:100%;transition:width .3s}.weekly-progress-hint{color:var(--gold);font-size:12px;font-weight:600}.perfect-week-banner{flex-direction:column;gap:12px;display:flex}.perfect-week-card{background:linear-gradient(160deg, #ffce5429, var(--card) 60%);text-align:center;border:1px solid #ffce5466;border-radius:18px;flex-direction:column;gap:12px;padding:18px;display:flex}.perfect-week-emoji{font-size:34px}.perfect-week-text{font-size:14px;line-height:1.5}.perfect-week-actions{justify-content:center;gap:10px;display:flex}.perfect-week-adjust{text-align:left;flex-direction:column;gap:12px;display:flex}.perfect-week-bonus-list{flex-direction:column;gap:8px;display:flex}.perfect-week-bonus-row{background:var(--bg-elevated);border-radius:12px;align-items:center;gap:8px;padding:10px 12px;display:flex}.perfect-week-bonus-name{font-family:var(--font-heading);flex:1;font-size:13px;font-weight:700}.perfect-week-bonus-dollar{color:var(--text-faint);font-size:14px}.perfect-week-bonus-input{background:var(--card-2);border:1.5px solid var(--border);width:64px;color:var(--text);border-radius:10px;padding:7px 8px;font-size:13px;font-weight:700}.perfect-week-bonus-input:focus{border-color:var(--purple);outline:none}.perfect-week-bonus-saved{color:var(--green);font-size:12px;font-weight:600}.perfect-week-celebration{z-index:60;text-align:center;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:32px 24px;animation:.3s rise-in;display:flex;position:fixed;inset:0;overflow:hidden}.perfect-week-celebration-glow{pointer-events:none;border-radius:50%;position:absolute}.perfect-week-celebration-glow--1{background:radial-gradient(circle,#ffce5466 0%,#ffce5400 70%);width:360px;height:360px;top:-100px;right:-120px}.perfect-week-celebration-glow--2{background:radial-gradient(circle,#9b4dff66 0%,#9b4dff00 70%);width:320px;height:320px;bottom:-100px;left:-120px}.perfect-week-celebration-content{z-index:1;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:360px;display:flex;position:relative}.perfect-week-celebration-emoji{font-size:64px;animation:1.4s ease-in-out infinite flame-pulse}.perfect-week-celebration-title{font-family:var(--font-heading);background:var(--gradient-gold);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:32px;font-weight:800}.perfect-week-celebration-text{color:var(--text-dim);font-size:15px;line-height:1.5}.friend-request-banner-list{flex-direction:column;gap:10px;display:flex}.friend-request-card{background:linear-gradient(160deg, #9b4dff29, var(--card) 60%);border:1px solid #9b4dff66;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.friend-request-text{flex:1;min-width:160px;font-size:14px}.friend-request-actions{flex-shrink:0;gap:8px;display:flex}.incoming-share-banner{background:linear-gradient(160deg, #ff9e4429, var(--card) 60%);border:1px solid #ff9e4466;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.incoming-share-text{flex:1;min-width:160px;font-size:14px}.friend-search-form{gap:8px;display:flex}.friend-search-form input{background:var(--bg-elevated);border:1.5px solid var(--border);color:var(--text);border-radius:12px;flex:1;padding:10px 12px;font-size:14px}.friend-search-form input:focus{border-color:var(--purple);outline:none}.friend-search-results{flex-direction:column;gap:8px;margin-top:4px;display:flex}.friend-search-row{background:var(--bg-elevated);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex;position:relative}.friend-search-name{font-family:var(--font-heading);font-size:13px;font-weight:700}.friend-search-status{color:var(--green);font-size:12px;font-weight:600}.friend-search-error{width:100%;color:var(--red);margin-top:4px;font-size:11px}.friend-count-line{color:var(--text-dim);font-size:13px}.friend-count-line strong{color:var(--text)}.testprep-home-card{background:linear-gradient(160deg, #ffce5424, var(--card) 60%);border:1px solid #ffce5466;border-radius:16px;flex-direction:column;gap:8px;padding:14px 16px;transition:border-color .15s;display:flex}.testprep-home-card:hover{border-color:var(--gold)}.testprep-home-card-main{text-align:left;cursor:pointer;width:100%;color:var(--text);font:inherit;background:0 0;border:none;align-items:center;gap:12px;padding:0;display:flex}.testprep-home-card-text{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.testprep-home-card-title{font-family:var(--font-heading);font-size:14px;font-weight:700}.testprep-home-card-detail{color:var(--text-dim);font-size:12px}.testprep-home-card-actions{justify-content:flex-end;gap:8px;display:flex}.testprep-icon-btn{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:700;transition:border-color .15s,color .15s;display:flex}.testprep-icon-btn--done:hover{border-color:var(--green);color:var(--green)}.testprep-icon-btn--cancel:hover{border-color:var(--red);color:var(--red)}.plan-history-list{flex-direction:column;gap:10px;display:flex}.plan-history-row{background:var(--card);border:1px solid var(--border);border-radius:14px;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.plan-history-info{flex-direction:column;gap:3px;min-width:0;display:flex}.plan-history-title{font-family:var(--font-heading);font-size:13px;font-weight:700}.plan-history-detail{color:var(--text-faint);font-size:12px}.plan-status-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:10px;font-weight:800}.plan-status-badge--completed{color:var(--green);background:#34e0a12e}.plan-status-badge--cancelled{color:var(--red);background:#ff5c7a2e}.testprep-header-card{background:var(--card);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:8px;padding:16px 18px;display:flex}.testprep-countdown{font-family:var(--font-heading);font-size:16px;font-weight:700}.testprep-readiness{color:var(--gold);font-size:13px;font-weight:600}.testprep-day{background:var(--card);border:1px solid var(--border);border-radius:18px;flex-direction:column;gap:12px;padding:18px;display:flex}.testprep-day--locked{opacity:.6;border-style:dashed}.testprep-day-title{font-family:var(--font-heading);font-size:16px;font-weight:700}.testprep-day-focus{color:var(--purple-bright);font-size:13px;font-weight:600}.testprep-lesson{color:var(--text-dim);background:var(--bg-elevated);border-radius:12px;flex-direction:column;gap:10px;padding:14px 16px;font-size:14px;line-height:1.6;display:flex}.testprep-question{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:12px;display:flex}.testprep-question-prompt{font-size:14px;font-weight:600;line-height:1.5}.testprep-question-result{font-size:13px;font-weight:700}.testprep-question-result--correct{color:var(--green)}.testprep-question-result--wrong{color:var(--red)}.testprep-question-explanation{flex-direction:column;gap:6px;display:flex}.testprep-explanation-text{color:var(--text-dim);background:var(--bg-elevated);border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.5}.testprep-parent-list{flex-direction:column;gap:10px;display:flex}.testprep-parent-row{background:var(--card);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.testprep-parent-title{font-family:var(--font-heading);font-size:13px;font-weight:700}.testprep-parent-detail{color:var(--text-faint);margin-top:2px;font-size:12px}.premium-modal{text-align:center;background:linear-gradient(180deg, #9b4dff2e, var(--card) 55%);align-items:center}.premium-modal-emoji{font-size:44px}.premium-modal-price{font-family:var(--font-heading);background:var(--gradient-gold);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:34px;font-weight:800}.premium-modal-price-period{font-size:15px}.premium-benefits{text-align:left;color:var(--text-dim);flex-direction:column;gap:10px;margin:0;padding:0;font-size:13px;line-height:1.5;list-style:none;display:flex}.upload-type-grid{flex-direction:column;gap:14px;display:flex}.upload-type-card{background:var(--card);border:1.5px solid var(--border);text-align:center;cursor:pointer;color:var(--text);border-radius:18px;flex-direction:column;align-items:center;gap:8px;padding:22px 20px;transition:border-color .15s,transform .1s;display:flex}.upload-type-card:hover{border-color:var(--purple)}.upload-type-card:active{transform:scale(.98)}.upload-type-emoji{font-size:34px}.upload-type-title{font-family:var(--font-heading);font-size:16px;font-weight:700}.upload-type-detail{color:var(--text-faint);font-size:12px}.source-option-grid{flex-direction:column;gap:10px;display:flex}.source-option-card{background:var(--card);border:1.5px solid var(--border);text-align:left;cursor:pointer;color:var(--text);border-radius:16px;align-items:center;gap:14px;padding:16px;transition:border-color .15s,transform .1s;display:flex}.source-option-card:hover{border-color:var(--purple)}.source-option-card:active{transform:scale(.98)}.source-option-card:disabled{opacity:.6;cursor:not-allowed}.source-option-card--selected{border-color:var(--purple);background:#9b4dff29;box-shadow:0 0 0 2px #9b4dff59}.source-option-icon{flex-shrink:0;font-size:28px}.source-option-text{min-width:0}.source-option-label{font-family:var(--font-heading);font-size:15px;font-weight:700}.source-option-sublabel{color:var(--text-faint);margin-top:2px;font-size:12px}.upload-hidden-input{display:none}.upload-picker-actions{flex-direction:column;align-items:center;gap:10px;display:flex}.upload-pages-counter{color:var(--text-dim);text-align:center;margin:0;font-size:13px;font-weight:700}.upload-pages-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.upload-page-thumb{aspect-ratio:3/4;background:var(--card);border:1px solid var(--border);border-radius:12px;position:relative;overflow:hidden}.upload-page-thumb img{object-fit:cover;width:100%;height:100%}.upload-page-thumb-file{flex-direction:column;justify-content:center;align-items:center;gap:6px;width:100%;height:100%;padding:8px;display:flex}.upload-preview-file-icon{font-size:40px}.upload-preview-file-name{color:var(--text-dim);word-break:break-all;text-align:center;font-size:13px}.upload-page-number{color:#fff;background:#0009;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:11px;font-weight:800;display:flex;position:absolute;top:6px;left:6px}.upload-page-remove{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#0009;border:none;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:15px;line-height:1;display:flex;position:absolute;top:6px;right:6px}.upload-page-remove:disabled{opacity:.5;cursor:not-allowed}.upload-item-actions{border-top:1px solid var(--border);justify-content:flex-end;margin-top:-1px;padding:8px 12px 10px;display:flex}.upload-detail-header-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.upload-detail-summary{color:var(--text-dim);font-size:14px;line-height:1.5}.upload-concepts-list{color:var(--text-dim);flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:13px;display:flex}.upload-question-readonly{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:12px;display:flex}.upload-question-options{color:var(--text-dim);flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:13px;display:flex}.upload-question-options--correct{color:var(--green);font-weight:700}.upload-question-answer{color:var(--gold);font-size:13px;font-weight:700}.testprep-parent-row--inline{flex-direction:row;justify-content:space-between;align-items:center}.grade-badge{font-family:var(--font-heading);border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:13px;font-weight:800}.grade-badge--a-plus{color:var(--green);background:#34e0a12e}.grade-badge--a{color:var(--blue);background:#47bfff2e}.grade-badge--b{color:var(--gold);background:#ffce542e}.grade-badge--c{color:#ff9f4a;background:#ff9f4a2e}.grade-badge--fail{color:var(--red);background:#ff5c7a2e}.grade-reward-list{flex-direction:column;gap:14px;display:flex}.grade-reward-card{background:var(--card-2);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:10px;padding:14px;display:flex}.grade-reward-name{font-family:var(--font-heading);font-size:13px;font-weight:700}.grade-reward-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.grade-reward-field{color:var(--text-faint);flex-direction:column;gap:4px;font-size:11px;display:flex}.grade-reward-input-row{background:var(--bg-elevated);border:1.5px solid var(--border);border-radius:10px;align-items:center;gap:4px;padding:8px 10px;display:flex}.grade-reward-input-row span{color:var(--text-faint);font-size:13px}.grade-reward-input-row input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:14px}.practice-question-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.practice-source-badge{text-transform:uppercase;letter-spacing:.03em;color:var(--purple-bright);white-space:nowrap;background:#9b4dff24;border-radius:999px;flex-shrink:0;padding:3px 8px;font-size:10px;font-weight:700}.practice-results-card{text-align:center;align-items:center;gap:10px}.practice-results-score{font-family:var(--font-heading);background:var(--gradient-gold);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:32px;font-weight:800}.practice-results-coins{color:var(--gold);font-size:15px;font-weight:700}.practice-results-weak{color:var(--red)}.grade-text--good{color:var(--green)}.grade-text--mid{color:var(--gold)}.grade-text--bad{color:var(--red)}.grades-overall-card{text-align:center;align-items:center;gap:6px}.grades-overall-label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.grades-overall-value{font-family:var(--font-heading);font-size:30px;font-weight:800}.grades-subject-averages{background:var(--card);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.grades-subject-average-row{justify-content:space-between;align-items:center;font-size:13px;font-weight:600;display:flex}.grades-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.grades-row{background:var(--card);border:1px solid var(--border);border-left:3px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.grades-row--good{border-left-color:var(--green)}.grades-row--mid{border-left-color:var(--gold)}.grades-row--bad{border-left-color:var(--red)}.grades-row-info{flex:1;min-width:0}.grades-row-title{font-size:13px;font-weight:600}.grades-row-detail{color:var(--text-faint);margin-top:2px;font-size:11px}.grades-row-percentage{font-family:var(--font-heading);flex-shrink:0;font-size:15px;font-weight:800}.grades-overall-mini{color:var(--text-dim);justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;font-size:13px;display:flex}.grades-trend-badge{color:var(--purple-bright);font-size:11px;font-weight:700}.share-streak-btn{position:relative}.shared-with-you-list{flex-direction:column;gap:6px;display:flex}.shared-with-you-row{color:var(--text-dim);font-size:13px;line-height:1.5}.shared-with-you-row strong{color:var(--text)}.share-friend-list{flex-direction:column;gap:8px;display:flex}.share-friend-row{text-align:left;background:var(--card);border:1.5px solid var(--border);cursor:pointer;width:100%;color:var(--text);font:inherit;-webkit-tap-highlight-color:transparent;border-radius:14px;align-items:center;gap:12px;padding:12px 14px;transition:border-color .15s,opacity .15s;display:flex}.share-friend-row:not(:disabled):hover{border-color:var(--purple)}.share-friend-row:disabled{cursor:default}.share-friend-avatar{background:var(--bg-elevated);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.share-friend-info{flex:1;min-width:0}.share-friend-name{font-family:var(--font-heading);font-size:14px;font-weight:700}.share-friend-stat{margin-top:2px;font-size:12px}.share-friend-stat--share{color:var(--blue)}.share-friend-stat--waiting{color:#ffb066;font-style:italic;font-weight:600}.share-flame{filter:grayscale();opacity:.4;flex-shrink:0;font-size:20px;transition:filter .15s,opacity .15s}.share-flame--shared{filter:none;opacity:1}.share-friend-summary-row{background:var(--card);border:1.5px solid var(--border);border-radius:14px;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.modal-card--friend-picker{max-width:420px}.modal-card--friend-score{max-width:360px;box-shadow:none;background:0 0;border:none;align-items:center;padding:0}.friend-picker-search{background:var(--bg-elevated);border:1.5px solid var(--border);width:100%;color:var(--text);border-radius:12px;padding:10px 12px;font-size:14px}.friend-picker-search:focus{border-color:var(--purple);outline:none}.friend-picker-list{flex-direction:column;gap:8px;max-height:340px;display:flex;overflow-y:auto}.friend-picker-row{background:var(--card-2);border:1.5px solid var(--border);border-radius:14px;align-items:center;gap:12px;padding:10px 12px;display:flex}.friend-picker-shared{color:var(--green);flex-shrink:0;align-items:center;gap:4px;font-size:12px;font-weight:700;display:flex}.friend-picker-hint{text-align:right;flex-shrink:0;max-width:140px}.notification-list{flex-direction:column;gap:10px;display:flex}.notification-item{border-left:3px solid #0000;border-radius:16px;padding:14px 16px}.notification-item--unread{background:linear-gradient(160deg, #9b4dff29, var(--card) 60%);border-left-color:var(--purple)}.notification-item--read{background:var(--bg-elevated);opacity:.7}.notification-item-header{align-items:center;gap:8px;display:flex}.notification-item-icon{flex-shrink:0;font-size:18px}.notification-item-title{font-family:var(--font-heading);font-size:14px;font-weight:700}.notification-item-body{color:var(--text-dim);margin-top:4px;font-size:13px}.notification-item-time{color:var(--text-faint);margin-top:6px;font-size:11px}.notification-item-actions{gap:8px;margin-top:10px;display:flex}.install-prompt{background:var(--card);border:1.5px solid var(--border-strong);z-index:40;border-radius:16px;align-items:center;gap:12px;width:calc(100% - 36px);max-width:440px;padding:14px 16px;animation:.3s rise-in;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 12px 36px #00000073}.install-prompt-icon{filter:drop-shadow(0 0 8px #9b4dff8c);flex-shrink:0;font-size:22px}.install-prompt-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.install-prompt-title{font-family:var(--font-heading);font-size:13px;font-weight:700}.install-prompt-detail{color:var(--text-dim);font-size:12px}.install-prompt-actions{flex-direction:column;flex-shrink:0;gap:6px;display:flex}.install-prompt-actions .btn{padding:8px 14px;font-size:13px}.curriculum-loading{text-align:center;color:var(--text-dim);flex-direction:column;align-items:center;gap:16px;padding:48px 20px;display:flex}.curriculum-spinner{border:3px solid var(--border-strong);border-top-color:var(--purple);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite curriculum-spin}@keyframes curriculum-spin{to{transform:rotate(360deg)}}.curriculum-unit-list{flex-direction:column;gap:10px;display:flex}.curriculum-unit{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:4px 16px}.curriculum-unit-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:14px 0;list-style:none;display:flex}.curriculum-unit-summary::-webkit-details-marker{display:none}.curriculum-unit-summary:before{content:"▸";color:var(--text-faint);margin-right:10px;transition:transform .15s;display:inline-block}.curriculum-unit[open]>.curriculum-unit-summary:before{transform:rotate(90deg)}.curriculum-unit-title{font-family:var(--font-heading);font-size:15px;font-weight:700}.curriculum-unit-count{color:var(--text-faint);flex-shrink:0;font-size:12px}.curriculum-topic-list{flex-direction:column;gap:8px;padding:0 0 14px;display:flex}.curriculum-topic{background:var(--card-2);border:1px solid var(--border);border-radius:12px;padding:4px 14px}.curriculum-topic-summary{cursor:pointer;padding:10px 0;font-size:14px;font-weight:600;list-style:none}.curriculum-topic-summary::-webkit-details-marker{display:none}.curriculum-topic-summary:before{content:"▸";color:var(--text-faint);margin-right:8px;transition:transform .15s;display:inline-block}.curriculum-topic[open]>.curriculum-topic-summary:before{transform:rotate(90deg)}.curriculum-topic-body{flex-direction:column;gap:12px;padding:0 0 16px;display:flex}.curriculum-explanation{color:var(--text);font-size:14px;line-height:1.6}.curriculum-box{border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.5}.curriculum-box-label{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px;font-size:11px;font-weight:700}.curriculum-box--formulas{background:#9b4dff1a;border:1px solid #9b4dff4d}.curriculum-box--formulas .curriculum-box-label{color:var(--purple-bright)}.curriculum-formula-list{margin:0;padding-left:18px}.curriculum-formula-list li{font-family:Courier New,monospace}.curriculum-box--example{background:var(--bg-elevated);border:1px solid var(--border-strong)}.curriculum-box--example .curriculum-box-label{color:var(--blue)}.curriculum-example-text{white-space:pre-line}.curriculum-box--mistake{background:#ff5c7a1a;border:1px solid #ff5c7a59}.curriculum-box--mistake .curriculum-box-label{color:#ffb3c1}.curriculum-updated{text-align:center;color:var(--text-faint);padding-top:4px;font-size:12px}@media (width>=540px){body{justify-content:center;display:flex}.screen,.auth-screen{width:100%}}
