*,*:before,*:after{box-sizing:border-box}: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-green: #788c5d;--accent-green-hover: #677a4f;--bg-color: var(--color-light);--bg-surface: #ffffff;--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: rgba(120, 140, 93, .1);--color-success-border: rgba(120, 140, 93, .3);--color-warning: #d4a843;--color-warning-light: rgba(212, 168, 67, .1);--color-warning-border: rgba(212, 168, 67, .3);--color-danger: #c75450;--color-danger-light: rgba(199, 84, 80, .1);--color-danger-border: rgba(199, 84, 80, .3);--color-info: var(--accent-blue);--color-info-light: rgba(106, 155, 204, .1);--color-info-border: rgba(106, 155, 204, .3);--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 rgba(20, 20, 19, .05);--shadow-md: 0 2px 8px rgba(20, 20, 19, .08);--shadow-lg: 0 4px 16px rgba(20, 20, 19, .1);--shadow-focus: 0 0 0 3px rgba(217, 119, 87, .3);--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)}@media(max-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)}}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}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:0;margin-bottom:var(--spacing-sm)}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-primary-hover);text-decoration:underline}img{max-width:100%;height:auto}code{font-family:var(--font-mono);font-size:.9em;background-color:var(--bg-surface-alt);padding:.15em .4em;border-radius:var(--radius-sm)}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{background:none;padding:0;color:inherit}table{width:100%;border-collapse:collapse;margin-bottom:var(--spacing-md);font-size:var(--text-sm)}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}.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{position:sticky;top:0;z-index:50;display:flex;gap:2px;padding:var(--spacing-xs) var(--lesson-padding);max-width:var(--content-max-width);margin:0 auto var(--spacing-md);overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}.progress-bar::-webkit-scrollbar{display:none}.progress-bar:before{content:"";position:absolute;inset:0 0 0 50%;transform:translate(-50%);width:100vw;background:var(--bg-color);box-shadow:0 2px 12px #0000000f;z-index:-1;pointer-events:none}.progress-bar button{flex:1 0 5.5rem;padding:var(--spacing-xs) var(--spacing-xs);font-family:var(--font-heading);font-size:var(--text-xs);font-weight:500;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}.progress-bar button:hover{background:var(--bg-surface-alt);color:var(--text-primary)}.progress-bar button.visited{background:var(--color-success-light);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);font-weight:700;box-shadow:0 0 0 2px #d9775759,0 2px 8px #d9775740;transform:translateY(-1px);z-index:1;position:relative}@media(max-width:768px){.progress-bar button{font-size:.65rem;padding:.35rem .25rem;flex-basis:4.5rem}}.section{max-width:var(--content-max-width);margin:0 auto var(--spacing-sm);padding:0 var(--lesson-padding)}.section-header{display:flex;align-items:center;justify-content:space-between;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}.section-header:hover{background:var(--bg-surface-alt)}.section-header h2{margin:0;font-size:var(--text-xl)}.chevron{font-size:var(--text-lg);transition:transform var(--transition-normal);color:var(--text-muted)}.section.open .chevron{transform:rotate(180deg)}.section-content{display:none;padding:var(--spacing-md);background:var(--bg-surface);border:var(--border-light);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md)}.section.open .section-content{display:block}.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 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";display:block;font-family:var(--font-heading);font-weight:600;font-size:var(--text-sm);color:var(--color-warning);margin-bottom:var(--spacing-xs)}.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{display:block;position:relative;max-width:100%}.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;padding-right:2rem;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-repeat:no-repeat;background-position:right .5rem center;max-width:100%;width:100%;box-sizing:border-box}.validate-select select:focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--shadow-focus)}.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}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{outline:none;border-color:var(--accent-primary);box-shadow:var(--shadow-focus)}.char-counter{font-size:var(--text-xs);color:var(--text-muted);text-align:right;margin-top:.25rem}.confidence-slider{margin:var(--spacing-md) 0}.confidence-slider input[type=range]{width:100%;height:6px;-webkit-appearance:none;appearance:none;background:var(--color-light-gray);border-radius:3px;outline:none}.confidence-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:var(--accent-primary);border-radius:var(--radius-round);cursor:pointer;box-shadow:var(--shadow-md)}.confidence-slider .slider-labels{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--spacing-xs)}.prediction-checkpoint{background:var(--bg-surface-alt);border:2px dashed var(--accent-blue);padding:var(--spacing-md);border-radius:var(--radius-md);margin:var(--spacing-md) 0;text-align:center}.prediction-checkpoint button{margin-top:var(--spacing-sm)}.path-selector{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin:var(--spacing-md) 0}.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:#d977570d;box-shadow:var(--shadow-md)}.path-option h3{color:var(--accent-primary);margin-bottom:var(--spacing-xs)}.path-content{display:none}.path-content.active{display:block}@media(max-width:768px){.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{display:block;position:relative;padding-left:1.5rem;margin-bottom:var(--spacing-xs);cursor:pointer;font-size:var(--text-sm);line-height:1.6}.retrieval-checkpoint input[type=checkbox]{position:absolute;left:0;top:.25em;accent-color:var(--color-success)}.practice-problem{background:var(--bg-surface);border:var(--border-light);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md);position:relative}.problem-variant{display:none}.problem-variant.active{display:block}.regenerate-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-heading);font-size:var(--text-sm);font-weight:500;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)}.regenerate-btn:hover{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.variant-counter{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--spacing-xs)}.find-the-error{background:var(--bg-surface);border:var(--border-light);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md);position:relative}.find-the-error .fte-prompt{font-family:var(--font-heading);font-weight:600;font-size:var(--text-lg);color:var(--text-primary);margin-bottom:var(--spacing-sm)}.fte-notepad{background:#fffef9;border:2px solid var(--color-light-gray);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md);position:relative;box-shadow:var(--shadow-sm)}.fte-notepad:before{content:"";position:absolute;left:2.5rem;top:0;bottom:0;width:1px;background:#c7545026;pointer-events:none}.fte-notepad-header{display:flex;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)}.fte-notepad-header .fte-student-icon{font-size:var(--text-lg)}.fte-step{display:flex;gap:var(--spacing-sm);padding:var(--spacing-xs) 0;align-items:baseline;transition:background var(--transition-fast);border-radius:var(--radius-sm)}.fte-step-label{font-family:var(--font-heading);font-weight:600;font-size:var(--text-sm);color:var(--text-muted);min-width:5.5rem;flex-shrink:0}.fte-step-content{flex:1;font-size:var(--text-base)}.fte-step.fte-error-step{background:var(--color-danger-light);padding-left:var(--spacing-xs);padding-right:var(--spacing-xs);border-left:3px solid var(--color-danger)}.fte-step.fte-correct-step{background:var(--color-success-light);padding-left:var(--spacing-xs);padding-right:var(--spacing-xs);border-left:3px solid var(--color-success)}.fte-options{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.fte-option{display:flex;align-items:flex-start;gap:var(--spacing-xs);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);user-select:none}.fte-option:hover{border-color:var(--accent-blue);background:var(--color-info-light)}.fte-option input[type=radio]{margin-top:.2em;accent-color:var(--accent-primary);flex-shrink:0}.fte-option-text{font-size:var(--text-sm);line-height:var(--line-height-normal)}.fte-option.fte-selected-correct{border-color:var(--color-success);background:var(--color-success-light)}.fte-option.fte-selected-incorrect{border-color:var(--color-danger);background:var(--color-danger-light)}.fte-option.fte-reveal-correct{border-color:var(--color-success);background:var(--color-success-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);display:none;margin-bottom:var(--spacing-sm)}.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{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);font-family:var(--font-heading);font-size:var(--text-sm);font-weight:600;color:#fff;background:var(--accent-primary);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.fte-check-btn:hover{background:var(--accent-primary-hover);box-shadow:var(--shadow-md)}.fte-check-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.fte-notepad:before{display:none}.fte-step{flex-direction:column;gap:.25rem}.fte-step-label{min-width:unset}}.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{min-height:200px;display:flex;align-items:center;justify-content:center}.viz-controls{display:flex;gap:var(--spacing-xs);flex-wrap:wrap;margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:var(--border-light)}.viz-caption{font-size:var(--text-sm);color:var(--text-secondary);font-style:italic;margin-top:var(--spacing-sm)}button,.btn{font-family:var(--font-heading);font-weight:500;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-primary{background:var(--accent-primary);color:#fff;padding:var(--spacing-xs) var(--spacing-md);font-size:var(--text-sm)}.btn-primary:hover{background:var(--accent-primary-hover);box-shadow:var(--shadow-md)}.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)}.btn-secondary:hover{background:var(--bg-surface-alt)}.btn-sm{padding:.25rem .75rem;font-size:var(--text-xs)}details{margin-bottom:var(--spacing-sm)}details summary{font-family:var(--font-heading);font-weight:500;color:var(--accent-primary);cursor:pointer;padding:var(--spacing-xs) 0;transition:color var(--transition-fast)}details summary:hover{color:var(--accent-primary-hover)}details[open] summary{margin-bottom:var(--spacing-xs)}.language-switcher{position:fixed;top:var(--spacing-sm);right:var(--spacing-sm);z-index:1000;display:flex;gap:4px;background:var(--bg-surface);border:var(--border-light);border-radius:var(--radius-sm);padding:2px;box-shadow:var(--shadow-md)}.language-switcher a{padding:.25rem .75rem;font-family:var(--font-heading);font-size:var(--text-xs);font-weight:600;text-decoration:none;border-radius:calc(var(--radius-sm) - 2px);transition:all var(--transition-fast)}.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)}.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);font-weight:500;color:var(--text-muted);text-decoration:none;transition:color var(--transition-fast)}.course-back-link a:hover{color:var(--accent-primary)}.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}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!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{font-size:11pt;color:#000;background:#fff}}.competency-card{background:var(--bg-surface);border:var(--border-light);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal),transform var(--transition-normal);display:flex;flex-direction:column}.competency-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.competency-card--capstone{border-color:#5ba3a366;background:linear-gradient(135deg,var(--bg-surface) 0%,rgba(91,163,163,.04) 100%)}.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{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);border-bottom:var(--border-light);cursor:pointer}.card-id-badge{font-family:var(--font-heading);font-size:var(--text-xs);font-weight:700;color:#fff;padding:.3em .65em;border-radius:var(--radius-sm);flex-shrink:0;letter-spacing:.04em;margin-top:2px}.card-title-block{flex:1;min-width:0}.card-title{font-size:var(--text-base);font-weight:600;margin-bottom:.2rem;line-height:var(--line-height-tight)}.card-prereq-summary{font-family:var(--font-heading);font-size:var(--text-xs);color:var(--text-muted)}.card-header-actions{display:flex;align-items:center;gap:var(--spacing-xs);flex-shrink:0}.card-mastered-badge{display:none;font-family:var(--font-heading);font-size:var(--text-xs);font-weight:600;color:var(--color-success);background:var(--color-success-light);border:1px solid var(--color-success-border);padding:.2em .55em;border-radius:999px;white-space:nowrap}.card--mastered .card-mastered-badge{display:inline-flex;align-items:center;gap:3px}.card-toggle{background:none;border:none;padding:.25rem;color:var(--text-muted);cursor:pointer;flex-shrink:0;border-radius:var(--radius-sm);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.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{display:block;font-family:var(--font-heading);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.35rem}.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);display:flex;flex-direction:column;gap:var(--spacing-sm)}.card-body[hidden]{display:none}.card-section-title{font-family:var(--font-heading);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:.5rem}.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{display:inline-block;font-family:var(--font-heading);font-size:var(--text-sm);font-weight:600;color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}.card-lesson-link:hover{color:var(--accent-primary-dark, var(--accent-primary));text-decoration:underline}.prereq-chips{display:flex;flex-wrap:wrap;gap:6px}.prereq-chip{font-family:var(--font-heading);font-size:var(--text-xs);font-weight:600;padding:.2em .6em;border-radius:999px;border:1.5px solid var(--chip-color, var(--color-light-gray));color:var(--chip-color, var(--text-muted));background:transparent}.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;border-color:#5ba3a366;background:#5ba3a314}.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);position:relative;padding-left:.5rem}.content-list li+li{margin-top:.3rem}.content-list li:before{content:"–";position:absolute;left:-1rem;color:var(--text-muted)}.card-complete-row{padding-top:var(--spacing-xs);border-top:var(--border-light);margin-top:var(--spacing-xs)}.card-complete-btn{display:inline-flex;align-items:center;gap:5px;padding:.4rem .85rem;font-family:var(--font-heading);font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);background:var(--bg-surface);border:1.5px solid var(--color-light-gray);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.card-complete-btn:hover{border-color:var(--color-success);color:var(--color-success);background:var(--color-success-light)}.card-complete-btn.mastered{color:var(--color-success);background:var(--color-success-light);border-color:var(--color-success-border)}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.flex-1{flex:1}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.w-full{width:100%}.w-auto{width:auto}.max-w-content{max-width:var(--content-max-width)}.max-w-page{max-width:var(--page-max-width)}.mx-auto{margin-left:auto;margin-right:auto}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.px-sm{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.px-md{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.py-sm{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.py-md{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-center{text-align:center}.text-right{text-align:right}.font-heading{font-family:var(--font-heading)}.font-body{font-family:var(--font-body)}.font-mono{font-family:var(--font-mono)}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-normal{font-weight:400}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-accent{color:var(--accent-primary)}.border{border:var(--border-light)}.border-b{border-bottom:var(--border-light)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}
