@font-face{font-family:"Plus Jakarta Sans";src:url("fonts/PlusJakartaSans.ttf") format("truetype");font-weight:200 800;font-style:normal;font-display:swap}
:root{
  --navy:#172554;--blue:#3157d5;--indigo:#536dfe;--cyan:#22d3ee;--lime:#a3e635;--purple:#a78bfa;--orange:#fb923c;
  --background:#f5f7fc;--surface:#fff;--surface-2:#eff3fa;--text:#16213e;--muted:#5f6c86;--border:#e4e9f2;
  --success:#15803d;--success-soft:#ecfdf3;--warning:#9a5a09;--danger:#c6303c;--danger-soft:#fff0f1;
  --bg:var(--background);--line:var(--border);--primary:var(--blue);--primary-2:#2444b5;--primary-soft:#edf1ff;--warn:var(--warning);
  --radius-sm:10px;--radius-md:16px;--radius-lg:22px;--radius-xl:28px;--radius:var(--radius-lg);
  --shadow:0 10px 30px rgba(20,35,80,.05);--hover-shadow:0 16px 36px rgba(20,35,80,.1);--max:1344px;
}
[data-theme="dark"]{
  --background:#0e1629;--surface:#151f35;--surface-2:#1e2b45;--text:#f5f7ff;--muted:#a7b1c8;--border:#2d3b56;
  --primary:#a9bcff;--primary-soft:#24345b;--success:#75dfa2;--success-soft:#17382b;--warning:#f6c46f;--danger:#ff9ca4;--danger-soft:#3d2435;--shadow:0 10px 30px #00000013;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:var(--background);color:var(--text);font:14px/1.65 "Plus Jakarta Sans",Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed;transform:none!important}a{color:var(--primary)}svg{flex-shrink:0}.ui-icon{width:20px;height:20px;vertical-align:middle}.app-shell{min-height:100vh;display:flex;flex-direction:column}
h1,h2,h3,p{overflow-wrap:break-word}h1,h2,h3{line-height:1.35}button,a{touch-action:manipulation}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:8px;left:16px;transform:translateY(-150%);z-index:100;background:var(--surface);padding:12px;border-radius:10px}.skip-link:focus{transform:none}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid var(--primary);outline-offset:4px}.topbar :focus-visible,.hero-learning :focus-visible{outline-color:#a5f3fc}
.main{width:min(var(--max),calc(100% - 80px));margin:0 auto;padding:30px 0 52px;flex:1;min-width:0}.main:focus{outline:none}.footer{display:flex;justify-content:space-between;gap:20px;padding:24px max(40px,calc((100% - var(--max))/2));border-top:1px solid var(--border);color:var(--muted);font-size:11px}.footer strong{color:var(--text);font-size:12px}.footer-divider{padding:0 12px;color:var(--border)}
.topbar{height:80px;padding:0 max(32px,calc((100% - var(--max))/2));display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--navy);color:#fff;position:sticky;top:0;z-index:30;border-bottom:1px solid #ffffff0f}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#fff;flex-shrink:0}.brand-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#ffffff12;border:1px solid #ffffff26;color:#a5f3fc}.brand-mark svg{width:25px;height:25px}.brand strong{display:block;font-size:19px;font-weight:800;letter-spacing:-.6px}.brand-light{font-weight:500}.brand small{display:block;color:#b7c5eb;font-size:10px;letter-spacing:.3px}.main-nav{display:flex;align-self:stretch;gap:4px;align-items:center}.main-nav a{color:#c0cceb;text-decoration:none;font-size:12px;font-weight:600;padding:10px 13px;min-height:44px;display:grid;place-items:center;position:relative;border-radius:10px}.main-nav a:hover{background:#ffffff0a;color:#fff}.main-nav a.active{background:#ffffff0e;color:#fff}.main-nav a.active:after{content:"";position:absolute;bottom:3px;left:calc(50% - 9px);width:18px;height:2px;background:var(--cyan);border-radius:4px}.top-actions{display:flex;align-items:center;gap:5px}.icon-btn{height:44px;width:44px;padding:10px;display:inline-grid;place-items:center;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text)}.topbar .icon-btn{background:none;border-color:transparent;color:#c8d4f3}.topbar .icon-btn:hover{background:#ffffff12;color:#fff}.profile-btn{width:38px;min-height:44px;display:grid;place-items:center;border:0;color:#172554;background:#c7d2fe;border-radius:13px;font-weight:800;font-size:12px;margin-left:9px}.menu-toggle{display:none}
.primary-btn,.ghost-btn,.danger-btn,.hero-secondary{min-height:44px;border-radius:12px;padding:11px 17px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .18s,transform .18s,box-shadow .18s;text-decoration:none}
.primary-btn{background:var(--blue);border:1px solid var(--blue);color:#fff;box-shadow:0 5px 13px #3157d522}.primary-btn:hover{background:var(--primary-2);transform:translateY(-1px)}.ghost-btn{background:var(--surface);border:1px solid var(--border);color:var(--text)}.ghost-btn:hover{background:var(--surface-2)}.danger-btn{background:var(--danger-soft);border:1px solid color-mix(in srgb,var(--danger) 25%,var(--border));color:var(--danger)}.muted{color:var(--muted)}.welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.welcome-label{display:block;font-size:10px;letter-spacing:1.6px;font-weight:800;color:var(--muted);margin-bottom:7px}.welcome h1{font-size:24px;letter-spacing:-.8px;margin:0;font-weight:750}.welcome h1>span{color:var(--primary);font-size:27px;margin-left:4px}.welcome p{font-size:12px;color:var(--muted);margin:7px 0 0}.welcome p>span{padding:0 7px}.welcome-note{color:var(--muted);font-size:11px;display:flex;align-items:center;gap:7px}.welcome-note svg{width:15px;color:var(--success)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(340px,1fr);gap:22px}.hero-learning{position:relative;border-radius:var(--radius-lg);background:linear-gradient(135deg,#172554 0%,#31489c 55%,#667eea 100%);color:#fff;overflow:hidden;padding:28px 30px;min-height:304px;display:flex;align-items:center}.hero-learning:after{content:"";position:absolute;width:220px;height:220px;right:-60px;top:-110px;border:1px solid #ffffff13;border-radius:50%;box-shadow:0 0 0 30px #ffffff03,0 0 0 60px #ffffff03;pointer-events:none}.hero-copy{position:relative;z-index:2;width:67%;}.quest-badge{display:inline-flex;align-items:center;gap:6px;font-size:9px;font-weight:800;letter-spacing:1.4px;color:#d4e5ff}.quest-badge svg{width:14px;height:14px;color:var(--cyan)}.hero-copy h2{font-size:clamp(28px,2.6vw,38px);letter-spacing:-1.4px;font-weight:750;line-height:1.19;margin:13px 0 12px}.hero-dot{color:var(--lime)}.hero-copy>p{font-size:12px;color:#d6e1fa;max-width:32ch;margin:0 0 15px}.hero-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:9px;color:#e2eaff}.hero-meta span:first-child{background:#ffffff13;border:1px solid #ffffff1a;padding:3px 8px;border-radius:6px}.hero-meta span:last-child{padding:4px 0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.hero-learning .primary-btn{background:#fff;border-color:#fff;color:#243977;box-shadow:0 4px 10px #17255422}.hero-learning .primary-btn:hover{background:#e7efff}.hero-secondary{padding:10px 0;background:none;border:0;color:#fff;font-size:11px;gap:6px}.hero-secondary .ui-icon{width:16px}.last-learning{display:flex;align-items:flex-start;gap:6px;font-size:9px;color:#d7e1f8;margin-top:15px;line-height:1.6;max-width:48ch}.last-learning .ui-icon{width:13px;height:13px;margin-top:1px}.hero-art{position:absolute;right:4px;bottom:12px;width:36%;height:auto;z-index:1}
.progress-summary{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);padding:24px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:center;min-width:0}.panel-kicker{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:9px;letter-spacing:1.4px;font-weight:800;color:var(--muted)}.streak-badge{display:inline-flex;align-items:center;gap:4px;color:var(--warning);background:color-mix(in srgb,var(--orange) 12%,var(--surface));padding:5px 7px;border-radius:999px;letter-spacing:0;font-size:9px;white-space:nowrap}.streak-badge svg{width:13px;height:13px}.progress-overview{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:23px 0}.score-ring{width:116px;height:116px;border-radius:50%;background:conic-gradient(var(--indigo) calc(var(--pct)*1%),var(--surface-2) 0);padding:8px;flex-shrink:0}.score-ring>span{display:flex;height:100%;flex-direction:column;justify-content:center;align-items:center;border-radius:50%;background:var(--surface)}.score-ring strong{font-size:28px;line-height:1.2;letter-spacing:-1px}.score-ring strong small{font-size:16px;letter-spacing:0}.score-ring>span>span{font-size:10px;color:var(--muted);margin-top:3px}.progress-facts{display:grid;gap:10px}.progress-facts p{display:flex;align-items:center;gap:9px;margin:0;font-size:10px;color:var(--muted)}.progress-facts p>svg{width:15px;height:15px;color:var(--primary)}.progress-facts p:nth-child(2)>svg{color:var(--warning)}.progress-facts strong{color:var(--text);font-size:13px;font-weight:750}.progress-facts small{display:block;font-size:9px;margin-top:1px}.xp-heading{border-top:1px solid var(--border);padding-top:14px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:10px;font-weight:700}.xp-heading>span{display:flex;align-items:center;gap:5px}.xp-heading svg{width:14px;height:14px;color:var(--primary)}.xp-heading strong{color:var(--primary);white-space:nowrap}.bar{height:6px;display:block;background:var(--surface-2);border-radius:999px;overflow:hidden}.bar>i{display:block;height:100%;background:var(--primary);border-radius:999px;transition:width .6s ease}.xp-bar{margin-top:9px;height:5px}.xp-bar>i{background:var(--indigo)}.xp-caption{font-size:9px;color:var(--muted);margin-top:6px}
.section-label{display:flex;gap:7px;align-items:center;font-size:12px;font-weight:750;margin:0 0 12px}.section-label svg{width:17px;height:17px;color:var(--primary)}.quick-section{margin-top:24px}.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.quick-card{display:flex;align-items:center;gap:14px;min-height:88px;padding:17px 19px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);text-align:left;transition:transform .2s,box-shadow .2s,border-color .2s}.quick-card:hover{transform:translateY(-2px);box-shadow:var(--hover-shadow);border-color:color-mix(in srgb,var(--primary) 30%,var(--border))}.quick-card>span:nth-child(2){flex:1;min-width:0}.quick-card strong{font-size:12px;display:block}.quick-card small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.quick-card>svg{width:17px;color:var(--muted)}.quick-icon{height:42px;width:42px;flex-shrink:0;display:grid;place-items:center;border-radius:12px;background:var(--tint);color:var(--tone);transition:transform .2s}.quick-card:hover .quick-icon{transform:scale(1.06)}
.blue{--tone:#3157d5;--tint:#edf2ff;--accent:#6b88ed}.violet{--tone:#7451be;--tint:#f2edfc;--accent:#ac90e4}.teal{--tone:#107477;--tint:#e8f7f5;--accent:#53b7b0}.orange{--tone:#a2591c;--tint:#fff3e9;--accent:#e9a26b}[data-theme="dark"] .blue{--tone:#a8bdff;--tint:#243354}[data-theme="dark"] .violet{--tone:#d2b7ff;--tint:#302c49}[data-theme="dark"] .teal{--tone:#87d8d4;--tint:#193d42}[data-theme="dark"] .orange{--tone:#ffc593;--tint:#3d3040}
.daily-goal{display:flex;align-items:center;gap:30px;padding:20px 24px;border:1px solid color-mix(in srgb,var(--success) 16%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--success-soft) 45%,var(--surface));margin-top:22px}.goal-intro{display:flex;gap:12px;align-items:center;flex:1}.goal-icon{color:var(--success);display:grid;place-items:center}.goal-icon svg{width:28px;height:28px}.goal-intro h2{font-size:12px;margin:0}.goal-intro p{font-size:10px;margin:3px 0 0;color:var(--muted)}.goal-meter{width:28%;max-width:300px}.goal-meter>div:first-child{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);gap:8px;margin-bottom:8px}.goal-meter strong{color:var(--text)}.goal-meter .bar{background:color-mix(in srgb,var(--success) 10%,var(--surface))}.goal-meter .bar>i{background:var(--success)}.goal-setting select{padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-size:10px;min-height:44px}
.packages-section{margin-top:34px;scroll-margin-top:100px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:28px 0 16px}.section-head h2{font-size:23px;letter-spacing:-.7px;margin:0}.section-head p{color:var(--muted);font-size:12px;margin:5px 0 0}.section-head .welcome-label{font-size:9px;margin-bottom:5px}.search-box{display:flex;align-items:center;gap:9px;width:310px;max-width:100%;background:var(--surface);border:1px solid var(--border);padding:0 13px;border-radius:12px;color:var(--muted)}.search-box input{border:0;min-width:0;width:100%;padding:12px 0;min-height:44px;background:none;color:var(--text);font-size:11px;outline:none}.search-box:focus-within{outline:2px solid var(--primary);outline-offset:2px}.search-box svg{width:17px}.search-box input::placeholder{color:var(--muted)}.package-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:12px}.filter-tabs{display:flex;gap:6px;flex-wrap:wrap}.filter-tabs button{border:1px solid transparent;background:none;color:var(--muted);padding:9px 15px;min-height:44px;border-radius:10px;font-size:11px;font-weight:650}.filter-tabs button:hover{background:var(--surface)}.filter-tabs button.active{background:var(--primary-soft);color:var(--primary);border-color:color-mix(in srgb,var(--primary) 16%,var(--border))}.package-count{font-size:10px;white-space:nowrap;color:var(--muted)}
.package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.package-card{border:1px solid var(--border);border-top:3px solid var(--accent);background:var(--surface);border-radius:18px;color:var(--text);padding:21px;text-align:left;display:flex;flex-direction:column;position:relative;transition:transform .2s,box-shadow .2s,border-color .2s;box-shadow:0 3px 12px #14235002;min-width:0}.package-card:hover{transform:translateY(-3px);box-shadow:var(--hover-shadow);border-color:var(--accent)}.package-top{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;letter-spacing:1.2px;font-weight:700}.package-top span:last-child{letter-spacing:.6px;font-size:8px}.package-identity{display:flex;align-items:center;gap:12px;margin:20px 0 10px}.package-icon{width:38px;height:38px;background:var(--tint);color:var(--tone);border-radius:11px;display:grid;place-items:center;flex-shrink:0}.package-title{font-size:15px;font-weight:750;letter-spacing:-.4px}.package-description{font-size:11px;color:var(--muted);line-height:1.75;min-height:39px;margin-bottom:13px}.status-badge{font-size:9px;font-weight:650;color:var(--muted);display:inline-flex;align-self:flex-start;align-items:center;gap:5px;background:var(--surface-2);padding:4px 7px;border-radius:7px;margin-bottom:19px}.status-badge svg{width:12px;height:12px}.status-badge.ongoing{color:var(--primary);background:var(--primary-soft)}.status-badge.review{color:var(--warning);background:color-mix(in srgb,var(--orange) 10%,var(--surface))}.status-badge.mastered{color:var(--success);background:var(--success-soft)}.package-progress-label{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-top:auto;margin-bottom:7px}.package-progress-label strong{color:var(--text);font-size:10px}.package-card .bar{height:5px}.package-card .bar>i{background:var(--accent)}.package-bottom{display:flex;align-items:center;justify-content:space-between;gap:6px;border-top:1px solid var(--border);margin-top:18px;padding-top:13px;min-height:42px}.mastery-caption{font-size:9px;color:var(--muted)}.mastery-caption strong{font-size:12px;color:var(--text)}.mastery-caption small{display:block;margin-top:2px;color:var(--warning);font-size:9px}.card-cta{display:flex;align-items:center;gap:4px;color:var(--primary);font-size:10px;font-weight:750}.card-cta svg{width:15px;height:15px}
.insight-card{margin-top:28px;display:flex;gap:18px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:24px}.insight-icon{color:var(--primary);height:48px;width:48px;border-radius:14px;background:var(--primary-soft);display:grid;place-items:center;flex-shrink:0}.insight-card>div{flex:1}.insight-card h2{font-size:15px;margin:0}.insight-card p{font-size:11px;color:var(--muted);margin:5px 0 0}.insight-card .welcome-label{font-size:8px}.insight-card button{font-size:11px;flex-shrink:0}.empty{grid-column:1/-1;padding:40px 22px;text-align:center;background:var(--surface);border:1px dashed var(--border);border-radius:18px;color:var(--muted)}.empty h2,.empty h3{color:var(--text)}.empty .primary-btn{margin-top:12px}
.page-heading{margin:5px 0 28px;max-width:700px}.page-heading h1{font-size:30px;margin:0 0 9px;letter-spacing:-1px}.page-heading>p{color:var(--muted);font-size:13px}.review-hub{grid-template-columns:1fr 1fr;margin-bottom:24px}.review-hub .quick-card{padding:24px;min-height:120px}.progress-page-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:24px}.activity-panel{padding:26px;border-radius:22px;background:var(--surface);border:1px solid var(--border)}.activity-panel h2{font-size:18px;margin:0}.activity-panel p{font-size:11px}.week-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:16px;margin-top:24px}.week-chart>div{text-align:center;font-size:10px;color:var(--muted)}.week-chart strong{font-size:12px;color:var(--text)}.week-track{height:120px;background:var(--surface-2);border-radius:8px;display:flex;align-items:flex-end;margin:8px 0}.week-track i{width:100%;background:var(--indigo);border-radius:8px;min-height:2px}.achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.achievement{display:flex;gap:14px;align-items:center;padding:22px;background:var(--surface);border:1px solid var(--border);border-radius:18px}.achievement>span{color:var(--muted);background:var(--surface-2);border-radius:50%;padding:12px;display:flex}.achievement.earned>span{color:var(--success);background:var(--success-soft)}.achievement h3{font-size:13px;margin:0}.achievement p{font-size:10px;color:var(--muted);margin:4px 0}.achievement small{font-size:10px;color:var(--muted)}.achievement.earned small{color:var(--success)}.metric-explainer{max-width:850px;margin-top:32px}.metric-explainer h2{font-size:18px}.metric-explainer p{color:var(--muted);font-size:12px}
/* Question, review, and try out views retain the established navigation. */
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap}.crumb{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;flex-wrap:wrap}.crumb button{border:0;background:none;color:var(--primary);font-weight:700;min-height:44px;padding:8px 0}.mode-tabs{display:flex;background:var(--surface-2);border:1px solid var(--border);padding:4px;border-radius:13px}.mode-tabs button{border:0;background:none;color:var(--muted);padding:8px 15px;min-height:44px;border-radius:9px;font-weight:700;font-size:12px}.mode-tabs button.active{background:var(--surface);color:var(--primary);box-shadow:0 2px 8px #00000005}.question-layout{display:grid;grid-template-columns:minmax(0,1fr) 304px;gap:24px}.question-card,.panel,.quiz-setup{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:30px}.q-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:22px}.pill{display:inline-flex;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700;background:var(--primary-soft);color:var(--primary)}.q-number{font-size:11px;color:var(--muted)}.q-title{font-size:clamp(18px,2vw,23px);font-weight:650;line-height:1.6;letter-spacing:-.4px;margin:0 0 24px}.options{display:grid;gap:12px}.option{display:grid;grid-template-columns:36px 1fr;width:100%;gap:12px;padding:16px;align-items:center;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);text-align:left;min-height:64px;transition:background .15s,border-color .15s}.option>span:last-child{overflow-wrap:anywhere}.option:hover:not(:disabled){background:var(--surface-2);border-color:var(--primary)}.option-key{width:34px;height:34px;display:grid;place-items:center;background:var(--surface-2);color:var(--muted);border-radius:10px;font-weight:750}.option.selected{border-color:var(--primary);background:var(--primary-soft)}.option.selected .option-key{background:var(--blue);color:#fff}.option:disabled{opacity:1}.option.correct{background:var(--success-soft);border-color:var(--success)}.option.correct .option-key{background:#15803d;color:white}.option.wrong{background:var(--danger-soft);border-color:var(--danger)}.option.wrong .option-key{background:#c6303c;color:white}.feedback{margin-top:18px;padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2);line-height:1.8}.feedback strong{display:block;margin-bottom:5px}.feedback.correct strong{color:var(--success)}.feedback.wrong strong{color:var(--danger)}.feedback p{margin:8px 0 0}.question-actions{display:flex;justify-content:space-between;gap:12px;padding-top:22px;margin-top:24px;border-top:1px solid var(--border);flex-wrap:wrap}.nav-actions{display:flex;gap:8px}.bookmark.active{color:var(--warning);background:color-mix(in srgb,var(--orange) 12%,var(--surface));border-color:var(--warning)}.fab-help{color:var(--muted);font-size:10px;margin-top:15px}.side-panel{padding:20px;height:max-content;position:sticky;top:104px;background:var(--surface);border:1px solid var(--border);border-radius:18px}.side-panel h3{font-size:14px;margin:0 0 16px}.question-map{display:grid;grid-template-columns:repeat(5,minmax(44px,1fr));gap:8px}.map-item{min-height:44px;border:1px solid var(--border);border-radius:9px;color:var(--muted);background:var(--surface-2);font-size:11px;font-weight:700}.map-item.done{background:var(--success-soft);color:var(--success)}.map-item.wrong{background:var(--danger-soft);color:var(--danger)}.map-item.current{outline:2px solid var(--primary);outline-offset:2px;color:var(--primary)}.side-row{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted);margin-top:13px}.side-row strong{color:var(--text)}.quiz-setup{max-width:720px;margin:0 auto}.quiz-setup h2{margin-top:10px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1.3px;color:var(--primary);font-weight:800}.field{display:grid;gap:8px;margin:18px 0}.field label{font-size:12px;font-weight:700}.field select,.field input{width:100%;min-width:0;min-height:44px;padding:11px 12px;background:var(--surface);border:1px solid var(--border);border-radius:11px;color:var(--text)}.check-row{display:flex;align-items:center;gap:8px;min-height:44px;font-size:12px;color:var(--muted)}.check-row input{accent-color:var(--blue);width:18px;height:18px}.result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}.result-stat{background:var(--surface-2);padding:18px;border-radius:14px}.result-stat strong{display:block;font-size:28px;letter-spacing:-1px}.result-stat span{font-size:12px;color:var(--muted)}.result-panel h1{margin:6px 0 0}.review-list{display:grid;gap:14px}.review-item{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px;overflow-wrap:anywhere}.review-item p{margin:8px 0}.review-item.correct{border-left:4px solid var(--success)}.review-item.wrong{border-left:4px solid var(--danger)}.review-item.unanswered{border-left:4px solid var(--muted)}
.utility-dialog{width:min(460px,calc(100% - 32px));max-height:calc(100dvh - 48px);padding:26px;border:1px solid var(--border);border-radius:22px;background:var(--surface);color:var(--text);box-shadow:var(--hover-shadow)}.utility-dialog::backdrop{background:#08122c99;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.dialog-heading h2{font-size:20px;margin:0}.utility-dialog p{font-size:12px}.utility-dialog hr{border:0;border-top:1px solid var(--border);margin:24px 0}.notification-item{display:flex;align-items:start;gap:14px;margin-top:22px}.notification-item>svg{color:var(--primary);margin-top:3px}.notification-item strong{font-size:13px}.notification-item p{color:var(--muted);margin:5px 0}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--text);color:var(--background);padding:12px 18px;border-radius:12px;font-size:12px;transition:.2s;z-index:60;max-width:calc(100% - 32px);width:max-content}.toast.show{transform:translate(-50%,0);opacity:1}.hide{display:none!important}
@media(min-width:1600px){.hero-learning{min-height:310px}.hero-copy h2{font-size:39px}.hero-art{width:38%;right:12px}}
@media(max-width:1199px){.main{width:calc(100% - 48px)}.topbar{padding:0 24px;gap:15px}.main-nav a{padding:10px 9px;font-size:11px}.desktop-tool{display:none!important}.hero-grid{grid-template-columns:minmax(0,1.65fr) minmax(310px,1fr);gap:18px}.hero-learning{padding:25px}.hero-copy{width:75%}.hero-art{width:33%;right:-12px;opacity:.9}.hero-copy h2{font-size:31px}.hero-secondary{font-size:10px}.progress-summary{padding:21px}.score-ring{width:96px;height:96px}.progress-facts{gap:10px}.progress-facts p{font-size:9px}.panel-kicker{font-size:8px;letter-spacing:1px}.streak-badge{font-size:8px}.package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-card{padding:16px 13px;gap:10px}.quick-card small{font-size:9px}.quick-card strong{font-size:11px}.quick-icon{width:36px;height:36px}.daily-goal{gap:20px;padding:18px}.goal-intro p{max-width:32ch}.achievement-grid{gap:12px}.achievement{padding:15px}}
@media(max-width:959px){.main-nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--navy);padding:12px 24px;align-items:stretch;border-top:1px solid #ffffff16;box-shadow:0 15px 20px #08122c20}.main-nav.is-open{display:flex}.main-nav a{flex:1;font-size:12px}.menu-toggle{display:inline-grid}.hero-grid{grid-template-columns:1fr}.hero-learning{min-height:280px}.hero-copy{width:70%}.hero-art{width:28%;right:30px}.hero-copy h2{font-size:35px}.progress-summary{padding:22px}.progress-overview{justify-content:flex-start;gap:35px}.hero-grid>.progress-summary{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.hero-grid .panel-kicker{grid-column:1/-1;font-size:10px}.hero-grid .progress-overview{grid-row:2/5;margin:18px 0 0;gap:20px}.hero-grid .xp-heading{align-self:end;margin-top:20px;border:0;padding:0}.hero-grid .xp-bar{align-self:center}.hero-grid .xp-caption{margin:0}.progress-facts p{font-size:11px}.score-ring{width:106px;height:106px}.welcome-note{display:none}.question-layout{grid-template-columns:1fr}.side-panel{position:static}.question-map{grid-template-columns:repeat(10,minmax(44px,1fr))}.daily-goal{flex-wrap:wrap;gap:16px}.goal-intro{flex-basis:50%}.goal-meter{width:38%}.goal-setting{margin-left:40px}.progress-page-grid{grid-template-columns:1fr 1fr}.achievement-grid{grid-template-columns:1fr}.review-hub{grid-template-columns:1fr}}
@media(max-width:767px){.main{width:calc(100% - 32px);padding:23px 0 36px}.topbar{height:72px;padding:0 16px;gap:10px}.brand{gap:9px}.brand-mark{width:34px;height:36px;border-radius:10px}.brand strong{font-size:17px}.brand small{font-size:8px}.top-actions{gap:0}.topbar .icon-btn{width:40px}.profile-btn{width:34px;margin-left:2px;font-size:10px;border-radius:11px}.main-nav{top:72px;padding:10px 16px;flex-direction:column}.main-nav a{display:block;padding:12px}.main-nav a.active:after{left:0;bottom:12px;width:3px;height:20px}.welcome{margin-bottom:20px}.welcome-label{font-size:8px;letter-spacing:1.2px}.welcome h1{font-size:20px;letter-spacing:-.6px}.welcome h1>span{font-size:22px}.welcome p{font-size:10px;margin-top:6px}.hero-grid{gap:16px}.hero-learning{padding:24px;min-height:280px;align-items:flex-start}.hero-copy{width:100%}.hero-copy h2{font-size:32px;letter-spacing:-1px;margin:12px 0}.hero-copy>p{max-width:26ch;font-size:11px;position:relative;z-index:2}.hero-art{width:37%;right:-14px;bottom:78px;opacity:.45;pointer-events:none}.hero-meta{font-size:8px;gap:5px;position:relative;z-index:2}.hero-actions{gap:9px;margin-top:16px}.hero-learning .primary-btn{width:100%;font-size:12px;z-index:2}.hero-secondary{min-height:44px;width:100%;padding:4px 0}.last-learning{font-size:9px;margin-top:7px;max-width:none}.hero-grid>.progress-summary{display:flex;padding:21px}.hero-grid .progress-overview{margin:20px 0;justify-content:space-around;gap:20px}.hero-grid .xp-heading{align-self:auto;border-top:1px solid var(--border);margin:0;padding-top:13px}.hero-grid .xp-bar{align-self:auto}.hero-grid .xp-caption{margin-top:7px}.panel-kicker{font-size:9px}.streak-badge{font-size:9px}.progress-facts p{font-size:11px}.score-ring{width:112px;height:112px}.quick-section{margin-top:24px}.quick-grid{grid-template-columns:1fr;gap:10px}.quick-card{min-height:78px;padding:15px 18px;gap:14px}.quick-card strong{font-size:12px}.quick-card small{font-size:10px}.quick-icon{width:40px;height:40px}.daily-goal{padding:19px;gap:18px}.goal-intro{flex-basis:100%}.goal-intro h2{font-size:12px}.goal-intro p{max-width:none;font-size:10px}.goal-meter{width:100%;max-width:none}.goal-setting{margin:0;width:100%}.goal-setting select{width:100%}.packages-section{margin-top:28px}.section-head{flex-direction:column;align-items:stretch;gap:16px}.section-head h2{font-size:23px}.section-head p{font-size:11px}.search-box{width:100%}.package-controls{align-items:flex-start;flex-direction:column;gap:8px}.filter-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;width:100%}.filter-tabs button{padding:8px 10px;text-align:center;border-color:var(--border);background:var(--surface);font-size:11px}.package-count{align-self:flex-end}.package-grid{grid-template-columns:1fr;gap:16px}.package-card{padding:21px}.package-title{font-size:16px}.package-description{font-size:12px;min-height:0}.package-identity{margin-top:17px}.package-top{font-size:10px}.status-badge{font-size:10px}.package-progress-label{font-size:10px}.mastery-caption{font-size:10px}.card-cta{font-size:11px}.insight-card{flex-wrap:wrap;padding:21px;gap:14px}.insight-card>div{flex-basis:calc(100% - 65px)}.insight-card h2{font-size:14px}.insight-card button{width:100%}.insight-card p{font-size:11px}.footer{padding:22px 16px;flex-direction:column;gap:7px;font-size:10px}.footer-divider{padding:0 5px}.page-heading h1{font-size:26px}.page-heading p{font-size:12px}.progress-page-grid{grid-template-columns:1fr}.week-chart{gap:12px}.activity-panel{padding:22px}.question-card,.quiz-setup,.panel{padding:20px}.q-meta{flex-wrap:wrap}.q-title{font-size:18px;line-height:1.65}.option{grid-template-columns:30px 1fr;gap:10px;padding:13px;font-size:13px;line-height:1.65}.option-key{width:30px;height:32px;font-size:12px}.question-actions{align-items:stretch}.question-actions>.bookmark{width:100%}.nav-actions{width:100%}.nav-actions button{flex:1;padding:11px 9px}.question-map{grid-template-columns:repeat(5,minmax(44px,1fr))}.result-grid{grid-template-columns:1fr 1fr}.result-stat{padding:16px}.feedback{font-size:13px;padding:15px}.review-item{padding:16px;font-size:13px}.result-panel .hero-actions,.quiz-setup .hero-actions{flex-direction:column}.result-panel .hero-actions button,.quiz-setup .hero-actions button{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.map-item{position:relative}.map-state{position:absolute;right:4px;top:1px;font-size:9px;font-weight:800}

.brand{min-height:44px}
