:root{--font-serif: "Georgia", "Times New Roman", serif;--font-sans: system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Courier New", monospace;--text-xs: 11px;--text-sm: 13px;--text-base: 16px;--text-lg: 18px;--text-xl: 22px;--text-2xl: 28px;--text-3xl: 36px;--leading-tight: 1.3;--leading-normal: 1.65;--leading-loose: 1.85;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--color-bg: #FAFAF8;--color-bg-surface: #F2F0EC;--color-bg-elevated: #E8E5DF;--color-bg-overlay: rgba(30, 31, 46, .04);--color-text: #1A1A2E;--color-text-2: #3D3D5C;--color-text-3: #7A7A9A;--color-text-inverse: #FFFFFF;--color-border: rgba(30, 31, 46, .1);--color-border-strong: rgba(30, 31, 46, .22);--color-brand: #E8520A;--color-brand-bg: #FDF0EA;--color-brand-text: #B33E07;--color-brand-border: #E8520A;--color-pink: #E8386D;--color-pink-bg: #FDE8EF;--color-pink-text: #B32854;--color-pink-border: #E8386D;--color-blue: #3B5BDB;--color-blue-bg: #EBF0FF;--color-blue-text: #2C45A8;--color-blue-border: #3B5BDB;--color-yellow: #F5C518;--color-yellow-bg: #FEFAE8;--color-yellow-text: #8A6D00;--color-yellow-border: #D4A800;--color-success-bg: #EBF0FF;--color-success-text: #2C45A8;--color-success-border: #3B5BDB;--color-warn-bg: #FEFAE8;--color-warn-text: #8A6D00;--color-warn-border: #D4A800;--color-danger-bg: #FDE8EF;--color-danger-text: #B32854;--color-danger-border: #E8386D;--color-info-bg: #FDF0EA;--color-info-text: #B33E07;--color-info-border: #E8520A;--color-progress-track: #E8E5DF;--color-progress-fill: #E8520A;--color-sidebar-bg: #F2F0EC;--color-sidebar-border: rgba(30, 31, 46, .08);--color-sidebar-active: #FDF0EA;--color-unit-0: #E8386D;--color-unit-1: #3B5BDB;--color-unit-2: #E8520A;--color-unit-3: #F5C518;--color-unit-4: #1E1F2E;--color-unit-5: #E8386D;--shadow-sm: 0 1px 3px rgba(30, 31, 46, .1);--shadow-md: 0 4px 12px rgba(30, 31, 46, .12);--shadow-lg: 0 8px 24px rgba(30, 31, 46, .15);--topbar-height: 56px;--sidebar-width: 260px;--content-max: 680px;--bg: var(--color-bg);--bg2: var(--color-bg-surface);--bg3: var(--color-bg-elevated);--paper: var(--color-bg);--surface: var(--color-bg);--card: var(--color-bg);--white: var(--color-bg);--mist: var(--color-bg);--tx: var(--color-text);--tx2: var(--color-text-2);--text: var(--color-text);--text2: var(--color-text-2);--text3: var(--color-text-3);--ink: var(--color-text);--ink-soft: var(--color-text-2);--ink-muted: var(--color-text-3);--muted: var(--color-text-2);--line: var(--color-border-strong);--border: var(--color-border-strong);--border2: var(--color-border-strong);--accent: var(--color-brand);--accent-fill: var(--color-brand-bg);--accent-dim: var(--color-brand-bg);--navy: var(--color-text);--teal: var(--color-brand);--teal-lt: var(--color-brand-bg);--teal-dim: var(--color-brand-bg);--amber: var(--color-warn-border);--amber-lt: var(--color-warn-bg);--rose: var(--color-danger-border);--rose-lt: var(--color-danger-bg);--sage: var(--color-success-text);--sage-lt: var(--color-success-bg);--color-bg-secondary: var(--color-bg-surface);--color-bg-tertiary: var(--color-bg-elevated);--color-text-secondary: var(--color-text-2);--color-text-muted: var(--color-text-3);--color-border-med: var(--color-border-strong);--card-bg: var(--color-bg);--card-border: var(--color-border-strong);--info-bg: var(--color-info-bg);--info-text: var(--color-info-text);--info-border: var(--color-info-border);--warn-bg: var(--color-warn-bg);--warn-text: var(--color-warn-text);--warn-border: var(--color-warn-border);--success-bg: var(--color-success-bg);--success-text: var(--color-success-text);--success-border: var(--color-success-border);--danger-bg: var(--color-danger-bg);--danger-text: var(--color-danger-text);--danger-border: var(--color-danger-border);--teal-bg: var(--color-brand-bg);--teal-text: var(--color-brand-text);--teal-border: var(--color-brand-border)}html[data-theme=dark],html[data-course-theme=dark]{color-scheme:dark;--color-bg: #1E1F2E;--color-bg-surface: #25273A;--color-bg-elevated: #2E3048;--color-bg-overlay: rgba(255, 255, 255, .05);--color-text: #F0EEF8;--color-text-2: #B0ADCC;--color-text-3: #6E6B8A;--color-text-inverse: #1E1F2E;--color-border: rgba(255, 255, 255, .09);--color-border-strong: rgba(255, 255, 255, .2);--color-brand: #FF6B1A;--color-brand-bg: #2E1A0A;--color-brand-text: #FF8C4A;--color-brand-border: #E8520A;--color-pink: #FF4D80;--color-pink-bg: #2E0A18;--color-pink-text: #FF7AA0;--color-pink-border: #E8386D;--color-blue: #5C7CFA;--color-blue-bg: #0F1540;--color-blue-text: #889CFB;--color-blue-border: #3B5BDB;--color-yellow: #FFD43B;--color-yellow-bg: #2A2000;--color-yellow-text: #FFD43B;--color-yellow-border: #F5C518;--color-success-bg: #0F1540;--color-success-text: #889CFB;--color-success-border: #5C7CFA;--color-warn-bg: #2A2000;--color-warn-text: #FFD43B;--color-warn-border: #F5C518;--color-danger-bg: #2E0A18;--color-danger-text: #FF7AA0;--color-danger-border: #E8386D;--color-info-bg: #2E1A0A;--color-info-text: #FF8C4A;--color-info-border: #E8520A;--color-progress-track: #2E3048;--color-progress-fill: #FF6B1A;--color-sidebar-bg: #1E1F2E;--color-sidebar-border: rgba(255, 255, 255, .07);--color-sidebar-active: #2E1A0A;--color-unit-0: #FF4D80;--color-unit-1: #5C7CFA;--color-unit-2: #FF6B1A;--color-unit-3: #FFD43B;--color-unit-4: #B0ADCC;--color-unit-5: #FF4D80;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .35);--shadow-md: 0 4px 12px rgba(0, 0, 0, .45);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .55)}html[data-theme=light],html[data-course-theme=light]{color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body.course-shell-page{margin:0;padding:0}html{font-size:var(--text-base)}body{font-family:var(--font-serif);background:var(--color-bg);color:var(--color-text);line-height:var(--leading-loose);min-height:100vh}body.course-shell-page{font-family:var(--font-sans);line-height:var(--leading-normal)}a{color:var(--color-brand-text)}a:hover{color:var(--color-brand)}:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.skip-link{position:absolute;left:var(--space-4);top:-40px;z-index:400;background:var(--color-brand);color:var(--color-text-inverse);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-sm);text-decoration:none}.skip-link:focus{top:var(--space-2)}.course-topbar{position:fixed;top:0;left:0;right:0;z-index:300;height:var(--topbar-height);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:0 var(--space-4);background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);font-family:var(--font-sans)}.topbar-left,.topbar-right{display:flex;align-items:center;gap:var(--space-3);min-width:0}.topbar-right{flex-direction:row-reverse}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);cursor:pointer}.icon-btn:hover{background:var(--color-bg-elevated)}.icon-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sidebar-toggle{display:none}.wordmark{font-family:var(--font-sans);font-size:14px;font-weight:600;color:var(--color-text);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unit-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 var(--space-3);border-radius:var(--radius-full);border:1px solid currentColor;background:var(--color-bg);font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;white-space:nowrap}.unit-badge[data-unit="0"]{color:var(--color-unit-0)}.unit-badge[data-unit="1"]{color:var(--color-unit-1)}.unit-badge[data-unit="2"]{color:var(--color-unit-2)}.unit-badge[data-unit="3"]{color:var(--color-yellow-text)}.unit-badge[data-unit="4"]{color:var(--color-unit-4)}.unit-badge[data-unit="5"]{color:var(--color-unit-5)}.progress-ring-wrap{position:relative;width:36px;height:36px}.progress-ring{width:32px;height:32px;transform:rotate(-90deg)}.progress-ring .track{fill:none;stroke:var(--color-progress-track);stroke-width:3.5}.progress-ring .fill{fill:none;stroke:var(--color-progress-fill);stroke-width:3.5;stroke-linecap:round;stroke-dasharray:97.4;stroke-dashoffset:97.4;transition:stroke-dashoffset .2s ease}.progress-ring-wrap[data-tooltip]:after{content:attr(data-tooltip);position:absolute;right:0;top:calc(100% + 8px);min-width:160px;padding:var(--space-2) var(--space-3);background:var(--color-bg-elevated);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-xs);box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transform:translateY(-4px)}.progress-ring-wrap:hover:after,.progress-ring-wrap:focus-within:after{opacity:1;transform:none}.course-layout{display:flex;min-height:100vh;padding-top:var(--topbar-height)}.course-sidebar{position:fixed;top:var(--topbar-height);left:0;bottom:0;width:var(--sidebar-width);background:var(--color-sidebar-bg);border-right:1px solid var(--color-sidebar-border);overflow-y:auto;z-index:250;font-family:var(--font-sans)}.course-sidebar-inner{padding:var(--space-3) var(--space-2) var(--space-8)}.sidebar-home{display:block;padding:var(--space-3);margin-bottom:var(--space-2);border-radius:var(--radius-md);color:var(--color-text);text-decoration:none;font-weight:600;font-size:var(--text-sm)}.sidebar-home:hover,.sidebar-home[aria-current=page]{background:var(--color-sidebar-active)}.sidebar-unit{margin-bottom:var(--space-1)}.sidebar-unit-toggle{width:100%;display:flex;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2);border:0;background:transparent;color:var(--color-text);text-align:left;cursor:pointer;border-radius:var(--radius-md);font:inherit}.sidebar-unit-toggle:hover{background:var(--color-bg-overlay)}.sidebar-unit-num{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:22px;padding:0 6px;border-radius:var(--radius-full);color:var(--color-text-inverse);font-size:var(--text-xs);font-weight:700}.sidebar-unit-num[data-unit="0"]{background:var(--color-unit-0)}.sidebar-unit-num[data-unit="1"]{background:var(--color-unit-1)}.sidebar-unit-num[data-unit="2"]{background:var(--color-unit-2)}.sidebar-unit-num[data-unit="3"]{background:var(--color-unit-3);color:#1a1a2e}.sidebar-unit-num[data-unit="4"]{background:var(--color-unit-4)}.sidebar-unit-num[data-unit="5"]{background:var(--color-unit-5)}.sidebar-unit-copy{flex:1;min-width:0}.sidebar-unit-name{display:block;font-size:var(--text-sm);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-unit-progress{display:block;font-size:var(--text-xs);color:var(--color-text-3)}.sidebar-chevron{width:16px;height:16px;flex-shrink:0;transition:transform .2s ease}.sidebar-unit[data-open=true] .sidebar-chevron{transform:rotate(180deg)}.sidebar-lessons{list-style:none;margin:0;padding:0 0 var(--space-2) 0}.sidebar-unit[data-open=false] .sidebar-lessons{display:none}.sidebar-lesson{display:flex;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-3);text-decoration:none;font-size:var(--text-sm);border-left:3px solid transparent}.sidebar-lesson[data-state=in-progress]{color:var(--color-text-2)}.sidebar-lesson[data-state=complete]{color:var(--color-text);text-decoration:line-through;opacity:.5}.sidebar-lesson[data-state=current],.sidebar-lesson[aria-current=page]{background:var(--color-sidebar-active);border-left-color:var(--color-brand);color:var(--color-text);font-weight:600;opacity:1;text-decoration:none}.sidebar-lesson-icon{width:14px;flex-shrink:0;font-size:12px;line-height:1}.sidebar-lesson[data-state=complete] .sidebar-lesson-icon{color:var(--color-success-text)}.sidebar-capstone{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-sidebar-border)}.sidebar-overlay{display:none;position:fixed;inset:var(--topbar-height) 0 0 0;background:#0006;z-index:200}.course-main{flex:1;width:100%;margin-left:var(--sidebar-width);padding:var(--space-8) var(--space-6) var(--space-16)}.course-layout[data-sidebar=false] .course-main{margin-left:0}.course-prose{max-width:var(--content-max);margin:0 auto}.course-prose--wide{max-width:960px}.home-page{margin-left:auto;margin-right:auto}.lesson-page{width:100%;max-width:1400px;margin-left:auto;margin-right:auto}.lesson-page .lesson-frame{width:100%}.breadcrumb{font-family:var(--font-sans);font-size:var(--text-sm);margin:0 0 var(--space-5)}.breadcrumb ol{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;margin:0;padding:0;color:var(--color-text-3)}.breadcrumb li:not(:last-child):after{content:">";margin-left:var(--space-2);color:var(--color-text-3)}.breadcrumb a{color:var(--color-text-2);text-decoration:none}.breadcrumb a:hover{color:var(--color-brand);text-decoration:underline}.lesson-meta-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-4)}.meta-chip{display:inline-flex;align-items:center;min-height:28px;padding:0 var(--space-3);border-radius:var(--radius-full);background:var(--color-bg-surface);border:1px solid var(--color-border);color:var(--color-text-2);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600}.lesson-title{font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:400;line-height:var(--leading-tight);color:var(--color-text);margin:0 0 var(--space-5)}.unit-progress{font-family:var(--font-sans);background:var(--color-bg-surface);border-radius:var(--radius-md);padding:10px 14px;margin:0 0 var(--space-6);border:1px solid var(--color-border)}.unit-progress-label{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-3);margin-bottom:var(--space-2)}.unit-progress-track{height:8px;background:var(--color-progress-track);border-radius:var(--radius-full);overflow:hidden}.unit-progress-fill{height:100%;background:var(--color-progress-fill);border-radius:var(--radius-full)}.lesson-frame{display:block;width:100%;min-height:70vh;border:2px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-bg);box-shadow:var(--shadow-sm)}.lesson-footer{margin-top:var(--space-10);padding-top:var(--space-8);border-top:1px solid var(--color-border)}.completion-btn{display:flex;align-items:center;gap:var(--space-4);width:100%;min-height:64px;padding:16px 20px;border:2px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-bg-surface);color:var(--color-text);text-align:left;cursor:pointer;font-family:var(--font-sans);transition:all .2s ease}.completion-btn:hover{background:var(--color-bg-elevated)}.completion-btn[aria-checked=true]{border-color:var(--color-brand);background:var(--color-brand-bg);color:var(--color-brand-text)}.completion-icon{width:28px;height:28px;border:2px solid var(--color-border-strong);border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px}.completion-btn[aria-checked=true] .completion-icon{border-color:var(--color-brand);background:var(--color-brand);color:var(--color-text-inverse)}.completion-copy strong{display:block;font-size:var(--text-base)}.completion-copy span{display:block;font-size:var(--text-sm);color:var(--color-text-2);margin-top:2px}.lesson-seq{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-top:var(--space-8);padding-top:var(--space-8);border-top:1px solid var(--color-border)}.seq-btn{display:flex;flex-direction:column;justify-content:center;min-height:56px;padding:var(--space-3) var(--space-4);border:2px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text);text-decoration:none;font-family:var(--font-sans)}.seq-btn:hover{background:var(--color-bg-elevated)}.seq-btn.next{text-align:right;margin-left:auto;width:100%}.seq-btn.muted{opacity:.45;pointer-events:none}.seq-kicker{font-size:var(--text-xs);color:var(--color-text-3);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.seq-title{font-size:var(--text-sm);margin-top:4px}.home-hero{text-align:center;max-width:var(--content-max);margin:0 auto var(--space-12);padding-top:var(--space-8)}.hero-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 var(--space-4);border-radius:var(--radius-full);background:var(--color-brand-bg);color:var(--color-brand-text);border:1px solid var(--color-brand-border);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;line-height:1}.home-hero h1{font-family:var(--font-serif);font-size:var(--text-3xl);font-weight:400;line-height:var(--leading-tight);margin:var(--space-5) 0 var(--space-3)}.home-hero .lede{font-family:var(--font-serif);font-size:var(--text-lg);line-height:var(--leading-loose);color:var(--color-text-2);margin:0 0 var(--space-4)}.home-hero .sub{font-family:var(--font-serif);color:var(--color-text-2);margin:0 0 var(--space-8)}.hero-actions{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.cta-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 var(--space-6);border-radius:var(--radius-md);background:var(--color-brand);color:var(--color-text-inverse);text-decoration:none;font-family:var(--font-sans);font-weight:600}.cta-btn:hover{filter:brightness(1.05);color:var(--color-text-inverse)}.cta-link{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-brand-text)}.section-title{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-3);margin:0 0 var(--space-4)}.persona-grid,.outcome-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-bottom:var(--space-12)}.outcome-grid{grid-template-columns:1fr 1fr}.persona-card-home,.outcome-card,.tree-unit,.home-progress{background:var(--color-bg-surface);border:2px solid var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-5)}.persona-card-home h2,.outcome-card h3,.home-progress h2{font-family:var(--font-sans);font-size:var(--text-lg);margin:0 0 var(--space-2)}.persona-kicker{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-brand-text);margin-bottom:var(--space-2)}.persona-card-home p,.outcome-card p{margin:0;color:var(--color-text-2);font-family:var(--font-serif);line-height:var(--leading-loose)}.unit-tree{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-12)}.tree-unit-toggle{width:100%;display:grid;grid-template-columns:auto 1fr auto auto;gap:var(--space-3);align-items:center;background:transparent;border:0;padding:0;text-align:left;cursor:pointer;font:inherit;color:inherit;min-height:44px}.tree-unit-copy strong{display:block;font-family:var(--font-sans);font-size:var(--text-base)}.tree-unit-copy span{display:block;font-size:var(--text-sm);color:var(--color-text-3);font-family:var(--font-sans)}.tree-bar{width:88px;height:8px;background:var(--color-progress-track);border-radius:var(--radius-full);overflow:hidden}.tree-bar>span{display:block;height:100%;background:var(--color-progress-fill)}.tree-lessons{list-style:none;margin:var(--space-4) 0 0;padding:0;display:none}.tree-unit[data-open=true] .tree-lessons{display:block}.tree-lesson{display:grid;grid-template-columns:22px 48px 1fr auto auto;gap:var(--space-3);align-items:center;min-height:44px;padding:var(--space-2) 0;border-top:1px solid var(--color-border);font-family:var(--font-sans);font-size:var(--text-sm)}.tree-lesson a{color:var(--color-text);text-decoration:none;font-weight:600}.tree-lesson a:hover{color:var(--color-brand)}.tree-status{color:var(--color-text-3);font-size:var(--text-xs)}.home-progress{display:grid;grid-template-columns:140px 1fr;gap:var(--space-6);align-items:center;margin-bottom:var(--space-12)}.home-progress .progress-ring,.home-progress svg.progress-ring{width:120px;height:120px}.home-progress p{margin:0 0 var(--space-2);color:var(--color-text-2)}.unit-list{display:flex;flex-direction:column;gap:var(--space-3)}.unit-row{display:flex;justify-content:space-between;gap:var(--space-4);align-items:center;padding:var(--space-4) var(--space-5);background:var(--color-bg-surface);border:2px solid var(--color-border-strong);border-radius:var(--radius-lg);text-decoration:none;color:inherit;min-height:44px}.unit-row:hover{background:var(--color-bg-elevated)}.sh{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-3);margin:var(--space-10) 0 var(--space-4)}.bt{font-family:var(--font-serif);font-size:var(--text-base);line-height:var(--leading-loose);color:var(--color-text-2);margin-bottom:var(--space-4)}.ui{font-family:var(--font-sans)}.kq,.question-block,.persona-card,.std-panel{border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);padding:var(--space-5)}.option-label,.check-btn,.nav-btn,.btn{background:var(--color-bg);border:2px solid var(--color-border);color:var(--color-text-2)}.option-label:hover,.check-btn:hover,.nav-btn:hover,.btn:hover{background:var(--color-bg-surface);border-color:var(--color-border-strong);color:var(--color-text)}.correct,.option-label.correct,[data-state=correct]{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-text)}.wrong,.option-label.wrong,[data-state=wrong]{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-text)}html[data-theme] body,html[data-course-theme] body{background:var(--color-bg);color:var(--color-text)}html[data-theme] .paper,html[data-course-theme] .paper,html[data-theme] .question-block,html[data-course-theme] .question-block,html[data-theme] .std-panel,html[data-course-theme] .std-panel,html[data-theme] .persona-card,html[data-course-theme] .persona-card{background:var(--color-bg-surface);color:var(--color-text);border:2px solid var(--color-border-strong);border-radius:var(--radius-lg)}html[data-theme] .callout.info,html[data-course-theme] .callout.info{background:var(--color-info-bg);border-color:var(--color-info-border);color:var(--color-info-text)}html[data-theme] .callout.warn,html[data-course-theme] .callout.warn{background:var(--color-warn-bg);border-color:var(--color-warn-border);color:var(--color-warn-text)}html[data-theme] .callout.alert,html[data-course-theme] .callout.alert{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-text)}html[data-theme] .callout.success,html[data-course-theme] .callout.success{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-text)}html[data-theme] table,html[data-course-theme] table{width:100%;border-collapse:collapse}html[data-theme] th,html[data-theme] td,html[data-course-theme] th,html[data-course-theme] td{border:1px solid var(--color-border-strong);padding:var(--space-3);background:var(--color-bg-surface);color:var(--color-text)}.table-scroll{overflow-x:auto}@media(max-width:767px){.sidebar-toggle{display:inline-flex}.course-sidebar{transform:translate(-100%);transition:transform .2s ease;box-shadow:var(--shadow-lg)}.course-layout[data-nav-open=true] .course-sidebar{transform:none}.sidebar-overlay{display:none}.course-layout[data-nav-open=true] .sidebar-overlay{display:block}.course-main,.course-layout[data-sidebar=false] .course-main{margin-left:0;padding:var(--space-6) var(--space-4) var(--space-12)}.wordmark{font-size:13px}.unit-badge{display:none}.persona-grid,.outcome-grid,.home-progress,.lesson-seq,.tree-unit-toggle,.tree-lesson{grid-template-columns:1fr}.seq-btn,.seq-btn.next{width:100%;text-align:left}.option-label,.check-btn,.btn{width:100%}}@media(max-width:600px){.persona-group,.two-col,.grid-2{display:block}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.persona-aside{font-family:var(--font-sans);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);margin:var(--space-8) 0;background:var(--color-bg)}.pa-row{display:flex;gap:var(--space-3);align-items:flex-start;margin-bottom:var(--space-3)}.pa-row:last-child{margin-bottom:0}.pa-divider{border:none;border-top:1px solid var(--color-border);margin:var(--space-3) 0}.pa-badge{font-size:var(--text-xs);font-weight:600;padding:3px 9px;border-radius:var(--radius-full);flex-shrink:0;margin-top:2px;white-space:nowrap}.pa-a{background:var(--color-blue-bg);color:var(--color-blue-text)}.pa-b{background:var(--color-warn-bg);color:var(--color-warn-text)}.pa-c{background:var(--color-brand-bg);color:var(--color-brand-text)}.pa-text{font-size:var(--text-sm);color:var(--color-text-2);line-height:var(--leading-loose)}.callout{font-family:var(--font-sans);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--color-border);border-left:4px solid var(--color-brand-border);margin:var(--space-6) 0;font-size:var(--text-sm);line-height:var(--leading-loose);background:var(--color-bg-surface);color:var(--color-text-2)}.callout-info,.callout.info,.callout.blue{background:var(--color-info-bg);color:var(--color-info-text);border-color:var(--color-info-border)}.callout-warn,.callout.warn,.callout-amber,.callout.amber,.callout.gold{background:var(--color-warn-bg);color:var(--color-warn-text);border-color:var(--color-warn-border)}.callout-success,.callout.success{background:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-success-border)}.callout-danger,.callout.alert,.callout.rose,.callout.red{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:var(--color-danger-border)}.callout-brand,.callout-teal,.callout.teal{background:var(--color-brand-bg);color:var(--color-brand-text);border-color:var(--color-brand-border)}.callout-title,.callout-label{font-weight:600;font-size:var(--text-sm);margin-bottom:var(--space-1);display:block}.key-concept{font-family:var(--font-sans);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);margin:var(--space-6) 0;background:var(--color-bg-surface)}.key-concept-label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-3);margin-bottom:var(--space-2)}.key-concept-title{font-size:var(--text-lg);font-weight:500;color:var(--color-text);margin-bottom:var(--space-2)}.key-concept-body{font-size:var(--text-sm);color:var(--color-text-2);line-height:var(--leading-loose)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3);margin:var(--space-6) 0;font-family:var(--font-sans)}.stat-card{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg)}.stat-label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-3);margin-bottom:var(--space-1)}.stat-value{font-size:var(--text-2xl);font-weight:600;color:var(--color-text);line-height:1.2}.stat-sub{font-size:var(--text-xs);color:var(--color-text-3);margin-top:var(--space-1);line-height:1.4}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin:var(--space-6) 0;font-family:var(--font-sans)}.compare-card{padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg)}.compare-card-label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.compare-card-title{font-size:var(--text-base);font-weight:500;margin-bottom:var(--space-2)}.compare-card-body{font-size:var(--text-sm);line-height:var(--leading-loose);color:var(--color-text-2)}.compare-card-danger{border-color:var(--color-danger-border);background:var(--color-danger-bg)}.compare-card-danger .compare-card-label,.compare-card-danger .compare-card-title{color:var(--color-danger-text)}.compare-card-success{border-color:var(--color-success-border);background:var(--color-success-bg)}.compare-card-success .compare-card-label,.compare-card-success .compare-card-title{color:var(--color-success-text)}.compare-card-info{border-color:var(--color-info-border);background:var(--color-info-bg)}.compare-card-info .compare-card-label,.compare-card-info .compare-card-title{color:var(--color-info-text)}.compare-card-warn{border-color:var(--color-warn-border);background:var(--color-warn-bg)}.compare-card-warn .compare-card-label,.compare-card-warn .compare-card-title{color:var(--color-warn-text)}.step-list{display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-6) 0;font-family:var(--font-sans)}.step-item{display:grid;grid-template-columns:32px 1fr;gap:var(--space-3);align-items:flex-start;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg)}.step-num{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;background:var(--color-brand-bg);color:var(--color-brand-text);border:1px solid var(--color-brand-border)}.step-body{font-size:var(--text-sm);color:var(--color-text-2);line-height:var(--leading-loose)}.step-title{font-size:var(--text-sm);font-weight:600;color:var(--color-text);margin-bottom:var(--space-1)}.definition-box{font-family:var(--font-sans);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);margin:var(--space-5) 0;background:var(--color-bg-surface);display:grid;grid-template-columns:auto 1fr;gap:var(--space-4);align-items:start}.definition-term{font-size:var(--text-sm);font-weight:700;color:var(--color-brand-text);white-space:nowrap;padding-top:2px}.definition-body{font-size:var(--text-sm);color:var(--color-text-2);line-height:var(--leading-loose)}.data-table-wrap{overflow-x:auto;margin:var(--space-6) 0;border-radius:var(--radius-lg);border:1px solid var(--color-border)}.data-table{width:100%;border-collapse:collapse;font-family:var(--font-sans);font-size:var(--text-sm)}.data-table th{background:var(--color-bg-surface);color:var(--color-text-3);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:10px 14px;text-align:left;border-bottom:1px solid var(--color-border)}.data-table td{padding:10px 14px;color:var(--color-text-2);border-bottom:1px solid var(--color-border);line-height:var(--leading-normal);vertical-align:top}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--color-bg-overlay)}.tag{font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--radius-full);display:inline-block;white-space:nowrap}.tag-success{background:var(--color-success-bg);color:var(--color-success-text)}.tag-warn{background:var(--color-warn-bg);color:var(--color-warn-text)}.tag-danger{background:var(--color-danger-bg);color:var(--color-danger-text)}.tag-info{background:var(--color-info-bg);color:var(--color-info-text)}.tag-brand{background:var(--color-brand-bg);color:var(--color-brand-text)}.tag-neutral{background:var(--color-bg-elevated);color:var(--color-text-2)}.accordion{font-family:var(--font-sans);display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-5) 0}.accordion-item{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.accordion-header{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;background:var(--color-bg);width:100%;min-height:44px;text-align:left;border:none;font-family:var(--font-sans)}.accordion-header:hover{background:var(--color-bg-surface)}.accordion-num{width:28px;height:28px;border-radius:50%;background:var(--color-info-bg);border:1px solid var(--color-info-border);color:var(--color-info-text);font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.accordion-title{font-size:var(--text-sm);font-weight:500;color:var(--color-text);flex:1;line-height:var(--leading-normal);padding-top:3px}.accordion-chevron{font-size:14px;color:var(--color-text-3);flex-shrink:0;transition:transform .2s ease;padding-top:4px}.accordion-item.open .accordion-chevron{transform:rotate(180deg)}.accordion-body{display:none;padding:var(--space-2) var(--space-4) var(--space-4) 52px;border-top:1px solid var(--color-border);background:var(--color-bg-surface);font-size:var(--text-sm);color:var(--color-text-2);line-height:var(--leading-loose)}.accordion-item.open .accordion-body{display:block}.accordion-good{font-size:var(--text-sm);color:var(--color-success-text);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-success-bg);margin-bottom:var(--space-2)}.accordion-bad{font-size:var(--text-sm);color:var(--color-danger-text);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-danger-bg)}.obj-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);margin:0 0 var(--space-6);padding:0;font-family:var(--font-sans)}.obj-list li{display:flex;gap:var(--space-3);align-items:flex-start;font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text-2)}.obj-list li:before{content:"→";color:var(--color-brand);font-weight:500;flex-shrink:0}.unit-progress{font-family:var(--font-sans);background:var(--color-bg-surface);border-radius:var(--radius-md);padding:10px 14px;margin-bottom:var(--space-6);border:1px solid var(--color-border)}.unit-progress-label,.up-label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-3);margin-bottom:var(--space-2)}.unit-progress-steps,.up-steps{display:flex;gap:var(--space-1)}.unit-progress-step,.up-step{flex:1;height:4px;border-radius:2px;background:var(--color-bg-elevated)}.unit-progress-step.done,.up-step.done{background:var(--color-brand)}.unit-progress-step.current,.up-step.current{background:var(--color-brand);opacity:.4}.lesson-hr,hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-10) 0}@media(max-width:600px){.compare-grid,.definition-box{grid-template-columns:1fr}}html[data-theme] .kq,html[data-course-theme] .kq,.kq{display:block;font-family:var(--font-sans);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-4);background:var(--color-bg)}.kq-num{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-3);margin-bottom:var(--space-2)}.kq-q{font-size:15px;font-weight:500;line-height:var(--leading-normal);color:var(--color-text);margin-bottom:var(--space-3)}.kq-opts{display:flex;flex-direction:column;gap:var(--space-2)}html[data-theme] .kq-o,html[data-course-theme] .kq-o,.kq-o{appearance:none;-webkit-appearance:none;display:block;width:100%;padding:10px 14px;font-size:var(--text-sm);font-family:var(--font-sans);line-height:var(--leading-normal);border-radius:var(--radius-md);border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-2);background:var(--color-bg);text-align:left;transition:background .15s ease,border-color .15s ease,color .15s ease}html[data-theme] .kq-o:hover:not([disabled]),html[data-course-theme] .kq-o:hover:not([disabled]),.kq-o:hover:not([disabled]){background:var(--color-bg-surface);border-color:var(--color-border-strong);color:var(--color-text)}.kq-o:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}html[data-theme] .kq-o.correct,html[data-course-theme] .kq-o.correct,.kq-o.correct{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-text);cursor:default;font-weight:500}html[data-theme] .kq-o.wrong,html[data-course-theme] .kq-o.wrong,.kq-o.wrong{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-text);cursor:default}html[data-theme] .kq-o.revealed,html[data-course-theme] .kq-o.revealed,.kq-o.revealed{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-text);cursor:default;font-weight:500}.kq-o[disabled]{cursor:default;opacity:.85}.kq-fb{margin-top:var(--space-3);padding:10px 14px;border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-sans);line-height:var(--leading-loose);display:none}.kq-fb.correct{display:block;background:var(--color-success-bg);color:var(--color-success-text);border-left:3px solid var(--color-success-border)}.kq-fb.wrong{display:block;background:var(--color-danger-bg);color:var(--color-danger-text);border-left:3px solid var(--color-danger-border)}.kq-section-label{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-3);margin:var(--space-10) 0 var(--space-4)}html[data-theme] .q-opt,html[data-course-theme] .q-opt,.q-opt{appearance:none;-webkit-appearance:none;display:flex;gap:var(--space-3);align-items:flex-start;width:100%;padding:10px 14px;font-size:var(--text-sm);font-family:var(--font-sans);line-height:var(--leading-normal);border-radius:var(--radius-md);border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-2);background:var(--color-bg);text-align:left}.q-opt:hover:not([disabled]){background:var(--color-bg-surface);border-color:var(--color-border-strong);color:var(--color-text)}.q-opt.correct{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-text)}.q-opt.incorrect,.q-opt.wrong{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-text)}.q-opt[disabled],.q-opt:disabled{cursor:default}.opt-letter{font-weight:700;font-size:12px;width:22px;height:22px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--color-bg-elevated);color:var(--color-text-3)}.q-opt.correct .opt-letter{background:var(--color-success-border);color:var(--color-text-inverse)}.q-opt.incorrect .opt-letter,.q-opt.wrong .opt-letter{background:var(--color-danger-border);color:var(--color-text-inverse)}html[data-theme] .answer-btn,html[data-course-theme] .answer-btn,html[data-theme] .ab,html[data-course-theme] .ab,.answer-btn,.ab{appearance:none;-webkit-appearance:none;display:flex;align-items:flex-start;gap:10px;width:100%;padding:10px 14px;font-size:var(--text-sm);font-family:var(--font-sans);line-height:var(--leading-normal);border-radius:var(--radius-md);border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-2);background:var(--color-bg);text-align:left}.answer-btn:hover:not(:disabled),.ab:hover:not(:disabled){background:var(--color-bg-surface);border-color:var(--color-border-strong);color:var(--color-text)}.answer-btn.correct,.ab.correct{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-text)}.answer-btn.incorrect,.ab.incorrect,.answer-btn.wrong,.ab.wrong{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-text)}.answer-btn:disabled,.ab:disabled{cursor:default}html[data-theme] .option-label,html[data-course-theme] .option-label,.option-label{display:flex;gap:var(--space-2);align-items:flex-start;width:100%;padding:10px 14px;margin-bottom:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text-2);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-normal);cursor:pointer}.option-label.correct{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-text)}.option-label.wrong{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-text)}html[data-theme] .check-btn,html[data-course-theme] .check-btn,.check-btn{appearance:none;-webkit-appearance:none;display:inline-block;margin-top:var(--space-2);padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-sm);cursor:pointer}.check-btn:hover:not(:disabled){background:var(--color-bg-surface);border-color:var(--color-border-strong)}html[data-theme] .persona-aside,html[data-course-theme] .persona-aside,html[data-theme] .callout,html[data-course-theme] .callout,html[data-theme] .compare-card,html[data-course-theme] .compare-card,html[data-theme] .step-item,html[data-course-theme] .step-item,html[data-theme] .key-concept,html[data-course-theme] .key-concept{padding:var(--space-4) var(--space-5)}
