:root{--accent:#6d43c3;--accent-dark:#523091;--pale:#f0eaff;--ink:#263249;--muted:#59677a;--paper:#f7f8fc;--white:#fff;--line:#e0e4ef}
body{background:radial-gradient(ellipse at 0 0,#e9ddff 0,transparent 45%),radial-gradient(ellipse at 100% 30%,#dff6ef 0,transparent 45%),var(--paper)}
body[data-module="1"]{--accent:#6d43c3;--accent-dark:#523091;--pale:#f0eaff}
body[data-module="2"]{--accent:#ad4a13;--accent-dark:#84360b;--pale:#fff0df}
body[data-module="3"]{--accent:#08796f;--accent-dark:#075b54;--pale:#dcf5f0}
.site-header{background:#ffffffc9;border-bottom:3px solid var(--pale)}
.module-label{background:linear-gradient(125deg,var(--pale),#fff)}
.lesson-center>.visual-summary{margin:0 0 28px}.outcome-panel{border-top:4px solid var(--accent)}
.outcome-panel article:nth-child(2){background:#fff1d9}.outcome-panel article:nth-child(3){background:#def4ed}
.learning-progress{padding:20px;border-top:1px solid var(--line)}
.learning-progress>strong{display:block;font-size:18px;margin:10px 0}.learning-progress progress{display:block;width:100%;height:9px;accent-color:var(--accent)}
.local-note{font-size:12px;line-height:1.65;color:var(--muted);margin:12px 0}
.learning-progress nav{display:grid;gap:7px;margin-top:18px}.learning-progress nav a{display:grid;grid-template-columns:25px 1fr;gap:5px 7px;padding:10px 6px;border-radius:10px;font-size:12px;line-height:1.5}
.learning-progress nav a[aria-current]{background:var(--pale);box-shadow:inset 3px 0 var(--accent)}
.learning-progress nav b{color:var(--accent);grid-row:span 2}.learning-progress nav small{color:var(--muted);font-size:10px}
.welcome-layout>.learning-progress{background:#fff;border:1px solid var(--line);border-radius:20px;margin-bottom:30px}.welcome-layout .learning-progress nav{grid-template-columns:repeat(4,minmax(0,1fr))}
.video-status{padding:18px 22px;border:1px solid var(--line);background:var(--pale);border-radius:0 0 16px 16px;font-size:13px;line-height:1.7}.video-status p{margin-top:5px}
.learning-work,.practice-card{background:white;border:1px solid var(--line);border-radius:18px;padding:25px;margin-top:24px;box-shadow:0 12px 30px #26324906}
.learning-work h2,.practice-card h2{font-size:22px;margin:8px 0 20px;letter-spacing:-.4px}
.learning-work form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.learning-work label{display:block;font-size:13px;font-weight:600;line-height:1.7}
textarea{display:block;width:100%;min-height:128px;resize:vertical;font:inherit;font-weight:400;color:var(--ink);background:#fafbfe;border:1px solid #bcc7d8;border-radius:10px;padding:12px;margin-top:8px}
textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.save-status,.work-buttons{grid-column:1/-1}.save-status{font-size:12px;line-height:1.6;color:var(--muted)}
.work-buttons{display:flex;flex-wrap:wrap;gap:12px}.work-buttons .outline-button{width:auto}.self-review{margin-top:20px;border-top:1px solid var(--line);padding-top:16px;font-size:13px;line-height:1.8}.self-review summary{cursor:pointer;font-weight:600;color:var(--accent)}
.practice-card{border-top:4px solid var(--accent)}.practice-card fieldset{border:0;margin:18px 0;padding:0;min-width:0}.practice-card legend{font-size:16px;font-weight:600;line-height:1.6;margin-bottom:15px}
.practice-card label{display:flex;align-items:baseline;gap:10px;padding:14px;border:1px solid var(--line);border-radius:10px;margin-bottom:9px;font-size:14px;line-height:1.6;cursor:pointer}.practice-card label:has(input:checked){border-color:var(--accent);background:var(--pale)}.practice-card input{accent-color:var(--accent)}
.practice-feedback:not(:empty){margin-top:18px;padding:16px;border-radius:12px;font-size:14px;line-height:1.7}.correct{background:#e4f7eb;color:#165c33;border:1px solid #88c7a0}.incorrect{background:#fff0ef;color:#9e2626;border:1px solid #e8a6a0}
.ad-workspace .learning-work{margin:0;padding:18px}.ad-workspace .learning-work form{grid-template-columns:1fr}.ad-workspace .vacant{position:sticky;top:20px;background:linear-gradient(135deg,#f0eaff,#e3f4ee)}
.program-strip div:first-child{background:linear-gradient(130deg,#fff,#eee3ff)}.program-strip div:nth-child(3){background:linear-gradient(130deg,#fff,#d5f3ee)}
@media(max-width:1100px){.learning-work form{grid-template-columns:1fr}.ad-workspace{grid-template-columns:1fr}.ad-workspace .vacant{position:static}}
@media(max-width:780px){.learning-progress{grid-column:1/-1}.lesson-sidebar .learning-progress nav{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-layout .learning-progress nav{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-work,.practice-card{padding:18px}.work-buttons>*{width:100%!important}.learning-progress{padding:16px}.lesson-center>.visual-summary{margin-bottom:24px}}
.video-question-dialog{width:min(640px,calc(100vw - 32px));max-height:min(90vh,760px);overflow:auto;border:1px solid var(--line);border-top:5px solid var(--accent);border-radius:18px;padding:0;color:var(--ink);background:var(--white);box-shadow:0 24px 90px #10182855}
.video-question-dialog::backdrop{background:#172033a8;backdrop-filter:blur(3px)}
.video-question-form{display:grid;gap:14px;padding:clamp(20px,4vw,34px)}
.video-question-form h2{font-size:clamp(21px,3vw,28px);line-height:1.35;margin:0}
.video-question-form>label{font-size:14px;font-weight:650;line-height:1.55}
.video-question-form textarea{min-height:120px}
.approach-options{display:grid;gap:8px;border:0;padding:0;margin:0}
.approach-options legend{font-size:13px;font-weight:650;margin-bottom:8px}
.approach-options label{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-size:14px;line-height:1.45}
.approach-options label:has(input:checked){border-color:var(--accent);background:var(--pale);box-shadow:inset 0 0 0 1px var(--accent)}
.approach-options input{accent-color:var(--accent);width:17px;height:17px;flex:0 0 auto}
.approach-submit-status{min-height:1.4em;margin:0;font-size:13px;line-height:1.5;color:var(--muted)}
.video-question-form button:disabled{opacity:.65;cursor:wait}
@media(max-width:560px){.video-question-dialog{padding:0;border-radius:14px}.approach-options label{padding:10px}}

