:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fbfaf7;--ink:#252525;--muted:#6a665f;--line:#e5dfd3;--teal:#087f7a;--coral:#d95c4b;--yellow:#f3c969;--panel:#fff}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.page{min-height:100vh;padding:32px}.shell{max-width:1040px;margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:48px;display:flex}.brand{letter-spacing:0;font-weight:700}.hero{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:center;gap:28px;display:grid}.hero h1{max-width:11ch;font-size:clamp(44px,6vw,68px)}.hero p{max-width:620px}.eyebrow{color:var(--teal);text-transform:uppercase;font-size:14px;font-weight:700}h1{letter-spacing:0;margin:10px 0 16px;font-size:clamp(42px,7vw,72px);line-height:.98}h2{letter-spacing:0;margin:0 0 16px;font-size:28px}p{color:var(--muted);line-height:1.6}.actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.button{border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:0 18px;font-weight:700;display:inline-flex}.button:disabled,.choice:disabled,.skip-link:disabled{cursor:not-allowed;opacity:.6}.button.secondary{color:var(--ink);background:0 0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:22px;box-shadow:0 20px 45px #25252514}.admin-shell{max-width:1180px}.admin-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:24px;display:flex}.admin-heading h1{margin-bottom:0;font-size:42px}.admin-tabs{gap:8px;display:inline-flex}.admin-tabs a,.admin-back-link,.admin-link{color:var(--teal);font-weight:700}.admin-tabs a{border:1px solid var(--line);border-radius:8px;padding:10px 12px}.admin-summary-grid,.admin-two-column{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.admin-two-column{grid-template-columns:minmax(0,1fr) minmax(320px,.8fr)}.admin-metric small,.admin-table small,.admin-skill-row small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.admin-metric strong{margin-top:8px;font-size:32px;display:block}.admin-section-heading{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:14px;display:flex}.admin-section-heading h2{margin:0}.admin-section-heading p{margin:0;font-size:14px}.admin-table-scroll{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:760px}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px 10px}.admin-table th{color:var(--muted);text-transform:uppercase;font-size:12px}.admin-table tr:last-child td{border-bottom:0}.admin-row-warning td{background:#fff7f1}.admin-detail-card{justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;display:flex}.admin-detail-card h2{margin-top:8px}.admin-detail-stats{flex-wrap:wrap;gap:10px;display:flex}.admin-detail-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.admin-detail-stats span{border:1px solid var(--line);border-radius:8px;padding:10px 12px}.admin-skill-list{gap:10px;display:grid}.admin-skill-row{border:1px solid var(--line);border-radius:8px;grid-template-columns:1fr auto;gap:4px;padding:12px;display:grid}.admin-skill-row small{grid-column:1/-1}.admin-form{gap:14px;display:grid}.admin-form label{color:var(--muted);gap:6px;font-size:13px;font-weight:700;display:grid}.admin-form select,.admin-form textarea,.admin-inline-form select{border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:10px 12px}.admin-inline-form{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.admin-small-button{min-height:36px;padding:0 12px}@media (max-width:760px){.admin-heading,.admin-detail-card,.admin-section-heading{flex-direction:column;align-items:flex-start}.admin-summary-grid,.admin-two-column{grid-template-columns:1fr}.admin-heading h1{font-size:34px}}.metric{grid-template-columns:90px 1fr 96px;align-items:center;gap:12px;margin:14px 0;font-size:14px;display:grid}.bar{background:#eee7dc;border-radius:999px;height:10px;overflow:hidden}.bar>span{background:var(--teal);height:100%;display:block}.landing-preview-card{align-self:center;box-shadow:0 24px 60px #25252517}.landing-preview-header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.landing-preview-header span,.landing-preview-row span,.landing-preview-row em{color:var(--muted);font-size:12px}.landing-preview-header span,.landing-preview-row span{letter-spacing:.08em;text-transform:uppercase}.landing-preview-header strong{font-size:30px}.landing-level-meter{background:#e6dfd5;border-radius:999px;height:9px;margin-bottom:16px;overflow:hidden}.landing-level-meter span{border-radius:inherit;background:#1d1d1b;height:100%;display:block}.landing-preview-row{border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(92px,.5fr) minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:10px;padding:12px;display:grid}.landing-preview-row strong{min-width:0}.landing-preview-row em{border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:5px 8px;font-style:normal}.landing-preview-card p{margin:16px 0 0}.test-card{max-width:720px;margin:0 auto}.placement-card{min-height:460px;padding:26px}.question-stimulus{text-align:center;justify-content:center;align-items:center;min-height:116px;margin:18px 0 20px;font-size:84px;line-height:1;display:flex}.question-stimulus.grammar-stimulus{min-height:72px;margin:10px 0 18px;font-size:48px}.question-instruction{color:var(--muted);margin:18px 0 10px;font-size:14px;font-weight:700}.choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-height:116px;display:grid}.choice{border:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;border-radius:8px;min-height:52px;padding:12px}.choice:hover{border-color:var(--teal)}.skip-link{color:var(--muted);cursor:pointer;background:0 0;border:0;margin:16px auto 0;padding:8px;text-decoration:underline;display:block}.skip-link:hover{color:var(--ink)}.select{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);background:#fff;border-radius:8px;margin:4px 0 18px;padding:0 12px}.progress-row{color:var(--muted);justify-content:space-between;gap:12px;margin-bottom:10px;display:flex}.practice-progress-track{background:#e5ded4;border-radius:999px;height:12px;margin:0 0 20px;overflow:hidden}.practice-progress-track span{background:var(--teal);border-radius:inherit;height:100%;display:block}.placement-progress{margin-bottom:18px}.placement-progress-copy{color:var(--muted);justify-content:space-between;gap:12px;margin-bottom:8px;font-size:13px;display:flex}.placement-progress-copy span{font-weight:700}.placement-progress-copy strong{color:var(--ink)}.placement-progress-track{background:#eee7dc;border-radius:999px;height:8px;overflow:hidden}.placement-progress-track span{background:var(--teal);height:100%;display:block}.placement-progress p{color:var(--muted);margin:8px 0 0;font-size:12px}.report-grid{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:24px;display:grid}.report-grid .panel{min-height:360px;box-shadow:0 18px 38px #2525250f}.report-grid .panel h1{max-width:12ch;margin:10px 0 14px;font-size:clamp(34px,4vw,54px);line-height:1.05}.report-level-card h1{max-width:none}.report-course-card h1{max-width:none;font-size:clamp(32px,4.2vw,48px)}.recommendation-summary{margin-bottom:16px}.placement-roadmap-panel{margin-top:24px}.placement-roadmap-panel .roadmap-card-flat{box-shadow:0 20px 45px #25252514}.roadmap-panel{margin-top:24px}.roadmap-list{gap:10px;margin-top:18px;display:grid}.roadmap-row{border:1px solid var(--line);border-radius:8px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.roadmap-row p{margin:4px 0 8px}.roadmap-row.completed{background:#f0f8f6;border-color:#087f7a59}.roadmap-row.in_progress{border-color:var(--teal)}.roadmap-row.locked{opacity:.62}.roadmap-status{border:1px solid var(--line);border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-weight:700;display:inline-flex}.pill{color:var(--muted);background:#f4efe5;border-radius:999px;margin:4px 6px 4px 0;padding:6px 10px;font-size:13px;display:inline-flex}.feedback{border-left:4px solid var(--teal);background:#f4efe5;padding:10px 12px}.feedback.learn-feedback{color:#a84d00;border-left-color:#ea7a1a;font-weight:700}.choice.correct-choice{color:#15724e;border-color:#36b985;font-weight:700;box-shadow:inset 0 0 0 1px #36b985}.choice.wrong-choice{color:#a33d12;border-color:#e56a2f;box-shadow:inset 0 0 0 1px #e56a2f}.choice.muted-choice{opacity:.52}.practice-continue-button{justify-content:center;min-width:160px;margin:18px auto 0;display:flex}.save-progress-callout{border:1px solid var(--line);background:#fbfaf7;border-radius:8px;margin-top:18px;padding:14px}.save-progress-callout p{margin:6px 0 0}.auth-page,.profile-page{align-items:center;display:grid}.auth-card{width:100%;max-width:460px;margin:0 auto}.auth-card h1{font-size:42px;line-height:1.05}.auth-brand{align-items:center;margin-bottom:26px;display:inline-flex}.auth-brand img{width:auto;height:46px;display:block}.auth-google-button{width:100%;margin-top:18px}.auth-switch{border-top:1px solid var(--line);text-align:center;margin-top:22px;padding-top:18px}.auth-switch a{color:var(--muted);font-weight:700}.profile-card{max-width:980px;margin:0 auto}.profile-identity{align-items:center;gap:18px;display:flex}.profile-identity h1{font-size:44px;line-height:1.05}.profile-avatar{border:1px solid var(--line);object-fit:cover;border-radius:999px;flex:none;width:72px;height:72px}.profile-avatar.fallback{background:var(--ink);color:#fff;justify-content:center;align-items:center;font-size:28px;font-weight:700;display:inline-flex}.profile-learning{margin-top:28px}.profile-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.profile-overview-card,.profile-section{border:1px solid var(--line);border-radius:8px;padding:16px}.profile-overview-card small,.profile-overview-card span{color:var(--muted);font-size:12px;display:block}.profile-overview-card small{letter-spacing:.08em;text-transform:uppercase}.profile-overview-card strong{margin:10px 0 8px;font-size:22px;line-height:1.15;display:block}.profile-section{margin-top:14px}.profile-section-heading{grid-template-columns:1fr auto;align-items:start;gap:18px;display:grid}.profile-section-heading h2{margin:0 0 4px;font-size:20px}.profile-section-heading p{margin:0}.profile-text-link{border:1px solid var(--line);color:var(--muted);border-radius:999px;align-items:center;min-height:32px;padding:0 14px;font-weight:700;display:inline-flex}.profile-history-list{gap:10px;margin-top:16px;display:grid}.profile-history-row{border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(180px,.7fr) minmax(0,1fr);align-items:start;gap:14px;padding:14px;display:grid}.profile-history-row.compact{align-items:center}.profile-history-row strong,.profile-history-row span{display:block}.profile-history-row span{color:var(--muted);margin-top:4px;font-size:13px}.profile-skill-grid{flex-wrap:wrap;gap:8px;display:flex}.profile-skill-grid span,.profile-practice-stats span{border:1px solid var(--line);color:var(--muted);border-radius:999px;margin:0;padding:6px 10px;font-size:12px}.profile-practice-stats{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.profile-practice-stats strong{color:var(--ink)}.profile-empty-state{color:var(--muted);background:#fbfaf7;border-radius:7px;margin-top:16px;padding:16px}.progress-app-shell{color:#181817;background:#f3f0ea;min-height:100vh;overflow-x:hidden}.app-header,.app-header-brand,.app-header-links,.app-user-pill{align-items:center;display:flex}.app-header{justify-content:space-between;gap:18px;width:100%;min-height:34px;margin-bottom:34px}.app-header-brand{font-weight:700;line-height:1}.app-header-brand img{width:auto;height:34px;display:block}.app-header-links{flex-wrap:nowrap;flex:none;justify-content:flex-end;align-items:center;gap:18px;min-height:34px;margin-left:auto;display:flex}.source-group-label,.section-title small,.source-card-flat small,.card-heading small{color:#8a8378;letter-spacing:.08em;text-transform:uppercase;font-size:11px}.app-header-links>a,.app-header-links>button{color:#655f57;cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;height:34px;padding:0;font-size:13px;font-weight:700;line-height:1;display:inline-flex}.app-header-links>a:hover,.app-header-links>button:hover{color:#1d1d1b}.app-user-menu{align-items:center;height:34px;display:inline-flex;position:relative}.app-user-pill{appearance:none;color:#1d1d1b;cursor:pointer;background:#fff;border:1px solid #ded8cf;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-weight:700;line-height:1;display:inline-flex}.app-user-pill img,.app-user-pill>span:not(.app-user-chevron){border-radius:999px;flex:none;width:24px;height:24px}.app-user-pill img{object-fit:cover}.app-user-pill>span:not(.app-user-chevron){color:#fff;background:#171717;justify-content:center;align-items:center;font-size:11px;display:inline-flex}.app-user-dropdown{z-index:50;background:#fff;border:1px solid #ded8cf;border-radius:8px;gap:2px;min-width:136px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 35px #2525251f}.app-user-dropdown a,.app-user-dropdown button{color:#4f4942;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;width:100%;min-height:32px;padding:0 10px;font-size:13px;font-weight:700;display:flex}.app-user-dropdown a:hover,.app-user-dropdown button:hover{color:#1d1d1b;background:#f4efe7}.progress-main{width:100%;max-width:1120px;margin:0 auto;padding:26px 36px 18px}.dashboard-roadmap-strip,.learning-summary-card,.accordion-level,.premium-card,.code-unlock-row{background:#fff;border:1px solid #dfd9cf;border-radius:10px}.dashboard-roadmap-strip{margin-bottom:14px;padding:18px 20px 16px}.strip-roadmap{scrollbar-width:none;margin:0;padding:8px 4px 12px;overflow:hidden}.strip-roadmap::-webkit-scrollbar{display:none}.strip-roadmap .roadmap-node-row{width:100%;min-height:72px}.strip-roadmap .roadmap-node{min-height:72px}.strip-roadmap .roadmap-node-status,.strip-roadmap .roadmap-node small{display:none}.roadmap-strip-detail{color:#6d665e;border-top:1px solid #eee8df;align-items:baseline;gap:10px;margin-top:6px;padding-top:10px;display:flex}.roadmap-strip-detail strong{color:#1d1d1b;white-space:nowrap;font-size:13px}.roadmap-strip-detail span{font-size:12px;line-height:1.4}.learning-summary-card{grid-template-columns:minmax(280px,1fr) minmax(300px,1.25fr) minmax(230px,.8fr) auto;align-items:stretch;gap:0;margin-bottom:18px;display:grid;overflow:hidden}.summary-practice-block,.summary-level-block,.summary-stats-block,.summary-action-block{padding:18px 20px}.summary-practice-block{border-left:4px solid #1d1d1b}.summary-level-block,.summary-stats-block,.summary-action-block{border-left:1px solid #eee8df}.learning-summary-card small{color:#8a8378;letter-spacing:.08em;text-transform:uppercase;margin-bottom:9px;font-size:11px;display:block}.learning-summary-card h1,.learning-summary-card h2{color:#1d1d1b;letter-spacing:0;margin:0;line-height:1}.learning-summary-card h1{white-space:nowrap;font-size:30px}.learning-summary-card h2{font-size:22px}.learning-summary-card p{color:#6d665e;margin:10px 0 0;font-size:13px}.session-source{color:#8a8378;white-space:nowrap}.session-source strong{color:#4f4942}.summary-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.summary-stat-grid span{color:#6d665e;border:1px solid #ebe5dc;border-radius:8px;min-height:48px;padding:9px 10px;font-size:12px}.summary-stat-grid strong{color:#1d1d1b;margin-bottom:4px;font-size:16px;line-height:1;display:block}.summary-action-block{align-items:center;min-width:150px;display:flex}.summary-action-block a,.summary-action-block .disabled-practice-button{color:#fff;white-space:nowrap;background:#1d1d1b;border:1px solid #1d1d1b;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:0 18px;font-size:14px;font-weight:750;display:inline-flex}.divider-title small{color:#8a8378;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;font-size:11px;display:block}.text-action-button{color:#6d665e;cursor:pointer;background:0 0;border:0;margin-top:12px;padding:0;font-size:12px;font-weight:750}.text-action-button:hover{color:#1d1d1b}.divider-title{border-top:1px solid #ddd6cc;align-items:baseline;padding-top:16px}.practice-library-section{margin-bottom:22px}.practice-accordion{scrollbar-color:#cfc7bb transparent;scrollbar-width:thin;gap:10px;max-height:560px;padding-right:6px;display:grid;overflow-y:auto}.practice-accordion::-webkit-scrollbar{width:8px}.practice-accordion::-webkit-scrollbar-track{background:0 0}.practice-accordion::-webkit-scrollbar-thumb{background:#cfc7bb;border-radius:999px}.accordion-level{opacity:var(--future-opacity,1);transition:opacity .12s,border-color .12s;overflow:hidden}.accordion-level.open{opacity:1}.accordion-level.current{border-color:#cfc7bb}.accordion-level-header{color:#1d1d1b;text-align:left;background:0 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;min-height:72px;padding:14px 18px;display:grid}.accordion-level-toggle{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;min-height:44px;padding:0;display:grid}.accordion-add-default{color:#fff;cursor:pointer;white-space:nowrap;background:#1d1d1b;border:1px solid #1d1d1b;border-radius:7px;min-height:32px;padding:0 13px;font-size:12px;font-weight:750}.accordion-add-default:hover{color:#1d1d1b;background:#fff}.accordion-stage-badge{background:#1d1d1b;border-radius:999px;align-self:center;width:10px;height:10px;display:block}.accordion-level:not(.current) .accordion-stage-badge{color:#746d64;background:#f2eee8}.accordion-level-toggle strong,.accordion-level-toggle small{display:block}.accordion-level-toggle strong{margin-bottom:4px;font-size:16px}.accordion-level-toggle small,.accordion-level-toggle em{color:#8a8378;font-size:12px;font-style:normal}.accordion-level-toggle em{text-transform:capitalize}.accordion-set-list{border-top:1px solid #e9e2d9;gap:0;padding:8px 18px 14px;display:grid}.accordion-set-row{grid-template-columns:minmax(0,1fr) minmax(220px,.72fr) auto;align-items:center;gap:14px;min-height:44px;padding:6px 0;display:grid}.accordion-set-name{color:#1d1d1b;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;min-width:0;padding:0;display:inline-flex}.accordion-set-name span{background:#1d1d1b;border-radius:999px;width:6px;height:6px;display:inline-block}.accordion-set-progress{color:#8a8378;grid-template-columns:minmax(80px,1fr) 36px auto;align-items:center;gap:10px;font-size:12px;display:grid}.accordion-set-actions{justify-content:flex-end;gap:8px;display:flex}.accordion-set-actions button,.premium-card button{color:#1d1d1b;cursor:pointer;background:#fff;border:1px solid #1d1d1b;border-radius:7px;min-height:32px;padding:0 13px;font-size:12px;font-weight:750}.accordion-set-actions button:hover,.premium-card button:hover{color:#fff;background:#1d1d1b}.accordion-set-actions button:disabled,.premium-card button:disabled{color:#8a8378;cursor:not-allowed;background:#f8f4ee;border-color:#ded8cf}.accordion-empty-row,.accordion-premium-note{color:#8a8378;padding:10px 0;font-size:12px}.premium-section{margin-bottom:14px}.premium-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.premium-card{gap:12px;min-height:190px;padding:18px;display:grid}.premium-card small{color:#8a8378;letter-spacing:.08em;text-transform:uppercase;font-size:11px}.premium-card strong{font-size:18px}.premium-card p{color:#6d665e;margin:0;font-size:13px}.premium-tags{flex-wrap:wrap;gap:6px;display:flex}.premium-tags span{color:#6d665e;background:#f2eee8;border-radius:999px;padding:5px 8px;font-size:11px}.premium-card.locked,.premium-card.disabled{color:#8a8378}.code-unlock-row{margin-top:14px}.learning-hero{color:#fff;background:#191919;border:1px solid #191919;border-radius:10px;grid-template-columns:minmax(260px,1fr) auto;align-items:center;gap:22px;min-height:128px;margin-bottom:24px;padding:26px 28px;display:grid}.learning-hero.compact{min-height:132px;padding:22px 26px}.learning-hero-copy{min-width:0}.banner-kicker{color:#a9a7a0;letter-spacing:.12em;text-transform:uppercase;font-size:12px}.banner-kicker span{background:#3e7dcc;border-radius:999px;width:7px;height:7px;margin-right:10px;display:inline-block}.learning-hero h2{margin:14px 0 10px;font-size:28px;font-weight:650}.learning-hero p,.banner-action small{color:#c8c4bd;margin:0;font-size:13px}.banner-action{justify-items:flex-end;gap:10px;display:grid}.banner-action a{color:#191919;background:#f9f8f5;border-radius:8px;align-items:center;gap:10px;min-height:46px;padding:0 20px;font-weight:700;display:inline-flex}.disabled-practice-button{color:#969189;background:#343331;border:1px solid #4d4a45;border-radius:8px;align-items:center;min-height:46px;padding:0 20px;font-weight:700;display:inline-flex}.banner-action a span{color:#7d766e;background:#eeeae2;border-radius:5px;padding:1px 6px}.share-hero-button{color:#c8c4bd;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.share-hero-button:hover{color:#fff}.section-title{align-items:baseline;gap:9px;margin:0 0 12px;display:flex}.section-title.between{justify-content:space-between;align-items:center}.section-title-label{align-items:baseline;gap:9px;display:flex}.section-title h2{margin:0;font-size:17px;font-weight:650}.section-action-button{color:#fff;cursor:pointer;white-space:nowrap;background:#1d1d1b;border:1px solid #1d1d1b;border-radius:7px;min-height:34px;padding:0 13px;font-size:12px;font-weight:700}.section-action-button:disabled{color:#8a8378;cursor:not-allowed;background:#f8f4ee;border-color:#ded8cf}.library-filter{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.library-filter button{color:#6d665e;cursor:pointer;background:#f8f4ee;border:1px solid #ded8cf;border-radius:999px;min-height:30px;padding:0 11px;font-size:12px;font-weight:650}.library-filter button[aria-pressed=true]{color:#fff;background:#1d1d1b;border-color:#1d1d1b}.section-title>span{color:#8a8378;font-size:12px}.section-note{color:#746d64;margin:-4px 0 14px;font-size:13px}.roadmap-card-flat{background:#fff;border:1px solid #dfd9cf;border-radius:10px;margin-bottom:26px;padding:24px 22px 18px;position:relative}.level-headline-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.level-headline-row span{color:#5f5850;white-space:nowrap;border:1px solid #ded8cf;border-radius:999px;padding:5px 9px;font-size:12px}.level-progress-meter{background:#e3ddd3;border-radius:999px;height:8px;margin:12px 0 10px;overflow:hidden}.level-progress-meter span,.level-progress-meter i{border-radius:inherit;background:#1d1d1b;height:100%;display:block}.level-progress-meter.small{min-width:120px;height:6px;margin:6px 0 0}.mastery-card p,.source-card-flat p{color:#8a8378;font-size:12px}.roadmap-map{overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-color:#d6d0c6 transparent;scrollbar-width:thin;margin:0 -6px -4px;padding:14px 6px;display:block;overflow:auto visible}.compact-roadmap{border-top:1px solid #eee8df;margin-top:8px;padding-top:16px}.roadmap-preview-heading{border-top:1px solid #eee8df;justify-content:space-between;align-items:baseline;gap:10px;margin-top:4px;padding-top:16px;display:flex}.roadmap-preview-heading strong{font-size:13px}.roadmap-preview-heading span{color:#8a8378;font-size:12px}.roadmap-node-row{min-height:92px;width:max(100%, var(--roadmap-track-width,1142px));grid-auto-columns:118px;grid-auto-flow:column;gap:10px;display:grid;position:relative}.roadmap-node-row:before,.roadmap-node-row:after{content:"";border-radius:999px;height:5px;position:absolute;top:17px;left:18px;right:18px}.roadmap-node-row:before{background:#d8d1c7}.roadmap-node-row:after{width:calc((100% - 36px) * var(--roadmap-track-progress,0) / 100);z-index:1;background:#1d1d1b;right:auto}.roadmap-map::-webkit-scrollbar{height:8px}.roadmap-map::-webkit-scrollbar-track{background:0 0}.roadmap-map::-webkit-scrollbar-thumb{background:#d6d0c6;border-radius:999px}.roadmap-node{appearance:none;color:#6d665e;cursor:help;scroll-snap-align:start;text-align:center;z-index:2;background:0 0;border:0;align-content:flex-start;justify-items:center;gap:7px;min-height:92px;padding:0;display:grid;position:relative}.roadmap-node:hover,.roadmap-node:focus-visible,.roadmap-node[aria-pressed=true]{color:#1d1d1b;outline:0}.roadmap-node:focus-visible .roadmap-node-marker,.roadmap-node[aria-pressed=true] .roadmap-node-marker{box-shadow:0 0 0 3px #1d1d1b1f}.roadmap-node.done{color:#3e6fa9}.roadmap-node.available{color:#6d665e}.roadmap-node.current{color:#1d1d1b}.roadmap-node.available .roadmap-node-marker{color:#3e6fa9;border-color:#3e6fa9}.roadmap-node.available .roadmap-node-status{color:#3e6fa9}.roadmap-node.locked{opacity:.58}.roadmap-node-marker{background:#fff;border:2px solid;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:750;display:inline-flex}.roadmap-node.current .roadmap-node-marker{color:#fff;background:#1d1d1b;border-color:#1d1d1b}.roadmap-node.done .roadmap-node-marker{color:#fff;background:#3e6fa9;border-color:#3e6fa9}.roadmap-node-status{color:#0000;letter-spacing:.08em;text-transform:uppercase;min-height:12px;font-size:10px;font-weight:750}.roadmap-node.current .roadmap-node-status{color:#1d1d1b}.roadmap-node strong{max-width:104px;font-weight:650;line-height:1.1}.roadmap-node small{color:inherit;opacity:.78;max-width:104px;font-size:11px;line-height:1.25}.roadmap-selected-panel{background:#fbfaf7;border:1px solid #e8e1d7;border-radius:8px;grid-template-columns:minmax(130px,.28fr) minmax(0,1fr);align-items:center;gap:14px;margin-top:10px;padding:12px 14px;display:grid}.roadmap-selected-panel small{color:#8a8378;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;font-size:10px;display:block}.roadmap-selected-panel strong{font-size:15px;display:block}.roadmap-selected-panel p{margin:0;font-size:13px}.mastery-grid{grid-template-columns:repeat(auto-fill,minmax(190px,230px));align-items:stretch;gap:12px;margin-bottom:24px;display:grid}.mastery-card,.source-card-flat,.empty-practice-card{background:#fff;border:1px solid #e0dbd2;border-radius:9px;padding:14px}.mastery-card{flex-direction:column;min-width:0;min-height:150px;display:flex}.clickable-card{cursor:pointer;transition:border-color .12s,box-shadow .12s,transform .12s}.clickable-card:hover,.clickable-card:focus{border-color:#1d1d1b;outline:0;transform:translateY(-1px);box-shadow:0 8px 22px #1d1d1b14}.card-heading{min-width:0;display:block}.card-heading>div{gap:3px;min-width:0;display:grid}.card-heading strong{line-height:1.08}.card-heading small{display:block}.mission-title{color:#3f3a35;margin:12px 0 8px;font-size:12px;font-weight:650;line-height:1.35}.thin-bar{background:#e7e1d7;height:4px;overflow:hidden}.thin-bar span{height:100%;display:block}.compact-set-row{color:#6d665e;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:12px;display:flex}.thin-bar.green span{background:#4e9b5f}.thin-bar.blue span{background:#3e6fa9}.mastery-card em{color:#4b8b52;letter-spacing:.08em;text-transform:uppercase;background:#edf8ec;border-radius:999px;margin-top:12px;padding:5px 9px;font-size:10px;font-style:normal;display:inline-flex}.card-action{color:#5f5850;cursor:pointer;background:#fff;border:1px solid #ded8cf;border-radius:6px;align-self:flex-start;min-height:28px;padding:0 10px;font-size:11px;font-weight:700}.card-action.muted{color:#8a8378;border-color:#e5ded4}.card-action:hover{color:#1d1d1b;border-color:#1d1d1b}.set-card-actions{flex-wrap:wrap;gap:7px;margin-top:auto;display:flex}.source-group-label{color:#8a8378;letter-spacing:.08em;text-transform:uppercase;margin:14px 0 10px;font-size:11px}.source-shelf{overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-color:#d6d0c6 transparent;scrollbar-width:thin;grid-auto-columns:minmax(190px,230px);grid-auto-flow:column;gap:12px;margin:0 -6px;padding:0 6px 10px;display:grid;overflow-x:auto}.source-shelf::-webkit-scrollbar{height:8px}.source-shelf::-webkit-scrollbar-track{background:0 0}.source-shelf::-webkit-scrollbar-thumb{background:#d6d0c6;border-radius:999px}.source-card-flat{scroll-snap-align:start;flex-direction:column;min-width:0;min-height:126px;display:flex}.source-card-flat small span{background:#3e6fa9;border-radius:999px;width:7px;height:7px;margin-right:6px;display:inline-block}.source-card-flat strong{margin:9px 0 4px;font-weight:650;display:block}.source-card-flat p{margin:8px 0}.source-meta{color:#6d665e;grid-template-columns:repeat(2,max-content);align-items:center;gap:6px;margin-top:auto;font-size:11px;display:grid}.source-meta span{border:1px solid #e4ded4;border-radius:999px;padding:3px 7px}.source-card-flat button,.redeem-form button{cursor:pointer;background:#fff;border:1px solid #1d1d1b;border-radius:6px;min-height:28px;padding:0 12px;font-size:11px}.source-card-flat button{align-self:flex-end;margin-top:10px}.empty-practice-card{border-style:dashed;flex-direction:column;justify-content:center;min-height:172px;display:flex}.empty-practice-card p{margin:10px 0 16px}.empty-practice-card a{border:1px solid #1d1d1b;border-radius:6px;align-self:flex-start;min-height:30px;padding:7px 11px;font-size:11px;font-weight:700}.source-card-flat.disabled{opacity:.55}.source-card-flat button:disabled,.redeem-form button:disabled{cursor:not-allowed}.unlock-set-row{border:1px solid #ded8cf;border-radius:9px;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;padding:12px 14px;display:flex}.unlock-set-row strong{font-size:13px;display:block}.unlock-set-row p{color:#8a8378;margin:3px 0 0;font-size:12px}.redeem-form{align-items:center;gap:8px;display:flex}.redeem-form label{color:#8a8378;font-size:12px}.redeem-form input{color:#8a8378;background:#f8f4ee;border:1px solid #ddd7cd;border-radius:6px;width:120px;min-height:30px;padding:0 10px;font-size:12px}.progress-footer{color:#8a8378;letter-spacing:.08em;text-transform:uppercase;border-top:1px solid #ded8cf;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;margin-top:32px;padding-top:16px;font-size:11px;display:flex}.progress-footer nav{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.progress-footer a{color:inherit;text-decoration:none}.progress-footer a:hover,.progress-footer a:focus-visible{color:#3d3934;text-underline-offset:3px;text-decoration:underline}.share-statement{gap:8px;max-width:760px;display:grid}.share-statement p{color:#1d1d1b;margin:0;font-size:22px;line-height:1.32}.share-statement strong{font-weight:750}.share-statement .statement-note{color:#746d64;margin:-2px 0 12px;font-size:14px}.share-evidence-row{border-top:1px solid #e4ded4;flex-wrap:wrap;gap:10px;margin-top:22px;padding-top:16px;display:flex}.share-evidence-row span{color:#6d665e;border:1px solid #e2ddd5;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:12px;display:inline-flex}.share-modal-backdrop{z-index:20;background:#1818176b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.share-modal{background:#fff;border:1px solid #ded8cf;border-radius:10px;width:min(100%,760px);max-width:760px;max-height:min(720px,100vh - 48px);padding:24px;overflow:auto;box-shadow:0 28px 80px #18181738}.confirm-modal{background:#fff;border:1px solid #ded8cf;border-radius:10px;width:min(100%,460px);max-width:460px;padding:22px;box-shadow:0 28px 80px #18181738}.set-detail-modal{background:#fff;border:1px solid #ded8cf;border-radius:10px;width:min(100%,560px);max-width:560px;padding:22px;box-shadow:0 28px 80px #18181738}.share-modal .section-title,.confirm-modal .section-title,.set-detail-modal .section-title{align-items:center;margin-bottom:22px}.modal-close-button,.share-modal-actions button,.confirm-modal-actions button{cursor:pointer;border:1px solid #1d1d1b;border-radius:7px;min-height:34px;padding:0 14px;font-size:12px;font-weight:700}.modal-close-button{color:#1d1d1b;background:#fff}.share-modal-actions{border-top:1px solid #e4ded4;justify-content:flex-end;margin-top:20px;padding-top:16px;display:flex}.confirm-modal-copy{gap:10px;display:grid}.confirm-modal-copy>strong{font-size:18px}.confirm-modal-copy p{color:#5f5850;margin:0;font-size:14px}.set-detail-description{color:#4f4942;margin:-6px 0 18px;font-size:15px;line-height:1.5}.set-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px;display:grid}.set-detail-stats span{color:#6d665e;border:1px solid #e2dbd1;border-radius:7px;padding:10px;font-size:12px}.set-detail-stats strong{color:#1d1d1b;font-size:18px;display:block}.confirm-detail-row,.confirm-detail-list{flex-wrap:wrap;gap:8px;display:flex}.confirm-detail-row span,.confirm-detail-list span{color:#6d665e;border:1px solid #e2ddd5;border-radius:999px;min-height:28px;padding:6px 10px;font-size:12px}.confirm-detail-list span{border-radius:7px;width:100%}.confirm-modal-actions{border-top:1px solid #e4ded4;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;display:flex}.share-modal-actions button{color:#fff;background:#1d1d1b}.confirm-modal-actions button{color:#1d1d1b;background:#fff}.confirm-modal-actions .primary{color:#fff;background:#1d1d1b}.report-page{color:#181817;background:#f3f0ea;min-height:100vh;padding:34px}.report-shell{max-width:920px;margin:0 auto}.report-topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:30px;display:flex}.report-brand{font-weight:750}.learning-statement{background:#fff;border:1px solid #ded8cf;border-radius:10px;padding:34px}.statement-kicker{color:#8a8378;letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:700}.learning-statement h1{margin:10px 0 30px;font-size:34px;line-height:1.05}.statement-copy{gap:10px;max-width:740px;display:grid}.statement-copy p{color:#1d1d1b;margin:0;font-size:28px;line-height:1.28}.statement-copy strong{font-weight:750}.statement-copy .statement-note{color:#746d64;margin:-4px 0 16px;font-size:17px}.report-footnote{color:#746d64;border-top:1px solid #e4ded4;margin:30px 0 0;padding-top:16px;font-size:13px}.report-evidence{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.report-evidence article{background:#fbf9f5;border:1px solid #ded8cf;border-radius:8px;padding:16px}.report-evidence span{color:#8a8378;margin-bottom:8px;font-size:12px;display:block}.report-evidence strong{font-size:20px}@media (max-width:1100px){.progress-main{padding:28px 24px 18px}.learning-summary-card{grid-template-columns:minmax(0,1fr) minmax(280px,1fr)}.learning-summary-card h1{font-size:28px}.summary-stats-block{border-top:1px solid #eee8df;border-left:0}.summary-action-block{border-top:1px solid #eee8df}.roadmap-card-flat{grid-template-columns:1fr}.mastery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:800px){.page,.report-page{padding:20px}.learning-statement{padding:24px}.learning-statement h1{font-size:28px}.statement-copy p{font-size:22px}.statement-copy .statement-note{font-size:15px}.report-topbar,.report-evidence,.profile-overview-grid,.profile-history-row{grid-template-columns:1fr}.report-topbar{display:grid}.progress-main{padding:22px 18px}.app-header{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:28px;display:flex}.app-header-links{justify-content:flex-start;gap:12px;margin-left:0}.learning-hero,.progress-footer{display:grid}.learning-hero{grid-template-columns:1fr;padding:22px}.banner-action{justify-items:flex-start}.roadmap-card-flat,.learning-summary-card,.premium-grid,.mastery-grid{grid-template-columns:1fr}.learning-summary-card h1{font-size:26px}.summary-level-block,.summary-stats-block,.summary-action-block{border-top:1px solid #eee8df;border-left:0}.summary-action-block{align-items:flex-start}.accordion-set-row{grid-template-columns:1fr}.practice-accordion{max-height:440px}.accordion-level-header{grid-template-columns:1fr}.accordion-level-toggle{grid-template-columns:14px minmax(0,1fr)}.accordion-level-toggle em{grid-column:2}.accordion-add-default{grid-column:1/-1;justify-self:flex-start}.accordion-set-progress{grid-template-columns:minmax(80px,1fr) 34px auto}.accordion-set-actions{justify-content:flex-start}.unlock-set-row,.redeem-form{flex-wrap:wrap}.hero,.report-grid,.choices{grid-template-columns:1fr}.metric{grid-template-columns:82px 1fr}.metric strong:last-child{grid-column:2}.landing-preview-row{grid-template-columns:1fr}.landing-preview-row em{justify-self:flex-start}}
