.course-v2{--course-accent: var(--prism-ai)}.course-v2 .course-crumbs,.course-v2 .course-switcher,.course-v2 .course-actions,.course-v2 .lesson-meta,.course-v2 .progress-copy{font-family:var(--mono)}.course-v2 .course-crumbs{display:flex;align-items:center;gap:9px;padding:22px 0 0;color:var(--ink-3);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}.course-v2 .course-crumbs a{color:var(--ink-2);text-decoration:none}.course-v2 .course-crumbs a:hover,.course-v2 .course-crumbs a:focus-visible{color:var(--ink)}.course-v2 .course-switcher{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:22px;border:1px solid var(--rule);background:var(--rule);gap:1px}.course-v2 .course-switcher>*{min-height:58px;padding:11px 14px;background:var(--paper);color:var(--ink-2);text-decoration:none}.course-v2 .course-switcher.has-three{grid-template-columns:repeat(3,minmax(0,1fr))}.course-v2 .course-switcher .course-nav-item:hover,.course-v2 .course-switcher .course-nav-item:focus-visible{background:var(--paper-2);color:var(--ink)}.course-v2 .course-switcher .current{box-shadow:inset 3px 0 0 var(--course-accent);color:var(--ink)}.course-v2 .course-switcher .future{color:var(--ink-3)}.course-v2 .course-switcher span{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.course-v2 .course-switcher strong{display:block;margin-top:4px;font-family:var(--thai);font-size:14px;font-weight:500}.course-v2[data-lang=en] .course-switcher strong{font-family:var(--sans)}.course-v2 .course-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:56px;padding:48px 0 36px;border-bottom:1px solid var(--ink);align-items:end}.course-v2 .course-kicker,.course-v2 .section-kicker{margin:0 0 10px;color:var(--course-accent);font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase}.course-v2 .course-hero h1{margin:0;max-width:760px;color:var(--ink);font-family:var(--serif);font-size:clamp(42px,6vw,76px);font-weight:500;letter-spacing:-.025em;line-height:.98;text-wrap:balance}.course-v2[data-lang=th] .course-hero h1{font-family:var(--thai);font-size:clamp(38px,5vw,64px);line-height:1.15}.course-v2 .course-deck{max-width:690px;margin:22px 0 0;color:var(--ink-2);font-family:var(--serif);font-size:20px;line-height:1.48}.course-v2[data-lang=th] .course-deck{font-family:var(--thai);font-size:18px;line-height:1.7}.course-v2 .course-facts{margin:0;border-top:1px solid var(--ink)}.course-v2 .course-facts div{display:grid;grid-template-columns:1fr auto;gap:18px;padding:10px 0;border-bottom:1px solid var(--rule)}.course-v2 .course-facts dt{color:var(--ink-3);font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.course-v2 .course-facts dd{margin:0;color:var(--ink);font-size:13px;text-align:right}.course-v2 .course-overview{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:1px;margin:36px 0;border:1px solid var(--rule);background:var(--rule)}.course-v2 .course-overview>section{padding:28px 30px;background:var(--paper)}.course-v2 .course-overview h2,.course-v2 .path-head h2,.course-v2 .next-copy h2{margin:0;color:var(--ink);font-family:var(--serif);font-size:30px;font-weight:500;line-height:1.1}.course-v2[data-lang=th] .course-overview h2,.course-v2[data-lang=th] .path-head h2,.course-v2[data-lang=th] .next-copy h2{font-family:var(--thai);line-height:1.35}.course-v2 .outcome-list,.course-v2 .prerequisite-list{margin:18px 0 0;padding:0;list-style:none}.course-v2 .outcome-list li,.course-v2 .prerequisite-list li{position:relative;padding:11px 0 11px 30px;border-bottom:1px solid var(--rule-2);color:var(--ink-2);line-height:1.55}.course-v2 .outcome-list li:last-child,.course-v2 .prerequisite-list li:last-child{border-bottom:0}.course-v2 .prerequisite-list a{color:var(--ink);text-decoration-color:var(--course-accent);text-underline-offset:3px}.course-v2 .prerequisite-list a:hover,.course-v2 .prerequisite-list a:focus-visible{color:var(--course-accent)}.course-v2 .outcome-list li:before,.course-v2 .prerequisite-list li:before{position:absolute;left:0;top:11px;color:var(--course-accent);font-family:var(--mono)}.course-v2 .outcome-list li:before{content:"→"}.course-v2 .prerequisite-list li:before{content:"✓"}.course-v2 .progress-panel{padding:28px 30px;border:1px solid var(--ink);background:var(--paper-2)}.course-v2 .progress-heading{display:flex;justify-content:space-between;gap:24px;align-items:end}.course-v2 .progress-heading h2{margin:0;font-family:var(--serif);font-size:28px;font-weight:500}.course-v2[data-lang=th] .progress-heading h2{font-family:var(--thai)}.course-v2 .progress-copy{margin:0;color:var(--ink-2);font-size:11px;text-align:right}.course-v2 .progress-track{height:8px;margin-top:18px;border:1px solid var(--rule);background:var(--paper);overflow:hidden}.course-v2 .progress-fill{width:0;height:100%;background:var(--course-accent);transition:width .18s ease}.course-v2 .progress-note{margin:12px 0 0;color:var(--ink-3);font-size:12px;line-height:1.55}.course-v2 .course-actions{display:flex;gap:12px;margin-top:18px;align-items:center;flex-wrap:wrap}.course-v2 .next-link,.course-v2 .reset-progress{min-height:42px;padding:10px 14px;border:1px solid var(--ink);border-radius:0;font:inherit;font-size:12px}.course-v2 .next-link{background:var(--ink);color:var(--paper);text-decoration:none}.course-v2 .next-link:hover,.course-v2 .next-link:focus-visible{background:var(--course-accent);border-color:var(--course-accent)}.course-v2 .reset-progress{background:transparent;color:var(--ink-2);cursor:pointer}.course-v2 .reset-progress:hover,.course-v2 .reset-progress:focus-visible{color:var(--ink);background:var(--paper)}.course-v2 .course-path{margin-top:52px}.course-v2 .path-head{display:flex;justify-content:space-between;gap:32px;align-items:end;padding-bottom:16px;border-bottom:1px solid var(--ink)}.course-v2 .path-head p{max-width:440px;margin:0;color:var(--ink-2);font-size:14px;line-height:1.55;text-align:right}.course-v2 .lesson-list{margin:0;padding:0;list-style:none}.course-v2 .lesson-row{display:grid;grid-template-columns:54px minmax(0,1fr) 132px;gap:20px;align-items:center;min-height:112px;padding:18px 0;border-bottom:1px solid var(--rule)}.course-v2 .lesson-number{color:var(--ink-3);font-family:var(--mono);font-size:12px;letter-spacing:.08em}.course-v2 .lesson-copy h3{margin:0;color:var(--ink);font-family:var(--serif);font-size:23px;font-weight:500;line-height:1.15}.course-v2[data-lang=th] .lesson-copy h3{font-family:var(--thai);font-size:21px;line-height:1.4}.course-v2 .lesson-copy p{margin:7px 0 0;color:var(--ink-2);font-size:14px;line-height:1.55}.course-v2 .lesson-meta{display:flex;gap:10px;margin-top:8px;color:var(--ink-3);font-size:10px;letter-spacing:.05em;text-transform:uppercase}.course-v2 .lesson-action{display:flex;flex-direction:column;gap:8px;align-items:stretch}.course-v2 .lesson-open,.course-v2 .lesson-check{min-height:38px;padding:8px 10px;border:1px solid var(--rule);border-radius:0;background:var(--paper);color:var(--ink);font:inherit;font-size:12px;text-align:center}.course-v2 .lesson-open{text-decoration:none}.course-v2 .lesson-open:hover,.course-v2 .lesson-open:focus-visible{border-color:var(--course-accent)}.course-v2 .lesson-check{cursor:pointer}.course-v2 .lesson-check[aria-pressed=true]{border-color:var(--course-accent);background:color-mix(in oklch,var(--course-accent) 12%,var(--paper))}.course-v2 .lesson-row[data-complete=true] .lesson-number,.course-v2 .lesson-row[data-complete=true] .lesson-copy h3{color:var(--ink-3)}.course-v2 .lesson-row.planned{opacity:.66}.course-v2 .planned-label{padding:7px 9px;border:1px dashed var(--rule);color:var(--ink-3);font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-align:center;text-transform:uppercase}.course-v2 .completion-outcome{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;margin-top:48px;padding:30px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);align-items:center}.course-v2 .completion-outcome p{margin:10px 0 0;max-width:720px;color:var(--ink-2);line-height:1.6}.course-v2 .completion-mark{color:var(--course-accent);font-family:var(--serif);font-size:72px;line-height:1}.knowledge-v2 .course-entry{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:24px;align-items:center;margin-top:28px;padding:22px 24px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);color:var(--ink);text-decoration:none;box-shadow:inset 4px 0 0 var(--prism-ai)}.knowledge-v2 .course-entry:hover,.knowledge-v2 .course-entry:focus-visible{background:var(--paper-2)}.knowledge-v2 .course-entry .course-code{color:var(--prism-ai);font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.knowledge-v2 .course-entry h2{margin:0;font-family:var(--serif);font-size:28px;font-weight:500;line-height:1.15}.knowledge-v2[data-lang=th] .course-entry h2{font-family:var(--thai)}.knowledge-v2 .course-entry p{margin:6px 0 0;color:var(--ink-2);font-size:14px;line-height:1.5}.knowledge-v2 .course-entry .course-go{color:var(--ink);font-family:var(--mono);font-size:11px;white-space:nowrap}@media(prefers-reduced-motion:reduce){.course-v2 .progress-fill{transition:none}}@media(max-width:900px){.course-v2 .course-hero,.course-v2 .course-overview{grid-template-columns:1fr;gap:0}.course-v2 .course-hero{gap:30px}.course-v2 .lesson-row{grid-template-columns:44px minmax(0,1fr)}.course-v2 .lesson-action{grid-column:2;flex-direction:row}.course-v2 .lesson-action>*{flex:1}}@media(max-width:620px){.course-v2 .course-switcher,.course-v2 .course-switcher.has-three{grid-template-columns:1fr}.course-v2 .course-hero{padding-top:34px}.course-v2 .course-overview>section,.course-v2 .progress-panel{padding:22px 20px}.course-v2 .progress-heading,.course-v2 .path-head{align-items:start;flex-direction:column;gap:10px}.course-v2 .progress-copy,.course-v2 .path-head p{text-align:left}.course-v2 .lesson-row{grid-template-columns:36px minmax(0,1fr);gap:12px}.course-v2 .lesson-action{grid-column:1 / -1}.course-v2 .completion-outcome{grid-template-columns:1fr;padding:24px 0}.course-v2 .completion-mark{display:none}.knowledge-v2 .course-entry{grid-template-columns:1fr;gap:10px;padding:20px 18px}}
