:root{--ink:#26392f;--muted:#647168;--green:#355c48;--green-hover:#294a39;--green-focus:#839d71;--line:#e0e5db;--line-strong:#ced7c9;--paper:#fffefa;--page-bg:#f8f8f3;--sage:#e9eee3;--sage-active:#e1e8d9;--cream:#f4f5ed;--amber:#b67d28;--red:#a43828;--subject-math-bg:#e3ead9;--subject-math-fg:#687d59;--subject-french-bg:#f2e6dc;--subject-french-fg:#a17b5e;--subject-history-bg:#eae6f0;--subject-history-fg:#8c7a9b;--subject-geo-bg:#f0ebd9;--subject-geo-fg:#998658;--notice-bg:#f0f3e9;--notice-border:#e0e4d7;--notice-accent:#8b9e78;--notice-text:#647259;--notice-strong:#4b6042;--error-bg:#f4e8df;--error-border:#e0c9bd;--error-text:#773f2f;--success-bg:#edf2e6;--success-text:#385337;--status-dot-saved:#6c8b61;--status-dot-preview:#91a279;--font-sans:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-serif:Georgia, "Times New Roman", Cambria, serif;--sidebar-width:230px;--max-content-width:1390px;--header-height:52px;--mobile-nav-height:74px}*{box-sizing:border-box}html,body{max-width:100vw;overflow-x:clip}body{background:var(--page-bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;font-weight:400;line-height:1.6}::selection{background:#dce7d1}a{color:inherit;text-decoration:none}h1,h2,h3,h4{color:var(--ink);margin-top:0;font-weight:500}h1,h2{font-family:var(--font-serif);letter-spacing:-.035em;line-height:1.15}h1{margin-bottom:16px;font-size:46px}h2{margin-bottom:16px;font-size:30px}h3{margin-bottom:9px;font-size:18px;line-height:1.4}p{color:var(--muted);margin-top:0;margin-bottom:16px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--green-focus);outline-offset:4px}.skip-link{background:var(--green);color:#fff;z-index:9999;border-radius:6px;padding:10px 16px;font-weight:500;text-decoration:none;transition:top .15s ease-in-out;position:absolute;top:-60px;left:20px}.skip-link:focus{top:15px}button{font-family:var(--font-sans);cursor:pointer;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:9px;justify-content:center;align-items:center;gap:8px;min-width:44px;min-height:44px;padding:10px 16px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}button:disabled{cursor:default;opacity:.55}button.primary,.primary{background:var(--green);color:#fff;border-color:var(--green)}button.primary:hover:not(:disabled){background:var(--green-hover)}button.secondary,.secondary{background:var(--paper);color:var(--green);border-color:var(--line-strong)}button.quiet,.quiet{color:var(--muted);background:0 0;border:0;padding:8px 10px;font-size:13px}button.quiet:hover{color:var(--ink)}.text-link{color:var(--green);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;min-width:44px;min-height:44px;padding:0;font-size:13px;font-weight:500;text-decoration:underline;display:inline-flex}label{color:var(--ink);margin-bottom:6px;font-size:14px;font-weight:500;display:block}input:not([type=checkbox]):not([type=radio]),select,textarea{border:1px solid var(--line-strong);background:var(--paper);width:100%;color:var(--ink);font:inherit;border-radius:9px;min-height:48px;margin:4px 0 18px;padding:12px 14px;font-size:15px;transition:border-color .15s;display:block}select{text-overflow:ellipsis;max-width:100%}#hub-course-filter{min-width:0;max-width:100%}:has(>#hub-course-filter){min-width:0;max-width:100%}input:focus,select:focus,textarea:focus{border-color:var(--green);outline:3px solid var(--green-focus);outline-offset:2px}textarea{resize:vertical;min-height:100px;line-height:1.6}fieldset{border:0;margin:0 0 16px;padding:12px 0}legend{color:var(--ink);margin-bottom:8px;font-weight:600}.check{cursor:pointer;align-items:center;gap:10px;min-width:44px;min-height:44px;margin:10px 0;display:flex}.check input{width:18px;height:18px;accent-color:var(--green);margin:0}.brand{font-family:var(--font-serif);letter-spacing:-.065em;color:var(--ink);align-items:center;gap:12px;font-size:32px;text-decoration:none;display:flex}.brand-dot{color:#91a084}.workspace{width:100%;min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);border-right:1px solid var(--line);z-index:20;background:#f0f2e9;flex-direction:column;flex-shrink:0;height:100dvh;padding:36px 20px 24px;display:flex;position:sticky;top:0}.workspace-label,.eyebrow{letter-spacing:.15em;color:#63735e;text-transform:uppercase;font-size:11px;font-weight:650}.workspace-label{margin:36px 0 16px}.sidebar nav{flex-direction:column;gap:8px;display:flex}.sidebar nav button{white-space:nowrap;color:#62735e;background:0 0;border:0;border-radius:9px;justify-content:flex-start;padding:12px 14px;font-size:14px;font-weight:500;transition:background .15s,color .15s}.sidebar nav button:hover{color:var(--ink);background:#e6ede0}.sidebar nav button[aria-current=page],.sidebar nav button[aria-current]{background:var(--sage-active);color:#31543f;font-weight:600}.sidebar-bottom{margin-top:auto;padding-top:20px}.sidebar-bottom p{font-style:italic;font-family:var(--font-serif);color:#85917b;margin-bottom:12px;font-size:15px;line-height:1.4}.main-column{flex-direction:column;flex:1;min-width:0;display:flex;overflow-x:clip}.main{max-width:var(--max-content-width);width:100%;margin:0 auto;padding:28px 48px}.preview-bar{background:var(--paper);border-bottom:1px solid var(--line);letter-spacing:.02em;color:var(--muted);justify-content:space-between;align-items:center;min-height:44px;padding:9px 24px;font-size:11px;display:flex}.topbar{border-bottom:1px solid var(--line);letter-spacing:1.5px;height:60px;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:11px;display:flex}.topbar-actions{align-items:center;gap:12px;min-width:0;display:flex}.accommodations-bar{gap:6px;display:flex}.accommodations-bar button{border:1px solid var(--line);padding:4px 8px;font-size:12px}.saved{letter-spacing:.2px;white-space:nowrap;align-items:center;gap:7px;font-size:12px;display:flex}.saved span{background:var(--status-dot-saved);border-radius:50%;width:6px;height:6px;display:inline-block}.build-banner{background:var(--cream);color:var(--muted);border-radius:8px;margin-bottom:20px;padding:12px 16px;font-size:12px}.build-banner a{color:var(--green);margin-left:5px;text-decoration:underline;display:inline-block}.page-intro{padding:24px 0 16px}.page-intro .eyebrow{margin-bottom:12px;display:block}.page-intro p{max-width:600px;font-size:16px;line-height:1.6}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin:24px 0 16px;display:flex}.section-heading h2{margin:0}.section-heading span{color:var(--muted);font-size:12px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:28px;display:grid}.course-card{border:1px solid var(--line);background:var(--paper);border-radius:14px;flex-direction:column;align-items:flex-start;padding:24px;transition:border-color .15s;display:flex}.course-card.math{background:#fbfcf9}.course-card.geography{background:#f7faf5}.course-card.french{background:#faf6f3}.course-card.history{background:#f7f6fa}.course-card .eyebrow{margin:16px 0 8px}.course-card p{margin:0 0 18px}.course-card{min-width:0}.course-card button{overflow-wrap:anywhere;max-width:100%}.course-card h2{overflow-wrap:anywhere;margin-bottom:8px;font-size:22px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:14px;margin:20px 0;padding:28px}.panel.soft{background:var(--sage)}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:15px;display:flex}.inline-form>div{flex:1;min-width:140px}.inline-form button{margin-bottom:18px}.two-column{grid-template-columns:1.25fr 1fr;gap:24px;display:grid}.two-column .panel{margin:0 0 18px}.session-link{text-align:left;overflow-wrap:anywhere;background:var(--paper);border:1px solid var(--line);border-radius:8px;justify-content:space-between;width:100%;margin-top:12px;padding:12px 16px;display:flex}.session-link svg{flex-shrink:0}.form-actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.form-actions span{color:var(--muted);font-size:12px}.build-note{max-width:700px;color:var(--muted);font-size:12px}.message{background:var(--notice-bg);border:1px solid var(--notice-border);color:var(--notice-text);border-radius:9px;align-items:center;gap:10px;margin:16px 0;padding:14px 18px;font-size:14px;display:flex}.error,.message.error{color:var(--error-text);background:var(--error-bg);border:1px solid var(--error-border)}.empty{border:1px dashed var(--line-strong);text-align:center;background:#f2f4ec;border-radius:14px;margin-bottom:24px;padding:32px}.empty h2{margin-top:16px}.unlock{background:var(--page-bg);flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.login-card{background:var(--paper);border:1px solid var(--line);border-radius:19px;width:min(100%,460px);margin:28px 0 16px;padding:38px;box-shadow:0 4px 20px #26392f0a}.login-card h1{margin-top:18px;font-size:40px}.login-card form{margin-top:24px}.login-card .primary{width:100%;margin-top:18px}footer{border-top:1px solid var(--line);color:var(--muted);margin-top:48px;padding:32px 0 28px;font-size:13px}.tag{color:#59704c;letter-spacing:.015em;background:#edf2e6;border:1px solid #d4dec8;border-radius:20px;align-items:center;padding:3px 9px;font-size:11px;font-weight:500;line-height:1.4;display:inline-flex}.tag.soft{color:#826848;background:#f7f1e8;border-color:#e5d9c7}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:2000;background-color:#17271973;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;width:100%;max-width:580px;max-height:90vh;padding:28px;position:relative;overflow-y:auto;box-shadow:0 24px 60px #1c2e272e}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.practice-space-container{width:100%;max-width:1200px;margin:0 auto;padding:0 0 60px}.practice-subnav{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:12px;display:flex}.blueprint-tag{color:var(--muted);font-size:13px}.blueprint-tag code{background:var(--sage);border-radius:4px;padding:2px 6px;font-family:monospace}.practice-layout{grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr);align-items:start;gap:32px;display:grid}.practice-setup-col{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:32px}.practice-setup-form h2{margin-bottom:8px;font-size:28px}.practice-setup-form .subtitle{color:var(--muted);margin-bottom:24px;font-size:14px}.field-group{margin-bottom:24px}.field-group label,.field-group legend{margin-bottom:8px;font-size:14px;font-weight:600;display:block}.checkbox-stack{flex-direction:column;gap:8px;display:flex}.checkbox-label{cursor:pointer;align-items:center;gap:10px;min-width:44px;min-height:44px;font-size:14px;display:flex}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--green);margin:0}.checkbox-label.subtle{color:var(--muted);font-size:13px}.preset-row{flex-wrap:wrap;gap:10px;display:flex}.preset-btn{border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:8px;min-height:44px;padding:10px 16px;font-size:13px}.preset-btn.active{background:var(--sage);border-color:var(--green);font-weight:600}.custom-count-input{margin-top:12px}.custom-count-input input{max-width:140px}.format-checkbox-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.format-card-check{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;align-items:flex-start;gap:10px;min-height:44px;padding:14px;display:flex}.format-card-check input{width:18px;height:18px;accent-color:var(--green);margin-top:3px}.format-text strong{font-size:14px;display:block}.format-text span{color:var(--muted);font-size:12px;line-height:1.4;display:block}.mode-toggle-group{grid-template-columns:1fr 1fr;gap:12px;display:grid}.mode-choice{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;align-items:flex-start;gap:12px;padding:16px;display:flex}.mode-choice.selected{border-color:var(--green);background:var(--sage)}.mode-choice strong{font-size:14px;display:block}.mode-choice p{margin:4px 0 0}.form-action-bar{flex-wrap:wrap;align-items:center;gap:14px;margin-top:28px;display:flex}.practice-aside-col{flex-direction:column;gap:24px;display:flex}.paper-panel{background:#eeefe5;border:1px solid #dce4d3;border-radius:16px;padding:28px}.paper-panel h2{margin-bottom:8px;font-size:24px}.version-hash-badge{border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;gap:4px;margin:16px 0;padding:12px 14px;display:flex}.version-hash-badge code{color:var(--green);font-family:monospace;font-size:13px;font-weight:600}.paper-format-toggle{margin:16px 0}.format-label{margin-bottom:6px;font-size:13px;font-weight:600;display:block}.segmented-control{border:1px solid var(--line);background:#fff;border-radius:8px;display:flex;overflow:hidden}.segmented-control button{cursor:pointer;background:0 0;border:none;flex:1;min-height:44px;padding:10px;font-size:12px}.segmented-control button.active{background:var(--green);color:#fff;font-weight:600}.pdf-action-buttons{flex-direction:column;gap:10px;display:flex}.pedagogic-notice{color:#8b6826;background:#faf4e6;border-radius:6px;align-items:flex-start;gap:8px;margin-top:14px;padding:10px 12px;font-size:12px;display:flex}.recent-blueprints-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:24px}.recent-blueprints-card h3{margin-bottom:14px;font-size:18px}.blueprint-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.blueprint-item{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-bottom:12px;display:flex}.blueprint-item>div:first-child{overflow-wrap:anywhere;flex:12rem;min-width:0}.item-actions{flex-shrink:0;gap:6px;display:flex}.test-player-layout{max-width:860px;margin:0 auto}.player-top-bar{background:var(--cream);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:24px;padding:14px 20px;display:flex}.mode-indicator-chip .chip-badge{text-transform:uppercase;letter-spacing:.5px;background:var(--sage);color:var(--green);border-radius:6px;padding:4px 8px;font-size:12px;font-weight:600}.mode-subtext{color:var(--muted);margin-left:8px;font-size:12px}.accommodations-quick-bar{gap:8px;display:flex}.aid-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;align-items:center;gap:6px;min-height:44px;padding:8px 12px;font-size:12px;display:inline-flex}.aid-button kbd{background:var(--sage);color:var(--muted);border-radius:4px;padding:2px 4px;font-size:10px}.timer-display{color:var(--ink);font-size:14px;font-weight:600}.time-value{align-items:center;gap:6px;display:inline-flex}.test-sheet{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:36px}.test-question{border:0;border-bottom:1px solid var(--line);margin:0 0 28px;padding:0 0 28px}.test-question:last-of-type{border-bottom:0;margin-bottom:0;padding-bottom:0}.test-question legend{font-family:var(--font-serif);align-items:baseline;gap:14px;margin-bottom:16px;font-size:21px;line-height:1.4;display:flex}.q-number{font-size:13px;font-family:var(--font-sans);color:#93a085;font-weight:600}.choice-stack{flex-direction:column;gap:10px;margin:16px 0;display:flex}.choice-card{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:12px;min-height:44px;padding:14px 18px;display:flex}.choice-card.checked{border-color:var(--green);background:var(--sage)}.math-input-group{margin:18px 0}.equation-input-wrap{align-items:center;gap:10px;display:flex}.var-prefix{font-family:var(--font-serif);font-size:20px;font-weight:600}.area-inputs-row{grid-template-columns:2fr 1fr;gap:12px;display:grid}.short-answer-group textarea{width:100%;padding:14px;font-size:15px}.self-review-panel{background:var(--cream);border-radius:10px;margin-top:14px;padding:18px}.rubric-list{margin:8px 0 14px;padding-left:20px;font-size:13px}.self-review-buttons{flex-wrap:wrap;gap:8px;display:flex}.unsure-toggle-row{margin:14px 0}.per-question-actions{justify-content:space-between;align-items:center;margin-top:16px;display:flex}.hint-callout{border-left:3px solid var(--green);background:#f7f9f2;border-radius:0 8px 8px 0;align-items:flex-start;gap:12px;margin-top:14px;padding:14px 16px;display:flex}.feedback-card{border-radius:8px;margin-top:14px;padding:16px;font-size:14px}.feedback-card.correct{border-left:4px solid var(--green);background:#eef5ea}.feedback-card.assisted{background:#f3f6ee;border-left:4px solid #7c986c}.feedback-card.incorrect{border-left:4px solid var(--amber);background:#fbf6ec}.feedback-card.unsure{border-left:4px solid var(--amber);background:#fdf6ea}.player-action-bar{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:32px;padding-top:20px;display:flex}.results-container{max-width:900px;margin:0 auto}.results-intro{background:#edf2e4;border:1px solid #dbe5cc;border-radius:16px;align-items:center;gap:20px;margin-bottom:28px;padding:28px;display:flex}.results-intro h2{margin-bottom:6px;font-size:26px}.provenance-matrix-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;margin-bottom:28px;padding:28px}.matrix-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px;margin-top:20px;display:grid}.matrix-stat-cell{border:1px solid var(--line);text-align:center;background:#fff;border-radius:12px;padding:16px}.stat-num{font-size:28px;font-weight:700;line-height:1.2;display:block}.stat-num.correct{color:var(--green)}.stat-num.assisted{color:#5e7a51}.stat-num.incorrect{color:var(--ink)}.stat-num.unsure{color:var(--amber)}.stat-num.ungraded{color:var(--muted)}.stat-label{margin-top:4px;font-size:13px;font-weight:600;display:block}.stat-sub{color:var(--muted);margin-top:2px;font-size:11px;display:block}.cognitive-breakdown-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;margin-bottom:28px;padding:28px}.cognitive-bars-stack{flex-direction:column;gap:16px;margin-top:18px;display:flex}.cog-bar-meta{justify-content:space-between;margin-bottom:6px;font-size:13px;display:flex}.progress-track{background:var(--line);border-radius:4px;height:8px;overflow:hidden}.progress-fill{background:var(--green);border-radius:4px;height:100%;transition:width .3s}.accommodations-log-banner{background:var(--cream);border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;margin-bottom:28px;padding:14px 18px;font-size:13px;display:flex}.followup-panel{background:#edf1e6;border:1px solid #dce4d3;border-radius:16px;margin-bottom:28px;padding:28px}.followup-concept-card{border:1px solid var(--line);background:#fff;border-radius:12px;margin-top:14px;padding:18px}.followup-concept-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.outcome-pill{text-transform:uppercase;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.outcome-pill.assisted{color:#435b37;background:#e6edd9}.outcome-pill.unsure{color:#805b1b;background:#faeedb}.outcome-pill.revisit{color:#805b1b;background:#fbf6ec;box-shadow:inset 0 0 0 1px #ecd9b4}.outcome-pill.resolved{background:var(--success-bg);color:var(--success-text)}.followup-concept-header h4{font-family:var(--font-serif);font-size:18px;font-weight:400;line-height:1.35}.followup-concept-header{gap:12px}.followup-reason,.followup-source-line,.followup-no-practice,.followup-resolved{color:var(--muted);margin:4px 0 8px}.followup-source-line{font-size:12px}.followup-questions{color:var(--muted);overflow-wrap:anywhere;margin:0 0 8px;padding-left:18px}.followup-resolved{color:var(--success-text)}.followup-concept-card.changed{border-color:#e5d9c7}.followup-changed,.followup-changed-summary{border-left:3px solid var(--amber);color:#6d5535;background:#f7f1e8;border-radius:0 8px 8px 0;margin:8px 0 12px;padding:10px 14px;font-size:14px}.followup-changed p{margin:0 0 6px}.followup-practice{border:1px solid var(--line);background:#f7f9f2;border-radius:10px;margin-top:14px;padding:16px}.followup-transfer{font-family:var(--font-serif);color:var(--ink);margin:6px 0 12px;font-size:19px}.followup-answer-row{flex-wrap:wrap;gap:12px;margin-bottom:12px;display:flex}.followup-answer-row input{max-width:220px}.followup-practice .hint-box{margin:12px 0 4px}.followup-status:empty{display:none}.followup-status{color:var(--ink);margin:10px 0 0}.followup-focus .back-to-learn{margin:0 0 14px}.source-dialog{max-width:760px}.source-dialog-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.source-figure{border:1px solid var(--line);background:#fff;border-radius:8px;margin:0 0 16px;position:relative;overflow:hidden}.source-figure img{width:100%;height:auto;display:block}.source-highlight{border:2px solid var(--amber);pointer-events:none;background:#b67d281f;border-radius:4px;position:absolute}.source-blocks{gap:8px;display:grid}.source-block{border-radius:8px;padding:8px 12px;font-size:14px}.source-block p{white-space:pre-wrap;margin:0}.source-block.cited{border-left:3px solid var(--amber);background:#faf3e3}.source-table{border-collapse:collapse;width:100%;font-size:13px}.source-table td{border:1px solid var(--line);vertical-align:top;padding:4px 8px}@media (max-width:640px){.source-dialog,.followup-panel{padding:20px 16px}.followup-answer-row input{max-width:none}}.results-action-row{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:32px;display:flex}.study-player-container{max-width:720px;margin:0 auto}.study-progress{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-bottom:20px;font-size:13px;display:flex}.progress-dots{flex-wrap:wrap;flex:auto;justify-content:center;gap:6px;min-width:0;display:flex}.progress-dots span{background:var(--line);border-radius:50%;flex:none;width:8px;height:8px}.progress-dots span.filled{background:var(--green)}.recall-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:36px}.recall-card h2{margin:16px 0 24px;font-size:26px}.hint-box{border-left:3px solid var(--green);background:#f7f9f2;border-radius:0 8px 8px 0;align-items:flex-start;gap:12px;margin:18px 0;padding:14px 18px;font-size:14px;display:flex}.hint-box.error{background:var(--error-bg);border-left-color:var(--red);color:var(--error-text)}.rating-buttons{gap:16px;margin:24px 0;display:flex}.rating-buttons button>span:first-child{white-space:nowrap}@media (max-width:700px){.rating-buttons{flex-direction:column;gap:12px}}button.line-button{text-align:left;width:100%;min-width:44px;min-height:44px;color:var(--ink);border:1px dashed var(--line-strong);background:0 0;border-radius:6px;padding:6px 8px;font-weight:400;display:block}button.line-button:hover:not(:disabled){background:var(--cream)}.kbd-hint{background:#00000014;border-radius:4px;margin-left:6px;padding:2px 6px;font-size:10px}@media (hover:none),(pointer:coarse){.kbd-hint,.shortcut-hint,kbd,.recall-card>footer>span:last-child{display:none!important}}.summary-card{background:var(--paper);border:1px solid var(--line);text-align:center;border-radius:16px;padding:40px}.summary-stats{grid-template-columns:repeat(3,1fr);gap:16px;margin:32px 0;display:grid}.summary-stats strong{color:var(--green);font-size:36px;display:block}.summary-stats span{color:var(--muted);font-size:12px}.inline-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.tutor-chat-workspace{max-width:840px;margin:0 auto}.session-question{background:var(--paper);border:1px solid var(--line);border-radius:16px;margin-bottom:24px;padding:24px 28px}.session-question h2{margin:8px 0 16px;font-size:24px}.chat-stream{flex-direction:column;gap:16px;margin-bottom:24px;display:flex}.chat-bubble{border-radius:14px;max-width:85%;padding:18px 22px;line-height:1.6}.chat-bubble.tutor{background:var(--paper);border:1px solid var(--line);align-self:flex-start}.chat-bubble.student{background:#edf3e6;border:1px solid #dbe6d1;align-self:flex-end}.bubble-header{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;display:flex}.transfer-problem-banner{background:#edf1e6;border:1px solid #dce4d3;border-radius:12px;margin-bottom:20px;padding:18px}.tutor-not-yet{border-left:3px solid var(--amber);background:#fbf6ec;border-radius:0 10px 10px 0;margin-top:12px;padding:12px 14px}.tutor-not-yet p{color:var(--ink);margin:0 0 6px;font-size:14px}.tutor-closing{background:#edf1e6;border:1px solid #dce4d3;border-radius:16px;margin-bottom:20px;padding:24px 26px}.tutor-closing .eyebrow{margin-bottom:10px;display:block}.tutor-closing h3{font-family:var(--font-serif);letter-spacing:-.02em;margin-bottom:8px;font-size:24px}.tutor-closing p{margin-bottom:16px;font-size:15px}.tutor-controls{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:20px}.action-buttons-strip{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.step-input-form{gap:12px;display:flex}.step-input-form input{flex:1;margin:0}.step-input-form button{flex-shrink:0}@media (max-width:1000px){.main{padding:0 28px}.practice-layout{grid-template-columns:1fr}}@media (max-width:700px){html{font-size:17px}.workspace{padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom,0px));display:block}.chat-bubble{scroll-margin-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom,0px) + 8px)}.sidebar{width:100%;min-width:100%;height:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom,0px));padding:4px 8px env(safe-area-inset-bottom,0px);border-right:0;border-top:1px solid var(--line);z-index:50;background:#f5f7ee;flex-direction:row;justify-content:space-around;align-items:center;display:flex;position:fixed;inset:auto 0 0}.sidebar>.brand,.sidebar>.brand-caption,.sidebar>.workspace-label,.sidebar-bottom{display:none!important}.sidebar nav{flex-direction:row;justify-content:space-around;gap:4px;width:100%;display:flex}.sidebar nav button{white-space:nowrap;background:0 0;border:0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:72px;min-height:52px;padding:6px 8px;font-size:10px;line-height:1.2;display:flex}.sidebar nav button[aria-current=page],.sidebar nav button[aria-current]{background:var(--sage-active);color:#284c3c;font-weight:600}.main{padding:16px 18px}.preview-bar{padding:8px 14px;font-size:11px}.topbar{flex-wrap:wrap;height:auto;min-height:52px;padding:8px 18px!important}.topbar-eyebrow{display:none}.topbar-actions{flex-wrap:wrap;flex:auto;justify-content:space-between;row-gap:6px}.accommodations-bar{flex-wrap:wrap}.course-grid{grid-template-columns:minmax(0,1fr)}.two-column,.mode-toggle-group{grid-template-columns:1fr}.player-top-bar{flex-direction:column;align-items:stretch}.accommodations-quick-bar{justify-content:space-between}.aid-button kbd{display:none}.area-inputs-row{grid-template-columns:1fr}.matrix-grid{grid-template-columns:1fr 1fr}.summary-stats{grid-template-columns:1fr;gap:12px}.step-input-form{flex-direction:column}h1{letter-spacing:-1px;font-size:35px}}@media (max-width:370px){.main{padding-left:14px!important;padding-right:14px!important}.topbar{padding:8px 14px!important}h1{font-size:31px}.preview-bar{padding-left:10px;padding-right:10px;font-size:10px}.sidebar nav button{min-width:62px;padding:4px 6px;font-size:10px}.matrix-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.math,.math-steps{font-family:var(--font-sans);font-variant-numeric:lining-nums tabular-nums;letter-spacing:normal;word-spacing:normal;font-style:normal}:is(h1,h2,h3) .math{font-weight:450}.math-vis{text-indent:0;text-align:start;max-width:100%;display:inline-block}.math-chunk{white-space:nowrap;display:inline-block}.math-mi{font-style:normal}.math-mo.math-bin{margin:0 .32em}.math-mo.math-rel{margin:0 .45em}.math-mo.math-sign{margin-right:.04em}.math-mo.math-post{margin-left:.04em}.math-frac{vertical-align:middle;text-align:center;flex-direction:column;align-items:stretch;margin:.12em .1em;line-height:1.1;display:inline-flex}.math-num{padding:0 .22em .1em}.math-den{border-top:max(1.5px,.075em) solid;padding:.12em .22em 0}.math-frac .math-frac{font-size:.92em}.math-paren{font-weight:300}.math-paren.math-tall{vertical-align:.06em;margin:0 .22em;display:inline-block;transform:scale(1.15,2.2)}.math-sup{vertical-align:.75em;margin-left:.04em;font-size:.68em;line-height:0}.math-steps{grid-template-columns:auto auto minmax(0,1fr);row-gap:.45em;margin:8px 0 4px;padding:0;font-size:1.12em;list-style:none;display:grid}.math-step{grid-column:1/-1;grid-template-columns:subgrid;align-items:center;margin:0;display:grid;position:relative}.math-step.math-step-text{display:block}.math-step-lhs{text-align:end;justify-self:end;min-width:0}.math-step-rel{justify-self:center}.math-step-rhs{justify-self:start;min-width:0}.math-sr{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.typed-math-preview{box-sizing:border-box;border-left:3px solid var(--line);min-width:0;max-width:100%;color:var(--ink);overflow-wrap:anywhere;margin:6px 0 0;padding:6px 10px;font-size:18px;line-height:1.6}.step-input-form{flex-wrap:wrap}.step-input-form .typed-math-preview{flex:1 0 100%;order:1;margin-top:0}@media (max-width:700px){.step-input-form .typed-math-preview{flex:none}.step-input-form button{order:2}}
