@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--bg:#f8f9f6;--paper:#fff;--text:#29352f;--muted:#8b908b;--border:#e9ece5;--coral:#e77659;--green:#4a7b64;--purple:#8c7dac;--sidebar:238px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;font-size:1.125rem;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a,button{transition:background .18s,transform .18s,color .18s}button svg,a svg{flex-shrink:0}svg{vertical-align:middle}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Manrope','DM Sans',sans-serif}h1{font-size:1.8125rem;font-weight:750;letter-spacing:-1.15px;margin-bottom:10px;line-height:1.35}h2{font-size:1.25rem;font-weight:750;letter-spacing:-.45px;margin-bottom:10px}h3{font-size:1.125rem;font-weight:750;margin-bottom:6px}p{line-height:1.75}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ca7958;outline-offset:4px}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#fff;border-right:1px solid var(--border);padding:33px 20px 0;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:9px;padding-left:10px;color:#344b3d;font-family:'Manrope',sans-serif;font-size:2.0625rem;letter-spacing:-1.5px;font-weight:800}.brand-dot{color:var(--coral)}.workspace-label{font-size:1rem;letter-spacing:1.65px;color:#a0a49e;font-weight:600;margin:45px 0 17px 15px}.nav-link{display:flex;align-items:center;gap:13px;color:#777f78;min-height:46px;padding:12px 15px;border-radius:7px;margin-bottom:6px;font-weight:500;font-size:1.125rem}.nav-link:hover{background:#f7f7f2}.nav-link.active{background:#f9ece5;color:#c46a4c}.nav-link.active svg{stroke-width:2}.nav-count{font-size:1rem;background:#f1e8df;padding:2px 6px;border-radius:4px;margin-left:auto}.sidebar-bottom{margin-top:auto;padding-top:45px}.small-quote{margin:10px 12px 29px;padding:17px 11px 0;border-top:1px solid var(--border)}.quote-star{display:block;color:var(--coral);font-size:2rem;margin-bottom:8px}.small-quote strong{font-family:Manrope,sans-serif;font-size:1rem}.small-quote p{color:var(--muted);font-size:1rem;margin-top:9px;margin-bottom:0;line-height:1.9}.profile{border-top:1px solid var(--border);margin-top:16px;padding:20px 0;display:flex;align-items:center;gap:10px}.avatar{background:#eee8dc;color:#7f7869;border:3px solid #faf8f4;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:650;font-size:1.125rem;flex-shrink:0}.profile strong{display:block;font-size:1rem}.profile span{font-size:1rem;color:var(--muted);display:block;margin-top:4px}.profile>a{margin-left:auto;color:var(--muted)}.main-shell{margin-left:var(--sidebar)}.topbar{height:78px;padding:0 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);background:#ffffffb8}.breadcrumb{font-size:1rem;color:#959b94;display:flex;gap:15px}.breadcrumb strong{color:#566052;font-weight:500}.breadcrumb>span{color:#c7ccc4}.top-actions{display:flex;align-items:center;gap:20px;font-size:1rem}.streak-chip{display:flex;align-items:center;gap:6px;color:#8c7864}.streak-chip svg{color:#d58a52}.top-save{border-left:1px solid var(--border);padding-left:20px;font-weight:600;color:#6b7868}.avatar-small{width:31px;height:31px;font-size:1rem}.saved-indicator{color:var(--green)}main{max-width:1500px;margin:auto;padding:34px 40px 20px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.eyebrow{font-size:1rem;font-weight:700;letter-spacing:1.65px;color:#85907e;margin-bottom:12px;display:block;text-transform:uppercase}.page-heading p{font-size:1.125rem;color:#8a9088;margin:0}.coral{color:var(--coral)}.date-button{display:flex;align-items:center;gap:8px;padding:11px 13px;border:1px solid #e3e6dc;background:#fff;border-radius:6px;font-size:1rem;white-space:nowrap;color:#6e766b}.hero{position:relative;overflow:hidden;background:#f6e4d6;border:1px solid #efdfce;border-radius:11px;min-height:283px;display:flex;justify-content:space-between;margin-bottom:23px}.hero-copy{padding:28px 32px;z-index:1;flex-shrink:0}.hero-label{display:flex;align-items:center;gap:7px;letter-spacing:1.5px;font-size:1rem;color:#94785f;font-weight:600;margin-bottom:17px}.live-dot{width:5px;height:5px;background:#be8965;border-radius:50%}.hero h2{font-size:2.0625rem;line-height:1.27;letter-spacing:-1.15px;font-weight:800;margin-bottom:10px;color:#364333}.hero p{font-size:1rem;color:#8b7c6a;margin-bottom:19px;line-height:1.8}.hero p strong{color:#5a6350;font-weight:600}.button{display:inline-flex;gap:12px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:6px;padding:12px 18px;font-size:1rem;font-weight:600;line-height:1.4;cursor:pointer}.button:hover{transform:translateY(-1px)}.button.dark{background:#344635;color:#fff}.button.dark:hover{background:#233224}.button.primary{background:#e97a5b;color:white;border-color:#e97a5b;box-shadow:0 2px 3px #cd775319}.button.primary:hover{background:#d6684b}.button.secondary{background:white;border-color:#e3e7df;color:#5b6959}.button.secondary:hover{background:#f5f7f1}.button.small{padding:8px 13px;font-size:1rem}.hero-meta{display:flex;align-items:center;gap:6px;color:#a58d76;font-size:1rem;margin-top:12px}.hero-meta>span{padding:0 4px}.mountain-art{position:absolute;right:0;bottom:-1px;width:50%;height:100%;min-width:370px}.mountain-art>svg{position:absolute;width:100%;height:100%;bottom:-10px;right:0;overflow:visible}.summit-tag{position:absolute;left:48%;top:24%;background:#fffaf3;border:1px solid #f4e9d8;box-shadow:0 6px 15px #8e654612;padding:10px 13px;border-radius:7px;color:#9a765b;font-size:1rem;letter-spacing:1px;display:flex;gap:7px;align-items:center;transform:rotate(-5deg);white-space:nowrap}.summit-tag span{margin-left:7px;color:#e18c64}.altitude-tag{position:absolute;right:8%;bottom:22px;transform:rotate(-4deg);font-size:1rem;letter-spacing:1.4px;color:#a77e66}.altitude-tag strong{font-family:Manrope,sans-serif;display:block;font-size:1rem;font-weight:650;letter-spacing:-.2px;margin-top:5px;color:#7b624e}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}.stat-card{background:white;border:1px solid var(--border);border-radius:9px;padding:17px 19px 15px}.stat-label{display:flex;align-items:center;justify-content:space-between;color:#7b8379;font-size:1rem;margin-bottom:8px}.stat-icon{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center}.coral-light,.peach{background:#fcf0e9;color:#d58b6e}.green-light{background:#edf3ec;color:#7c9a75}.purple-light{background:#f0edf7;color:#9d8cbb}.orange-light{background:#faf0e5;color:#c79b68}.blue-light{background:#eaf2f4;color:#7b9ba9}.stat-value{font-family:Manrope,sans-serif;font-size:1.875rem;font-weight:750;letter-spacing:-.9px;margin-bottom:10px;line-height:1.2}.stat-value small{font-family:'DM Sans',sans-serif;font-size:1rem;font-weight:400;letter-spacing:0;color:#a0a79a;margin-left:7px}.stat-caption{font-size:1rem;color:#a0a59c;display:flex;gap:4px;line-height:16px}.stat-caption>span:last-child:first-child{margin-left:auto}.green{color:#6d9274}.purple{color:#9c8db3}.mini-week{display:flex;gap:7px}.mini-week span{width:19px;height:19px;border-radius:50%;color:#b0b2a8;font-size:1rem;display:grid;place-items:center;background:#f5f5ef}.mini-week .today{border:1px solid #dfbda0;color:#c18763;background:#fff7ec}.mini-week .done{background:#eff2e6;color:#88a078}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.92fr) minmax(260px,1fr);gap:23px}.panel{border:1px solid var(--border);background:white;border-radius:10px;padding:23px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-heading h2{margin:0;font-size:1.125rem;display:flex;align-items:center;gap:10px}.section-heading p{font-size:1rem;margin-top:8px;margin-bottom:0;color:#93998e}.pill{font-family:'DM Sans',sans-serif;background:#f2f4ed;color:#8c9a7a;font-size:1rem;font-weight:600;letter-spacing:.6px;line-height:1.5;padding:4px 6px;border-radius:4px;display:inline-block;white-space:nowrap}.pill.peach{background:#fcf0e8;color:#c48c70}.muted{color:var(--muted);font-size:1rem}.inline-icon{display:flex;align-items:center;gap:5px}.task-row{display:flex;align-items:center;gap:14px;padding:22px 0;border-bottom:1px solid #f0f1eb}.task-row:last-of-type{border-bottom:0}.task-number{display:flex;align-items:center;justify-content:center;width:33px;height:33px;border:1px solid #e9ece3;background:#fafbf7;border-radius:50%;color:#abb29e;font-size:1rem;flex-shrink:0}.task-number.task-done{background:#edf4e9;color:#749060}.task-copy{flex:1}.task-copy h3{display:flex;align-items:center;gap:9px;font-size:1rem;letter-spacing:-.1px;margin-bottom:5px}.task-copy p{font-size:1rem;color:#92998d;margin-bottom:7px}.task-meta{display:flex;align-items:center;gap:6px;color:#a7aca0;font-size:1rem}.task-meta>span:not(.tiny-dot){margin:0 3px}.tiny-dot{width:5px;height:5px;border-radius:50%;background:#a99abb}.icon-button{background:transparent;border:1px solid #e7eade;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#8c977f;width:29px;height:29px}.icon-button:hover{background:#f8eee5}.panel-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #f0f1eb;padding-top:15px;font-size:1rem;color:#a0a88e}.panel-bottom>span{display:flex;align-items:center;gap:5px}.panel-bottom a{color:#7a8a6b;white-space:nowrap}.progress-panel{margin-top:21px}.text-link{display:inline-flex;align-items:center;gap:6px;color:#a07c5d;font-size:1rem;font-weight:500}.text-link:hover{color:#d86c4d}.focus-panel{padding:22px}.focus-panel>.muted{font-size:1rem;margin:9px 0 17px}.focus-panel .section-heading>svg{color:#a4af96}.subject-link{display:flex;align-items:center;gap:11px;padding:15px 0}.subject-link+.subject-link{border-top:1px solid #f0f1eb}.subject-link:hover strong{color:var(--coral)}.subject-icon{width:39px;height:39px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.subject-link strong{display:block;font-size:1rem;margin-bottom:5px}.subject-link div>span{font-size:1rem;color:#a0a497}.subject-link>svg{margin-left:auto;color:#a2aa99}.coach-card{background:#f0f2e8;border:1px solid #e6e9db;border-radius:10px;padding:23px;position:relative;overflow:hidden;margin-top:20px}.coach-card .eyebrow{color:#959e7c;font-size:1rem;display:flex;align-items:center;gap:7px;margin-bottom:17px}.coach-card h2{color:#5c684a;font-size:1.25rem;line-height:1.5;font-weight:650;letter-spacing:-.65px}.coach-card p{color:#929980;font-size:1rem;line-height:1.9;margin-bottom:15px;position:relative;z-index:1}.coach-card .text-link{color:#6c7a52;font-size:1rem}.coach-decoration{position:absolute;font-size:6.25rem;right:-13px;bottom:-27px;color:#dfe5cd;line-height:1;pointer-events:none}.test-reminder{display:flex;align-items:flex-start;gap:12px;margin:23px 0 0;padding:0 5px}.small-circle{background:#f1f0e8;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;color:#a1a38b;flex-shrink:0}.test-reminder h3{font-size:1rem;margin:3px 0 5px}.test-reminder p{font-size:1rem;color:#9ea492;margin-bottom:7px}.test-reminder a{font-size:1rem;color:#9e886c}.chart-legend{display:flex;gap:18px;font-size:1rem;color:#a1a699;margin-top:22px}.chart-legend>span{display:flex;align-items:center;gap:5px}.legend-dot{width:5px;height:5px;background:#e9a389;border-radius:50%}.legend-line{width:13px;height:1px;border-top:1px dashed #e1b89d}.score-chart{position:relative;margin-top:15px}.score-chart svg{width:100%;display:block}.chart-empty{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;gap:9px;width:80%;padding:14px;background:#ffffffed;border-radius:8px}.chart-empty strong{font-size:1rem;color:#969b8e;font-weight:500}.chart-empty a{font-size:1rem;color:#c28e72}footer{border-top:1px solid var(--border);margin-top:35px;padding:19px 1px 0;color:#a4ab9a;font-size:1rem;display:flex;align-items:center;gap:5px}footer>span{color:#b5bbac}footer>a{margin-left:auto;color:#9aa58d}.flash{padding:14px 18px;background:#edf4e9;color:#4d6e40;border:1px solid #dce8d5;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between}.flash.alert{background:#fff0e9;border-color:#f6c9b7;color:#a74e30}.flash button{border:0;background:none;color:inherit;font-size:1.25rem}.practice-banner{display:flex;align-items:center;justify-content:space-between;gap:25px;background:#f6e9dc;border:1px solid #efdfcf;border-radius:10px;padding:28px 30px;margin-bottom:28px}.practice-banner h2{font-size:1.4375rem;margin:10px 0}.practice-banner p{font-size:1.125rem;color:#94816c;margin-bottom:0}.library-heading{margin:30px 0 20px}.filter-tabs{display:flex;gap:5px;background:#eef0e9;padding:4px;border-radius:7px}.filter-tabs button{background:transparent;border:0;padding:8px 13px;font-size:1rem;color:#88917e;border-radius:5px}.filter-tabs button.selected{background:white;color:#46543f;box-shadow:0 1px 3px #26321e0c}.skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.skill-card{padding:25px;display:flex;flex-direction:column}.skill-card[hidden]{display:none}.skill-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.skill-card .eyebrow{font-size:1rem;margin-bottom:8px}.skill-card h2{font-size:1.25rem;margin-bottom:10px}.skill-card p{font-size:1.125rem;color:#8b9483;max-width:420px;margin-bottom:25px}.skill-footer{margin-top:auto;border-top:1px solid var(--border);padding-top:15px;display:flex;align-items:center;justify-content:space-between;gap:10px}.skill-footer>span{font-size:1rem;color:#a1a893}.text-button{background:none;border:0;color:#ba805e;font-size:1rem;padding:0;display:inline-flex;align-items:center;gap:7px}.disclaimer{font-size:1rem;color:#9ca58f;line-height:1.8;margin:20px 0 0}.disclaimer a{text-decoration:underline}.resume-banner{padding:15px 20px;background:#edf1e5;border:1px solid #e0e6d6;border-radius:7px;margin-bottom:15px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:1rem;color:#7c8b69}.drill-layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(230px,1fr);gap:23px}.drill-layout .coach-card{margin-top:0}.question-panel{padding:30px}.question-top{display:flex;align-items:center;justify-content:space-between;font-size:1rem;letter-spacing:1px;color:#8f9b82}.progress-track{height:5px;background:#f0f2eb;border-radius:5px;overflow:hidden;margin:18px 0 28px}.progress-track>div{height:100%;background:#e59a7e;border-radius:5px;transition:width .3s}.question-text{font-size:1.25rem;line-height:1.9;font-weight:600;letter-spacing:-.3px;margin:20px 0 28px;white-space:pre-line}.answer-form fieldset{border:0;padding:0;margin:0}.answer-option{display:flex;align-items:center;gap:13px;border:1px solid #e5e8de;border-radius:7px;padding:14px;margin-bottom:11px;cursor:pointer;font-size:1.125rem;line-height:1.6}.answer-option:hover{background:#fbf8f2}.answer-option:has(input:checked){border-color:#dca387;background:#fcf2ea}.answer-option:has(input:focus-visible){outline:3px solid #d79779;outline-offset:2px}.answer-option input{position:absolute;opacity:0;width:1px;height:1px}.answer-letter{width:27px;height:27px;border:1px solid #dfe3d8;border-radius:5px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#8d9781;font-size:1rem}.answer-option>svg{margin-left:auto}.answer-option.correct{background:#edf5e9!important;border-color:#a6c493!important;color:#60824b}.answer-option.incorrect{background:#fff0e9!important;border-color:#e7b29b!important;color:#b67458}.question-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:23px}.feedback{padding:22px;background:#f5f4ec;border-radius:8px;margin-top:25px}.feedback.success{background:#f0f5eb}.feedback h3{font-size:1.125rem}.feedback p{font-size:1.125rem;line-height:1.9;color:#7f8b72;margin:10px 0}.feedback>strong{font-size:1rem;color:#76896a}.session-map{margin-top:20px}.question-dots{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.question-dots>span{width:31px;height:31px;border-radius:7px;background:#f4f5ef;display:grid;place-items:center;color:#a0a991;font-size:1rem}.question-dots>span.complete{background:#eaf1e2;color:#7b9764}.question-dots>span.current{border:1px solid #dba287}.session-map p{font-size:1rem;color:#a2aa96;margin:0}.completion-panel{max-width:760px;margin:35px auto;text-align:center;padding:55px}.completion-icon{width:80px;height:80px;border-radius:50%;background:#f6eade;color:#c79873;display:grid;place-items:center;margin:0 auto 25px}.completion-panel p{color:#8f9b82}.result-stats{display:flex;justify-content:center;gap:70px;margin:35px 0}.result-stats strong{display:block;font-family:Manrope,sans-serif;font-size:2.125rem;letter-spacing:-1px}.result-stats span{display:block;font-size:1rem;color:#9ba58e;margin-top:7px}.button-row{display:flex;justify-content:center;gap:13px;margin-top:25px}.empty-state{text-align:center;padding:65px 25px}.empty-state>.subject-icon{margin:0 auto 25px;width:65px;height:65px}.empty-state h2{font-size:1.4375rem}.empty-state p{max-width:460px;margin:15px auto 25px;color:#98a08e;font-size:1.125rem}.notebook-list{display:grid;gap:20px}.notebook-entry h3{font-size:1.125rem;line-height:1.8;margin:10px 0 18px;font-weight:600}.answer-comparison{display:flex;flex-wrap:wrap;gap:15px;font-size:1rem;color:#ba8a72;padding-bottom:20px}.answer-comparison strong{font-weight:500}details{border-top:1px solid var(--border);padding:15px 0}summary{cursor:pointer;font-size:1rem;color:#839272}summary span{float:right}details p{font-size:1.125rem;color:#8b987b;margin-top:15px}.note-form{margin-top:5px}.note-form label{display:block;font-size:1rem;color:#7d8a70;margin-bottom:8px}input:not([type=submit]):not([type=radio]),select,textarea{width:100%;border:1px solid #dfe4d6;border-radius:6px;padding:12px;background:#fdfefb;color:#536445;font-size:1.125rem}textarea{resize:vertical}.note-form .button{margin-top:10px}.progress-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:22px}.progress-layout>.progress-panel{margin:0}.form-panel h2{font-size:1.25rem}.form-panel form>label{display:block;margin:20px 0 8px;color:#7b896d;font-size:1rem}.form-panel form>.button{margin-top:24px}.form-panel .muted{font-size:1.125rem}.full-width{width:100%}.score-table{margin-top:23px}.score-table-row{display:grid;grid-template-columns:1.3fr 1.5fr .6fr .6fr;gap:10px;padding:13px 0;border-bottom:1px solid var(--border);font-size:1rem}.skill-progress-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.skill-progress .section-heading h3{font-size:1.125rem;margin:0}.skill-progress .section-heading>strong{color:#b39171;font-size:1.125rem}.skill-progress .progress-track{margin:17px 0}.skill-progress .muted{font-size:1rem}.official-card{display:flex;align-items:center;gap:22px;margin-top:27px;padding:28px;border:1px solid #e1e7d6;background:#f0f3e9;border-radius:10px;color:#889a72}.official-card>svg{flex-shrink:0}.official-card h3{color:#5f714c;font-size:1.125rem}.official-card p{font-size:1rem;margin:0;max-width:650px}.official-card>.button{white-space:nowrap;flex-shrink:0}.back-link{display:block;font-size:1rem;color:#9a937f;margin-bottom:23px}.lesson-content{max-width:850px;margin:auto;padding:45px}.lesson-content h1{font-size:2rem;margin-top:17px}.lesson-intro{font-size:1.125rem;color:#8d977f;margin:20px 0 35px}.lesson-step{display:flex;gap:20px;border-top:1px solid var(--border);padding:25px 0 8px}.lesson-step h2{font-size:1.25rem;margin-top:6px}.lesson-step p{font-size:1.125rem;color:#859178;line-height:1.9}.example-box{background:#f6eee1;padding:23px;border-radius:7px;margin:20px 0 25px}.example-box p{font-size:1.125rem;color:#99876b;margin:0}.lesson-content form{margin-top:25px}.plan-layout{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(260px,1fr);gap:23px}.plan-layout .coach-card{margin-top:0}.plan-row{display:flex;align-items:center;gap:18px;padding:23px 0;border-bottom:1px solid var(--border)}.plan-row:last-child{border-bottom:0}.plan-day{width:33px;font-family:Manrope,sans-serif;color:#9caa88;font-weight:700;font-size:1.125rem}.plan-row h3{font-size:1.125rem}.plan-row p{font-size:1rem;color:#99a38d;margin:0}.plan-row form,.plan-row>.icon-button{margin-left:auto}.plan-note{margin-top:20px}.plan-note p{font-size:1.125rem;color:#919e80}.settings-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:25px;align-items:start;max-width:950px}.account-card p{font-size:1.125rem;color:#96a187;margin:20px 0;overflow-wrap:anywhere}.auth-panel{max-width:510px;margin:20px auto;padding:35px}.auth-panel h1{font-size:1.75rem}.auth-panel .eyebrow{margin-bottom:18px}.auth-switch{text-align:center;margin:25px 0 0;font-size:1rem;color:#98a28b}.skip-link{position:fixed;top:-100px;left:20px;background:white;padding:15px;z-index:99}.skip-link:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){main{padding:40px 50px}.hero{min-height:310px}.hero-copy{padding:34px 37px}.hero h2{font-size:2.375rem}.hero p{font-size:1.125rem}.hero-meta{font-size:1rem}.mountain-art{right:30px}.stat-card{padding:20px 23px}.stat-value{font-size:2.125rem}.task-row{padding:25px 0}.task-copy h3{font-size:1.125rem}.task-copy p{font-size:1rem}.task-meta{font-size:1rem}.section-heading h2{font-size:1.25rem}.subject-link strong{font-size:1.125rem}.subject-link div>span{font-size:1rem}.coach-card p{font-size:1rem}}
@media(max-width:1200px){:root{--sidebar:205px}main{padding:28px}.topbar{padding:0 28px}.sidebar{padding-left:14px;padding-right:14px}.brand{font-size:1.875rem}.nav-link{font-size:1rem;gap:10px}.page-heading h1{font-size:1.5625rem}.page-heading>.date-button{font-size:1rem}.hero-copy{padding:27px}.hero h2{font-size:1.9375rem}.hero-meta{font-size:1rem}.mountain-art{width:47%;min-width:320px}.stats-grid{gap:11px}.stat-card{padding:14px}.stat-caption{font-size:1rem}.stat-label{font-size:1rem}.dashboard-columns{gap:17px;grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr)}.panel{padding:20px}.task-copy h3{font-size:1rem}.task-copy h3 .pill{display:none}.task-row{gap:10px}.panel-bottom{font-size:1rem}.task-copy p{font-size:1rem}.subject-link{gap:8px}.subject-link div>span{font-size:1rem}.coach-card{padding:20px}.section-heading h2{font-size:1.125rem}.section-heading h2 .pill{font-size:1rem}.top-actions{gap:13px}}
@media(max-width:1000px){:root{--sidebar:185px}main{padding:25px 22px}.sidebar{padding-left:10px;padding-right:10px}.nav-link{padding-left:12px;font-size:1rem}.brand{font-size:1.75rem;padding-left:5px}.workspace-label{font-size:1rem;letter-spacing:1px;margin-left:12px}.page-heading{align-items:flex-start}.page-heading>.date-button{display:none}.hero h2{font-size:1.8125rem}.hero-copy{padding:25px}.mountain-art{right:-25px;min-width:290px;opacity:.85}.hero{min-height:283px}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-label{font-size:1rem}.stat-caption{font-size:1rem}.dashboard-columns{grid-template-columns:minmax(0,1fr)}.dashboard-secondary{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dashboard-secondary .coach-card{margin-top:0}.test-reminder{grid-column:1/-1;margin-top:0}.subject-link div>span{font-size:1rem}.subject-link strong{font-size:1.125rem}.task-copy h3{font-size:1.125rem}.task-copy p{font-size:1rem}.section-heading h2{font-size:1.25rem}.task-meta{font-size:1rem}.panel-bottom{font-size:1rem}.progress-layout,.plan-layout,.settings-layout{grid-template-columns:1fr}.drill-layout{grid-template-columns:1fr}.drill-layout>aside{display:none}.plan-layout>aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.plan-note{margin-top:0}.official-card{flex-wrap:wrap}.official-card>.button{margin-left:50px}.skill-card h2{font-size:1.25rem}.topbar{padding:0 22px}.top-save{padding-left:12px}.profile span{font-size:1rem}.practice-banner{padding:24px}.practice-banner h2{font-size:1.25rem}}
@media(max-width:720px){:root{--sidebar:0px}.sidebar{position:relative;width:100%;height:auto;border-right:0;border-bottom:1px solid var(--border);padding:15px 17px 0;display:block}.brand{font-size:1.6875rem;padding:0}.brand svg{width:29px;height:29px}.workspace-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;overflow:auto;margin-top:15px;gap:5px;padding-bottom:9px}.nav-link{flex-shrink:0;min-height:37px;padding:9px 11px;margin:0;font-size:1rem;gap:6px}.nav-link svg{width:15px;height:15px}.topbar{height:53px;padding:0 20px}.breadcrumb{font-size:1rem;gap:9px}.top-actions{font-size:1rem;gap:12px}.avatar-small{display:none}.top-save{padding-left:12px}.streak-chip svg{width:14px}.main-shell{margin:0}main{padding:25px 18px 15px}.page-heading{margin-bottom:22px}.page-heading h1{font-size:1.625rem;line-height:1.35}.eyebrow{font-size:1rem;margin-bottom:11px}.page-heading p{font-size:1rem}.hero{min-height:295px}.hero-copy{padding:25px;max-width:100%}.hero h2{font-size:2rem}.hero p{font-size:1rem}.mountain-art{right:-105px;bottom:0;width:62%;min-width:260px;opacity:.42}.summit-tag{display:none}.altitude-tag{display:none}.hero-label{font-size:1rem}.hero-meta{font-size:1rem}.hero .button{font-size:1rem}.stats-grid{gap:10px;margin-bottom:20px}.stat-card{padding:14px 15px}.stat-label{font-size:1rem}.stat-value{font-size:1.8125rem}.stat-value small{font-size:1rem}.stat-caption{font-size:1rem;display:block}.stat-icon{width:25px;height:25px}.stat-icon svg{width:15px;height:15px}.dashboard-secondary{grid-template-columns:1fr}.dashboard-secondary .coach-card{min-height:210px}.test-reminder{margin-top:5px}.panel{padding:20px}.section-heading h2{font-size:1.125rem}.section-heading h2 .pill{font-size:1rem}.section-heading>.muted{font-size:1rem}.task-row{gap:10px;padding:22px 0}.task-copy h3{font-size:1rem}.task-copy p{font-size:1rem;line-height:1.6}.task-number{width:28px;height:28px;font-size:1rem}.task-meta{font-size:1rem}.task-row .button.small{padding:7px 9px;font-size:1rem;gap:5px}.task-row .button.small svg{width:13px}.panel-bottom{font-size:1rem;gap:6px}.panel-bottom svg{width:13px}.section-heading p{font-size:1rem}.progress-panel .text-link{font-size:1rem}.chart-empty strong{font-size:1rem;text-align:center}.chart-empty{top:55%;padding:8px}.chart-empty a{font-size:1rem}.chart-legend{font-size:1rem}.subject-link div>span{font-size:1rem}.subject-link strong{font-size:1.125rem}.subject-link{padding:20px 0}.focus-panel>.muted{font-size:1rem}.coach-card h2{font-size:1.5rem}.coach-card p{font-size:1.125rem}.coach-card .text-link{font-size:1rem}.test-reminder h3{font-size:1rem}.test-reminder p,.test-reminder a{font-size:1rem}footer{font-size:1rem;flex-wrap:wrap;line-height:1.8}footer>span{display:none}.skill-grid,.skill-progress-grid{grid-template-columns:1fr}.library-heading{flex-direction:column;align-items:flex-start;gap:15px}.filter-tabs{width:100%}.filter-tabs button{flex:1;font-size:1rem;padding:9px 8px}.practice-banner{flex-direction:column;align-items:flex-start;padding:23px}.practice-banner h2{font-size:1.3125rem}.practice-banner p{font-size:1rem}.page-heading>.button{font-size:1rem;padding:9px;white-space:nowrap}.question-panel{padding:21px}.question-text{font-size:1.25rem}.answer-option{font-size:1.125rem;padding:12px;gap:10px}.question-actions .muted{font-size:1rem}.question-actions .button{font-size:1rem;padding:10px 12px}.completion-panel{padding:35px 20px}.completion-panel h1{font-size:1.625rem}.completion-panel p{font-size:1.125rem}.result-stats{gap:40px}.button-row{flex-direction:column}.notebook-entry h3{font-size:1.125rem}.answer-comparison{font-size:1rem;line-height:1.7;flex-direction:column}.score-table-row{font-size:1rem;grid-template-columns:1.3fr 1.4fr .65fr .65fr;gap:5px}.lesson-content{padding:25px 21px}.lesson-content h1{font-size:1.6875rem}.lesson-intro{font-size:1.125rem}.lesson-step{gap:13px}.lesson-step h2{font-size:1.125rem}.lesson-step p{font-size:1.125rem}.plan-layout>aside{grid-template-columns:1fr}.plan-row{gap:12px}.plan-row h3{font-size:1rem}.plan-row p{font-size:1rem}.official-card{padding:23px;gap:15px}.official-card>.button{margin-left:0}.auth-panel{padding:28px 23px;margin:10px 0}.resume-banner{font-size:1rem;line-height:1.6}.resume-banner .text-link{white-space:nowrap}.profile{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Keep secondary copy readable on the warm backgrounds. */
:root{--muted:#717c69}.page-heading p,.stat-label,.section-heading p,.task-copy p,.subject-link div>span,.stat-caption,.task-meta,.chart-legend,.test-reminder p,.disclaimer,.skill-footer>span{color:#707a68}.hero p{color:#756651}.hero-meta{color:#7f694f}.coach-card p{color:#717c5e}.small-quote p{color:#75806d}.stat-caption{display:block}.stat-caption>span:last-child:first-child{margin-left:0}.stat-value{white-space:nowrap}.button.primary{background:#bd5b40;border-color:#bd5b40}.button.primary:hover{background:#a84f36}.nav-link.active{color:#aa5136}.text-link,.text-button{color:#946849}.chart-empty strong{color:#75806d}.chart-empty a{color:#9d684d}.panel-bottom{color:#778565}.task-meta{font-size:1rem}.stat-caption{font-size:1rem}.chart-legend{font-size:1rem}.subject-link div>span{font-size:1rem}.test-reminder p{font-size:1rem}.skill-card p,.form-panel .muted,.account-card p,.lesson-step p,.lesson-intro,.plan-row p{color:#737f65}
@media(max-width:720px){.stat-value{font-size:1.5625rem}.stat-value small{font-size:1rem;margin-left:4px}.stat-caption{font-size:1rem}.task-meta{font-size:1rem}.mini-week{gap:4px}.mini-week span{width:15px;height:15px;font-size:1rem}.sidebar nav{scrollbar-width:thin}.subject-link div>span{font-size:1rem}.mountain-art{opacity:.23}.task-copy h3{font-size:1rem}.task-copy p{font-size:1rem}}
/* Skill map and section practice */
.coverage-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:22px}.coverage-summary>div{display:flex;flex-direction:column;gap:7px}.coverage-summary strong{font:750 1.75rem Manrope,sans-serif;letter-spacing:-1px}.coverage-summary span{color:var(--muted);font-size:1rem}.assessment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.assessment-card{display:flex;flex-direction:column;align-items:flex-start}.assessment-card h2{margin-top:20px;font-size:1.25rem}.assessment-card p{font-size:1.125rem;color:var(--muted);flex:1}.assessment-card>form{margin-top:18px;width:100%}.custom-drill{margin-top:25px}.drill-options{display:grid;grid-template-columns:minmax(200px,2fr) 1fr 1fr auto;align-items:end;gap:12px;margin-top:20px}.drill-options label{display:block;margin-bottom:8px;color:var(--muted);font-size:1rem}.drill-options select{height:42px}.drill-options .button{height:42px;white-space:nowrap}.domain-list{display:grid;gap:15px}.domain-panel details{border:0;padding:0}.domain-panel summary{display:flex;align-items:center;gap:12px;color:var(--text);padding:0;list-style:none}.domain-panel summary::-webkit-details-marker{display:none}.domain-panel summary>span{float:none}.domain-panel .eyebrow{font-size:1rem;margin-bottom:5px}.domain-panel summary strong{font:700 1.25rem Manrope,sans-serif}.domain-count{margin-left:auto;font-size:1rem;color:var(--muted);display:flex;align-items:center;gap:12px}.domain-skills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}.mapped-skill{border-top:1px solid var(--border);padding-top:22px;display:flex;flex-direction:column}.mapped-skill h3{font-size:1.125rem;line-height:1.5}.mapped-skill .section-heading{align-items:flex-start}.mapped-skill p{font-size:1.125rem;color:var(--muted);line-height:1.9}.mapped-skill .skill-footer{margin-top:18px}.pattern-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}.pattern-tags span{font-size:1rem;padding:5px 8px;border:1px solid var(--border);border-radius:5px;color:var(--muted);line-height:1.5}.evidence-guide p{font-size:1.125rem;color:var(--muted);margin-bottom:0}.progress-domain-heading{margin:28px 0 17px}.skill-progress .pill{font-size:1rem}.skill-progress p{margin:15px 0;font-size:1rem;line-height:1.9}.question-data{margin:0 0 25px;overflow:auto}.question-data table{border-collapse:collapse;width:100%;font-size:1.125rem;text-align:left}.question-data caption{color:var(--muted);font-size:1rem;text-align:left;margin-bottom:12px}.question-data th,.question-data td{padding:11px 13px;border:1px solid var(--border)}.question-data th{font-weight:600;background:var(--bg)}.data-plot{display:block;max-width:400px;width:100%;margin:auto auto 20px;color:var(--coral)}.numeric-answer label{display:block;font-size:1.125rem;margin-bottom:10px}.numeric-answer input{max-width:300px}.numeric-answer p{margin-top:12px}.test-navigation{border-top:1px solid var(--border);margin-top:25px;padding-top:22px}.question-dots>a{display:grid;place-items:center;width:34px;height:34px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--muted);font-size:1rem}.question-dots>a.complete{background:#eaf1e2;color:#55733f}.question-dots>a.current{outline:2px solid var(--coral);outline-offset:2px}.results-review{display:grid;gap:16px}.results-review .question-text{font-size:1.125rem;color:var(--text)}.results-review>.panel p{font-size:1.125rem;line-height:1.9}.drill-clock{display:flex!important}.domain-panel[hidden]{display:none}
@media(max-width:1100px){.assessment-grid{grid-template-columns:1fr}.assessment-card h2{font-size:1.3125rem}.drill-options{grid-template-columns:1fr 1fr}.domain-skills{grid-template-columns:1fr}.mapped-skill h3{font-size:1.125rem}.coverage-summary span{font-size:1rem}}
@media(max-width:720px){.coverage-summary{gap:12px;padding:17px}.coverage-summary strong{font-size:1.4375rem}.coverage-summary span{font-size:1rem;line-height:1.6}.domain-panel summary strong{font-size:1.125rem}.domain-count{font-size:1rem;max-width:88px;text-align:right}.domain-panel summary{gap:8px}.mapped-skill .skill-footer{gap:10px}.mapped-skill .skill-footer span,.mapped-skill .text-button{font-size:1rem}.drill-options{grid-template-columns:1fr}.assessment-grid{gap:14px}.page-heading:has(.drill-clock){flex-wrap:wrap}.drill-clock{margin-left:auto}.skill-progress .skill-footer{flex-wrap:wrap}.skill-progress .skill-footer span{font-size:1rem}}
.domain-panel summary .eyebrow{float:none;display:block}

/* Comfortable reading sizes remain consistent across desktop and mobile. */
body { line-height: 1.65; }
:root { --sidebar: 280px; }
.sidebar { overflow-y: auto; }
.sidebar-bottom { padding-top: 24px; }
.workspace-label { letter-spacing: .06em; }
.topbar { height: auto; min-height: 88px; flex-wrap: wrap; gap: 16px; padding-top: 16px; padding-bottom: 16px; }
.breadcrumb, .top-actions, .page-heading, .section-heading, .task-copy h3,
.task-meta, .panel-bottom, .skill-footer, .question-actions { flex-wrap: wrap; }
.hero-copy { flex-shrink: 1; max-width: 70%; }
.hero p, .page-heading p, .task-copy p, .lesson-step p,
.answer-option, .feedback p, .results-review > .panel p { font-size: 1.125rem; line-height: 1.8; }
.question-text, .results-review .question-text { font-size: 1.375rem; line-height: 1.8; }
.question-text, .lesson-content, .feedback p { max-width: 65ch; }
.stat-caption { line-height: 1.65; }
.stat-value { white-space: normal; }
.stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dashboard-columns { grid-template-columns: minmax(0, 1fr); }
.dashboard-secondary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.dashboard-secondary .coach-card { margin-top: 0; }
.mini-week { flex-wrap: wrap; gap: 6px; }
.mini-week span { width: 28px; height: 28px; }
.button, .icon-button, .question-dots > a { min-height: 44px; }
.question-actions .button { max-width: 100%; white-space: normal; }
.icon-button, .question-dots > a { min-width: 44px; }
.task-copy, .profile > div, .domain-panel summary > span { min-width: 0; }
.profile strong, .profile span { overflow-wrap: anywhere; }
.pill { white-space: normal; overflow-wrap: anywhere; }
.question-top { flex-wrap: wrap; gap: 12px; }
.question-top > * { max-width: 100%; }
.domain-count { flex-shrink: 0; }
.chart-empty { position: static; transform: none; width: 100%; }
.panel { min-width: 0; }
.score-chart { container-type: inline-size; }
.score-chart svg { min-width: 0; width: 100%; height: auto; }
.chart-key-values { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; margin-bottom: 18px; font-size: 1rem; color: var(--muted); }
.chart-key-values strong { display: block; color: var(--text); font-size: 1.75rem; }
.chart-key-values small { font-size: 1rem; }
@container (max-width: 599px) { .score-chart svg text { display: none; } }
.score-chart svg text, .data-plot text { font-size: 16px; }
.data-plot { min-width: 400px; }
:root:not([data-theme="dark"]) .score-chart svg text { fill: #566351; }
:root:not([data-theme="dark"]) { --muted: #566351; }
:root:not([data-theme="dark"]) :is(.workspace-label, .nav-link, .breadcrumb, .eyebrow, .muted, .page-heading p, .stat-label, .stat-caption, .stat-value small, .task-copy p, .task-meta, .section-heading p, .subject-link div > span, .skill-card p, .skill-footer > span, .panel-bottom, .small-quote p, .coach-card p, .test-reminder p, .chart-legend, .chart-empty strong, .plan-row p, .lesson-step p, .lesson-intro, .account-card p, .auth-switch, footer, footer > a) { color: #566351; }
@media (max-width: 1100px) {
  .hero-copy { max-width: 100%; }
  .mountain-art { opacity: .15; }
  .skill-grid, .dashboard-secondary { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 850px) and (min-width: 721px) {
  :root { --sidebar: 230px; }
  .sidebar { padding-left: 8px; padding-right: 8px; }
}
@media (max-width: 720px) {
  :root { --sidebar: 0px; }
  .sidebar { overflow: visible; }
  .hero-copy { padding: 24px; }
  .stats-grid, .coverage-summary { grid-template-columns: minmax(0, 1fr); }
  .task-row { flex-wrap: wrap; }
  .task-copy { flex-basis: calc(100% - 44px); }
  .task-row > form, .task-row > .button { margin-left: 38px; }
  .filter-tabs { flex-wrap: wrap; }
  .filter-tabs button { flex: 1 1 120px; }
  .page-heading, .question-actions, .resume-banner { flex-wrap: wrap; }
  .score-table-row { overflow-wrap: anywhere; }
  .domain-panel summary { flex-wrap: wrap; }
  .domain-count { max-width: none; }
}
