:root{--ink:#172b4d;--muted:#526581;--line:#d8dee8;--canvas:#f7f8fa;--paper:#fff;--blue:#0052cc;--cyan:#008da6;--violet:#6554c0;--mint:#00875a;--amber:#974f0c;--rose:#bf2600;--soft-blue:#deebff;--soft-mint:#e3fcef;--soft-violet:#eae6ff;--soft-amber:#fff0b3;--soft-rose:#ffebe6;--shadow:0 16px 46px rgba(9,30,66,.12);--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--canvas);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}button,a{font:inherit}.course-app{min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto}.course-top{display:grid;grid-template-columns:minmax(250px,1fr) auto auto;align-items:center;gap:18px;padding:13px 22px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20}.course-brand b{display:block;font-size:15px}.course-brand span,.course-count{color:var(--muted);font:12px/1.4 var(--viz-mono)}.course-controls{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.course-controls button,.course-nav button{min-height:38px;border:1px solid #cfd6e1;border-radius:9px;background:#fff;color:var(--ink);padding:7px 12px;cursor:pointer}.course-controls button:hover,.course-nav button:hover:not(:disabled),.course-controls button.active{border-color:#4c9aff;background:var(--soft-blue);color:#0747a6}.course-lesson{width:min(1660px,100%);margin:auto;display:grid;grid-template-columns:minmax(350px,440px) minmax(650px,1fr);gap:clamp(24px,3vw,54px);align-items:start;padding:clamp(24px,3.4vw,52px)}.course-copy{min-width:0}.course-eyebrow,.course-question{font-family:var(--viz-mono);text-transform:uppercase;letter-spacing:.1em;font-weight:760}.course-eyebrow{color:var(--blue);font-size:11px}.course-question{margin-top:20px;color:var(--muted);font-size:10px}.course-copy h1{font-size:clamp(35px,3.4vw,56px);line-height:1.02;letter-spacing:-.045em;margin:10px 0 16px}.course-copy h1 em{font-style:normal;color:var(--blue)}.course-summary{font-size:clamp(15px,1.1vw,18px);line-height:1.65;color:#344563;margin:0}.course-equation{margin-top:22px;padding:14px 15px;border-left:3px solid #4c9aff;background:linear-gradient(90deg,var(--soft-blue),transparent);font:13px/1.65 var(--viz-mono);overflow-wrap:anywhere}.course-provenance{display:flex;align-items:flex-start;gap:9px;margin-top:17px;color:var(--muted);font-size:12px;line-height:1.5}.course-badge{flex:none;border-radius:999px;padding:4px 8px;font:700 9px/1.2 var(--viz-mono);letter-spacing:.06em}.course-badge.reported{color:#0747a6;background:var(--soft-blue)}.course-badge.executed{color:#006644;background:var(--soft-mint)}.course-badge.animated{color:#403294;background:var(--soft-violet)}.course-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.course-links a{color:var(--blue);font-size:12px;font-weight:750;text-decoration:none;border-bottom:1px solid #4c9aff;padding-bottom:2px}.course-stage{min-width:0;border:1px solid #c9d1dd;border-radius:18px;background:#fff;box-shadow:var(--shadow);overflow:hidden}.course-stage-head{display:flex;justify-content:space-between;gap:15px;padding:12px 16px;border-bottom:1px solid var(--line);color:var(--muted);font:700 10px/1.4 var(--viz-mono);letter-spacing:.08em}.course-canvas-scroll{max-width:100%;overflow-x:auto}.course-canvas{padding:clamp(14px,2vw,24px);min-height:440px;display:grid;align-content:center;background:linear-gradient(155deg,#fff,#f4f7fb)}.course-canvas svg{display:block;width:100%;height:auto;max-height:540px;overflow:visible}.course-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 16px 13px}.course-note{border:1px solid var(--line);border-radius:8px;padding:10px 11px;background:#fff;min-width:0}.course-note b{display:block;color:var(--blue);font-size:11px;margin-bottom:4px}.course-note span{display:block;color:var(--muted);font-size:11px;line-height:1.45;overflow-wrap:anywhere}.course-caption{padding:11px 16px;border-top:1px solid var(--line);background:#fafbfc;color:#344563;font-size:13px;line-height:1.5}.course-caption b{color:var(--ink)}.course-subtitle{padding:10px 16px;border-top:1px solid #b3d4ff;background:#f1f7ff;color:#253858;font-size:12px;line-height:1.5}.course-subtitle::before{content:"TEACHING GUIDE";display:block;margin-bottom:3px;color:#0747a6;font:800 9px/1 var(--viz-mono);letter-spacing:.1em}.course-footer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 18px;border-top:1px solid var(--line);background:#fff}.course-nav{display:flex;gap:7px}.course-nav button:disabled{opacity:.35}.course-progress{display:flex;gap:4px;min-width:0;overflow-x:auto;padding:4px}.course-beat{flex:1 0 22px;height:8px;border:0;border-radius:999px;background:#dfe4ec;cursor:pointer;padding:0}.course-beat.done{background:#8996a8}.course-beat.active{background:var(--blue);box-shadow:0 0 0 3px var(--soft-blue)}.course-keys{color:var(--muted);font:10px/1.3 var(--viz-mono);white-space:nowrap}.panel{fill:#fff;stroke:#c9d1dd;stroke-width:1.4}.soft{fill:#f4f7fb;stroke:#c9d1dd;stroke-width:1.2}.blue{fill:#deebff;stroke:#4c9aff}.mint{fill:#e3fcef;stroke:#36b37e}.violet{fill:#eae6ff;stroke:#8777d9}.amber{fill:#fff0b3;stroke:#ffab00}.rose{fill:#ffebe6;stroke:#ff5630}.t{fill:#172b4d;font:700 14px Inter,sans-serif}.s{fill:#526581;font:500 12px Inter,sans-serif}.m{fill:#42526e;font:650 11px var(--viz-mono)}.big{fill:#172b4d;font:800 25px Inter,sans-serif}.tb{fill:#0747a6}.tm{fill:#006644}.tv{fill:#403294}.ta{fill:#7a3e00}.tr{fill:#a51d00}.line{fill:none;stroke:#8996a8;stroke-width:2}.flow{fill:none;stroke:#0052cc;stroke-width:2.5;stroke-dasharray:8 6;animation:course-dash 1.1s linear infinite}.rise{opacity:0;transform:translateY(10px);animation:course-rise .55s var(--ease) forwards;animation-delay:var(--d,0ms)}.grow{transform-box:fill-box;transform-origin:left center;animation:course-grow .85s var(--ease) both;animation-delay:var(--d,0ms)}.draw{stroke-dasharray:700;stroke-dashoffset:700;animation:course-draw 1.6s var(--ease) forwards;animation-delay:var(--d,0ms)}.pulse{transform-box:fill-box;transform-origin:center;animation:course-pulse 1.8s ease-in-out infinite}@keyframes course-dash{to{stroke-dashoffset:-28}}@keyframes course-rise{to{opacity:1;transform:none}}@keyframes course-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes course-draw{to{stroke-dashoffset:0}}@keyframes course-pulse{50%{transform:scale(1.04);filter:drop-shadow(0 4px 8px rgba(0,82,204,.18))}}.paused .course-canvas *{animation-play-state:paused!important}.viz-reduced-motion .course-canvas *,.explore .course-canvas *{animation:none!important;opacity:1!important;transform:none!important}
@media(max-width:1100px){.course-lesson{grid-template-columns:1fr;padding:24px}.course-copy{max-width:780px}.course-canvas{min-height:0}.course-stage{width:100%}.course-top{grid-template-columns:1fr auto}.course-count{display:none}}@media(max-width:680px){.course-top{grid-template-columns:1fr;padding:12px 14px}.course-controls{justify-content:flex-start}.course-lesson{padding:18px 12px;gap:20px}.course-copy h1{font-size:36px}.course-notes{grid-template-columns:1fr}.course-stage-head{align-items:flex-start;flex-direction:column}.course-canvas{padding:10px;min-width:700px}.course-footer{grid-template-columns:auto 1fr;align-items:start}.course-progress{flex-wrap:wrap;overflow:visible}.course-beat{flex:0 0 20px}.course-keys{display:none}}
