@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Newsreader:opsz,wght@6..72,500;6..72,600&display=swap");:root{color-scheme:light;--color-canvas:#f7f6f2;--color-surface:#fffdf8;--color-surface-raised:#efede6;--color-surface-hover:#e7e4db;--color-border:#d8d4c9;--color-border-strong:#aaa69b;--color-input-border:#918d83;--color-text:#20221f;--color-text-muted:#555b53;--color-text-subtle:#6b7168;--color-accent:#9a4826;--color-accent-hover:#813b1f;--color-on-accent:#fffdf8;--color-accent-soft:#f1ded3;--color-success:#39755a;--color-success-soft:#dcebe3;--color-warning:#8a641f;--color-warning-soft:#f2e8cb;--color-danger:#a43f3f;--color-danger-hover:#873232;--color-danger-soft:#f4dddd;--color-focus:#2868c7;--color-overlay:rgb(23 23 20/72%);--bg-base:var(--color-canvas);--bg-primary:var(--color-canvas);--bg-surface:var(--color-surface);--bg-elevated:var(--color-surface-raised);--bg-hover:var(--color-surface-hover);--border:var(--color-border);--border-hover:var(--color-border-strong);--text-primary:var(--color-text);--text-secondary:var(--color-text-muted);--text-tertiary:var(--color-text-subtle);--accent:var(--color-accent);--accent-hover:var(--color-accent-hover);--accent-muted:var(--color-accent-soft);--green:var(--color-success);--green-muted:var(--color-success-soft);--yellow:var(--color-warning);--red:var(--color-danger);--font-sans:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-editorial:"Newsreader",Georgia,serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.375rem;--font-size-2xl:clamp(1.75rem,2vw + 1rem,2.5rem);--line-tight:1.2;--line-ui:1.45;--line-reading:1.72;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:0.375rem;--radius:0.625rem;--radius-lg:0.875rem;--radius-xl:1.125rem;--shadow-sm:0 1px 2px rgb(32 34 31/6%);--shadow-md:0 12px 32px rgb(32 34 31/10%);--duration-fast:100ms;--duration-base:180ms;--duration-slow:300ms;--ease-standard:cubic-bezier(0.2,0,0,1);--transition:var(--duration-base) var(--ease-standard);--control-height:2.5rem;--content-max:87.5rem;--reading-max:46rem}.career-page{max-width:72rem;margin:0 auto}.career-steps{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--space-2);gap:var(--space-2);padding:0;margin:0;list-style:none}.career-steps li{display:flex;align-items:center;gap:var(--space-2);padding:.7rem .8rem;border-bottom:2px solid var(--color-border);color:var(--color-text-subtle);font-size:var(--font-size-sm)}.career-steps li span{display:grid;width:1.7rem;height:1.7rem;place-items:center;border:1px solid var(--color-border);border-radius:50%;font-size:var(--font-size-xs)}.career-steps li[data-active=true]{border-color:var(--color-accent);color:var(--color-text);font-weight:600}.career-steps li[data-complete=true]{border-color:var(--color-success);color:var(--color-success)}.career-disclosure{padding:.8rem 1rem;border:1px solid var(--color-warning);border-radius:var(--radius);background:var(--color-warning-soft);color:var(--color-text);font-size:var(--font-size-sm)}.career-panel{display:grid;grid-gap:var(--space-5);gap:var(--space-5);padding:clamp(1.25rem,3vw,2.25rem);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-sm)}.career-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.career-panel-heading h2,.career-profile-editor h3,.career-report-card h3{margin:0}.career-panel-heading p{margin:.3rem 0 0;color:var(--color-text-muted)}.career-badge,.career-status{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;padding:.2rem .5rem;border-radius:999px;background:var(--color-success-soft);color:var(--color-success);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.plan-card-kicker .career-badge{margin-right:var(--space-2)}.career-actions,.career-upload-row,.career-url-row{display:flex;align-items:center;gap:var(--space-3)}.career-url-field{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.career-url-field>label{margin-bottom:0}.career-upload-row{color:var(--color-text-muted);font-size:var(--font-size-sm)}.career-actions{justify-content:flex-end;flex-wrap:wrap}.career-textarea{width:100%;min-height:12rem;resize:vertical;line-height:1.55}.career-profile-editor{display:grid;grid-gap:var(--space-4);gap:var(--space-4);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.career-profile-editor h3{display:flex;justify-content:space-between;gap:var(--space-4)}.career-profile-editor h3 small{color:var(--color-text-muted);font-weight:400}.career-mode-tabs{display:inline-flex;width:-moz-fit-content;width:fit-content;padding:.2rem;border-radius:var(--radius);background:var(--color-surface-raised)}.career-mode-tabs button{padding:.5rem .8rem;border:0;border-radius:calc(var(--radius) - .15rem);background:transparent;color:var(--color-text-muted);cursor:pointer}.career-mode-tabs button[aria-pressed=true]{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.career-url-row input{flex:1 1;min-width:0}.career-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.career-report-card{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-canvas)}.career-report-card.required{border-color:var(--color-danger)}.career-report-card.matched{border-color:var(--color-success)}.career-report-card.unknown{border-color:var(--color-warning)}.career-report-card h3{display:flex;justify-content:space-between;margin-bottom:var(--space-3);font-size:var(--font-size-md)}.career-report-card h3 span{color:var(--color-text-subtle)}.career-findings{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.career-finding{display:flex;align-items:flex-start;gap:var(--space-2);padding:.6rem;margin:0;border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer}.career-finding input{margin-top:.25rem}.career-finding span{display:grid;grid-gap:.15rem;gap:.15rem}.career-finding small,.career-muted{color:var(--color-text-muted);font-weight:400}.career-course-summary,.career-focus{padding:var(--space-4);border-radius:var(--radius);background:var(--color-accent-soft)}.career-course-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.career-course-summary{display:flex;justify-content:space-between;gap:var(--space-4)}.career-course-summary span{color:var(--color-text-muted)}.practice-page,.sd-report{display:grid;grid-gap:var(--space-8);gap:var(--space-8);max-width:76rem;margin:0 auto}.practice-hero,.sd-report-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-8);padding:clamp(1.5rem,3vw,2.5rem);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:radial-gradient(circle at 88% 20%,var(--color-accent-soft),transparent 32%),var(--color-surface);box-shadow:var(--shadow-sm)}.practice-hero>div,.sd-report-hero>div:first-child{max-width:47rem}.practice-hero h1,.sd-report-hero h1,.sd-workspace-header h1{margin:var(--space-2) 0;font-family:var(--font-editorial);font-size:clamp(2rem,4vw,3.4rem);font-weight:600;line-height:1;letter-spacing:-.035em}.practice-hero p,.sd-report-hero p{margin:var(--space-3) 0 0;color:var(--color-text-muted);font-size:var(--font-size-lg);line-height:1.6}.practice-level{display:grid;flex:0 0 11rem;grid-gap:var(--space-2);gap:var(--space-2);font-size:var(--font-size-sm);font-weight:600}.practice-level small{color:var(--color-text-muted);font-weight:400;line-height:1.4}.practice-catalog-filters label,.practice-level label,.sd-answer-field,.sd-component-list label,.sd-edge-form label,.sd-node-palette label{height:auto;margin:0}.practice-section-heading,.sd-canvas-heading,.sd-stage-heading,.sd-workspace-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-5)}.practice-section-heading h2,.sd-report-section h2,.sd-stage-heading h2{margin:var(--space-1) 0 0;font-size:var(--font-size-xl)}.practice-section-heading>p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.practice-problem-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--space-5);gap:var(--space-5);margin-top:var(--space-5)}.practice-catalog-filters{display:grid;grid-template-columns:minmax(14rem,2fr) repeat(2,minmax(10rem,1fr)) auto;align-items:end;grid-gap:var(--space-3);gap:var(--space-3);margin-top:var(--space-5);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.practice-filter-summary{display:grid;grid-gap:var(--space-1);gap:var(--space-1);justify-items:end;padding-bottom:.45rem;white-space:nowrap}.practice-filter-summary .text-link{padding:0;border:0;background:transparent;font-size:var(--font-size-xs);cursor:pointer}.practice-card-detail,.practice-catalog-filters label{display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.practice-card-detail,.practice-catalog-filters label>span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.practice-card-detail{padding-top:var(--space-3);border-top:1px solid var(--color-border)}.practice-problem-card{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);transition:border-color var(--transition),background-color var(--transition)}.practice-problem-card:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.practice-problem-card h3{margin:0 0 var(--space-2);font-family:var(--font-editorial);font-size:1.4rem;line-height:1.15}.practice-problem-card p{margin:0;color:var(--color-text-muted)}.practice-problem-card .btn{width:100%;margin-top:auto}.practice-card-meta,.practice-progress-copy{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);color:var(--color-text-subtle);font-size:var(--font-size-sm)}.practice-active-row small,.practice-card-meta,.practice-history-score,.practice-progress-copy,.sd-dimension-grid strong,.sd-overall-score,.sd-peer-stats strong,.sd-save-state,.sd-stepper{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.practice-difficulty{padding:.22rem .55rem;border-radius:999px;font-size:var(--font-size-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.difficulty-easy{background:var(--color-success-soft);color:var(--color-success)}.difficulty-medium{background:var(--color-warning-soft);color:var(--color-warning)}.difficulty-hard{background:var(--color-danger-soft);color:var(--color-danger)}.practice-skill-list{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:0;margin:0;list-style:none}.practice-skill-list li{padding:.28rem .55rem;border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted);font-size:var(--font-size-xs)}.practice-progress-copy{padding:var(--space-3);border-radius:var(--radius);background:var(--color-accent-soft);color:var(--color-accent)}.practice-active-list,.practice-history-list,.sd-stage-breakdown{display:grid;grid-gap:var(--space-2);gap:var(--space-2);margin-top:var(--space-4)}.practice-active-row{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(8rem,16rem) auto;align-items:center;grid-gap:var(--space-4);gap:var(--space-4);min-height:3.25rem;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);text-decoration:none}.practice-active-row:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.practice-active-row>span:first-child{display:grid}.practice-active-row small{color:var(--color-text-muted)}.practice-active-row>span:last-child{font-weight:700}.practice-active-progress{height:.4rem;overflow:hidden;border-radius:999px;background:var(--color-surface-raised)}.practice-active-progress i{display:block;height:100%;border-radius:inherit;background:var(--color-accent)}.practice-history-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;grid-gap:var(--space-5);gap:var(--space-5);padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);text-decoration:none}.practice-history-row>span:first-child{display:grid}.practice-history-row small{color:var(--color-text-muted)}.practice-history-score{font-size:var(--font-size-xl);font-weight:700}.practice-history-score small{font-size:var(--font-size-xs);font-weight:400}.sd-workspace{display:grid;grid-gap:var(--space-6);gap:var(--space-6);width:min(100%,98rem);margin:0 auto}.sd-workspace-header{align-items:center}.sd-workspace-header>div{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.sd-workspace-header h1{margin:0;font-size:clamp(1.8rem,3vw,3rem)}.sd-save-state{flex:0 0 auto;padding:.35rem .65rem;border-radius:999px;background:var(--color-success-soft);color:var(--color-success);font-size:var(--font-size-xs);font-weight:700}.sd-save-state.save-saving,.sd-save-state.save-unsaved{background:var(--color-warning-soft);color:var(--color-warning)}.sd-stepper{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:var(--space-2);gap:var(--space-2);padding:0;margin:0;list-style:none}.sd-stepper li{grid-template-columns:auto 1fr auto;grid-gap:var(--space-2);min-width:0;padding:.7rem;border-bottom:2px solid var(--color-border);color:var(--color-text-subtle);font-size:var(--font-size-sm)}.sd-stepper li,.sd-stepper li>button{display:grid;align-items:center;gap:var(--space-2)}.sd-stepper li>button{grid-template-columns:auto minmax(0,1fr) auto;grid-gap:var(--space-2);width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:start}.sd-stepper li[data-status=completed]>button{cursor:pointer}.sd-stepper li>button:disabled{opacity:1;cursor:default}.sd-stepper li>button:focus-visible{outline:2px solid var(--color-accent);outline-offset:.35rem}.sd-stepper li>button>span{display:grid;width:1.65rem;height:1.65rem;place-items:center;border:1px solid;border-radius:50%;font-size:var(--font-size-xs)}.sd-stepper li strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-stepper li[data-status=active]{border-color:var(--color-accent);color:var(--color-text)}.sd-stepper li[data-status=completed]{border-color:var(--color-success);color:var(--color-success)}.sd-workspace-grid{display:grid;grid-template-columns:minmax(15rem,18rem) minmax(0,1fr);grid-gap:var(--space-5);gap:var(--space-5);align-items:start}.sd-brief,.sd-report-section,.sd-stage-panel{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-sm)}.sd-brief{display:grid;grid-gap:var(--space-4);gap:var(--space-4);position:-webkit-sticky;position:sticky;top:var(--space-5);padding:var(--space-5);grid-column:1;grid-row:1}.sd-brief h2,.sd-brief h3{margin:0}.sd-brief>p,.sd-muted,.sd-stage-history p{color:var(--color-text-muted)}.sd-brief details,.sd-outline{padding:var(--space-3);border-radius:var(--radius);background:var(--color-canvas)}.sd-brief summary,.sd-outline summary,.sd-stage-breakdown summary{cursor:pointer;font-weight:600}.sd-stage-history{display:grid;grid-gap:var(--space-3);gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.sd-stage-panel{display:grid;grid-gap:var(--space-6);gap:var(--space-6);min-width:0;padding:clamp(1.25rem,3vw,2.25rem);grid-column:2;grid-row:1}.sd-feedback-card{padding:var(--space-4);border:1px solid var(--color-success);border-radius:var(--radius-lg);background:var(--color-success-soft)}.sd-feedback-card.verdict-revise{border-color:var(--color-warning);background:var(--color-warning-soft)}.sd-feedback-card>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-4);gap:var(--space-4);cursor:pointer;list-style:none}.sd-feedback-card>summary::-webkit-details-marker{display:none}.sd-feedback-card>summary:after{content:"⌄";align-self:start;grid-column:3;color:var(--color-text-muted)}.sd-feedback-card[open]>summary:after{transform:rotate(180deg)}.sd-feedback-body{padding:var(--space-4) 0 0 calc(5rem + var(--space-4))}.sd-feedback-card h2{margin:var(--space-1) 0 var(--space-4);font-size:var(--font-size-lg)}.sd-feedback-score{display:grid;align-content:start;justify-items:center;min-width:5rem}.sd-feedback-score strong{font-family:var(--font-editorial);font-size:2.5rem;line-height:1}.sd-feedback-score span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.sd-feedback-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-5);gap:var(--space-5)}.sd-feedback-columns h3{margin:0 0 var(--space-2);font-size:var(--font-size-sm)}.sd-feedback-columns ul{padding-left:var(--space-5);margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.sd-feedback-verdict{margin:var(--space-1) 0;color:var(--color-success);font-size:var(--font-size-sm);font-weight:700}.sd-feedback-verdict.verdict-revise{color:var(--color-warning)}.sd-feedback-evidence{margin-top:var(--space-4)}.sd-recovery-error{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.sd-recovery-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.sd-stage-heading{align-items:flex-start}.sd-stage-heading p{max-width:52rem;margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--font-size-lg)}.sd-stage-hint{width:-moz-fit-content;width:fit-content;margin-top:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm)}.sd-stage-hint summary{color:var(--color-accent);cursor:pointer;font-weight:700}.sd-stage-hint p{max-width:45rem;font-size:var(--font-size-sm)}.sd-answer-field{display:grid;grid-gap:var(--space-2);gap:var(--space-2);font-weight:600}.sd-answer-field textarea{width:100%;min-height:12rem;resize:vertical;line-height:1.6}.sd-answer-field small{justify-self:end;color:var(--color-text-subtle);font-weight:400}.sd-stage-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);position:-webkit-sticky;position:sticky;bottom:0;z-index:4;padding:var(--space-4) 0 max(var(--space-4),env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:var(--color-surface)}.sd-canvas-disclosure{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-canvas)}.sd-canvas-disclosure h3{margin:var(--space-1) 0;font-size:var(--font-size-md)}.sd-canvas-disclosure p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.sd-canvas-disclosure-body{grid-column:1/-1;padding-top:var(--space-4);border-top:1px solid var(--color-border)}.sd-canvas{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.sd-canvas-heading{align-items:flex-start}.sd-canvas-heading h3{margin:0}.sd-canvas-heading p{max-width:42rem;margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.sd-node-palette,.sd-topic-links{display:flex;flex-wrap:wrap;gap:var(--space-2)}.sd-node-palette{align-items:end}.sd-node-palette label{display:grid;grid-gap:var(--space-1);gap:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-xs)}.sd-canvas-tools{display:grid;justify-items:end;grid-gap:var(--space-2);gap:var(--space-2)}.sd-history-actions{display:flex;gap:var(--space-2)}.sd-canvas-guide{display:grid;grid-gap:var(--space-2);gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-accent-soft)}.sd-canvas-guide ol{display:grid;grid-gap:var(--space-1);gap:var(--space-1);-webkit-padding-start:var(--space-5);padding-inline-start:var(--space-5);margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.sd-canvas-guide .btn{justify-self:start;margin-top:var(--space-1)}.sd-canvas-loading,.sd-flow{height:31rem;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-canvas)}.sd-canvas-loading{display:grid;place-items:center;color:var(--color-text-muted)}.sd-flow-node{min-width:8rem;border:1px solid var(--color-border-strong)!important;border-radius:var(--radius)!important;background:var(--color-surface)!important;color:var(--color-text)!important;box-shadow:var(--shadow-sm);font-family:var(--font-sans)}.sd-flow-node-content{position:relative;padding:.75rem 1rem;-webkit-border-start:.25rem solid var(--color-border-strong);border-inline-start:.25rem solid var(--color-border-strong);border-radius:calc(var(--radius) - 1px);text-align:center}.sd-flow-node-content>small,.sd-flow-node-content>span{display:block}.sd-flow-node-content>small{margin-top:.2rem;color:var(--color-text-muted);font-size:.68rem}.sd-flow-node-database,.sd-flow-node-storage{border-inline-start-color:var(--color-success)}.sd-flow-node-cache,.sd-flow-node-cdn{border-inline-start-color:var(--color-warning)}.sd-flow-node-queue{border-inline-start-color:var(--color-accent)}.sd-flow-handle{width:.9rem!important;height:.9rem!important;border:2px solid var(--color-surface)!important;background:var(--color-accent)!important}.sd-flow-handle:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.sd-flow .react-flow__controls{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.sd-flow .react-flow__controls-button{border-bottom-color:var(--color-border);background:var(--color-surface);color:var(--color-text)}.sd-flow .react-flow__controls-button:hover{background:var(--color-surface-hover)}.sd-flow .react-flow__controls-button svg{fill:currentColor}.sd-flow .react-flow__attribution{background:color-mix(in oklab,var(--color-surface) 82%,transparent);color:var(--color-text-muted)}.sd-outline{border:1px solid var(--color-border)}.sd-outline-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-5);gap:var(--space-5);padding-top:var(--space-4)}.sd-outline-grid h4{margin:0 0 var(--space-3)}.sd-component-list,.sd-connection-list{display:grid;grid-gap:var(--space-2);gap:var(--space-2);padding:0;margin:0;list-style:none}.sd-component-list li{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-2);gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius)}.sd-component-list label{display:grid;grid-gap:var(--space-1);gap:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-xs)}.sd-component-list li>button{align-self:end;justify-self:start}.sd-component-list input,.sd-component-list select,.sd-edge-form input,.sd-edge-form select{width:100%}.sd-edge-form{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-2);gap:var(--space-2);margin-bottom:var(--space-3)}.sd-edge-error{grid-column:1/-1;margin:0}.sd-edge-form label{display:grid;grid-gap:var(--space-1);gap:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-xs)}.sd-connection-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2);border-bottom:1px solid var(--color-border)}.sd-overall-score{display:grid;grid-template-columns:auto auto;align-items:baseline;justify-items:end;color:var(--color-accent)}.sd-overall-score strong{font-family:var(--font-editorial);font-size:clamp(4rem,9vw,7rem);line-height:.8}.sd-report-nav{display:flex;flex-wrap:wrap;gap:var(--space-2);position:-webkit-sticky;position:sticky;top:var(--space-3);z-index:5;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:color-mix(in oklab,var(--color-surface) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.sd-report-nav a{padding:.55rem .75rem;border-radius:var(--radius);color:var(--color-text-muted);text-decoration:none}.sd-report-nav a:hover{background:var(--color-surface-hover);color:var(--color-text)}.sd-overall-score>span{font-size:var(--font-size-lg)}.sd-overall-score small{grid-column:1/-1;margin-top:var(--space-3);color:var(--color-text-muted)}.sd-report-section{padding:var(--space-6);scroll-margin-top:5rem}.sd-dimension-grid,.sd-report-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.sd-dimension-grid{margin-top:var(--space-5)}.sd-dimension-grid article{display:grid;grid-template-columns:1fr auto;grid-gap:var(--space-2);gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius);background:var(--color-canvas);text-transform:capitalize}.sd-score-track{grid-column:1/-1;height:.4rem;overflow:hidden;border-radius:999px;background:var(--color-surface-raised)}.sd-score-track span{display:block;height:100%;border-radius:inherit;background:var(--color-accent)}.sd-report-section li{margin-bottom:var(--space-2)}.sd-readiness{display:inline-flex;width:-moz-fit-content;width:fit-content;padding:.35rem .65rem;border-radius:999px;background:var(--color-warning-soft);color:var(--color-warning)!important;font-size:var(--font-size-sm)!important;font-weight:700}.sd-readiness.readiness-above_target,.sd-readiness.readiness-at_target{background:var(--color-success-soft);color:var(--color-success)!important}.sd-peer-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.sd-peer-stats p{display:grid;grid-gap:var(--space-1);gap:var(--space-1);padding:var(--space-4);border-radius:var(--radius);background:var(--color-canvas)}.sd-peer-stats strong{font-size:var(--font-size-xl)}.sd-peer-stats span{color:var(--color-text-muted);font-size:var(--font-size-sm)}.sd-answer-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-5);gap:var(--space-5);margin-top:var(--space-4)}.sd-answer-comparison>div{padding:var(--space-4);border-radius:var(--radius);background:var(--color-canvas)}.sd-stage-breakdown details{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius)}.sd-stage-breakdown summary{display:flex;justify-content:space-between;gap:var(--space-4)}.practice-card-actions{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.practice-load-more{margin-top:var(--space-4)}@media (max-width:70rem){.practice-catalog-filters,.practice-problem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sd-workspace-grid{grid-template-columns:1fr}.sd-stage-panel{grid-column:1;grid-row:1}.sd-brief{position:static;grid-column:1;grid-row:2}.sd-stepper li>button{grid-template-columns:auto 1fr}.sd-stepper li small{display:none}}@media (max-width:48rem){.career-steps{grid-template-columns:repeat(2,1fr)}.career-course-fields,.career-report-grid{grid-template-columns:1fr}.career-course-summary,.career-panel-heading,.career-url-row,.practice-hero,.practice-section-heading,.sd-canvas-heading,.sd-report-hero,.sd-stage-actions,.sd-workspace-header{align-items:stretch;flex-direction:column}.sd-canvas-tools{justify-items:stretch}.practice-level{width:100%}.practice-catalog-filters,.practice-problem-grid,.sd-dimension-grid,.sd-feedback-card,.sd-feedback-columns,.sd-outline-grid,.sd-report-columns{grid-template-columns:1fr}.practice-active-row{grid-template-columns:1fr auto}.practice-active-progress{grid-column:1/-1;grid-row:2}.sd-answer-comparison,.sd-peer-stats{grid-template-columns:1fr}.sd-feedback-score{justify-items:start}.sd-stepper{grid-template-columns:repeat(5,minmax(9rem,1fr));overflow-x:auto;padding-bottom:var(--space-2);scroll-snap-type:inline proximity}.sd-stepper li{scroll-snap-align:start}.sd-canvas-loading,.sd-flow{height:25rem}.sd-component-list li,.sd-edge-form{grid-template-columns:1fr}.practice-history-row{grid-template-columns:1fr auto}.practice-history-row>span:last-child{display:none}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{font-size:1rem}}@media (max-width:34rem){.sd-canvas-disclosure{grid-template-columns:1fr}.sd-canvas-disclosure>.btn{justify-self:start}.sd-feedback-body{-webkit-padding-start:0;padding-inline-start:0}.sd-feedback-card>summary{grid-template-columns:auto minmax(0,1fr)}.sd-stage-actions .sd-muted{display:none}.sd-stage-actions .btn{width:100%}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--color-canvas:#141412;--color-surface:#1d1d1a;--color-surface-raised:#262621;--color-surface-hover:#30302a;--color-border:#393932;--color-border-strong:#57564d;--color-input-border:#716f63;--color-text:#f0eee7;--color-text-muted:#bbb8ae;--color-text-subtle:#9a978d;--color-accent:#e29b73;--color-accent-hover:#efac86;--color-on-accent:#24140c;--color-accent-soft:#43271c;--color-success:#82b596;--color-success-soft:#20372a;--color-warning:#d0ad5e;--color-warning-soft:#40351d;--color-danger:#e18484;--color-danger-hover:#f09a9a;--color-danger-soft:#462323;--color-focus:#83b4ff;--color-overlay:rgb(0 0 0/76%);--shadow-sm:0 1px 2px rgb(0 0 0/20%);--shadow-md:0 16px 42px rgb(0 0 0/34%)}}:root[data-theme=dark]{color-scheme:dark;--color-canvas:#141412;--color-surface:#1d1d1a;--color-surface-raised:#262621;--color-surface-hover:#30302a;--color-border:#393932;--color-border-strong:#57564d;--color-input-border:#716f63;--color-text:#f0eee7;--color-text-muted:#bbb8ae;--color-text-subtle:#9a978d;--color-accent:#e29b73;--color-accent-hover:#efac86;--color-on-accent:#24140c;--color-accent-soft:#43271c;--color-success:#82b596;--color-success-soft:#20372a;--color-warning:#d0ad5e;--color-warning-soft:#40351d;--color-danger:#e18484;--color-danger-hover:#f09a9a;--color-danger-soft:#462323;--color-focus:#83b4ff;--color-overlay:rgb(0 0 0/76%);--shadow-sm:0 1px 2px rgb(0 0 0/20%);--shadow-md:0 16px 42px rgb(0 0 0/34%)}*,:after,:before{box-sizing:border-box}html{min-width:20rem;background:var(--color-canvas);scroll-behavior:smooth}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}body{min-height:100vh;margin:0;background:var(--color-canvas);color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-md);line-height:var(--line-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}.locale-switcher{display:grid;grid-gap:.45rem;gap:.45rem;color:var(--text-muted);font-size:.82rem;font-weight:650}.locale-switcher select{min-width:9rem;min-height:2.5rem;padding-block:.45rem}.locale-switcher-compact select{min-width:0;width:100%}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:var(--color-accent);text-underline-offset:.16em;transition:color var(--transition)}a:hover{color:var(--color-accent-hover)}:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}::selection{background:var(--color-accent-soft);color:var(--color-text)}label{display:inline-block;margin-bottom:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:600}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;inset-block-start:var(--space-3);inset-inline-start:var(--space-3);z-index:200;padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--color-text);color:var(--color-surface);box-shadow:var(--shadow-md);text-decoration:none;transform:translateY(calc(-100% - var(--space-6)));transition:transform var(--duration-fast) var(--ease-standard)}.skip-link:focus{color:var(--color-surface);transform:translateY(0)}.btn{display:inline-flex;min-height:var(--control-height);align-items:center;justify-content:center;gap:var(--space-2);padding:.625rem 1rem;border:1px solid transparent;border-radius:var(--radius);background:var(--color-surface-raised);cursor:pointer;font-size:var(--font-size-sm);font-weight:600;line-height:1;text-decoration:none;white-space:nowrap;transition:background var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition),transform var(--duration-fast) var(--ease-standard)}.btn,.btn:hover{color:var(--color-text)}.btn:hover{background:var(--color-surface-hover)}.btn:active:not(:disabled){transform:scale(.96)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--color-accent-hover);color:var(--color-on-accent)}.btn-secondary{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:var(--color-danger-hover);color:#fff}.btn-ghost{min-height:2.25rem;padding:.5rem .75rem;background:transparent;color:var(--color-text-muted);font-size:var(--font-size-sm)}.btn-ghost:hover{background:var(--color-surface-hover);color:var(--color-text)}.icon-button{width:var(--control-height);min-width:var(--control-height);height:var(--control-height);padding:0}.card{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{width:100%;min-height:var(--control-height);padding:.625rem .75rem;border:1px solid var(--color-input-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-sm);transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}textarea{line-height:var(--line-reading)}input[type=checkbox],input[type=radio]{width:1rem;height:1rem;accent-color:var(--color-accent)}input::placeholder,textarea::placeholder{color:var(--color-text-subtle);opacity:1}input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.65}.app-shell{display:grid;grid-template-columns:15.5rem minmax(0,1fr);min-height:100vh}.app-sidebar{position:-webkit-sticky;position:sticky;top:0;z-index:50;display:flex;min-width:0;height:100vh;height:100dvh;flex-direction:column;padding:var(--space-5) var(--space-4) var(--space-4);border-right:1px solid var(--color-border);background:var(--color-surface)}.app-sidebar-brand{display:flex;align-items:center;justify-content:space-between;min-height:3rem;padding:0 var(--space-2)}.sidebar-collapse{flex:0 0 auto}.brand-link{display:inline-flex;min-height:2.5rem;align-items:center;gap:.625rem;font-family:var(--font-editorial);font-size:1.35rem;font-weight:600;letter-spacing:-.03em;text-decoration:none}.brand-link,.brand-link:hover{color:var(--color-accent)}.brand-mark{display:inline-flex;width:1.25rem;height:1.6rem;align-items:center;justify-content:center;gap:.125rem;transform:rotate(-8deg)}.brand-mark>span{width:.14rem;height:1rem;border-radius:999px;background:var(--color-accent);transform:skewY(-28deg)}.brand-mark>span:nth-child(2){height:1.35rem}.brand-mark>span:nth-child(3){height:.8rem}.sidebar-create{display:flex;min-height:2.75rem;align-items:center;gap:var(--space-3);margin:var(--space-5) 0 var(--space-4);padding:0 var(--space-3);border:1px solid var(--color-accent);border-radius:var(--radius);background:var(--color-accent);color:var(--color-on-accent);font-size:var(--font-size-sm);font-weight:650;text-decoration:none;box-shadow:var(--shadow-sm)}.sidebar-create:hover{background:var(--color-accent-hover);color:var(--color-on-accent)}.sidebar-navigation{display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.sidebar-link{position:relative;display:flex;min-height:2.75rem;align-items:center;gap:var(--space-3);padding:0 var(--space-3);border-radius:var(--radius);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:550;text-decoration:none;transition:background var(--transition),color var(--transition)}.sidebar-link:hover,.sidebar-link[aria-current=page]{background:var(--color-surface-raised);color:var(--color-text)}.sidebar-link[aria-current=page]:before{position:absolute;top:.55rem;bottom:.55rem;inset-inline-start:-1rem;width:.2rem;border-radius:999px;background:var(--color-accent);content:""}@media (min-width:64.001rem){.app-shell:has(.app-sidebar[data-collapsed=true]){grid-template-columns:4.75rem minmax(0,1fr)}.app-sidebar[data-collapsed=true]{padding-inline:var(--space-3)}.app-sidebar[data-collapsed=true] .app-sidebar-brand{min-height:auto;flex-direction:column;gap:var(--space-1);padding-inline:0}.app-sidebar[data-collapsed=true] .brand-link,.app-sidebar[data-collapsed=true] .sidebar-create,.app-sidebar[data-collapsed=true] .sidebar-link{width:100%;justify-content:center}.app-sidebar[data-collapsed=true] .brand-link{min-height:2.75rem}.app-sidebar[data-collapsed=true] .brand-wordmark,.app-sidebar[data-collapsed=true] .locale-switcher,.app-sidebar[data-collapsed=true] .sidebar-account,.app-sidebar[data-collapsed=true] .sidebar-create>span,.app-sidebar[data-collapsed=true] .sidebar-link>span{display:none}.app-sidebar[data-collapsed=true] .sidebar-create,.app-sidebar[data-collapsed=true] .sidebar-link{gap:0;padding-inline:0}.app-sidebar[data-collapsed=true] .sidebar-create{margin-top:var(--space-3)}.app-sidebar[data-collapsed=true] .sidebar-link[aria-current=page]:before{inset-inline-start:calc(var(--space-3) * -1)}.app-sidebar[data-collapsed=true] .sidebar-bottom{justify-items:stretch}}@media (min-width:64.001rem) and (prefers-reduced-motion:no-preference){.app-shell{transition:grid-template-columns var(--duration-base) var(--ease-standard)}}.sidebar-bottom{display:grid;grid-gap:var(--space-3);gap:var(--space-3);margin-top:auto}.sidebar-account{display:grid;grid-template-columns:2.25rem minmax(0,1fr);grid-gap:var(--space-3);gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-2) 0;border-top:1px solid var(--color-border)}.public-shell{min-height:100vh;min-height:100dvh;padding:var(--space-5);background:var(--color-canvas)}.auth-layout{display:grid;grid-template-columns:minmax(20rem,.9fr) minmax(26rem,1.1fr);width:min(100%,75rem);min-height:calc(100vh - 2.5rem);min-height:calc(100dvh - 2.5rem);margin:0 auto;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-md)}.auth-story{display:flex;min-width:0;min-height:42rem;flex-direction:column;justify-content:space-between;padding:clamp(2rem,5vw,4rem);background:radial-gradient(circle at 75% 80%,rgb(248 241 226/13%),transparent 27%),#596a4c;color:#f7f1e6}.auth-brand{display:inline-flex;align-items:center;align-self:flex-start;gap:var(--space-2);color:inherit;font-weight:700;text-decoration:none}.auth-brand>span{display:grid;width:2rem;height:2rem;place-items:center;border:1px solid rgb(247 241 230/50%);border-radius:50%;font-family:var(--font-editorial),Georgia,serif}.auth-story .eyebrow{color:rgb(247 241 230/90%)}.auth-quote{max-width:10ch;margin:var(--space-4) 0 0;font-family:var(--font-editorial),Georgia,serif;font-size:clamp(3rem,5vw,5rem);font-weight:400;letter-spacing:-.05em;line-height:.98;overflow-wrap:anywhere}.auth-story>small{color:rgb(247 241 230/90%);font-size:var(--font-size-xs)}.auth-form-panel{display:flex;width:min(100%,34rem);min-width:0;flex-direction:column;justify-content:center;margin:0 auto;padding:clamp(2rem,7vw,5rem)}.auth-heading h1{margin:var(--space-2) 0;font-family:var(--font-editorial),Georgia,serif;font-size:clamp(3rem,6vw,4.75rem);font-weight:400;letter-spacing:-.05em;line-height:.95;overflow-wrap:anywhere}.auth-heading p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.auth-form{display:grid;grid-gap:var(--space-4);gap:var(--space-4);margin-top:var(--space-8)}.auth-field{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.auth-field label{color:var(--color-text-muted);font-size:var(--font-size-xs);letter-spacing:.06em;text-transform:uppercase}.auth-submit{width:100%;margin-top:var(--space-2)}.auth-switch{margin:var(--space-5) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center}.auth-switch a{font-weight:650}.account-avatar{display:grid;width:2.25rem;height:2.25rem;place-items:center;border-radius:50%;background:var(--color-accent);color:var(--color-on-accent);font-size:var(--font-size-xs);font-weight:700}.sidebar-account strong{display:block;min-width:0;overflow:hidden;font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap}.sidebar-account .btn{min-height:var(--control-height);margin-top:.125rem;-webkit-margin-start:calc(var(--space-2) * -1);margin-inline-start:calc(var(--space-2) * -1);padding:0 var(--space-2);font-size:var(--font-size-xs)}.mobile-app-header,.sidebar-close,.sidebar-scrim{display:none}.portal-main{min-width:0;min-height:100vh;padding:clamp(1.5rem,3vw,3.25rem)}.portal-main>:not(.course-workspace){width:min(100%,76rem);margin-inline:auto}.page-stack{display:flex;flex-direction:column;gap:var(--space-5)}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.page-title{margin:0;font-size:var(--font-size-xl);line-height:var(--line-tight);letter-spacing:-.025em}.page-description{max-width:42rem;margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.page-loading{display:grid;min-height:18rem;place-items:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.editorial-page{padding-top:var(--space-3)}.editorial-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-8);padding-bottom:var(--space-8);border-bottom:1px solid var(--color-border)}.editorial-page-header h1{margin:var(--space-2) 0 var(--space-2);font-family:var(--font-editorial);font-size:clamp(2.75rem,6vw,5.25rem);font-weight:500;letter-spacing:-.05em;line-height:.95}.editorial-page-header p{max-width:38rem;margin:0;color:var(--color-text-muted);font-size:var(--font-size-lg)}.review-summary{display:grid;min-width:8rem;justify-items:end}.review-summary strong{font-family:var(--font-editorial);font-size:3.5rem;font-weight:500;line-height:.9}.review-summary span,.source-library-stats{color:var(--color-text-muted);font-size:var(--font-size-sm)}.editorial-empty-state{display:grid;min-height:26rem;place-items:center;align-content:center;padding:var(--space-10);text-align:center}.empty-state-mark{display:grid;width:3.25rem;height:3.25rem;place-items:center;margin-bottom:var(--space-5);border:1px solid var(--color-border-strong);border-radius:50%;color:var(--color-success);font-size:var(--font-size-xl)}.editorial-empty-state h2{margin:0;font-family:var(--font-editorial);font-size:var(--font-size-2xl);font-weight:500}.editorial-empty-state p{max-width:30rem;margin:var(--space-3) 0 var(--space-6);color:var(--color-text-muted)}.review-queue{padding-top:var(--space-8)}.review-queue-item{display:grid;grid-template-columns:3rem minmax(0,1fr) auto 2rem;grid-gap:var(--space-5);gap:var(--space-5);align-items:center;min-height:5.75rem;padding:var(--space-3);border-bottom:1px solid var(--color-border);color:var(--color-text);text-decoration:none;transition:background var(--transition),color var(--transition)}.review-queue-item:hover{background:var(--color-surface);color:var(--color-text)}.review-order{color:var(--color-text-subtle);font-family:var(--font-editorial);font-size:var(--font-size-lg)}.review-queue-copy span,.review-queue-copy strong,.review-queue-evidence small{display:block}.review-queue-copy strong{font-family:var(--font-editorial);font-size:var(--font-size-xl);font-weight:500}.review-queue-copy span,.review-queue-evidence small{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-xs)}.review-queue-evidence{text-align:right}.review-arrow{color:var(--color-accent);font-size:var(--font-size-lg)}.source-library-stats{display:flex;gap:var(--space-6);white-space:nowrap}.source-library-stats strong{color:var(--color-text);font-family:var(--font-editorial);font-size:var(--font-size-xl);font-weight:500}.source-course-list{display:grid;padding-top:var(--space-4)}.source-course-row{display:grid;grid-template-columns:3.5rem minmax(0,1fr) auto;grid-gap:var(--space-5);gap:var(--space-5);align-items:center;padding:var(--space-5) 0;border-bottom:1px solid var(--color-border)}.course-monogram{display:grid;width:3.5rem;height:3.5rem;place-items:center;border-radius:var(--radius);background:#596e49;color:#fffdf8;font-family:var(--font-editorial);font-size:var(--font-size-lg)}.source-course-copy h2{margin:0;font-family:var(--font-editorial);font-size:var(--font-size-xl);font-weight:500}.source-course-copy p{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.source-chip-list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.source-chip{max-width:19rem;overflow:hidden;padding:.3rem .55rem;border-radius:999px;background:var(--color-surface-raised);color:var(--color-text-muted);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap}.source-chip-ready{background:var(--color-success-soft);color:var(--color-success)}.source-chip-failed{background:var(--color-danger-soft);color:var(--color-danger)}.reading-column{width:min(100%,var(--reading-max));margin-inline:auto;font-size:var(--font-size-md);line-height:var(--line-reading)}.empty-state{display:grid;min-height:15rem;place-items:center;padding:var(--space-10) var(--space-6);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);color:var(--color-text-muted);text-align:center}.feedback{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);font-size:var(--font-size-sm)}.feedback-danger{border-color:var(--color-danger);background:var(--color-danger-soft);color:var(--color-text)}.feedback-success{border-color:var(--color-success);background:var(--color-success-soft);color:var(--color-text)}.field-error{margin:var(--space-2) 0 0;color:var(--color-danger);font-size:var(--font-size-sm);font-weight:600}[aria-invalid=true]{border-color:var(--color-danger)!important}.progress-track{position:relative;height:.5rem;overflow:hidden;border-radius:999px;background:var(--color-surface-raised)}.progress-track[data-compact=true]{height:.25rem}.progress-fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:var(--color-accent);transition:width var(--duration-slow) var(--ease-standard)}.progress-track[data-tone=success] .progress-fill{background:var(--color-success)}.progress-track[data-tone=warning] .progress-fill{background:var(--color-warning)}.plan-list{display:grid;grid-gap:0;gap:0;border-top:1px solid var(--color-border)}.plan-card{display:grid;grid-template-columns:5.5rem minmax(0,1fr) auto auto;min-width:0;align-items:center;grid-gap:var(--space-5);gap:var(--space-5);padding:var(--space-5) var(--space-3);border-bottom:1px solid var(--color-border);transition:background var(--transition)}.plan-card:hover{background:color-mix(in srgb,var(--color-surface) 55%,transparent)}.plan-card-cover{display:grid;width:5.5rem;height:5.5rem;place-items:center;border-radius:var(--radius);background:#596a4c;color:#f5efe4;font-family:var(--font-editorial),Georgia,serif;font-size:2rem;text-transform:uppercase}.plan-card:nth-child(3n+2) .plan-card-cover{background:#9d5d48}.plan-card:nth-child(3n) .plan-card-cover{background:#606778}.plan-card-main{display:block;min-width:0;text-decoration:none}.plan-card-main,.plan-card-main:hover{color:var(--color-text)}.plan-card-meta,.plan-card-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-card-kicker{display:block;margin-bottom:var(--space-1);color:var(--color-text-subtle);font-size:var(--font-size-xs);font-weight:700;text-transform:capitalize}.plan-card-progress{display:grid;grid-template-columns:minmax(6rem,12rem) auto;align-items:center;grid-gap:var(--space-3);gap:var(--space-3);margin-top:var(--space-3)}.plan-card-learning-status{color:var(--color-success);font-size:var(--font-size-xs);font-weight:700;white-space:nowrap}.learning-filters{display:flex;gap:var(--space-5);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);overflow-x:auto}.learning-filter{position:relative;display:inline-flex;min-height:2.5rem;align-items:center;gap:var(--space-2);padding:0;border:0;background:transparent;color:var(--color-text-muted);font:inherit;font-size:var(--font-size-sm);font-weight:600;white-space:nowrap;cursor:pointer}.learning-filter:hover,.learning-filter[aria-pressed=true]{color:var(--color-text)}.learning-filter[aria-pressed=true]{color:var(--color-accent)}.learning-filter[aria-pressed=true]:after{position:absolute;right:0;bottom:calc(var(--space-2) * -1 - 1px);left:0;height:2px;background:var(--color-accent);content:""}.learning-filter span{font-size:var(--font-size-xs)}.compact-empty-state{min-height:10rem}.compact-empty-state h2,.compact-empty-state p{margin:0}.compact-empty-state p{margin-top:var(--space-2)}.plan-card-title{font-family:var(--font-editorial),Georgia,serif;font-size:clamp(1.35rem,2vw,1.7rem);font-weight:500;letter-spacing:-.025em}.plan-card-meta{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-sm)}.plan-card-actions{display:flex;flex:0 0 auto;gap:var(--space-1)}.plan-card-arrow{display:grid;width:2.5rem;height:2.5rem;place-items:center;border-radius:50%;color:var(--color-text-subtle);font-size:var(--font-size-lg);text-decoration:none}.plan-card-arrow:hover{background:var(--color-accent-soft);color:var(--color-accent)}.learning-library-page{width:min(100%,68rem);margin-inline:auto}.learning-library-header h1{font-size:clamp(3.5rem,8vw,6.5rem)}.empty-state-action{margin-top:var(--space-4)}.plan-card-delete,.plan-card-delete:hover{color:var(--color-danger)}.plan-card-delete:hover{background:var(--color-danger-soft)}.course-progress-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.course-progress-label{display:flex;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-xs)}.portal-main:has(.course-workspace){height:100vh;padding:0;overflow:hidden}.course-workspace,.course-workspace-frame{min-width:0;height:100%}.course-workspace-frame{display:flex;flex-direction:column}.course-header{display:flex;min-height:5.25rem;flex:0 0 auto;align-items:center;justify-content:space-between;gap:var(--space-5);padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.course-header-copy{min-width:0}.course-title-row{display:flex;min-width:0;align-items:center;gap:var(--space-2)}.course-title-row h1{min-width:0}.course-title-row .career-badge{flex:0 0 auto}.course-back-link{display:inline-block;margin-bottom:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-xs);text-decoration:none}.course-header h1{margin:0;overflow:hidden;font-family:var(--font-editorial);font-size:var(--font-size-xl);font-weight:500;letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap}.course-meta{margin-top:.125rem;color:var(--color-text-muted);font-size:var(--font-size-xs);text-transform:capitalize}.course-header-actions{display:flex;flex:0 0 auto;gap:var(--space-1)}.course-export-menu{position:relative}.course-export-menu>summary{list-style:none;cursor:pointer}.course-export-menu>summary::-webkit-details-marker{display:none}.course-export-menu>div{position:absolute;z-index:20;top:calc(100% + var(--space-2));right:0;display:grid;min-width:12rem;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-md)}.course-export-menu>div button{padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);text-align:left}.course-export-menu>div button:hover{background:var(--color-surface-hover)}.course-progress-overview{flex:0 0 auto;background:var(--color-surface)}.course-progress-overview,.generation-queue-panel{padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--color-border)}.generation-queue-panel{display:flex;align-items:flex-start;gap:var(--space-5);background:var(--color-accent-soft)}.generation-queue-heading{display:grid;min-width:13rem;grid-gap:.15rem;gap:.15rem}.generation-queue-heading span,.generation-queue-item small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.generation-queue-list{display:grid;flex:1 1;grid-gap:var(--space-2);gap:var(--space-2)}.generation-queue-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.generation-queue-item>span{display:grid}.generation-queue-item.is-failed small{color:var(--color-danger)}.generation-queue-item .btn{flex:0 0 auto;min-height:2rem;padding:var(--space-1) var(--space-2)}.analytics-page{display:grid;grid-gap:var(--space-6);gap:var(--space-6);max-width:76rem;margin:0 auto}.analytics-header{align-items:flex-end}.analytics-range{display:flex;padding:.2rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.analytics-range .btn{min-height:2.25rem}.analytics-range .btn[data-active=true]{background:var(--color-text);color:var(--color-surface)}.analytics-loading{padding:var(--space-8);color:var(--color-text-muted);text-align:center}.analytics-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.analytics-metrics article{display:grid;grid-gap:.2rem;gap:.2rem;padding:var(--space-4);border-right:1px solid var(--color-border)}.analytics-metrics article:last-child{border-right:0}.analytics-metrics small,.analytics-metrics span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.analytics-metrics span{min-height:2.2em;font-weight:650;text-transform:uppercase}.analytics-metrics strong{font-family:var(--font-display);font-size:clamp(1.4rem,2.2vw,2.1rem)}.analytics-panel{min-width:0;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.analytics-legend{display:flex;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-xs)}.analytics-legend span:before{display:inline-block;width:.55rem;height:.55rem;margin-right:.35rem;border-radius:50%;background:currentColor;content:""}.analytics-legend .is-lessons{color:var(--color-success)}.analytics-legend .is-quizzes{color:var(--color-warning)}.analytics-legend .is-generations{color:var(--color-accent)}.analytics-chart-scroll{overflow-x:auto;padding-top:var(--space-4)}.analytics-chart{display:flex;align-items:flex-end;gap:.35rem;height:13rem;padding-top:var(--space-3);border-bottom:1px solid var(--color-border);background-image:repeating-linear-gradient(to bottom,var(--color-border) 0,var(--color-border) 1px,transparent 1px,transparent 25%)}.analytics-day{position:relative;display:flex;flex:1 1;align-items:stretch;justify-content:flex-end;height:100%;min-width:1rem;flex-direction:column}.analytics-day-bars{display:flex;min-height:.2rem;overflow:hidden;border-radius:.2rem .2rem 0 0;flex-direction:column}.analytics-day-bars .is-lessons{background:var(--color-success)}.analytics-day-bars .is-quizzes{background:var(--color-warning)}.analytics-day-bars .is-generations{background:var(--color-accent)}.analytics-day small{position:absolute;top:calc(100% + .35rem);left:50%;color:var(--color-text-muted);font-size:var(--font-size-xs);white-space:nowrap;transform:translateX(-50%)}.analytics-columns{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(18rem,.7fr);grid-gap:var(--space-6);gap:var(--space-6)}.analytics-course-list,.analytics-event-list{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.analytics-course-list>a{display:grid;grid-gap:var(--space-2);gap:var(--space-2);color:var(--color-text);text-decoration:none}.analytics-course-list>a>span,.analytics-event-list>div{display:flex;justify-content:space-between;gap:var(--space-3)}.analytics-course-list small,.analytics-event-list span,.analytics-privacy{color:var(--color-text-muted);font-size:var(--font-size-xs)}.analytics-event-list>div{padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.analytics-privacy{margin:var(--space-4) 0 0;padding-top:var(--space-3);border-top:1px solid var(--color-border)}@media (max-width:900px){.analytics-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.analytics-metrics article:nth-child(3){border-right:0}.analytics-metrics article:nth-child(-n+3){border-bottom:1px solid var(--color-border)}.analytics-columns{grid-template-columns:1fr}.generation-queue-panel{flex-direction:column;gap:var(--space-3)}}@media (max-width:560px){.analytics-header{align-items:flex-start}.analytics-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-metrics article{border-bottom:1px solid var(--color-border)}.analytics-metrics article:nth-child(2n){border-right:0}.analytics-metrics article:nth-last-child(-n+2){border-bottom:0}.analytics-legend{display:none}}.course-layout{display:grid;grid-template-columns:17.5rem minmax(0,1fr);min-height:0;flex:1 1}.course-outline{min-width:0;overflow-y:auto;border-right:1px solid var(--color-border);background:var(--color-surface)}.course-outline-heading{position:-webkit-sticky;position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:3.25rem;padding:0 var(--space-5);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.course-outline-heading span{font-family:var(--font-editorial);font-size:var(--font-size-md);font-weight:600}.course-outline-heading small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.course-outline-modules{padding:var(--space-2) var(--space-3) var(--space-8)}.course-module{padding:var(--space-1) 0 var(--space-2);border-bottom:1px solid var(--color-border)}.course-module:last-child{border-bottom:0}.course-module-toggle{display:grid;grid-template-columns:1.3rem minmax(0,1fr) auto 1rem;grid-gap:var(--space-2);gap:var(--space-2);align-items:center;width:100%;min-height:3rem;padding:var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.course-module-toggle:hover{background:var(--color-surface-raised)}.course-module-chevron,.course-module-count,.course-module-index{color:var(--color-text-subtle);font-size:var(--font-size-xs)}.course-module-title{overflow:hidden;font-family:var(--font-editorial);font-size:var(--font-size-sm);font-weight:600;text-overflow:ellipsis}.course-module-progress{height:.2rem;margin-block:0 var(--space-2);margin-inline:2.1rem var(--space-2);overflow:hidden;border-radius:999px;background:var(--color-surface-raised)}.course-module-progress span{display:block;height:100%;border-radius:inherit;background:var(--color-success);transition:width var(--duration-slow) var(--ease-standard)}.course-module-generate{min-height:var(--control-height);margin-block:0 var(--space-1);-webkit-margin-start:2.1rem;margin-inline-start:2.1rem;padding:0;border:0;background:transparent;color:var(--color-accent);font:inherit;font-size:var(--font-size-xs);font-weight:650;cursor:pointer}.course-topic-list{display:grid;grid-gap:.125rem;gap:.125rem;-webkit-margin-start:var(--space-2);margin-inline-start:var(--space-2)}.course-topic-empty{padding:var(--space-2) var(--space-4);color:var(--color-text-subtle);font-size:var(--font-size-xs)}.course-topic-link{position:relative;display:grid;grid-template-columns:1.5rem minmax(0,1fr) auto;grid-gap:var(--space-2);gap:var(--space-2);align-items:center;width:100%;min-height:2.5rem;padding:var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-subtle);font:inherit;font-size:var(--font-size-sm);line-height:var(--line-ui);text-align:left;cursor:pointer}.course-topic-link[data-ready=true]{color:var(--color-text-muted)}.course-topic-link:hover,.course-topic-link[data-active=true]{background:var(--color-surface-raised);color:var(--color-text)}.course-topic-link[data-active=true]:before{position:absolute;top:.45rem;bottom:.45rem;inset-inline-start:-.75rem;width:.18rem;border-radius:999px;background:var(--color-accent);content:""}.course-topic-state{display:grid;width:1.3rem;height:1.3rem;place-items:center;border:1px solid var(--color-border-strong);border-radius:50%;color:var(--color-text-subtle);font-size:var(--font-size-xs)}.course-topic-state.is-complete{border-color:var(--color-success);background:var(--color-success);color:var(--color-surface)}.course-topic-title{overflow:hidden;text-overflow:ellipsis}.course-topic-generating{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-accent);font-size:var(--font-size-xs)}.course-content-layout{position:relative;display:grid;grid-template-columns:minmax(0,1fr);min-width:0;min-height:0;overflow:hidden}.course-content-layout[data-chat-open=true]{grid-template-columns:minmax(0,1fr) clamp(20rem,27vw,25rem)}.lesson-stage{width:100%;height:100%;overflow-y:auto;background:var(--color-canvas)}.lesson-paper{width:min(100%,58rem);min-height:100%;margin:0 auto;padding:clamp(2.5rem,5vw,5rem) clamp(2rem,6vw,6rem);border-inline:1px solid var(--color-border);background:var(--color-surface)}.lesson-header{margin-bottom:var(--space-6)}.lesson-heading{min-width:0}.lesson-heading h2{max-width:20ch;margin:var(--space-2) 0 var(--space-2);font-family:var(--font-editorial);font-size:clamp(2.5rem,5vw,4.25rem);font-weight:500;letter-spacing:-.055em;line-height:.98}.lesson-toolbar{position:-webkit-sticky;position:sticky;top:var(--space-2);z-index:12;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-4);margin:0 calc(var(--space-2) * -1) var(--space-8);padding:var(--space-2);border:1px solid color-mix(in srgb,var(--color-border) 78%,transparent);border-radius:calc(var(--radius) + var(--space-2));background:color-mix(in srgb,var(--color-surface) 92%,transparent);box-shadow:0 .4rem 1.5rem color-mix(in srgb,var(--color-text) 7%,transparent);-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem)}.lesson-toolbar-navigation,.lesson-toolbar-tools{display:flex;align-items:center;gap:var(--space-1)}.lesson-toolbar-position{min-width:max-content;padding-inline:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lesson-toolbar .btn{min-height:2.5rem;padding:.55rem .75rem;font-size:var(--font-size-xs)}.lesson-toolbar-icon-button{width:2.5rem;min-width:2.5rem;padding:0!important}.lesson-toolbar-icon{width:1.125rem;height:1.125rem;flex:0 0 auto}.lesson-reading-mark{font-family:var(--font-editorial);font-size:1rem;font-weight:600;letter-spacing:-.04em}.lesson-reading-toggle[aria-pressed=true],.lesson-tutor-button[aria-pressed=true]{background:var(--color-accent-soft);color:var(--color-accent)}.lesson-tutor-button{border-color:color-mix(in srgb,var(--color-accent) 45%,var(--color-border));color:var(--color-accent)}.lesson-overflow{position:relative}.lesson-overflow-panel{position:absolute;top:calc(100% + var(--space-2));inset-inline-end:0;display:grid;width:max-content;min-width:11rem;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-md)}.lesson-overflow-panel button{min-height:2.5rem;padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);cursor:pointer;font:inherit;text-align:start}.lesson-overflow-panel button:hover{background:var(--color-surface-hover)}.lesson-overflow-panel button:disabled{cursor:not-allowed;opacity:.5}.lesson-editor{min-height:32rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--font-size-sm);resize:vertical}.lesson-content{max-width:var(--reading-max);margin-inline:auto;overflow-wrap:break-word;color:var(--color-text);font-size:1rem;line-height:1.78}.lesson-content[data-reading=true]{font-size:1.0625rem;line-height:1.88}.lesson-content :where(h1,h2,h3,h4){margin:1.8em 0 .55em;font-family:var(--font-editorial);font-weight:500;letter-spacing:-.025em;line-height:1.12}.lesson-content h1{font-size:2.25rem}.lesson-content h2{font-size:1.75rem}.lesson-content h3{font-size:1.35rem}.lesson-content :where(p,ul,ol){margin:0 0 1.2em}.lesson-content blockquote{margin:var(--space-6) 0;padding:var(--space-4) var(--space-5);border:0;border-left:.2rem solid var(--color-accent);border-radius:0 var(--radius) var(--radius) 0;background:var(--color-accent-soft);color:var(--color-text)}.lesson-content code:not(pre code){padding:.12em .35em;border-radius:var(--radius-sm);background:var(--color-surface-raised);font-size:.9em}.lesson-content pre{margin:var(--space-6) 0;padding:var(--space-5);overflow-x:auto;border-radius:var(--radius);background:#20211f;color:#f7f5ef;font-size:var(--font-size-sm);line-height:1.6}.lesson-table-wrap{margin:var(--space-5) 0;overflow-x:auto}.lesson-table-wrap table{width:100%;border:1px solid var(--color-border);border-collapse:collapse;font-family:var(--font-sans);font-size:var(--font-size-sm);line-height:1.5}.lesson-table-wrap thead{background:var(--color-surface-raised);font-weight:650}.lesson-table-wrap td,.lesson-table-wrap th{padding:var(--space-2) var(--space-3);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);text-align:left}.lesson-table-wrap th{border-bottom-width:2px;white-space:nowrap}.lesson-table-wrap tbody tr:hover{background:var(--color-surface-raised)}.lesson-generation-error{max-width:32.5rem;margin:0 auto var(--space-4)}.lesson-generation-error div{margin-top:var(--space-1)}.lesson-empty-copy{font-size:var(--font-size-sm)}.course-loading,.course-no-modules{display:grid;min-height:18rem;place-items:center;align-content:center;grid-gap:var(--space-3);gap:var(--space-3);color:var(--color-text-muted);text-align:center}.course-no-modules{margin:var(--space-8);border-block:1px solid var(--color-border)}.course-loading{padding:var(--space-10)}.course-loading p{margin:0}.spinner{display:inline-block;width:1.25rem;height:1.25rem;border:2px solid var(--color-border-strong);border-top-color:var(--color-accent);border-radius:50%;vertical-align:middle;animation:spin .8s linear infinite}.spinner-7{width:.4375rem;height:.4375rem;border-width:1px}.spinner-10{width:.625rem;height:.625rem;border-width:1px}.spinner-14{width:.875rem;height:.875rem}.spinner-16{width:1rem;height:1rem}.spinner-28{width:1.75rem;height:1.75rem}.spinner-32{width:2rem;height:2rem}.modal-scrim{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-5);background:var(--color-overlay)}.course-modal{width:min(100%,37.5rem);max-height:min(80vh,48rem);padding:clamp(1.5rem,4vw,2.5rem);overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md)}.course-modal-quiz{width:min(100%,52rem);max-height:min(88vh,56rem);padding:clamp(1.25rem,3vw,2rem)}.course-modal:focus{outline:2px solid var(--color-accent);outline-offset:2px}.course-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.confirm-dialog>h2,.course-modal-header h2{margin:0;font-family:var(--font-editorial),Georgia,serif;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:500;letter-spacing:-.03em}.course-modal-quiz .course-modal-header{margin-bottom:var(--space-4)}.course-modal-quiz .course-modal-header h2{max-width:28ch;font-size:clamp(1.75rem,3vw,2.25rem);line-height:1.08;text-wrap:balance}.confirm-dialog>p{margin:var(--space-3) 0 var(--space-6);color:var(--color-text-muted);text-wrap:pretty}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.modal-empty,.modal-loading{display:grid;min-height:10rem;place-items:center;align-content:center;grid-gap:var(--space-3);gap:var(--space-3);color:var(--color-text-muted);text-align:center}.modal-empty p,.modal-loading p{margin:0;font-size:var(--font-size-sm)}.quiz-question{padding:0 0 var(--space-4);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.quiz-question-prompt{display:flex;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-3);font-size:var(--font-size-md);font-weight:650;line-height:1.45}.quiz-question-number{flex:0 0 auto}.quiz-question-content{min-width:0;flex:1 1}.quiz-option-explanation>:first-child,.quiz-question-content>:first-child{margin-top:0}.quiz-option-explanation>:last-child,.quiz-question-content>:last-child{margin-bottom:0}.quiz-option-explanation pre,.quiz-question-content pre{margin:var(--space-3) 0;padding:var(--space-3);overflow-x:auto;border-radius:var(--radius);background:#20211f;color:#f7f5ef;font-size:var(--font-size-xs);line-height:1.55}.quiz-option-explanation code:not(pre code),.quiz-question-content code:not(pre code){padding:.12em .35em;border-radius:var(--radius-sm);background:var(--color-surface-raised)}.quiz-option-row{margin-top:var(--space-2)}.quiz-option{display:flex;align-items:flex-start;gap:var(--space-3);min-height:3rem;padding:.8rem var(--space-4);margin-bottom:0;border:1px solid var(--color-border);border-radius:var(--radius);font-size:var(--font-size-sm);line-height:1.45;cursor:pointer}.quiz-option[data-state=selected]{border-color:var(--color-accent);background:var(--color-accent-soft)}.quiz-option[data-state=correct]{border-color:var(--color-success);background:var(--color-success-soft)}.quiz-option[data-state=incorrect]{border-color:var(--color-danger)}.quiz-option input{width:1.1rem;height:1.1rem;flex:0 0 auto;margin:.15rem 0 0;accent-color:var(--color-accent)}.quiz-option-explanation{margin:var(--space-2) 0 0 var(--space-6);padding:var(--space-3);border-left:.2rem solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-sm)}.quiz-option-explanation[data-state=correct]{border-color:var(--color-success)}.quiz-option-explanation[data-state=incorrect]{border-color:var(--color-danger)}.quiz-option-explanation strong{display:block;margin-bottom:var(--space-1);color:var(--color-text)}.modal-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-5)}.glossary-list{display:grid}.glossary-term{padding:var(--space-4) 0;border-bottom:1px solid var(--color-border)}.glossary-term:first-child{border-top:1px solid var(--color-border)}.glossary-term strong{color:var(--color-accent);font-family:var(--font-editorial),Georgia,serif;font-size:var(--font-size-lg);font-weight:500}.glossary-term p{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6}.ai-process-state{display:grid;grid-gap:var(--space-2);gap:var(--space-2);margin-top:var(--space-5);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-raised);color:var(--color-accent);font-size:var(--font-size-sm)}.ai-process-state>div{display:flex;align-items:center;gap:var(--space-2)}.ai-process-review{display:flex;align-items:center;color:var(--color-warning)}.ai-search-queries{color:var(--color-text-muted);font-size:var(--font-size-xs)}.ai-search-queries span{display:inline-block;margin:.15rem;padding:.15rem .4rem;border-radius:999px;background:var(--color-surface)}.lesson-empty-state{display:grid;min-height:24rem;place-items:center;align-content:center;padding:var(--space-8);color:var(--color-text-muted);text-align:center}.lesson-empty-state .btn{margin-top:var(--space-4)}.lesson-generating-state{display:flex;align-items:center;gap:var(--space-2);color:var(--color-accent)}.course-overview-panel{width:min(100%,62rem);min-height:100%;margin:0 auto;padding:clamp(2rem,5vw,5rem);container-type:inline-size}.course-overview-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(20rem,1.1fr);grid-gap:clamp(2rem,6vw,6rem);gap:clamp(2rem,6vw,6rem);align-items:start}.course-overview-copy,.course-overview-sources{min-width:0}.course-overview-copy h2{margin:var(--space-3) 0;font-family:var(--font-editorial);font-size:clamp(2.75rem,6cqi,4.5rem);font-weight:500;-webkit-hyphens:auto;hyphens:auto;letter-spacing:-.055em;line-height:.98;overflow-wrap:break-word;text-wrap:balance}.course-overview-copy>p{color:var(--color-text-muted);line-height:var(--line-reading)}.course-overview-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--space-3);gap:var(--space-3);margin:var(--space-8) 0}.course-overview-facts span,.course-overview-facts strong{display:block}.course-overview-facts span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.course-overview-facts strong{color:var(--color-text);font-family:var(--font-editorial);font-size:var(--font-size-xl);font-weight:500}.course-overview-guidance{padding-top:var(--space-5);border-top:1px solid var(--color-border);font-size:var(--font-size-sm)}@container (max-width: 52rem){.course-overview-grid{grid-template-columns:minmax(0,1fr)}}.lesson-sources{margin-top:var(--space-10);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.lesson-sources-heading{display:flex;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-3)}.lesson-sources-heading span{font-family:var(--font-editorial);font-size:var(--font-size-lg);font-weight:600}.lesson-sources-heading small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.lesson-source-list{display:grid}.lesson-source-item{display:grid;grid-template-columns:1.5rem minmax(0,1fr) auto;grid-gap:var(--space-3);gap:var(--space-3);align-items:center;min-height:3.75rem;padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);color:var(--color-text);text-decoration:none}.lesson-source-item:hover{color:var(--color-accent)}.lesson-source-index{display:grid;width:1.4rem;height:1.4rem;place-items:center;border:1px solid var(--color-border-strong);border-radius:50%;color:var(--color-text-muted);font-size:var(--font-size-xs)}.course-chat{position:relative;display:flex;min-width:0;min-height:0;flex-direction:column;overflow:hidden;border-left:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-md);animation:tutorIn var(--duration-base) var(--ease-standard)}@keyframes tutorIn{0%{transform:translateX(1rem);opacity:0}to{transform:translateX(0);opacity:1}}.tutor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-5);border-bottom:1px solid var(--color-border)}.tutor-header strong{display:block;margin-top:var(--space-1);font-family:var(--font-editorial);font-size:var(--font-size-lg);font-weight:600}.tutor-thread{display:flex;min-height:0;flex:1 1;flex-direction:column;gap:var(--space-3);padding:var(--space-5);overflow-y:auto}.tutor-message{min-width:0;max-width:88%;padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--color-surface-raised);font-size:var(--font-size-sm);line-height:1.55;overflow-wrap:anywhere}.tutor-message[data-role=user]{align-self:flex-end;background:var(--color-accent-soft)}.tutor-message[data-role=assistant]:has(.katex-display),.tutor-message[data-role=assistant]:has(.tutor-table-wrap),.tutor-message[data-role=assistant]:has(pre){width:100%;max-width:100%}.tutor-message :where(p,ul,ol){margin:0 0 var(--space-2)}.tutor-message :last-child{margin-bottom:0}.tutor-message pre,.tutor-table-wrap{max-width:100%;overflow-x:auto}.tutor-table-wrap{width:100%;margin:var(--space-3) 0;overscroll-behavior-inline:contain}.tutor-table-wrap:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.tutor-table-wrap table{width:max-content;min-width:100%;border:1px solid var(--color-border);border-collapse:collapse;font-size:var(--font-size-sm);line-height:1.45}.tutor-table-wrap thead{background:var(--color-surface)}.tutor-table-wrap td,.tutor-table-wrap th{min-width:8rem;padding:var(--space-2) var(--space-3);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);text-align:start;vertical-align:top}.tutor-table-wrap th{font-weight:650}.tutor-thinking{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-xs)}.tutor-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;grid-gap:var(--space-2);gap:var(--space-2);padding:var(--space-4);border-top:1px solid var(--color-border)}.tutor-composer textarea{min-height:3rem;max-height:10rem;resize:vertical}.lesson-completion{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.lesson-completion span,.lesson-completion strong,.quiz-result span,.quiz-result strong{display:block}.lesson-completion span,.quiz-result span{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-sm)}.lesson-completion-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.quiz-result{color:var(--color-success);font-size:var(--font-size-sm)}.eyebrow{display:inline-block;color:var(--color-text-subtle);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.11em;text-transform:uppercase}.learning-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr);grid-gap:clamp(2rem,6vw,6rem);gap:clamp(2rem,6vw,6rem);align-items:center;min-height:26rem;padding:clamp(2rem,6vw,5.5rem);overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:radial-gradient(circle at 88% 12%,color-mix(in srgb,var(--color-accent-soft) 76%,transparent) 0,transparent 34%),var(--color-surface);box-shadow:var(--shadow-sm)}.learning-hero:after{position:absolute;right:-5rem;bottom:-8rem;width:19rem;height:19rem;border:1px solid var(--color-border);border-radius:50%;content:"";opacity:.55}.continue-card,.learning-hero-copy{position:relative;z-index:1}.learning-hero-copy h1{max-width:14ch;margin:var(--space-3) 0 var(--space-4);font-size:clamp(2.3rem,5vw,4.8rem);font-weight:600;letter-spacing:-.06em;line-height:.98}.learning-hero-copy>p{max-width:34rem;margin:0;color:var(--color-text-muted);font-size:var(--font-size-lg)}.learning-hero-actions{display:flex;gap:var(--space-3);margin-top:var(--space-6)}.continue-card{padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-surface) 88%,transparent);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.continue-card h2{margin:var(--space-3) 0 var(--space-2);font-size:var(--font-size-xl);letter-spacing:-.03em}.continue-card p,.home-plan-card p{margin:0 0 var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-sm)}.continue-link{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-5);font-size:var(--font-size-sm);font-weight:700;text-decoration:none}.home-section{padding:var(--space-8) 0 var(--space-4)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.section-heading h2{margin:var(--space-1) 0 0;font-size:var(--font-size-xl);letter-spacing:-.03em}.count-pill,.mastery-badge{display:inline-flex;min-height:1.75rem;align-items:center;padding:0 var(--space-2);border-radius:999px;background:var(--color-surface-raised);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:700}.review-list{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.review-item{display:flex;min-height:4.5rem;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);text-decoration:none;transition:border-color var(--transition),transform var(--transition)}.review-item:hover{border-color:var(--color-border-strong);color:var(--color-text);transform:translateX(2px)}.review-item span,.review-item strong{display:block}.review-item div>span{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-sm)}.mastery-mastered,.mastery-proficient{background:var(--color-success-soft);color:var(--color-success)}.mastery-developing,.mastery-needs_review{background:var(--color-warning-soft);color:var(--color-warning)}.home-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.home-plan-card{min-width:0;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);text-decoration:none;transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.home-plan-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);color:var(--color-text);transform:translateY(-2px)}.home-plan-card h3{min-height:2.8em;margin:var(--space-2) 0;overflow:hidden;font-size:var(--font-size-lg);letter-spacing:-.025em}.home-dashboard{display:grid;width:min(100%,68rem);margin:0 auto;grid-gap:clamp(2rem,4vw,3.5rem);gap:clamp(2rem,4vw,3.5rem)}.dashboard-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-6);padding:clamp(1rem,3vw,2.25rem) 0 0}.dashboard-header h1{margin:var(--space-2) 0 var(--space-2);font-family:var(--font-editorial),Georgia,serif;font-size:clamp(3.25rem,7vw,5.75rem);font-weight:400;letter-spacing:-.055em;line-height:.92}.dashboard-header p{max-width:34rem;margin:0;color:var(--color-text-muted);font-size:var(--font-size-md)}.dashboard-section{min-width:0}.dashboard-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.dashboard-section-heading h2{margin:var(--space-1) 0 0;font-family:var(--font-editorial),Georgia,serif;font-size:clamp(1.9rem,3vw,2.45rem);font-weight:500;letter-spacing:-.035em;line-height:1}.text-link{flex:0 0 auto;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:650;text-underline-offset:.25rem}.text-link:hover{color:var(--color-accent)}.dashboard-continue-card,.dashboard-first-course{display:grid;grid-template-columns:6.5rem minmax(0,1fr) auto;align-items:center;grid-gap:clamp(1.25rem,3vw,2.25rem);gap:clamp(1.25rem,3vw,2.25rem);min-height:9rem;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:0 1px 0 color-mix(in srgb,var(--color-text) 4%,transparent)}.dashboard-first-course{grid-template-columns:minmax(0,1fr) auto;background:color-mix(in srgb,var(--color-accent-soft) 26%,var(--color-surface))}.dashboard-first-course h3,.dashboard-first-course p{margin:0}.dashboard-first-course h3{font-family:var(--font-editorial),Georgia,serif;font-size:var(--font-size-xl);font-weight:500}.dashboard-first-course p{margin-top:var(--space-2);color:var(--color-text-muted)}.course-cover{position:relative;display:grid;width:6.5rem;height:6.5rem;place-items:center;overflow:hidden;border-radius:calc(var(--radius) + .125rem);background:#596a4c}.course-cover:before{position:absolute;inset:0;background:linear-gradient(140deg,rgb(255 255 255/8%),transparent 55%);content:""}.course-cover span{position:absolute;width:3.5rem;height:4.5rem;border:1px solid rgb(248 242 229/65%);border-radius:50% 50% 44% 44%;transform:rotate(35deg)}.course-cover span:nth-child(2){transform:rotate(95deg) scale(.72)}.course-cover span:nth-child(3){transform:rotate(155deg) scale(.48)}.dashboard-continue-copy{min-width:0}.dashboard-continue-copy>span{display:block;margin-bottom:var(--space-1);color:var(--color-text-subtle);font-size:var(--font-size-xs);font-weight:650;text-transform:capitalize}.dashboard-continue-copy h3{margin:0 0 var(--space-4);overflow:hidden;font-family:var(--font-editorial),Georgia,serif;font-size:clamp(1.65rem,3vw,2.35rem);font-weight:500;letter-spacing:-.035em;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.dashboard-weekly-goal{display:grid;grid-template-columns:minmax(18rem,.85fr) minmax(16rem,1.15fr);align-items:center;grid-gap:clamp(2rem,6vw,5rem);gap:clamp(2rem,6vw,5rem);padding:var(--space-5) 0;border-block:1px solid var(--color-border)}.dashboard-weekly-heading{display:grid;grid-template-columns:2.75rem minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-3);gap:var(--space-3)}.goal-mark{display:grid;width:2.75rem;height:2.75rem;place-items:center;border-radius:50%;background:var(--color-accent-soft);color:var(--color-accent);font-family:var(--font-editorial),Georgia,serif;font-size:1.35rem}.dashboard-weekly-goal.is-complete .goal-mark{background:var(--color-success-soft);color:var(--color-success)}.dashboard-weekly-heading h2{margin:0;font-family:var(--font-editorial),Georgia,serif;font-size:1.4rem;font-weight:500;letter-spacing:-.025em}.dashboard-weekly-heading strong{color:var(--color-text);font-size:var(--font-size-lg);white-space:nowrap}.dashboard-weekly-heading strong span{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:500}.dashboard-weekly-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-4);gap:var(--space-4)}.dashboard-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:clamp(2.5rem,6vw,5rem);gap:clamp(2.5rem,6vw,5rem);padding-bottom:var(--space-8)}.dashboard-list{border-top:1px solid var(--color-border)}.dashboard-course-row,.dashboard-list-row{display:grid;grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-3);gap:var(--space-3);min-height:4.75rem;padding:var(--space-3) var(--space-2);border-bottom:1px solid var(--color-border);color:var(--color-text);text-decoration:none;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.dashboard-course-row:hover,.dashboard-list-row:hover{background:color-mix(in srgb,var(--color-surface) 55%,transparent);color:var(--color-accent)}.dashboard-row-index{color:var(--color-text-subtle);font-family:var(--font-editorial),Georgia,serif;font-size:var(--font-size-sm);font-style:italic}.dashboard-row-copy{min-width:0}.dashboard-row-copy small,.dashboard-row-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-row-copy strong{font-size:var(--font-size-sm);font-weight:650}.dashboard-row-copy small{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-xs)}.mastery-dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--color-warning)}.mastery-dot.mastery-mastered,.mastery-dot.mastery-proficient{background:var(--color-success)}.dashboard-course-row{grid-template-columns:2.75rem minmax(0,1fr) auto}.dashboard-course-monogram{display:grid;width:2.75rem;height:2.75rem;place-items:center;border-radius:var(--radius);background:#e8e1d3;color:#704b3e;font-family:var(--font-editorial),Georgia,serif;font-size:var(--font-size-lg);text-transform:uppercase}.dashboard-course-row:nth-child(3n+2) .dashboard-course-monogram{background:#dce3d4;color:#435440}.dashboard-course-row:nth-child(3n) .dashboard-course-monogram{background:#eadbd4;color:#784c3e}.dashboard-row-arrow{color:var(--color-text-subtle);font-size:var(--font-size-lg)}.dashboard-caught-up{display:flex;min-height:7rem;align-items:center;gap:var(--space-4);padding:var(--space-4) 0;border-block:1px solid var(--color-border)}.dashboard-caught-up>span{display:grid;width:2.5rem;height:2.5rem;flex:0 0 auto;place-items:center;border:1px solid color-mix(in srgb,var(--color-success) 30%,transparent);border-radius:50%;color:var(--color-success)}.dashboard-caught-up small,.dashboard-caught-up strong{display:block}.dashboard-caught-up small,.dashboard-empty-note{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-sm)}.dashboard-empty-note{padding:var(--space-5) 0;border-block:1px solid var(--color-border)}.create-course-shell{width:min(100%,64rem);margin:0 auto;padding:clamp(1rem,4vw,3rem) 0}.create-course-heading{max-width:44rem;margin-bottom:var(--space-8)}.create-course-heading h1{margin:var(--space-2) 0;font-family:var(--font-editorial),Georgia,serif;font-size:clamp(3.5rem,8vw,6.5rem);font-weight:400;letter-spacing:-.055em;line-height:.92}.create-course-heading p{margin:0;color:var(--color-text-muted)}.create-course-layout{display:grid;grid-template-columns:10rem minmax(0,1fr);grid-gap:clamp(2rem,6vw,5rem);gap:clamp(2rem,6vw,5rem);align-items:start}.create-stepper{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.create-step{display:flex;min-height:var(--control-height);align-items:center;gap:var(--space-2);padding:var(--space-2);border:0;border-radius:0;background:transparent;color:var(--color-text-subtle);cursor:default;font-size:var(--font-size-sm);font-weight:600;text-align:left}.create-step[data-complete=true]{cursor:pointer}.create-step:disabled{opacity:1}.create-step[data-active=true]{background:transparent;color:var(--color-text)}.create-step>span{display:grid;width:1.625rem;height:1.625rem;place-items:center;border:1px solid var(--color-border-strong);border-radius:50%;font-size:var(--font-size-xs)}.create-step[data-active=true]>span,.create-step[data-complete=true]>span{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent)}.create-course-card{min-height:27rem;padding:clamp(1.5rem,4vw,3rem) 0;border-block:1px solid var(--color-border)}.create-step-panel .field-grid label,.create-step-panel>label{font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase}.create-step-panel textarea{min-height:9rem;padding:var(--space-4) 0;border:0;border-bottom:1px solid var(--color-border-strong);border-radius:0;background:transparent;font-family:var(--font-editorial),Georgia,serif;resize:vertical;font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.35}.create-step-panel textarea:focus{border-bottom-color:var(--color-accent);box-shadow:none}.prompt-examples{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.prompt-examples button{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-xs)}.prompt-examples button:hover{border-color:var(--color-accent);color:var(--color-text)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.number-field{display:flex;align-items:center;gap:var(--space-2)}.number-field span{color:var(--color-text-muted);font-size:var(--font-size-sm)}.course-summary{margin-top:var(--space-6);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-raised)}.course-summary p,.course-summary strong{display:block;margin:var(--space-2) 0 0}.course-summary p{color:var(--color-text-muted);font-size:var(--font-size-sm)}.create-course-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-8)}.creation-state{display:grid;max-width:30rem;min-height:22rem;align-content:center;margin:0 auto;text-align:center}.creation-state h2{margin:var(--space-3) 0 var(--space-2)}.creation-state p{margin:0 0 var(--space-5);color:var(--color-text-muted);font-size:var(--font-size-sm)}.creation-state .creation-note{margin:var(--space-4) 0 0;color:var(--color-text-subtle);font-size:var(--font-size-xs)}.creation-orbit{position:relative;width:4.25rem;height:4.25rem;margin:0 auto var(--space-5);border:1px solid var(--color-border-strong);border-radius:50%;animation:orbit 2.4s linear infinite}.creation-orbit span{position:absolute;top:-.35rem;left:calc(50% - .35rem);width:.7rem;height:.7rem;border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 .3rem var(--color-accent-soft)}@keyframes orbit{to{transform:rotate(1turn)}}.tutor-suggestions{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2) 0}.tutor-suggestions button{padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-xs);text-align:left}.tutor-suggestions button:hover{border-color:var(--color-accent);color:var(--color-text)}.source-details{display:block;min-width:0}.source-details span,.source-details strong{display:block}.source-details strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-details span{display:-webkit-box;margin-top:var(--space-1);overflow:hidden;color:var(--color-text-muted);font-size:var(--font-size-xs);-webkit-box-orient:vertical;-webkit-line-clamp:2}.course-milestone{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid color-mix(in srgb,var(--color-success) 35%,var(--color-border));border-radius:var(--radius);background:var(--color-success-soft);color:var(--color-text)}.course-milestone span,.course-milestone strong{display:block}.course-milestone strong{margin-top:var(--space-1)}.course-milestone>span{color:var(--color-text-muted);font-size:var(--font-size-sm)}.user-sources{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.user-source-actions,.user-source-item,.user-source-main,.user-sources-error,.user-sources-heading{display:flex;align-items:center}.user-source-item,.user-sources-heading{justify-content:space-between}.user-sources-heading h3{margin:var(--space-1) 0 0;font-size:var(--font-size-lg)}.user-sources-description{margin:calc(var(--space-2) * -1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.user-sources-error{justify-content:space-between;gap:var(--space-3)}.source-dropzone{width:100%;min-height:6.5rem;padding:var(--space-4);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface-raised);color:var(--color-text);font:inherit;cursor:pointer;transition:border-color var(--transition),background var(--transition)}.source-dropzone:hover,.source-dropzone[data-drag-over=true]{border-color:var(--color-accent);background:var(--color-accent-soft)}.source-dropzone-content{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--space-1)}.source-dropzone-content>span{color:var(--color-text-muted);font-size:var(--font-size-sm)}.source-url-form{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:var(--space-2);gap:var(--space-2)}.source-empty-state{padding:var(--space-4);border-radius:var(--radius);background:var(--color-surface-raised);color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center}.user-source-list{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.user-source-item{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.user-source-item,.user-source-main{gap:var(--space-3);min-width:0}.source-type{display:inline-grid;min-width:2.75rem;min-height:2rem;place-items:center;padding:0 var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface-raised);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:800;letter-spacing:.06em}.user-source-copy{min-width:0}.source-index-status,.user-source-copy strong{display:block}.user-source-copy strong{overflow:hidden;font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap}.source-index-status{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-xs)}.source-index-ready{color:var(--color-success)}.source-index-failed{color:var(--color-danger)}.user-source-actions{gap:var(--space-1);flex-shrink:0}@keyframes spin{to{transform:rotate(1turn)}}.weekly-goal-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,.8fr);grid-gap:var(--space-8);gap:var(--space-8);align-items:center;padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-sm)}.settings-section h2,.weekly-goal-card h2{margin:var(--space-2) 0 var(--space-2);color:var(--color-text);font-size:var(--font-size-xl);letter-spacing:-.02em}.settings-section p,.weekly-goal-card p{color:var(--color-text-muted)}.weekly-goal-complete{border-color:color-mix(in srgb,var(--color-success) 35%,var(--color-border));background:linear-gradient(135deg,color-mix(in srgb,var(--color-success) 9%,var(--color-surface)),var(--color-surface))}.weekly-goal-progress{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.weekly-goal-progress .continue-link{justify-self:end}.settings-page{display:grid;width:min(100%,68rem);margin:0 auto;grid-gap:0;gap:0;padding:clamp(1rem,3vw,2.25rem) 0 var(--space-10)}.settings-header{padding-bottom:clamp(2.5rem,6vw,5rem)}.settings-header h1{margin:var(--space-2) 0;font-family:var(--font-editorial),Georgia,serif;font-size:clamp(3.5rem,8vw,6.5rem);font-weight:400;letter-spacing:-.055em;line-height:.92}.settings-header p{margin:0;color:var(--color-text-muted)}.settings-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,.7fr);grid-gap:clamp(2rem,6vw,5rem);gap:clamp(2rem,6vw,5rem);align-items:center;padding:var(--space-8) 0;border-top:1px solid var(--color-border);scroll-margin-top:5rem}.settings-section-copy{display:grid;grid-template-columns:2rem minmax(0,1fr);grid-gap:var(--space-4);gap:var(--space-4)}.settings-index{color:var(--color-text-subtle);font-size:var(--font-size-sm);font-style:italic}.settings-index,.settings-section h2{font-family:var(--font-editorial),Georgia,serif}.settings-section h2{margin-top:var(--space-1);font-size:clamp(1.75rem,3vw,2.35rem);font-weight:500}.weekly-goal-setting{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.weekly-goal-input{display:grid;grid-template-columns:auto minmax(5rem,1fr) auto;grid-gap:var(--space-2);gap:var(--space-2);align-items:center}.weekly-goal-input input{min-width:0;text-align:center}.weekly-goal-input .btn{min-width:2.75rem;padding-inline:var(--space-3);font-size:var(--font-size-lg)}.theme-selector{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.theme-option,.theme-selector{display:grid;grid-gap:var(--space-2)}.theme-option{min-height:5rem;place-items:center;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:calc(var(--radius) + .125rem);background:transparent;color:var(--color-text-muted);font:inherit;font-size:var(--font-size-sm);font-weight:600;cursor:pointer}.theme-option:hover,.theme-option[aria-pressed=true]{border-color:var(--color-accent);color:var(--color-text)}.theme-option[aria-pressed=true]{background:color-mix(in srgb,var(--color-accent-soft) 55%,transparent)}.theme-swatch{width:2rem;height:1.5rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm)}.theme-swatch-system{background:linear-gradient(90deg,#fffdf8 50%,#1d1d1a 0)}.theme-swatch-light{background:#fffdf8}.theme-swatch-dark{background:#1d1d1a}.advanced-settings{border-block:1px solid var(--color-border);background:transparent}.advanced-settings>summary{display:grid;grid-template-columns:2rem minmax(0,1fr);grid-gap:var(--space-4);gap:var(--space-4);min-height:8rem;align-items:center;padding:var(--space-6) 0;cursor:pointer}.advanced-settings>summary small,.advanced-settings>summary strong,.advanced-settings>summary>span{display:block}.advanced-settings>summary strong{margin-top:var(--space-1);color:var(--color-text);font-family:var(--font-editorial),Georgia,serif;font-size:clamp(1.75rem,3vw,2.35rem);font-weight:500;letter-spacing:-.025em}.advanced-settings>summary small{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-sm)}.advanced-settings[open]>summary{border-bottom:1px solid var(--color-border)}.advanced-settings-content{display:grid;padding:0 0 0 calc(2rem + var(--space-4))}.settings-advanced-section{padding:var(--space-8) 0;border-bottom:1px solid var(--color-border)}.settings-advanced-section:last-child{border-bottom:0}.advanced-section-heading{max-width:42rem;margin-bottom:var(--space-6)}.advanced-section-heading h3{margin:0;font-family:var(--font-editorial),Georgia,serif;font-size:clamp(1.65rem,3vw,2.1rem);font-weight:500;letter-spacing:-.025em}.advanced-section-heading p{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.settings-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-5);gap:var(--space-5)}.settings-field{position:relative;min-width:0}.settings-field-wide{grid-column:1/-1}.settings-field label,.settings-field small{display:block}.settings-field small{margin-top:var(--space-2);color:var(--color-text-subtle);line-height:1.45}.settings-field select{width:100%}.settings-inline-action{margin-top:var(--space-2);padding:0;border:0;background:transparent;color:var(--color-danger);font:inherit;font-size:var(--font-size-xs);font-weight:700;text-decoration:underline;text-underline-offset:.2rem;cursor:pointer}.settings-save{margin-top:var(--space-6)}.settings-save-feedback{display:grid;grid-gap:var(--space-2);gap:var(--space-2);margin-top:var(--space-3)}.settings-save-feedback .feedback{margin:0}.settings-toggle{display:flex;align-items:flex-start;gap:var(--space-3);margin:var(--space-5) 0;padding:var(--space-4) 0;border-block:1px solid var(--color-border);cursor:pointer}.settings-toggle input{width:1.1rem;height:1.1rem;margin-top:.15rem;accent-color:var(--color-accent)}.settings-toggle small,.settings-toggle strong{display:block}.settings-toggle small{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-xs)}.settings-range{width:100%;accent-color:var(--color-accent)}.range-labels{display:flex;justify-content:space-between}.prompt-settings-list{border-top:1px solid var(--color-border)}.prompt-setting{padding:var(--space-4) 0;border-bottom:1px solid var(--color-border)}.prompt-setting-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.prompt-setting-heading small,.prompt-setting-heading strong{display:block}.prompt-setting-heading small{max-width:42rem;margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-xs)}.prompt-setting-heading em{display:inline-block;margin-top:var(--space-2);color:var(--color-accent);font-size:var(--font-size-xs)}.prompt-setting-actions{display:flex;flex:0 0 auto;gap:var(--space-1)}.prompt-setting-actions .btn{min-height:2rem;padding-inline:var(--space-2);font-size:var(--font-size-xs)}.prompt-editor{margin-top:var(--space-4)}.prompt-editor textarea{width:100%;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--font-size-xs);line-height:1.6}.prompt-editor>span{display:flex;justify-content:space-between;margin-top:var(--space-1);color:var(--color-text-subtle)}.settings-about{padding:var(--space-8) 0 0 calc(2rem + var(--space-4))}.settings-about p{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}@keyframes fadeIn{0%{opacity:0;transform:translateY(.25rem)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--duration-slow) var(--ease-standard)}.transition-fast{transition-duration:var(--duration-fast)}.transition-base{transition-duration:var(--duration-base)}.transition-slow{transition-duration:var(--duration-slow)}@media (max-width:64rem){.auth-layout{grid-template-columns:1fr}.auth-story{min-height:18rem}.auth-quote{max-width:18ch;font-size:clamp(2.5rem,7vw,4rem)}.auth-story>small{display:none}.app-shell{display:block}.mobile-app-header{position:-webkit-sticky;position:sticky;top:0;z-index:45;display:flex;min-height:3.75rem;align-items:center;justify-content:space-between;padding:0 var(--space-4);border-bottom:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 94%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-sidebar{position:fixed;left:0;width:min(19rem,calc(100vw - 3rem));box-shadow:var(--shadow-md);transform:translateX(-105%);transition:transform var(--duration-base) var(--ease-standard)}.sidebar-collapse{display:none}.app-sidebar[data-open=true]{transform:translateX(0)}.sidebar-close{display:inline-flex}.sidebar-scrim{position:fixed;inset:0;z-index:49;display:block;width:100%;height:100%;padding:0;border:0;background:var(--color-overlay);cursor:default}.portal-main{min-height:calc(100vh - 3.75rem);padding:var(--space-6) var(--space-5) var(--space-10)}}@media (max-width:48rem){input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{font-size:var(--font-size-md)}.modal-scrim{align-items:flex-start;padding:var(--space-3)}.course-modal-quiz{max-height:calc(100dvh - var(--space-6));padding:var(--space-4)}.course-modal-quiz .course-modal-header h2{font-size:clamp(1.5rem,7vw,1.9rem)}.quiz-question-prompt{font-size:var(--font-size-sm)}.quiz-option{min-height:2.75rem;padding:.7rem var(--space-3)}.public-shell{padding:0}.auth-layout{min-height:100vh;min-height:100dvh;border:0;border-radius:0}.auth-story{min-height:13rem;padding:var(--space-5)}.auth-quote{max-width:16ch;font-size:2.15rem}.auth-form-panel{padding:var(--space-8) var(--space-5)}.auth-heading h1{font-size:clamp(2.5rem,13vw,3rem)}.portal-main{padding:var(--space-5) var(--space-4) var(--space-8)}.page-header{align-items:stretch;flex-direction:column}.editorial-page-header{align-items:flex-start;flex-direction:column;gap:var(--space-5)}.editorial-page-header h1{font-size:clamp(3rem,17vw,4.75rem)}.review-summary{justify-items:start}.review-queue-item{grid-template-columns:2rem minmax(0,1fr) auto;gap:var(--space-3)}.review-queue-evidence{grid-column:2/-1;text-align:left}.review-arrow{grid-row:1;grid-column:3}.source-library-stats{flex-wrap:wrap}.source-course-row{grid-template-columns:3rem minmax(0,1fr)}.course-monogram{width:3rem;height:3rem}.source-course-row>.btn{grid-column:2;justify-self:start}.plan-card{grid-template-columns:3.75rem minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding-inline:0}.plan-card-meta{overflow:visible;white-space:normal}.plan-card-cover{width:3.75rem;height:3.75rem;font-size:var(--font-size-xl)}.plan-card-actions{grid-row:2;grid-column:2/-1;justify-content:flex-end}.plan-card-arrow{grid-row:1;grid-column:3}.course-progress-grid{grid-template-columns:1fr}.lesson-completion,.lesson-completion-actions{align-items:stretch;flex-direction:column}.learning-hero{grid-template-columns:1fr;min-height:0;padding:var(--space-8) var(--space-5)}.learning-hero-copy h1{font-size:clamp(2.2rem,12vw,3.6rem)}.create-course-actions,.field-grid,.learning-hero-actions{align-items:stretch;flex-direction:column}.field-grid,.home-plan-grid{grid-template-columns:1fr}.review-item{align-items:flex-start;flex-direction:column}.settings-section,.weekly-goal-card{grid-template-columns:1fr;gap:var(--space-5)}.advanced-settings>summary,.settings-section-copy{grid-template-columns:1.5rem minmax(0,1fr);gap:var(--space-3)}.advanced-settings-content,.settings-about{-webkit-padding-start:0;padding-inline-start:0}.settings-field-grid{grid-template-columns:1fr}.settings-field-wide{grid-column:auto}.course-milestone,.prompt-setting-heading,.user-source-item{align-items:flex-start;flex-direction:column}.user-source-actions{width:100%;justify-content:flex-end}.source-url-form{grid-template-columns:1fr}.weekly-goal-progress .continue-link{justify-self:start}.create-course-layout{grid-template-columns:1fr;gap:var(--space-4)}.create-stepper{grid-template-columns:repeat(3,minmax(0,1fr))}.create-step{align-items:center;flex-direction:column;font-size:var(--font-size-xs);text-align:center}.create-course-card{min-height:0}.dashboard-header{align-items:flex-start;flex-direction:column}.dashboard-header h1{font-size:clamp(3.2rem,16vw,4.75rem)}.dashboard-continue-card{grid-template-columns:4.5rem minmax(0,1fr);padding:var(--space-4)}.course-cover{width:4.5rem;height:4.5rem}.course-cover span{width:2.6rem;height:3.25rem}.dashboard-continue-card>.btn{grid-column:1/-1;justify-self:stretch}.dashboard-columns,.dashboard-first-course,.dashboard-weekly-goal{grid-template-columns:1fr}.dashboard-first-course .btn{justify-self:start}.dashboard-weekly-goal{gap:var(--space-5)}.dashboard-weekly-heading{grid-template-columns:2.75rem minmax(0,1fr)}.dashboard-weekly-heading strong{grid-column:2}.dashboard-columns{gap:var(--space-10)}}.structure-editor-scrim{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:var(--space-4);background:rgb(18 20 18/58%);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.global-search-page{max-width:62rem;margin:0 auto}.global-search-box{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.global-search-box:focus-within{outline:2px solid var(--color-focus);outline-offset:2px}.global-search-box input{min-width:0;padding:0;border:0;outline:0;background:transparent;font-size:var(--font-size-lg)}.global-search-box>span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.global-search-results{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.global-search-result{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.search-result-actions,.search-result-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-xs)}.search-result-meta>span:first-child{padding:.15rem var(--space-2);border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent);font-weight:600;text-transform:uppercase}.global-search-result h2{margin:var(--space-3) 0 var(--space-2);font-family:var(--font-editorial);font-size:var(--font-size-xl)}.global-search-result h2 a,.search-result-actions a{color:inherit}.global-search-result p{display:-webkit-box;margin:0 0 var(--space-3);overflow:hidden;color:var(--color-text-muted);-webkit-box-orient:vertical;-webkit-line-clamp:3}.global-search-result mark{padding:0 .1em;background:var(--color-warning-soft);color:inherit}.search-empty{display:grid;justify-items:center;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-12);color:var(--color-text-muted);text-align:center}.search-empty>span{font-size:3rem}.history-list{display:grid;grid-gap:var(--space-3);gap:var(--space-3);max-height:65vh;overflow:auto}.history-version{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-raised)}.history-version>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.history-version>header div{display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.history-version>header span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.history-version pre{max-height:12rem;margin:var(--space-3) 0 0;padding:var(--space-3);overflow:auto;border-radius:var(--radius-sm);background:var(--color-surface);font-family:var(--font-sans);font-size:var(--font-size-xs);line-height:var(--line-ui);white-space:pre-wrap}.history-empty{padding:var(--space-8);color:var(--color-text-muted);text-align:center}.structure-editor{display:flex;flex-direction:column;gap:var(--space-4);width:min(58rem,100%);max-height:min(52rem,calc(100dvh - 2rem));padding:var(--space-6);overflow:auto;overscroll-behavior:contain;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg)}.structure-editor-footer,.structure-editor-header,.structure-module-toolbar,.structure-topic-row{display:flex;align-items:center}.structure-editor-header{align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.structure-editor-header h2{margin:var(--space-1) 0}.structure-editor-footer>span,.structure-editor-header p{color:var(--color-text-muted);font-size:var(--font-size-sm)}.structure-module-list{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.structure-module-card{display:grid;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised)}.structure-module-card>label{display:grid;grid-gap:var(--space-1);gap:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-xs)}.structure-module-card input,.structure-module-card textarea{width:100%}.structure-module-toolbar{gap:var(--space-2)}.structure-module-toolbar strong{flex:1 1}.structure-drag-handle{padding:var(--space-1);color:var(--color-text-muted);cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.structure-drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.structure-move-actions{display:flex;gap:var(--space-1)}.structure-move-actions button{display:grid;place-items:center;width:1.9rem;height:1.9rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text)}.structure-move-actions button:disabled{opacity:.35}.structure-topic-list{display:grid;grid-gap:var(--space-2);gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border)}.structure-topic-row{gap:var(--space-2)}.structure-topic-row>label{flex:1 1}.structure-topic-number{min-width:1.25rem;color:var(--color-text-muted);font-size:var(--font-size-xs);text-align:center}.structure-add-topic{justify-self:start;padding:var(--space-1) var(--space-2);border:0;background:transparent;color:var(--color-accent)}.structure-add-module{align-self:flex-start}.structure-editor-footer{position:-webkit-sticky;position:sticky;bottom:calc(var(--space-6) * -1);justify-content:space-between;gap:var(--space-4);margin:0 calc(var(--space-6) * -1) calc(var(--space-6) * -1);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);background:var(--color-surface)}.structure-editor-footer>div{display:flex;flex-shrink:0;gap:var(--space-2)}@media (max-width:40rem){.structure-editor-scrim{padding:0}.structure-editor{width:100%;height:100dvh;max-height:none;padding:var(--space-4);border-radius:0}.structure-topic-row{display:grid;grid-template-columns:auto auto minmax(0,1fr)}.structure-topic-row .structure-move-actions{grid-column:3;justify-self:end}.structure-editor-footer{align-items:stretch;flex-direction:column;margin:0 calc(var(--space-4) * -1) calc(var(--space-4) * -1);padding:var(--space-3) var(--space-4)}.structure-editor-footer>div .btn{flex:1 1}.confirm-dialog-actions{align-items:stretch;flex-direction:column-reverse}.confirm-dialog-actions .btn{width:100%}}@media (min-width:48.001rem) and (max-width:70rem){.home-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:56.001rem) and (max-width:75rem){.course-layout:has(.course-content-layout[data-chat-open=true]){grid-template-columns:14rem minmax(0,1fr)}.course-content-layout[data-chat-open=true]{grid-template-columns:minmax(0,1fr) 20rem}.course-content-layout[data-chat-open=true] .lesson-paper{padding-inline:clamp(2rem,3vw,3rem)}}@media (max-width:56rem){.portal-main:has(.course-workspace){height:calc(100vh - 3.75rem);height:calc(100dvh - 3.75rem)}.course-workspace-frame{height:100%}.course-header{min-height:4.5rem;padding:var(--space-2) var(--space-4)}.course-header h1{max-width:55vw;font-size:var(--font-size-lg)}.course-header-actions .btn:not(.icon-button){display:none}.course-progress-overview{padding:var(--space-2) var(--space-4)}.course-progress-overview>div:nth-child(2){display:none}.course-layout{grid-template-columns:1fr;grid-template-rows:minmax(9rem,15rem) minmax(0,1fr);overflow:hidden}.course-outline{max-height:none;border-right:0;border-bottom:1px solid var(--color-border)}.course-content-layout{min-height:0}.lesson-paper{padding:var(--space-8) var(--space-5);border-inline:0}.lesson-toolbar{top:var(--space-1);margin-inline:calc(var(--space-1) * -1)}.lesson-heading h2{font-size:clamp(2.5rem,12vw,3.5rem)}.course-overview-panel{padding:var(--space-8) var(--space-5)}.course-overview-grid{grid-template-columns:1fr}.course-overview-facts{margin:var(--space-5) 0}}@media (max-width:40rem){.lesson-toolbar-navigation,.lesson-toolbar-tools{flex:1 1 auto;justify-content:space-between}.lesson-toolbar-tools{-webkit-margin-start:auto;margin-inline-start:auto}.lesson-tool-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.lesson-toolbar-tool,.lesson-tutor-button{width:2.5rem;min-width:2.5rem;padding:0!important}.course-content-layout[data-chat-open=true]{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(12rem,1fr) minmax(14rem,42%)}.course-chat{border-top:1px solid var(--color-border);border-left:0}.tutor-header,.tutor-thread{padding:var(--space-3) var(--space-4)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.session-page{width:min(100%,58rem);margin:0 auto;display:grid;grid-gap:var(--space-6);gap:var(--space-6)}.session-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.session-focus-card h1,.session-focus-card h2,.session-header h1,.session-summary h1{margin:var(--space-1) 0 0}.session-stepper{display:grid;grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));grid-gap:var(--space-2);gap:var(--space-2);padding:0;margin:0;list-style:none}.session-stepper li{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted)}.session-stepper li>span{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);font-weight:700}.session-stepper li[data-state=active]{color:var(--color-text)}.session-stepper li[data-state=active]>span{color:var(--color-on-accent);background:var(--color-accent);border-color:var(--color-accent)}.session-stepper li[data-state=completed]>span,.session-stepper li[data-state=skipped]>span{color:var(--color-success);border-color:var(--color-success)}.session-focus-card,.session-summary{padding:clamp(var(--space-5),5vw,var(--space-10));border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.session-focus-card>p{color:var(--color-text-muted)}.session-module-title{font-weight:650}.session-lesson-content{max-width:74ch;margin:var(--space-6) auto}.session-answer{width:100%;margin:var(--space-4) 0;resize:vertical}.session-question-list{display:grid;grid-gap:var(--space-5);gap:var(--space-5);margin:var(--space-5) 0}.session-question{display:grid;grid-gap:var(--space-2);gap:var(--space-2);padding:0;border:0}.session-question legend{margin-bottom:var(--space-3);font-weight:700}.session-choice{display:flex;align-items:flex-start;gap:var(--space-3);min-height:2.75rem;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}.session-choice:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-soft)}.session-actions,.session-rating{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-5)}.session-rating .btn[aria-pressed=true]{border-color:var(--color-accent);color:var(--color-accent)}.session-question-result{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.session-question-result>div{padding:var(--space-3);border-left:3px solid var(--color-border);background:var(--color-surface-raised)}.session-question-result>div[data-state=correct]{border-left-color:var(--color-success)}.session-question-result>div[data-state=incorrect]{border-left-color:var(--color-danger)}.session-ai-feedback p,.session-question-result p{margin:var(--space-1) 0 0}.session-written-answer{margin:var(--space-4) 0;padding:var(--space-4);border-left:3px solid var(--color-accent);background:var(--color-surface-raised);white-space:pre-wrap}.session-result-feedback{display:grid;grid-gap:var(--space-3);gap:var(--space-3);margin:var(--space-5) 0}.session-practice-prompt{font-size:var(--font-size-lg);color:var(--color-text)!important}.session-summary{text-align:center}.session-summary-mark{display:grid;place-items:center;width:3.5rem;height:3.5rem;margin:0 auto var(--space-4);border-radius:999px;color:var(--color-on-accent);background:var(--color-success);font-size:1.5rem}.session-mastery-list{display:grid;grid-gap:var(--space-2);gap:var(--space-2);margin:var(--space-6) 0;text-align:left}.session-mastery-row{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.session-mastery-row>div{display:flex;justify-content:space-between;gap:var(--space-3)}.session-mastery-row small{color:var(--color-text-muted)}.session-pulse{width:.75rem;height:.75rem;border-radius:999px;background:var(--color-accent);animation:sessionPulse 1.4s ease-in-out infinite}@keyframes sessionPulse{50%{opacity:.35;transform:scale(.75)}}@media (max-width:48rem){.session-header{align-items:stretch;flex-direction:column}.session-stepper{display:flex;overflow-x:auto;padding-bottom:var(--space-2)}.session-stepper li{min-width:max-content}.session-focus-card,.session-summary{padding:var(--space-5)}.session-actions{align-items:stretch;flex-direction:column}.session-actions .btn{width:100%}}