*,:before,:after{box-sizing:border-box}.ai-provider-choice{width:min(42rem,100% - 2rem);max-height:calc(100dvh - 2rem);padding:var(--space-6);color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:auto}.ai-provider-choice::backdrop{background:color-mix(in srgb, var(--text-primary) 45%, transparent)}.ai-provider-choice h2{margin-block:0 var(--space-3)}.ai-provider-choice p{color:var(--text-secondary)}.ai-provider-choice__actions{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}:root{--color-dark:#141413;--color-light:#faf9f5;--color-mid-gray:#b0aea5;--color-light-gray:#e8e6dc;--accent-orange:#d97757;--accent-orange-hover:#c4674a;--accent-blue:#6a9bcc;--accent-blue-hover:#5a87b5;--accent-teal:#4a9fa5;--accent-teal-hover:#3a8a90;--accent-green:#788c5d;--accent-green-hover:#677a4f;--accent-purple:#9b7db8;--bg-color:var(--color-light);--bg-surface:#fff;--bg-surface-alt:var(--color-light-gray);--text-primary:var(--color-dark);--text-secondary:#6b6963;--text-muted:var(--color-mid-gray);--accent-primary:var(--accent-orange);--accent-primary-hover:var(--accent-orange-hover);--color-success:#788c5d;--color-success-light:#788c5d1a;--color-success-border:#788c5d4d;--color-warning:#d4a843;--color-warning-light:#d4a8431a;--color-warning-border:#d4a8434d;--color-danger:#c75450;--color-danger-light:#c754501a;--color-danger-border:#c754504d;--color-info:var(--accent-blue);--color-info-light:#6a9bcc1a;--color-info-border:#6a9bcc4d;--viz-1:var(--accent-orange);--viz-2:var(--accent-blue);--viz-3:var(--accent-green);--viz-4:#9b7db8;--viz-5:#d4a843;--viz-6:#5ba3a3;--font-heading:"Poppins", "Arial", sans-serif;--font-body:"Lora", "Georgia", serif;--font-mono:"Fira Code", "Consolas", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--line-height-tight:1.25;--line-height-normal:1.6;--line-height-relaxed:1.75;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2.5rem;--spacing-xl:4rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-round:50%;--border-light:1px solid var(--color-light-gray);--border-medium:1px solid var(--color-mid-gray);--shadow-sm:0 1px 2px #1414130d;--shadow-md:0 2px 8px #14141314;--shadow-lg:0 4px 16px #1414131a;--shadow-focus:0 0 0 3px #d977574d;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s ease;--content-max-width:52rem;--page-max-width:72rem;--lesson-padding:var(--spacing-md);--control-min-height:2.75rem}@media (width<=768px){:root{--spacing-xs:.375rem;--spacing-sm:.75rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2.5rem;--lesson-padding:var(--spacing-sm)}}collapsible-section,problem-generator,generator-mcq,find-the-error,stepped-problem{min-width:0;max-width:100%;display:block}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg-color);margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:var(--line-height-tight);color:var(--text-primary);margin-top:0}h1{font-size:var(--text-4xl);margin-bottom:var(--spacing-md)}h2{font-size:var(--text-3xl);margin-bottom:var(--spacing-sm)}h3{font-size:var(--text-2xl);margin-bottom:var(--spacing-sm)}h4{font-size:var(--text-xl);margin-bottom:var(--spacing-xs)}p{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm)}a{color:var(--accent-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--accent-primary-hover);text-decoration:underline}img{max-width:100%;height:auto}code{font-family:var(--font-mono);background-color:var(--bg-surface-alt);border-radius:var(--radius-sm);padding:.15em .4em;font-size:.9em}pre{font-family:var(--font-mono);font-size:var(--text-sm);background-color:var(--color-dark);color:var(--color-light);padding:var(--spacing-md);border-radius:var(--radius-md);overflow-x:auto}pre code{color:inherit;background:0 0;padding:0}table{border-collapse:collapse;width:100%;margin-bottom:var(--spacing-md);font-size:var(--text-sm)}.table-wrapper{overscroll-behavior-inline:contain;max-width:100%;overflow-x:auto}.table-wrapper:focus-visible{border-radius:var(--radius-sm);box-shadow:var(--shadow-focus);outline:none}.anscombe-table-wrapper table{min-width:42rem}th,td{padding:var(--spacing-xs) var(--spacing-sm);text-align:left;border-bottom:var(--border-light)}th{font-family:var(--font-heading);font-weight:600;font-size:var(--text-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.table-wrapper th{text-transform:none;letter-spacing:normal;font-style:normal}.boss-data-table{max-width:100%;overflow-x:auto}.boss-data-table table{min-width:42rem}.boss-data-table th,.boss-data-table td{overflow-wrap:normal;white-space:nowrap}hr.gradient{background:linear-gradient(to right, transparent, var(--color-mid-gray), transparent);height:1px;margin:var(--spacing-xl) auto;border:none;width:80%}.lesson-header{text-align:center;padding:var(--spacing-xl) var(--lesson-padding) var(--spacing-lg);max-width:var(--content-max-width);margin:0 auto}.lesson-header h1{font-size:var(--text-3xl);margin-bottom:var(--spacing-xs)}.lesson-meta{color:var(--text-secondary);font-size:var(--text-sm)}.lesson-meta strong{font-family:var(--font-heading)}.progress-bar-shell{z-index:50;margin-bottom:var(--spacing-md);background:var(--bg-color);box-shadow:var(--shadow-md);position:sticky;top:0}.progress-bar{padding:var(--spacing-xs) var(--lesson-padding);max-width:var(--content-max-width);scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:2px;margin:0 auto;display:flex;overflow-x:auto}.progress-bar::-webkit-scrollbar{display:none}.progress-bar button{padding:var(--spacing-xs) var(--spacing-xs);font-family:var(--font-heading);font-size:var(--text-xs);color:var(--text-muted);background:var(--bg-surface);border:var(--border-light);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;flex:1 0 5.5rem;font-weight:500}.progress-bar button:hover{background:var(--bg-surface-alt);color:var(--text-primary)}.progress-bar button.visited{background:color-mix(in srgb, var(--color-success) 10%, var(--bg-color));color:var(--color-success);border-color:var(--color-success-border)}.progress-bar button.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary);z-index:1;font-weight:700;position:relative;transform:translateY(-1px);box-shadow:0 0 0 2px #d9775759,0 2px 8px #d9775740}@media (width<=768px){.progress-bar button{flex-basis:4.5rem;padding:.35rem .25rem;font-size:.65rem}}.section{max-width:var(--content-max-width);margin:0 auto var(--spacing-sm);padding:0 var(--lesson-padding)}.section-header{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-surface);border:var(--border-light);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);user-select:none;justify-content:space-between;align-items:center;display:flex}.section-header:hover{background:var(--bg-surface-alt)}.section-header h2{font-size:var(--text-xl);margin:0}.chevron{font-size:var(--text-lg);transition:transform var(--transition-normal);color:var(--text-muted)}.section.open .chevron{transform:rotate(180deg)}.section-content{min-width:0;padding:var(--spacing-md);background:var(--bg-surface);border:var(--border-light);border-radius:0 0 var(--radius-md) var(--radius-md);overflow-wrap:anywhere;border-top:none;display:none}.section-content>*{box-sizing:border-box;min-width:0;max-width:100%}.section.open .section-content{display:block}mjx-container[jax=CHTML][display=true]{text-align:left!important;margin:.75em 0!important;display:block!important}.section-content mjx-container.MathJax{vertical-align:middle;max-width:100%;display:inline-block;overflow:auto hidden}.section-content mjx-container[display=true]{box-sizing:border-box;max-width:100%;padding-bottom:var(--spacing-xs);overflow:auto hidden;width:100%!important;display:block!important}.section-content p>mjx-container.MathJax[display=true]:only-child{box-sizing:border-box;max-width:100%;padding-bottom:var(--spacing-xs);display:block;overflow:auto hidden;width:100%!important}.section-content details,.section-content details>div,.section-content .p-sm{min-width:0;max-width:100%}.section-content :where(p,li,td,th,summary,button){overflow-wrap:anywhere;min-width:0}.section-content svg{max-width:100%;height:auto}.definition-box{background:var(--bg-surface);border-left:4px solid var(--accent-primary);padding:var(--spacing-md);margin-bottom:var(--spacing-md);border-radius:0 var(--radius-md) var(--radius-md) 0;box-shadow:var(--shadow-sm)}.definition-box :is(h3,h4){font-family:var(--font-heading);color:var(--accent-primary);margin-bottom:var(--spacing-xs)}.reading-toolkit{background:var(--color-info-light);border:1px solid var(--color-info-border);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.misconception-trap{background:var(--color-warning-light);border:1px solid var(--color-warning-border);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.misconception-trap:before{content:"⚠️ Common Trap";font-family:var(--font-heading);font-weight:600;font-size:var(--text-sm);color:var(--color-warning);margin-bottom:var(--spacing-xs);display:block}.callout{padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.callout.info{background:var(--color-info-light);border:1px solid var(--color-info-border)}.callout.success{background:var(--color-success-light);border:1px solid var(--color-success-border)}.callout.warning{background:var(--color-warning-light);border:1px solid var(--color-warning-border)}.callout.danger{background:var(--color-danger-light);border:1px solid var(--color-danger-border)}.validate-select{max-width:100%;display:block;position:relative}.validate-select select{font-family:var(--font-body);font-size:var(--text-base);padding:var(--spacing-xs) var(--spacing-sm);border:2px solid var(--color-light-gray);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;transition:border-color var(--transition-fast);appearance:none;box-sizing:border-box;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23b0aea5' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;width:100%;max-width:100%;padding-right:2rem}.validate-select select:focus{border-color:var(--accent-primary);box-shadow:var(--shadow-focus);outline:none}.validate-select select.correct{border-color:var(--color-success);background-color:var(--color-success-light)}.validate-select select.incorrect{border-color:var(--color-danger);background-color:var(--color-danger-light)}.distractor-rationale{font-size:var(--text-sm);color:var(--color-danger);margin-top:var(--spacing-xs);display:none}.distractor-rationale.visible{display:block}.ai-explain{margin-top:var(--spacing-sm)}.ai-explain-btn{min-height:var(--control-min-height);padding:var(--spacing-xs) var(--spacing-sm);border:2px solid var(--color-info-border);border-radius:var(--radius-md);background:var(--color-info-light);color:var(--text-primary);font-family:var(--font-heading);font-weight:600;font-size:var(--text-sm);line-height:var(--line-height-tight);cursor:pointer;transition:border-color var(--transition-fast)}.ai-explain-btn:hover:not(:disabled){border-color:var(--color-info)}.ai-explain-btn:disabled{cursor:default;opacity:.7}.practice-repair-actions{align-items:flex-start;gap:var(--spacing-xs);margin-top:var(--spacing-sm);flex-direction:column;display:flex}.practice-repair-actions>.ai-explain{margin-top:0}.practice-reveal-btn{min-height:var(--control-min-height);padding:var(--spacing-xs) var(--spacing-sm);border:2px solid var(--color-light-gray);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-secondary);font-family:var(--font-heading);font-size:var(--text-sm);font-weight:600;line-height:var(--line-height-tight);cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast)}.practice-reveal-btn:hover{border-color:var(--color-mid-gray);background:var(--bg-surface-alt)}.ai-explain-text{border-left:3px solid var(--color-info);border-radius:var(--radius-sm);background:var(--color-info-light);font-size:var(--text-sm);color:var(--text-primary);margin:.5rem 0 0;padding:.7rem .9rem;line-height:1.55}.ai-explain-note{font-size:var(--text-xs);color:var(--text-muted);margin:.3rem 0 0}.ai-hint-list{gap:var(--spacing-xs);margin:var(--spacing-xs) 0;padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-sm) var(--spacing-xl);border-left:3px solid var(--color-info);border-radius:var(--radius-sm);background:var(--color-info-light);color:var(--text-primary);font-size:var(--text-sm);line-height:1.55;display:grid}.account-btn{border:2px solid var(--color-light-gray);border-radius:var(--radius-lg);background:var(--bg-surface);width:100%;color:var(--text-primary);font-family:var(--font-body);cursor:pointer;box-sizing:border-box;transition:border-color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;gap:.6rem;padding:.95rem 1rem;font-size:1.05rem;font-weight:600;text-decoration:none;display:flex}.account-btn:hover{border-color:var(--accent-primary)}.account-btn:active{transform:scale(.99)}.account-btn--primary{background:var(--accent-primary);color:var(--bg-surface);font-family:var(--font-heading);border:none;font-weight:700}.account-btn:disabled{opacity:.6;cursor:default}.account-status{min-height:1.3rem;color:var(--text-secondary);margin:.4rem 0 0;font-size:.95rem}.account-status.is-error{color:var(--color-danger)}.account-status.is-success{color:var(--color-success)}.account-fineprint{color:var(--text-muted);margin:.6rem 0 0;font-size:.85rem;line-height:1.5}.course-subheading{font-family:var(--font-heading);color:var(--text-secondary);margin:.7rem 0 0;font-size:.95rem}.mastery-item{flex-direction:column;gap:.15rem;display:flex}.mastery-item+.mastery-item{margin-top:.45rem}.mastery-item-head{align-items:baseline;gap:.55rem;font-size:.92rem;display:flex}.mastery-lesson-title{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mastery-row{align-items:center;gap:.6rem;font-size:.92rem;display:flex}.mastery-label{flex:none}.mastery-bar{background:color-mix(in srgb, var(--text-muted) 18%, transparent);border-radius:999px;flex:1;height:.55rem;overflow:hidden}.mastery-fill{border-radius:999px;height:100%}.mastery-fill--strong{background:var(--color-success)}.mastery-fill--developing{background:var(--color-warning)}.mastery-fill--needs-work{background:var(--color-danger)}.feynman-chat{flex-direction:column;gap:.6rem;margin-top:.4rem;display:flex}.feynman-progress{color:var(--text-secondary);font-family:var(--font-heading);font-size:var(--text-sm);margin:0;font-weight:600}.feynman-log{flex-direction:column;gap:.5rem;max-height:340px;padding:.2rem 0;display:flex;overflow-y:auto}.feynman-msg{border-radius:var(--radius-lg);white-space:pre-wrap;overflow-wrap:anywhere;max-width:88%;padding:.55rem .8rem;font-size:.95rem;line-height:1.5}.feynman-msg.is-student{background:color-mix(in srgb, var(--accent-primary) 12%, var(--bg-surface));align-self:flex-end}.feynman-msg.is-examiner{background:color-mix(in srgb, var(--color-light-gray) 45%, var(--bg-surface));align-self:flex-start}.feynman-form{align-items:flex-end;gap:.5rem;display:flex}.feynman-input{border:2px solid var(--color-light-gray);border-radius:var(--radius-lg);background:var(--bg-surface);min-width:0;color:var(--text-primary);font-family:var(--font-body);resize:vertical;flex:1;padding:.7rem .8rem;font-size:.95rem}.feynman-input:focus-visible{border-color:var(--accent-primary);outline:none}.feynman-form .account-btn{flex:none;align-self:flex-end;width:auto}.feynman-controls{gap:var(--spacing-xs);display:grid}.feynman-controls .account-btn{width:auto;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--text-sm)}.feynman-primary-actions,.feynman-leave-confirm-actions{align-items:flex-start;gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.feynman-finish-wrap{gap:var(--spacing-xs);display:grid}.feynman-finish-note,.feynman-leave-note{color:var(--text-secondary);font-size:var(--text-xs);line-height:var(--line-height-normal);margin:0}.feynman-hint{border-color:var(--color-info-border);background:var(--color-info-light)}.feynman-leave-area{justify-items:start;gap:var(--spacing-xs);padding-top:var(--spacing-xs);border-top:var(--border-light);display:grid}.feynman-leave{padding:var(--spacing-xs) 0;color:var(--text-secondary);text-decoration:underline;text-decoration-color:var(--color-light-gray);background:0 0;border-color:#0000;justify-content:flex-start}.feynman-leave:hover,.feynman-confirm-leave:hover{color:var(--text-primary);border-color:#0000;text-decoration-color:currentColor}.feynman-leave-confirm{gap:var(--spacing-xs);padding:var(--spacing-sm);border:var(--border-light);border-radius:var(--radius-sm);background:var(--bg-surface-alt);display:grid}.feynman-leave-confirm[hidden],.feynman-finish-note[hidden]{display:none}.feynman-leave-confirm-title{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-sm);margin:0;font-weight:700}.feynman-confirm-leave{color:var(--text-secondary);background:0 0;border-color:#0000}.feynman-summary,.feynman-next-step{font-size:var(--text-sm);line-height:var(--line-height-normal);margin:0}.feynman-list-heading{margin:var(--spacing-xs) 0 0;font-family:var(--font-heading);font-size:var(--text-sm)}.feynman-concept-list{gap:var(--spacing-xs);margin:0;padding:0;list-style:none;display:grid}.feynman-concept{gap:var(--spacing-xs);padding:var(--spacing-sm);border:var(--border-light);border-radius:var(--radius-sm);background:var(--bg-surface-alt);display:grid}.feynman-concept-label{font-family:var(--font-heading);font-size:var(--text-sm)}.feynman-concept-feedback{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--line-height-normal)}.feynman-report{gap:var(--spacing-xs);flex-direction:column;display:flex}.feynman-report .account-btn{align-self:flex-start;width:auto}.feynman-repair{margin-top:var(--spacing-xs)}@media (width<=768px){.feynman-form{flex-direction:column;align-items:stretch}.feynman-form .account-btn,.feynman-primary-actions .account-btn,.feynman-finish-wrap,.feynman-report .account-btn{align-self:stretch;width:100%}.feynman-primary-actions,.feynman-leave-confirm-actions{flex-direction:column;align-items:stretch}.feynman-leave-area>.feynman-leave{align-self:flex-start;width:auto}}.feynman-lesson [hidden]{display:none!important}.feynman-lesson{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md) var(--spacing-md);border:1px solid color-mix(in srgb, var(--accent-primary) 35%, transparent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--accent-primary) 5%, var(--bg-surface));flex-direction:column;gap:.6rem;display:flex}.feynman-lesson-heading{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--text-primary);margin:0}.feynman-lesson-intro{font-size:var(--text-sm);line-height:var(--line-height-normal);color:var(--text-secondary);margin:0}.feynman-lesson>.account-btn{align-self:flex-start;width:auto}.feynman-prompt{margin-top:var(--spacing-sm)}.feynman-prompt textarea,.scratch-pad{box-sizing:border-box;width:100%;padding:var(--spacing-sm);border:var(--border-light);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-base);margin-top:var(--spacing-sm);resize:vertical}.data-list{padding:var(--spacing-xs);background:var(--bg-surface-alt);border-radius:var(--radius-sm);font-family:var(--font-mono);text-align:center}.viz-comparison-grid{gap:var(--spacing-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.viz-panel-heading{margin-bottom:var(--spacing-xs);color:var(--text-secondary);font-family:var(--font-heading);font-size:var(--text-sm);text-align:center;font-weight:600}.viz-panel-heading.is-honest{color:var(--color-success)}.viz-panel-heading.is-misleading{color:var(--color-danger)}.viz-panel-note{color:var(--text-muted);font-size:var(--text-sm);text-align:center}.generated-lesson-figure{width:100%;max-width:20rem;height:auto;margin:var(--spacing-xs) auto;display:block}textarea.reflection{width:100%;min-height:6rem;padding:var(--spacing-sm);font-family:var(--font-body);font-size:var(--text-base);border:2px solid var(--color-light-gray);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);resize:vertical;transition:border-color var(--transition-fast)}textarea.reflection:focus{border-color:var(--accent-primary);box-shadow:var(--shadow-focus);outline:none}.char-counter{font-size:var(--text-xs);color:var(--text-muted);text-align:right;margin-top:.25rem}.source-excerpt{border-left:4px solid var(--accent-blue);padding-left:var(--spacing-sm);color:var(--text-secondary);font-style:italic}pop-sample-viz .psv-estimate-visible{opacity:1!important}pop-sample-viz .psv-info-visible{display:block!important}.confidence-slider{margin:var(--spacing-md) 0}.confidence-slider label,.confidence-slider output{display:block}.confidence-slider output{margin-top:var(--spacing-xs);font-family:var(--font-heading);font-size:var(--text-sm);color:var(--text-secondary)}.confidence-slider input[type=range]{appearance:none;background:var(--color-light-gray);border-radius:3px;outline:none;width:100%;height:6px}.confidence-slider input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent-primary);border-radius:var(--radius-round);cursor:pointer;width:20px;height:20px;box-shadow:var(--shadow-md)}.confidence-slider .slider-labels{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--spacing-xs);justify-content:space-between;display:flex}.attempt-checkpoint,.prediction-checkpoint,.commitment-checkpoint{background:var(--bg-surface-alt);padding:var(--spacing-sm);margin:var(--spacing-md) 0}.attempt-checkpoint,.prediction-checkpoint{text-align:center;font-size:smaller}.prediction-checkpoint button{margin-top:var(--spacing-sm)}.attempt-checkpoint>:first-child,.commitment-checkpoint>:first-child{margin-top:0}.attempt-checkpoint>:last-child,.commitment-checkpoint>:last-child{margin-bottom:0}.commitment-checkpoint label{display:block}.commit-reveal-locked{opacity:.65}.commit-reveal-locked summary{cursor:not-allowed}.path-selector{gap:var(--spacing-md);margin:var(--spacing-md) 0;grid-template-columns:1fr 1fr;display:grid}.path-option{padding:var(--spacing-md);background:var(--bg-surface);border:2px solid var(--color-light-gray);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal);text-align:center}.path-option:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-md)}.path-option.selected{border-color:var(--accent-primary);background:color-mix(in srgb, var(--accent-primary) 5%, var(--bg-surface));box-shadow:var(--shadow-md)}.path-option:focus-visible{border-color:var(--accent-primary);box-shadow:var(--shadow-focus);outline:none}.path-option h3{color:var(--accent-primary);margin-bottom:var(--spacing-xs)}.path-content{display:none}.path-content.active{display:block}@media (width<=768px){.viz-comparison-grid,.path-selector{grid-template-columns:1fr}}.retrieval-checkpoint{background:var(--color-success-light);border:1px solid var(--color-success-border);padding:var(--spacing-md);border-radius:var(--radius-md);margin:var(--spacing-md) 0}.retrieval-checkpoint>label{margin-bottom:var(--spacing-xs);cursor:pointer;font-size:var(--text-sm);padding-left:1.5rem;line-height:1.6;display:block;position:relative}.retrieval-checkpoint>label>input[type=checkbox]{accent-color:var(--color-success);position:absolute;top:.25em;left:0}.practice-problem{margin-bottom:var(--spacing-md);position:relative}.problem-variant{display:none}.problem-variant.active{display:block}.regenerate-btn{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-heading);font-size:var(--text-sm);color:var(--accent-blue);background:var(--color-info-light);border:1px solid var(--color-info-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);margin-top:var(--spacing-sm);font-weight:500;display:inline-flex}.regenerate-btn[hidden]{display:none}.regenerate-btn:hover{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.generator-error{color:var(--text-secondary);font-style:italic;font-size:var(--text-sm);padding:var(--spacing-sm) 0}.generator-mcq-stem{margin-bottom:var(--spacing-sm)}.generator-mcq-prompt{font-family:var(--font-heading);color:var(--text-primary);margin-bottom:var(--spacing-sm);font-weight:600}.generator-mcq-options{gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);flex-direction:column;display:flex}.generator-mcq-option{text-align:left;font-family:var(--font-body);font-size:var(--text-sm);line-height:var(--line-height-normal);color:var(--text-primary);padding:var(--spacing-sm);background:var(--bg-surface);border:2px solid var(--color-light-gray);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.generator-mcq-option:hover:not(:disabled){border-color:var(--accent-blue);background:var(--color-info-light)}.generator-mcq-option:focus-visible{box-shadow:var(--shadow-focus);outline:none}.generator-mcq-option:disabled{cursor:default}.generator-mcq-option.generator-mcq-chosen-correct,.generator-mcq-option.generator-mcq-reveal-correct{border-color:var(--color-success);background:var(--color-success-light)}.generator-mcq-option.generator-mcq-chosen-incorrect{border-color:var(--color-danger);background:var(--color-danger-light)}.generator-mcq-verdict{margin:0}.generator-mcq-explanation{margin-top:var(--spacing-xs)}.find-the-error{background:var(--bg-surface);margin-bottom:var(--spacing-md);position:relative}.find-the-error .fte-prompt{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--text-primary);margin-bottom:var(--spacing-sm)}.fte-notepad{background:var(--bg-surface);border:2px solid var(--color-light-gray);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md);box-shadow:var(--shadow-sm);position:relative}.fte-notepad-header{align-items:center;gap:var(--spacing-xs);font-family:var(--font-heading);font-weight:600;font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px dashed var(--color-light-gray);display:flex}.fte-notepad-header .fte-student-icon{font-size:var(--text-lg)}.fte-steps{gap:var(--spacing-xs);flex-direction:column;display:flex}.fte-step{gap:var(--spacing-sm);padding:var(--spacing-xs);background:var(--bg-surface);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);border:2px solid #0000;align-items:flex-start;display:flex}.fte-step:hover{background:var(--color-info-light);border-color:var(--accent-blue)}.fte-step:has(input:checked):not(:has(input:disabled)){background:var(--bg-surface-alt);border-color:var(--accent-primary)}.fte-step:has(input:focus-visible){box-shadow:var(--shadow-focus)}.fte-step:has(input:disabled){cursor:default}.fte-step:has(input:disabled):not(.fte-selected-correct):not(.fte-selected-incorrect):not(.fte-reveal-correct):hover{background:var(--bg-surface);border-color:#0000}.fte-step-radio{margin-top:var(--spacing-xs);accent-color:var(--accent-primary);flex-shrink:0}.fte-step-body{align-items:baseline;gap:var(--spacing-sm);flex:1;min-width:0;display:flex}.fte-step-label{font-family:var(--font-heading);font-weight:600;font-size:var(--text-sm);color:var(--text-muted);flex-shrink:0;min-width:5.5rem}.fte-step-content{min-width:0;font-size:var(--text-base);overflow-wrap:anywhere;flex:1}.fte-step-content mjx-container{max-width:100%;overflow:auto hidden}.fte-step.fte-selected-correct,.fte-step.fte-reveal-correct,.fte-step.fte-selected-correct:hover,.fte-step.fte-reveal-correct:hover{background:var(--color-success-light);border-color:var(--color-success)}.fte-step.fte-selected-incorrect,.fte-step.fte-selected-incorrect:hover{border-color:var(--color-danger);background:var(--color-danger-light)}.fte-feedback{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--line-height-normal);margin-bottom:var(--spacing-sm);display:none}.fte-feedback.visible{display:block}.fte-feedback.correct{background:var(--color-success-light);border:1px solid var(--color-success-border);color:var(--color-success)}.fte-feedback.incorrect{background:var(--color-danger-light);border:1px solid var(--color-danger-border);color:var(--color-danger)}.fte-check-btn{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);font-family:var(--font-heading);font-size:var(--text-sm);color:#fff;background:var(--accent-primary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:none;font-weight:600;display:inline-flex}.fte-check-btn:hover{background:var(--accent-primary-hover);box-shadow:var(--shadow-md)}.fte-check-btn:disabled{opacity:.5;cursor:not-allowed}@media (width<=768px){.fte-notepad:before{display:none}.fte-step{gap:var(--spacing-xs)}.fte-step-body{align-items:flex-start;gap:var(--spacing-xs);flex-direction:column}.fte-step-label{min-width:unset}.fte-notepad{min-width:0;padding:var(--spacing-sm)}.fte-step-content{width:100%}}.stepped-problem{box-sizing:border-box;background:var(--bg-surface);min-width:0;max-width:100%;margin-bottom:var(--spacing-md);display:block}.sp-stem{min-width:0;max-width:100%;font-size:var(--text-base);margin-bottom:var(--spacing-md)}.sp-steps{gap:var(--spacing-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.sp-step{border-left:3px solid var(--color-light-gray);min-width:0;max-width:100%;padding-left:var(--spacing-md)}.sp-step-worked{background:var(--bg-surface-alt);border-left-color:var(--viz-2)}.sp-worked-answer{gap:var(--spacing-xs);padding-block:var(--spacing-xs) var(--spacing-sm);display:grid}.sp-worked-label,.practice-variant-counter{color:var(--text-secondary);font-family:var(--font-heading);font-size:var(--text-xs);font-weight:600}.practice-variant-counter{margin-block:var(--spacing-xs)}.sp-step-prompt{font-family:var(--font-heading);color:var(--text-primary);margin-bottom:var(--spacing-sm);font-weight:600}.sp-step-num{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:var(--spacing-xs);font-weight:600;display:block}.sp-options{gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);flex-direction:column;display:flex}.sp-option{text-align:left;min-width:0;max-width:100%;font-size:var(--text-sm);line-height:var(--line-height-normal);color:var(--text-primary);padding:var(--spacing-sm);background:var(--bg-surface);border:2px solid var(--color-light-gray);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.sp-option:hover:not(:disabled){border-color:var(--accent-blue);background:var(--color-info-light)}.sp-option:disabled{cursor:default}.sp-option.sp-chosen-correct,.sp-option.sp-reveal-correct{border-color:var(--color-success);background:var(--color-success-light)}.sp-option.sp-chosen-incorrect{border-color:var(--color-danger);background:var(--color-danger-light)}.te-entry{margin-top:.55rem}.te-fields{flex-wrap:wrap;align-items:flex-end;gap:.5rem;display:flex}.te-field{flex-direction:column;gap:.2rem;display:flex}.te-field-label{color:var(--text-muted);font-size:.8rem}.te-input{border:2px solid var(--color-light-gray);border-radius:var(--radius-lg);background:var(--bg-surface);width:9rem;color:var(--text-primary);font-family:var(--font-mono);transition:border-color var(--transition-fast);padding:.6rem .8rem;font-size:.95rem}.te-input:focus-visible{border-color:var(--accent-primary);outline:none}.te-input:disabled{opacity:.85}.te-input.is-correct{border-color:var(--color-success);background:color-mix(in srgb, var(--color-success) 10%, var(--bg-surface))}.te-input.is-wrong{border-color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 8%, var(--bg-surface))}.te-hint{color:var(--text-muted);margin:.4rem 0 0;font-size:.82rem}.te-check{border:2px solid var(--color-light-gray);border-radius:var(--radius-lg);background:var(--bg-surface);color:var(--text-primary);font-family:var(--font-body);cursor:pointer;transition:border-color var(--transition-fast);padding:.5rem .9rem;font-size:.9rem;font-weight:600}.te-check:hover:not(:disabled){border-color:var(--accent-primary)}.te-check:disabled{cursor:default;opacity:.6}.sp-rationale,.pg-rationale,.generator-mcq-rationale{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--line-height-normal);margin-bottom:var(--spacing-sm)}.sp-rationale.correct,.pg-rationale.correct,.generator-mcq-rationale.correct{background:var(--color-success-light);border:1px solid var(--color-success-border);color:var(--color-success)}.sp-rationale.incorrect,.pg-rationale.incorrect,.generator-mcq-rationale.incorrect{background:var(--color-danger-light);border:1px solid var(--color-danger-border);color:var(--color-danger)}.sp-summary{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);background:var(--color-info-light);border:1px solid var(--accent-blue);font-family:var(--font-heading);font-weight:600;font-size:var(--text-sm)}.sp-mode-prompt{font-family:var(--font-heading);color:var(--text-primary);margin-bottom:var(--spacing-sm);font-weight:600}.sp-mode-btns{gap:var(--spacing-md);flex-wrap:wrap;display:flex}.sp-mode-btn{gap:var(--spacing-xs);text-align:left;padding:var(--spacing-md);background:var(--bg-surface);border:2px solid var(--color-light-gray);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);flex-direction:column;flex:220px;display:flex}.sp-mode-btn:hover{border-color:var(--accent-blue);background:var(--color-info-light)}.sp-mode-title{font-family:var(--font-heading);color:var(--text-primary);font-weight:600}.sp-mode-desc{font-size:var(--text-sm);line-height:var(--line-height-normal);color:var(--text-muted)}.sp-breakdown-btn{margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-heading);font-weight:600;font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-surface);border:2px solid var(--accent-blue);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.sp-breakdown-btn:hover{background:var(--color-info-light)}.viz-container{background:var(--bg-surface);border:var(--border-light);border-radius:var(--radius-md);padding:var(--spacing-md);margin:var(--spacing-md) 0;overflow:hidden}.viz-interactive{justify-content:center;align-items:center;min-height:200px;display:flex}body[data-course-slug=intro-prob-stats] .viz-container svg text:not([font-family]){font-family:var(--font-heading)}.viz-controls{gap:var(--spacing-xs);margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:var(--border-light);flex-wrap:wrap;display:flex}.viz-controls input[type=range]{accent-color:var(--accent-primary)}.viz-caption{font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--spacing-sm);font-style:italic}.pr2-tree-line{fill:none;stroke:currentColor;stroke-width:1.5px}.pr2-tree-dot{fill:currentColor;stroke:none}.pr2-tree-label,.pr2-tree-heading,.pr2-tree-sub{fill:currentColor;font-family:var(--font-heading)}.pr2-tree-label{font-size:var(--text-xs)}.pr2-tree-heading{font-size:var(--text-sm);font-weight:600}.pr2-tree-sub{font-size:var(--text-xs);opacity:.65}.pr2-tree-defect{fill:var(--viz-1)}button,.btn{font-family:var(--font-heading);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:none;font-weight:500}.btn-primary{background:var(--accent-primary);color:#fff;padding:var(--spacing-xs) var(--spacing-md);font-size:var(--text-sm);margin-bottom:var(--spacing-sm);text-decoration:none;display:inline-block}.btn-primary:hover{background:var(--accent-primary-hover);box-shadow:var(--shadow-md);color:#fff;text-decoration:none}.btn-secondary{background:var(--bg-surface);color:var(--text-primary);padding:var(--spacing-xs) var(--spacing-md);font-size:var(--text-sm);border:var(--border-medium);margin-bottom:var(--spacing-sm);text-decoration:none;display:inline-block}.btn-secondary:hover{background:var(--bg-surface-alt);color:var(--text-primary);text-decoration:none}.btn-sm{font-size:var(--text-xs);padding:.25rem .75rem}.test-run-toolbar{flex-wrap:wrap}.test-run-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;min-width:0;max-width:100%}.test-run-toolbar-actions .btn{overflow-wrap:anywhere;white-space:normal;max-width:100%}details{margin-bottom:var(--spacing-sm)}details summary{font-family:var(--font-heading);color:var(--accent-primary);cursor:pointer;padding:var(--spacing-xs) 0;transition:color var(--transition-fast);font-weight:500}details summary:hover{color:var(--accent-primary-hover)}details[open] summary{margin-bottom:var(--spacing-xs)}.language-switcher{top:var(--spacing-sm);right:var(--spacing-sm);z-index:1000;background:var(--bg-surface);border:var(--border-light);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);gap:4px;padding:2px;display:flex;position:fixed}.language-switcher a{font-family:var(--font-heading);font-size:var(--text-xs);border-radius:calc(var(--radius-sm) - 2px);transition:all var(--transition-fast);padding:.25rem .75rem;font-weight:600;text-decoration:none}.language-switcher a.active{background:var(--accent-primary);color:#fff}.language-switcher a:not(.active){color:var(--text-muted)}.language-switcher a:not(.active):hover{color:var(--text-primary);background:var(--bg-surface-alt)}@media (width<=480px){.language-switcher{width:fit-content;margin:var(--spacing-xs) var(--spacing-sm) 0 auto;box-shadow:none;position:static}}.course-back-link{max-width:var(--content-max-width);margin:var(--spacing-md) auto 0;padding:0 var(--spacing-md)}.course-back-link a{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--text-muted);transition:color var(--transition-fast);font-weight:500;text-decoration:none}.course-back-link a:hover{color:var(--accent-primary)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.progress-bar,.language-switcher,.regenerate-btn,.confidence-slider,.path-selector,.fte-check-btn{display:none!important}.section-content{display:block!important}body{color:#000;background:#fff;font-size:11pt}}.course-choice-card{padding:var(--spacing-sm);border:var(--border-light);border-top:var(--spacing-xs) solid var(--choice-accent);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-sm)}.competency-card{background:var(--bg-surface);border:var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal), transform var(--transition-normal);flex-direction:column;display:flex;overflow:hidden}.competency-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.competency-card--capstone{background:linear-gradient(135deg, var(--bg-surface) 0%, #5ba3a30a 100%);border-color:#5ba3a366}.competency-card.card--mastered{border-color:var(--color-success-border);background:linear-gradient(135deg, var(--bg-surface) 0%, var(--color-success-light) 100%)}.card-header{align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);border-bottom:var(--border-light);cursor:pointer;display:flex}.card-id-badge{font-family:var(--font-heading);font-size:var(--text-xs);color:#fff;border-radius:var(--radius-sm);letter-spacing:.04em;flex-shrink:0;margin-top:2px;padding:.3em .65em;font-weight:700}.card-title-block{flex:1;min-width:0}.card-title{font-size:var(--text-base);font-weight:600;line-height:var(--line-height-tight);margin-bottom:.2rem}.card-prereq-summary{font-family:var(--font-heading);font-size:var(--text-xs);color:var(--text-muted)}.card-header-actions{align-items:center;gap:var(--spacing-xs);flex-shrink:0;display:flex}.card-mastered-badge{font-family:var(--font-heading);font-size:var(--text-xs);color:var(--color-success);background:var(--color-success-light);border:1px solid var(--color-success-border);white-space:nowrap;border-radius:999px;padding:.2em .55em;font-weight:600;display:none}.card--mastered .card-mastered-badge{align-items:center;gap:3px;display:inline-flex}.card-toggle{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:.25rem;display:flex}.card-toggle:hover{background:var(--bg-surface-alt);color:var(--text-primary)}.card--expanded .card-toggle svg{transform:rotate(180deg)}.card-outcome{padding:var(--spacing-sm) var(--spacing-md);flex:1}.outcome-label{font-family:var(--font-heading);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.35rem;font-weight:600;display:block}.card-outcome p{font-size:var(--text-sm);line-height:var(--line-height-normal);color:var(--text-primary);margin-bottom:0}.card-body{border-top:var(--border-light);padding:var(--spacing-md);background:var(--bg-color);gap:var(--spacing-sm);flex-direction:column;display:flex}.card-body[hidden]{display:none}.card-section-title{font-family:var(--font-heading);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:.5rem;font-weight:700}.pitfall-title{color:var(--color-warning)}.card-pitfalls{background:var(--color-warning-light);border:1px solid var(--color-warning-border);border-radius:var(--radius-md);padding:var(--spacing-sm)}.card-lesson-link{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--accent-primary);transition:color var(--transition-fast);font-weight:600;text-decoration:none;display:inline-block}.card-lesson-link:hover{color:var(--accent-primary-dark,var(--accent-primary));text-decoration:underline}.prereq-chips{flex-wrap:wrap;gap:6px;display:flex}.prereq-chip{font-family:var(--font-heading);font-size:var(--text-xs);border:1.5px solid var(--chip-color,var(--color-light-gray));color:var(--chip-color,var(--text-muted));background:0 0;border-radius:999px;padding:.2em .6em;font-weight:600}.prereq-none{--chip-color:var(--color-success);color:var(--color-success);border-color:var(--color-success-border);background:var(--color-success-light)}.prereq-all{--chip-color:#5ba3a3;color:#5ba3a3;background:#5ba3a314;border-color:#5ba3a366}.content-list{margin:0;padding-left:1.2rem;list-style:none}.content-list li{font-size:var(--text-sm);line-height:var(--line-height-relaxed);color:var(--text-primary);padding-left:.5rem;position:relative}.content-list li+li{margin-top:.3rem}.content-list li:before{content:"–";color:var(--text-muted);position:absolute;left:-1rem}.standard-tags{flex-wrap:wrap;gap:.4rem;display:flex}.standard-tag{font-family:var(--font-heading);font-size:var(--text-xs);color:var(--tag-color,var(--text-secondary));border:1.5px solid var(--tag-color,var(--color-light-gray));cursor:pointer;transition:all var(--transition-fast);letter-spacing:.03em;opacity:.65;background:0 0;border-radius:999px;align-items:center;padding:.25em .6em;font-weight:700;display:inline-flex}.standard-tag:hover{opacity:1;background:color-mix(in srgb, var(--tag-color,var(--color-light-gray)) 12%, transparent)}.standard-tag.is-mastered{opacity:1;color:var(--color-success);background:var(--color-success-light);border-color:var(--color-success-border)}.mt-sm{margin-top:var(--spacing-sm)}.p-sm{padding:var(--spacing-sm)}.notation-tabs{margin-bottom:var(--spacing-sm);gap:.5rem;display:flex}.notation-tab{border:var(--border-light);border-radius:var(--radius-sm);background:var(--bg-surface);cursor:pointer;font-family:var(--font-heading);font-size:var(--text-sm);padding:.4rem 1rem;transition:background .15s,color .15s}.notation-tab.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.notation-panel{padding:var(--spacing-sm);border:var(--border-light);border-radius:var(--radius-sm);background:var(--bg-surface)}.notation-bad{color:var(--color-danger);font-style:italic}.secant-viz-wrapper{margin:var(--spacing-md) 0;border:var(--border-light);border-radius:var(--radius-md);padding:var(--spacing-sm);background:var(--bg-surface)}#secant-svg{width:100%;max-width:440px;margin:0 auto;display:block}.secant-controls{text-align:center;margin-top:.75rem}.secant-controls label{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:.5rem;display:block}.secant-controls input[type=range]{width:80%;max-width:300px;accent-color:var(--accent-primary)}.slope-readout{font-family:var(--font-heading);font-size:var(--text-base);color:var(--text-primary);margin-top:.5rem}.prereq-link-wrap{margin:.6rem 0 0}.prereq-link{border:2px solid var(--color-info);border-radius:var(--radius-lg);color:var(--color-info);padding:.4rem .8rem;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-block}.prereq-link:hover{background:color-mix(in srgb, var(--color-info) 10%, transparent)}.prereq-skipped{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.5rem;margin:1rem 0;font-size:.88rem;display:flex}.prereq-show{border:1px solid var(--color-light-gray);border-radius:var(--radius-lg);background:var(--bg-surface);color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;padding:.3rem .7rem;font-size:.82rem}.prereq-show:hover{border-color:var(--accent-primary);color:var(--text-primary)}.contextual-coach{z-index:1100;pointer-events:none;font-family:var(--font-heading);position:fixed;inset:0}.contextual-coach__backdrop{display:none}.contextual-coach__launcher{right:max(var(--spacing-sm), calc((100vw - var(--coach-content-width)) / 2 + var(--coach-content-padding)), env(safe-area-inset-right,0px));bottom:max(var(--spacing-xl), env(safe-area-inset-bottom,0px));width:var(--control-min-height);height:var(--control-min-height);border:2px solid var(--bg-surface);border-radius:var(--radius-round);background:var(--accent-primary);color:var(--bg-surface);box-shadow:var(--shadow-lg);cursor:pointer;pointer-events:auto;transition:background var(--transition-fast), box-shadow var(--transition-fast);place-items:center;padding:0;display:grid;position:fixed}.contextual-coach__launcher:hover{background:var(--accent-primary-hover)}.contextual-coach__launcher:focus-visible,.contextual-coach__close:focus-visible,.contextual-coach__action:focus-visible,.contextual-coach__send:focus-visible,.contextual-coach__input:focus-visible{box-shadow:var(--shadow-focus);outline:none}.contextual-coach__mark{width:100%;height:100%;color:var(--bg-surface);font-size:var(--text-lg);place-items:center;font-weight:700;line-height:1;display:grid}.contextual-coach__panel{top:50%;right:max(var(--spacing-sm), calc((100vw - var(--coach-content-width) - var(--coach-panel-width) - var(--coach-workspace-gap)) / 2));width:min(var(--coach-panel-width), calc(100vw - var(--spacing-sm)));height:min(42rem, calc(100vh - var(--spacing-lg)));height:min(42rem, calc(100dvh - var(--spacing-lg)));border:var(--border-light);border-radius:var(--radius-lg);background:var(--bg-surface);box-shadow:var(--shadow-lg);pointer-events:auto;flex-direction:column;display:flex;position:fixed;overflow:hidden;transform:translateY(-50%)}.contextual-coach__panel[hidden]{display:none}.contextual-coach__panel:focus{outline:none}.contextual-coach.is-open .contextual-coach__launcher{display:none}.contextual-coach__header,.contextual-coach__switch,.contextual-coach__context-card,.contextual-coach__actions,.contextual-coach__form,.contextual-coach__privacy{flex:none}.contextual-coach__header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm);border-bottom:var(--border-light);background:var(--bg-surface-alt);display:flex}.contextual-coach__title-wrap{gap:calc(var(--spacing-xs) / 2);display:grid}.contextual-coach__title{color:var(--text-primary);font-size:var(--text-base)}.contextual-coach__context{color:var(--text-primary);font-size:var(--text-sm);line-height:var(--line-height-normal)}.contextual-coach__close{min-width:var(--control-min-height);min-height:var(--control-min-height);border-radius:var(--radius-round);color:var(--text-secondary);font-size:var(--text-2xl);cursor:pointer;background:0 0;border:0;padding:0}.contextual-coach__close:hover{background:color-mix(in srgb, var(--text-muted) 14%, transparent);color:var(--text-primary)}.contextual-coach__switch{gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-bottom:var(--border-light);background:var(--color-info-light);display:grid}.contextual-coach__switch[hidden]{display:none}.contextual-coach__switch-text{color:var(--text-primary);font-size:var(--text-sm);line-height:var(--line-height-normal);margin:0}.contextual-coach__switch-actions{gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.contextual-coach__switch-confirm,.contextual-coach__switch-stay,.contextual-coach__show-lesson{min-height:var(--control-min-height);padding:0 var(--spacing-sm);border-radius:var(--radius-sm);font-family:var(--font-heading);font-size:var(--text-sm);cursor:pointer;font-weight:600}.contextual-coach__switch-confirm{background:var(--accent-primary);color:var(--text-primary);border:0}.contextual-coach__switch-stay,.contextual-coach__show-lesson{border:var(--border-light);background:var(--bg-surface);color:var(--text-primary)}.contextual-coach__context-card{justify-content:space-between;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-bottom:var(--border-light);background:var(--bg-surface);display:flex}.contextual-coach__context-copy{min-width:0;display:grid}.contextual-coach__context-eyebrow{color:var(--text-secondary);font-size:var(--text-xs);text-transform:uppercase;font-weight:600}.contextual-coach__context-label{color:var(--text-primary);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.contextual-coach__context-excerpt,.contextual-coach__attempt{margin:calc(var(--spacing-xs) / 2) 0 0;color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-sm);line-height:var(--line-height-normal);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.contextual-coach__attempt{color:var(--text-primary);font-family:var(--font-heading);-webkit-line-clamp:1}.contextual-coach__attempt[hidden]{display:none}.contextual-coach__show-lesson{flex:none}.contextual-coach__messages{gap:var(--spacing-xs);min-height:0;padding:var(--spacing-sm);overscroll-behavior:contain;flex-direction:column;flex:auto;display:flex;overflow-y:auto}.contextual-coach__message{max-width:88%;padding:calc(var(--spacing-xs) * .75) var(--spacing-xs);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-sm);line-height:var(--line-height-normal);white-space:pre-wrap}.contextual-coach__message.is-assistant{background:var(--bg-surface-alt);align-self:flex-start}.contextual-coach__message.is-user{background:var(--color-info-light);align-self:flex-end}.contextual-coach__message.is-status{max-width:100%;padding:calc(var(--spacing-xs) / 2);color:var(--text-secondary);font-family:var(--font-heading);font-size:var(--text-sm);text-align:center;background:0 0;align-self:center}.contextual-coach__actions{gap:calc(var(--spacing-xs) / 2);padding:0 var(--spacing-sm) var(--spacing-xs);flex-wrap:wrap;display:flex}.contextual-coach__action{min-height:var(--control-min-height);padding:calc(var(--spacing-xs) * .75) var(--spacing-xs);border:var(--border-light);border-radius:var(--radius-xl);background:var(--bg-surface);color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-xs);cursor:pointer}.contextual-coach__action:hover{border-color:var(--accent-primary);background:color-mix(in srgb, var(--accent-primary) 8%, var(--bg-surface))}.contextual-coach__action.is-rematch{margin:0 var(--spacing-sm) var(--spacing-xs);color:var(--accent-primary-hover);align-self:flex-start}.contextual-coach__form{gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-top:var(--border-light);grid-template-columns:1fr auto;display:grid}.contextual-coach__input{min-height:var(--control-min-height);max-height:8rem;padding:calc(var(--spacing-xs) * .75);resize:vertical;border:var(--border-medium);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-sm)}.contextual-coach__send{min-height:var(--control-min-height);padding:0 var(--spacing-sm);border-radius:var(--radius-sm);background:var(--accent-primary);color:var(--text-primary);font-family:var(--font-heading);cursor:pointer;border:0;font-weight:600}.contextual-coach__send:hover{background:var(--accent-primary-hover)}.contextual-coach__send:disabled,.contextual-coach__action:disabled{cursor:wait;opacity:.65}.contextual-coach__privacy{min-height:var(--control-min-height);border-top:var(--border-light);color:var(--text-secondary);font-family:var(--font-heading);font-size:var(--text-sm);line-height:var(--line-height-normal);margin:0;position:relative}.contextual-coach__privacy-summary{min-height:var(--control-min-height);padding:0 var(--spacing-sm);color:var(--text-secondary);cursor:pointer;align-items:center;list-style-position:inside;display:flex}.contextual-coach__privacy[open] .contextual-coach__privacy-summary{color:var(--text-primary)}.contextual-coach__privacy-text{right:var(--spacing-xs);bottom:calc(100% + var(--spacing-xs));left:var(--spacing-xs);max-height:min(10rem,40dvh);padding:var(--spacing-sm);border:var(--border-light);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-lg);color:var(--text-secondary);margin:0;position:absolute;overflow-y:auto}body.has-contextual-coach{--coach-panel-width:22rem;--coach-workspace-gap:var(--spacing-sm);--coach-content-width:var(--content-max-width);--coach-content-padding:var(--lesson-padding)}body.has-contextual-coach-open{padding-right:calc(var(--coach-panel-width) + var(--coach-workspace-gap))}@media (width>=77rem) and (height>=34rem){body.has-contextual-coach:not(.has-contextual-coach-open) .section-header,body.has-contextual-coach:not(.has-contextual-coach-open) .section-content{padding-right:calc(var(--spacing-md) + var(--control-min-height) + var(--spacing-xs))}}@media (width<=76.999rem),(height<=33.999rem){body.has-contextual-coach{padding-bottom:calc(var(--control-min-height) + var(--spacing-xl) + env(safe-area-inset-bottom,0px))}body.has-contextual-coach-open{padding-right:0}body.contextual-coach-is-modal{overflow:hidden}.contextual-coach.is-open.is-modal-layout .contextual-coach__backdrop{background:color-mix(in srgb, var(--color-dark) 28%, transparent);cursor:default;pointer-events:auto;border:0;width:100%;height:100%;padding:0;display:block;position:fixed;inset:0}.contextual-coach__panel{top:auto;right:max(var(--spacing-xs), env(safe-area-inset-right,0px));bottom:max(var(--spacing-xl), env(safe-area-inset-bottom,0px));height:min(40rem, calc(100vh - var(--spacing-sm) - var(--spacing-xl) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)));height:min(40rem, calc(100dvh - var(--spacing-sm) - var(--spacing-xl) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)));border-radius:var(--radius-lg);left:auto;transform:none}.contextual-coach__actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.contextual-coach__action{font-size:var(--text-sm)}.contextual-coach__action:last-child:nth-child(odd){grid-column:1/-1}}@media (height<=33.999rem){.contextual-coach__context-card{display:none}.contextual-coach__header{padding-block:var(--spacing-xs);align-items:center}.contextual-coach__title-wrap{align-items:baseline;min-width:0;display:flex}.contextual-coach__context{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.contextual-coach__messages{padding-block:var(--spacing-xs)}.contextual-coach__actions{overscroll-behavior-inline:contain;scrollbar-width:thin;flex-wrap:nowrap;display:flex;overflow-x:auto}.contextual-coach__action{flex:none}}@media (prefers-reduced-motion:reduce){.contextual-coach__launcher{transition:none}}@media print{.contextual-coach{display:none!important}body.has-contextual-coach,body.has-contextual-coach-open{padding-bottom:0;padding-right:0}}.estimation-check-wrapper{margin-block:var(--spacing-md);background:var(--bg-surface);display:block}.estimation-container{background:var(--bg-surface)}.estimation-header{margin-bottom:var(--spacing-xs);align-items:center;display:flex}.estimation-badge{font-family:var(--font-heading);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--accent-blue);background:var(--color-info-light);border:1px solid var(--color-info-border);border-radius:var(--radius-sm);align-items:center;gap:.35rem;padding:.2rem .6rem;font-weight:600;display:inline-flex}.estimation-prompt{font-family:var(--font-heading);font-size:var(--text-base);color:var(--text-primary);margin-block:var(--spacing-xs) var(--spacing-sm);font-weight:600}.estimation-input-panel{padding:var(--spacing-md);border-radius:var(--radius-md);background:var(--bg-surface-alt)}.estimation-options-grid{gap:var(--spacing-xs);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.estimation-form{gap:var(--spacing-xs);display:grid}.estimation-input-row{align-items:center;gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.estimation-input-row input{width:min(12rem,100%);min-height:44px;padding-inline:var(--spacing-sm);color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--color-mid-gray);border-radius:var(--radius-sm)}.estimation-submit-btn,.estimation-option-btn{min-height:44px}.estimation-submit-btn{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-info-border);border-radius:var(--radius-sm);background:var(--color-info-light);color:var(--accent-blue);font-family:var(--font-heading);font-size:var(--text-sm);justify-content:center;align-items:center;font-weight:500;display:inline-flex}.estimation-submit-btn:hover:not(:disabled){border-color:var(--accent-blue);box-shadow:var(--shadow-sm)}.estimation-submit-btn:disabled{cursor:default;opacity:.65}.estimation-actions{margin-top:var(--spacing-sm)}.estimation-unit,.estimation-bounds{color:var(--text-secondary);font-size:var(--text-sm)}.estimation-option-btn{padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-heading);font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--color-mid-gray);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;font-weight:500;display:flex}.estimation-option-btn:hover:not(:disabled){border-color:var(--accent-blue);background:var(--color-info-light);transform:translateY(-1px)}.estimation-option-btn:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.estimation-option-btn.selected-correct{color:var(--color-success);background:var(--color-success-light);border-color:var(--color-success-border);font-weight:600}.estimation-option-btn.selected-incorrect{color:var(--color-warning);background:var(--color-warning-light);border-color:var(--color-warning-border);font-weight:600}.estimation-option-btn.selected{background:var(--color-info-light);border-color:var(--color-info-border);font-weight:600}.estimation-option-btn.faded{opacity:.6}.estimation-feedback{margin-top:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--text-sm);line-height:var(--line-height-normal);animation:.2s ease-out estimationFadeIn}.estimation-feedback.feedback-success{background:var(--color-success-light);border:1px solid var(--color-success-border);color:var(--text-primary)}.estimation-feedback.feedback-warning{background:var(--color-warning-light);border:1px solid var(--color-warning-border);color:var(--text-primary)}.estimation-feedback.feedback-info{background:var(--color-info-light);border:1px solid var(--color-info-border);color:var(--text-primary)}.estimation-feedback-content{align-items:flex-start;gap:var(--spacing-xs);display:flex}.estimation-feedback-icon{font-size:var(--text-base);flex-shrink:0}.estimation-unlocked-content{padding-top:var(--spacing-sm);background:var(--bg-surface);animation:.3s ease-out estimationFadeIn}.pg-exact-stage{margin-top:var(--spacing-md)}.pg-exact-stage[hidden]{display:none}.pg-exact-stage.unlocked{animation:.3s ease-out estimationFadeIn}.pg-exact-instruction{margin-bottom:var(--spacing-xs);color:var(--text-primary);font-family:var(--font-heading);font-weight:600}@keyframes estimationFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.parsons-problem-wrapper{margin-block:var(--spacing-md);background:var(--bg-surface);display:block}.parsons-container{padding:0}.parsons-header{margin-bottom:var(--spacing-xs);align-items:center;display:flex}.parsons-badge{font-family:var(--font-heading);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--accent-orange);background:color-mix(in srgb, var(--accent-orange) 10%, var(--bg-surface));border:1px solid color-mix(in srgb, var(--accent-orange) 30%, var(--bg-surface));border-radius:var(--radius-sm);align-items:center;gap:.35rem;padding:.2rem .6rem;font-weight:600;display:inline-flex}.parsons-title{font-family:var(--font-heading);font-size:var(--text-base);color:var(--text-primary);margin-block:var(--spacing-xs);font-weight:600}.parsons-instructions{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--spacing-md)}.parsons-zones{gap:var(--spacing-md);margin-bottom:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.parsons-zone{background:var(--bg-surface-alt);border:1px solid var(--color-light-gray);border-radius:var(--radius-sm);padding:var(--spacing-sm)}.parsons-zone-header{font-family:var(--font-heading);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:var(--spacing-xs);font-weight:600}.parsons-list{gap:var(--spacing-xs);min-height:80px;padding:var(--spacing-xs);background:var(--bg-surface);border:1px dashed var(--color-mid-gray);border-radius:var(--radius-sm);flex-direction:column;transition:background .15s,border-color .15s;display:flex}.parsons-list.drag-over{background:var(--color-info-light);border-color:var(--accent-blue)}.parsons-item{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-surface);border:1px solid var(--color-mid-gray);border-radius:var(--radius-sm);cursor:grab;user-select:none;transition:all .15s;display:flex}.parsons-item:hover{border-color:var(--accent-orange);box-shadow:var(--shadow-sm)}.parsons-item.dragging{opacity:.5;cursor:grabbing}.parsons-item-correct{border-color:var(--color-success)!important;background:var(--color-success-light)!important}.parsons-item-misplaced{border-color:var(--color-warning)!important;background:var(--color-warning-light)!important}.parsons-item-error{border-color:var(--color-danger)!important;background:var(--color-danger-light)!important}.parsons-drag-handle{color:var(--text-muted);font-size:var(--text-base);cursor:grab;padding-right:.25rem}.parsons-item-content{font-size:var(--text-sm);color:var(--text-primary);flex:1}.parsons-item-controls{gap:.2rem;display:flex}.parsons-ctrl-btn{min-width:44px;min-height:44px;color:var(--text-secondary);background:var(--bg-surface-alt);border:1px solid var(--color-mid-gray);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:.75rem;transition:background .15s;display:inline-flex}.parsons-ctrl-btn:hover:not(:disabled){background:var(--accent-blue);color:var(--bg-surface);border-color:var(--accent-blue)}.parsons-ctrl-btn:disabled{opacity:.3;cursor:not-allowed}.parsons-actions{gap:var(--spacing-xs);display:flex}.parsons-check-btn{padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-heading);font-size:var(--text-sm);color:var(--bg-surface);background:var(--accent-orange);border-radius:var(--radius-sm);cursor:pointer;border:none;font-weight:600;transition:background .15s}.parsons-check-btn:hover{background:var(--accent-orange-hover)}.parsons-reset-btn{padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-heading);font-size:var(--text-sm);color:var(--text-secondary);background:var(--bg-surface-alt);border:1px solid var(--color-mid-gray);border-radius:var(--radius-sm);cursor:pointer;font-weight:500;transition:all .15s}.parsons-reset-btn:hover{border-color:var(--text-primary);color:var(--text-primary)}.parsons-feedback{margin-top:var(--spacing-md);padding:var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--text-sm)}.parsons-feedback.feedback-success{background:var(--color-success-light);border:1px solid var(--color-success-border);color:var(--text-primary)}.parsons-feedback.feedback-warning{background:var(--color-warning-light);border:1px solid var(--color-warning-border);color:var(--text-primary)}.parsons-feedback-header{font-family:var(--font-heading);margin-bottom:.35rem;font-weight:600}.parsons-rationales{margin:0;padding-left:1.2rem}.contrasting-cases-wrapper{margin-block:var(--spacing-md);background:var(--bg-surface);display:block}.contrasting-container{padding:0}.contrasting-header{margin-bottom:var(--spacing-xs);align-items:center;display:flex}.contrasting-badge{font-family:var(--font-heading);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--accent-teal);background:color-mix(in srgb, var(--accent-teal) 10%, var(--bg-surface));border:1px solid color-mix(in srgb, var(--accent-teal) 30%, var(--bg-surface));border-radius:var(--radius-sm);align-items:center;gap:.35rem;padding:.2rem .6rem;font-weight:600;display:inline-flex}.contrasting-title{font-family:var(--font-heading);font-size:var(--text-base);color:var(--text-primary);margin-block:var(--spacing-xs);font-weight:600}.contrasting-instructions{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--spacing-md)}.contrasting-grid{gap:var(--spacing-md);margin-bottom:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.contrasting-card{padding:var(--spacing-md);background:var(--bg-surface-alt);border:1px solid var(--color-light-gray);border-radius:var(--radius-sm);flex-direction:column;transition:border-color .15s,background .15s;display:flex}.contrasting-card.case-correct{border-color:var(--color-success-border);background:var(--color-success-light)}.contrasting-card.case-incorrect{border-color:var(--color-warning-border);background:var(--color-warning-light)}.case-badge{font-family:var(--font-heading);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--accent-teal);margin-bottom:var(--spacing-xs);font-weight:600}.case-stem{font-size:var(--text-sm);line-height:var(--line-height-normal);color:var(--text-primary);margin-bottom:var(--spacing-md);flex:1}.trigger-highlight{background:var(--color-warning-light);border-bottom:2px solid var(--color-warning);color:var(--text-primary);border-radius:2px;padding:0 .2rem;font-weight:600}.case-selector{flex-direction:column;gap:.25rem;display:flex}.case-label{font-family:var(--font-heading);font-size:var(--text-xs);color:var(--text-secondary);flex-direction:column;gap:.25rem;font-weight:600;display:flex}.case-select{padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-heading);font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--color-mid-gray);border-radius:var(--radius-sm);cursor:pointer}.case-select:focus-visible{outline:2px solid var(--accent-teal);outline-offset:2px}.contrasting-actions{gap:var(--spacing-xs);display:flex}.contrasting-check-btn{min-height:44px;padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-heading);font-size:var(--text-sm);color:var(--bg-surface);background:var(--accent-teal);border-radius:var(--radius-sm);cursor:pointer;border:none;font-weight:600;transition:background .15s}.contrasting-check-btn:hover{background:var(--accent-teal-hover)}.contrasting-feedback{margin-top:var(--spacing-md);padding:var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--text-sm)}.contrasting-feedback.feedback-success{background:var(--color-success-light);border:1px solid var(--color-success-border);color:var(--text-primary)}.contrasting-feedback.feedback-warning{background:var(--color-warning-light);border:1px solid var(--color-warning-border);color:var(--text-primary)}.contrasting-feedback-header{font-family:var(--font-heading);margin-bottom:.35rem;font-weight:600}.faded-worked-example-wrapper{margin-block:var(--spacing-md);border:1px solid var(--border-color,var(--color-light-gray));border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-sm);overflow:hidden}.faded-container{padding:var(--spacing-md)}.faded-header{justify-content:space-between;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs);flex-wrap:wrap;display:flex}.faded-badge{font-family:var(--font-heading);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--accent-green);border-radius:var(--radius-sm);background:#788c5d1a;border:1px solid #788c5d4d;align-items:center;gap:.35rem;padding:.2rem .6rem;font-weight:600;display:inline-flex}.faded-level-selector{background:var(--bg-surface-alt);border-radius:var(--radius-sm);border:1px solid var(--color-light-gray);gap:.2rem;padding:.2rem;display:inline-flex}.faded-level-selector .level-btn{font-family:var(--font-heading);font-size:var(--text-xs);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.2rem .5rem;font-weight:500;transition:all .15s}.faded-level-selector .level-btn.active{color:var(--text-primary);background:var(--bg-surface);font-weight:600;box-shadow:0 1px 2px #00000014}.faded-title{font-family:var(--font-heading);font-size:var(--text-base);color:var(--text-primary);margin-block:var(--spacing-xs);font-weight:600}.faded-instructions{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--spacing-md)}.faded-steps-container{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-direction:column;display:flex}.faded-step-card{padding:var(--spacing-md);border-radius:var(--radius-sm);border:1px solid var(--color-light-gray);transition:border-color .15s}.faded-step-card.step-worked{background:var(--bg-surface-alt)}.faded-step-card.step-faded{background:var(--bg-surface);border-color:var(--accent-green);box-shadow:0 1px 3px #788c5d1a}.faded-step-card.step-correct{border-color:var(--color-success-border);background:var(--color-success-light)}.faded-step-card.step-incorrect{border-color:var(--color-warning-border);background:var(--color-warning-light)}.step-card-header{margin-bottom:var(--spacing-xs);justify-content:space-between;align-items:center;display:flex}.step-label{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.step-type-tag{font-family:var(--font-heading);font-size:var(--text-xs);border-radius:var(--radius-sm);padding:.15rem .5rem;font-weight:600}.step-type-tag.tag-worked{color:var(--text-secondary);background:var(--color-light-gray)}.step-type-tag.tag-faded{color:var(--accent-green);background:var(--color-success-light);border:1px solid var(--color-success-border)}.step-prompt{font-size:var(--text-sm);color:var(--text-primary);margin-bottom:var(--spacing-xs)}.step-solution-display{padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-surface);border-left:3px solid var(--color-mid-gray);font-size:var(--text-sm);color:var(--text-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.step-mcq-options{gap:var(--spacing-xs);margin-block:var(--spacing-xs);flex-direction:column;display:flex}.step-option-label{align-items:center;gap:var(--spacing-xs);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;display:flex}.step-typed-input{margin-block:var(--spacing-xs)}.faded-text-input{width:100%;max-width:320px;padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-heading);font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--color-mid-gray);border-radius:var(--radius-sm)}.faded-text-input:focus-visible{outline:2px solid var(--accent-green);outline-offset:2px}.step-solution-reveal{margin-top:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-success-light);border-left:3px solid var(--color-success);font-size:var(--text-sm);color:var(--text-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.faded-actions{gap:var(--spacing-xs);display:flex}.faded-check-btn{padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-heading);font-size:var(--text-sm);color:var(--bg-surface);background:var(--accent-green);border-radius:var(--radius-sm);cursor:pointer;border:none;font-weight:600;transition:background .15s}.faded-check-btn:hover{background:var(--accent-green-hover)}.faded-feedback{margin-top:var(--spacing-md);padding:var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--text-sm)}.faded-feedback.feedback-success{background:var(--color-success-light);border:1px solid var(--color-success-border);color:var(--text-primary)}.faded-feedback.feedback-warning{background:var(--color-warning-light);border:1px solid var(--color-warning-border);color:var(--text-primary)}.faded-feedback-header{font-family:var(--font-heading);margin-bottom:.35rem;font-weight:600}.faded-rationales{margin:0;padding-left:1.2rem}.visual-predictor-wrapper{margin-block:var(--spacing-md);background:var(--bg-surface);display:block}.visual-predictor-container{padding:0}.visual-predictor-header{margin-bottom:var(--spacing-xs);align-items:center;display:flex}.visual-predictor-badge{font-family:var(--font-heading);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--accent-purple);background:color-mix(in srgb, var(--accent-purple) 10%, var(--bg-surface));border:1px solid color-mix(in srgb, var(--accent-purple) 30%, var(--bg-surface));border-radius:var(--radius-sm);align-items:center;gap:.35rem;padding:.2rem .6rem;font-weight:600;display:inline-flex}.visual-predictor-title{font-family:var(--font-heading);font-size:var(--text-base);color:var(--text-primary);margin-block:var(--spacing-xs);font-weight:600}.visual-predictor-prompt{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--spacing-md)}.visual-predictor-svg-area{padding:var(--spacing-sm);background:var(--bg-surface-alt);border:1px solid var(--color-light-gray);border-radius:var(--radius-sm);margin-bottom:var(--spacing-md)}.visual-predictor-svg{width:100%;height:auto;display:block}.predictor-sliders-grid{gap:var(--spacing-md);margin-bottom:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.predictor-slider-label{font-family:var(--font-heading);font-size:var(--text-xs);color:var(--text-secondary);flex-direction:column;gap:.35rem;font-weight:600;display:flex}.predictor-slider-label input[type=range]{width:100%;accent-color:var(--accent-purple)}.visual-predictor-actions{gap:var(--spacing-xs);display:flex}.visual-predictor-values,.visual-predictor-explain{color:var(--text-secondary);font-size:var(--text-sm)}.visual-predictor-values{margin-bottom:var(--spacing-sm)}.visual-predictor-explain{margin-top:var(--spacing-md);padding:var(--spacing-sm);background:var(--bg-surface-alt);border-radius:var(--radius-sm)}.visual-predictor-submit-btn,.visual-predictor-replay-btn{min-height:44px;padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-heading);font-size:var(--text-sm);color:var(--bg-surface);background:var(--accent-purple);border-radius:var(--radius-sm);cursor:pointer;border:none;font-weight:600;transition:background .15s}.visual-predictor-replay-btn{padding:var(--spacing-xs) var(--spacing-sm);color:var(--text-primary);background:var(--bg-surface-alt);border:var(--border-medium);border-radius:var(--radius-sm);cursor:pointer}.visual-predictor-submit-btn:hover{opacity:.9}.visual-predictor-feedback{margin-top:var(--spacing-md);padding:var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--text-sm)}.visual-predictor-feedback.feedback-success{background:var(--color-success-light);border:1px solid var(--color-success-border);color:var(--text-primary)}.visual-predictor-feedback.feedback-warning{background:var(--color-warning-light);border:1px solid var(--color-warning-border);color:var(--text-primary)}.visual-predictor-feedback-header{font-family:var(--font-heading);margin-bottom:.35rem;font-weight:600}.visual-predictor-legend{gap:var(--spacing-md);font-family:var(--font-mono);font-size:var(--text-xs);margin-block:var(--spacing-xs);display:flex}.legend-pred{color:var(--accent-blue);font-weight:600}.legend-true{color:var(--accent-green);font-weight:600}
