.course-root{--c-bg:#fdfdfc;--c-color:#111;--c-muted:#0006;--c-rule:#f2f2f2;--c-link-rule:#d9d9d9;--c-focus:#007aff80;--c-ph-border:#e3e3e1;--c-ph-bg:#fbfbfa;z-index:0;background:var(--c-bg);color:var(--c-color);letter-spacing:-.0056rem;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,PingFang SC,Microsoft YaHei,sans-serif;font-size:.875rem;font-weight:460;line-height:1.25;position:fixed;inset:0;overflow:hidden}.course-root *,.course-root :before,.course-root :after{box-sizing:border-box}.course-root .deck{width:100vw;height:100vh;position:relative}.course-root .slide{opacity:0;visibility:hidden;pointer-events:none;cursor:pointer;justify-content:center;align-items:center;width:100vw;height:100vh;padding:clamp(3rem,6vh,4.6rem) clamp(2rem,6vw,6rem);transition:opacity .55s;display:flex;position:absolute;inset:0}.course-root .slide.active{opacity:1;visibility:visible;pointer-events:auto;z-index:2}.course-root .col{flex-direction:column;gap:1.6rem;width:100%;max-width:min(1080px,92vw);display:flex}.course-root .col.center{text-align:center;align-items:center;gap:1.6rem;max-width:min(960px,90vw)}.course-root .head{flex-direction:column;gap:.85rem;display:flex}.course-root .title{letter-spacing:-.02em;color:var(--c-color);text-wrap:balance;max-width:20ch;font-size:clamp(1.6rem,3.6vw,2.5rem);font-weight:540;line-height:1.18}.course-root .col.center .title{max-width:24ch}.course-root .title.big{letter-spacing:-.024em;max-width:18ch;font-size:clamp(2.1rem,5.2vw,3.6rem);font-weight:560;line-height:1.14}.course-root .title.hero{letter-spacing:-.03em;text-wrap:nowrap;max-width:none;font-size:clamp(2.6rem,7vw,5rem);font-weight:580;line-height:1.08}.course-root .sub{color:var(--c-muted);text-wrap:pretty;max-width:46ch;font-size:clamp(.95rem,1.4vw,1.1rem);font-weight:460}.course-root .col.center .sub{max-width:42ch}.course-root .sub .hl{color:var(--c-color);font-weight:600}.course-root .quote{letter-spacing:-.014em;color:var(--c-color);border-left:2px solid var(--c-color);text-wrap:pretty;max-width:40ch;margin-top:.5rem;padding-left:1rem;font-size:clamp(1.1rem,2vw,1.45rem);font-weight:540;line-height:1.35}.course-root .col.center .quote{text-wrap:balance;border-left:0;max-width:30ch;margin-top:0;padding-left:0}.course-root .eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--c-muted);font-size:.72rem;font-weight:540}.course-root .points{flex-direction:column;gap:.85rem;margin-top:.2rem;display:flex}.course-root .points li{color:var(--c-color);text-wrap:pretty;max-width:40ch;padding-left:1.25rem;font-size:clamp(1.05rem,1.7vw,1.3rem);font-weight:500;line-height:1.3;list-style:none;position:relative}.course-root .points li:before{content:"";background:var(--c-color);border-radius:50%;width:5px;height:5px;position:absolute;top:.58em;left:0}.course-root .points li .lead{font-weight:540}.course-root .points li .dim{color:var(--c-muted)}.course-root .two{grid-template-columns:1fr 1fr;gap:clamp(1.4rem,4vw,3rem);margin-top:.4rem;display:grid}.course-root .cell{border-top:1px solid var(--c-rule);flex-direction:column;gap:.6rem;padding-top:1rem;display:flex}.course-root .cell h3{letter-spacing:-.018em;font-size:clamp(1.2rem,2vw,1.5rem);font-weight:560}.course-root .cell p{color:var(--c-muted);text-wrap:pretty;max-width:26ch;font-size:clamp(.95rem,1.4vw,1.1rem);line-height:1.35}.course-root .cell .accent{color:var(--c-color)}.course-root .check{flex-direction:column;gap:.9rem;margin-top:.4rem;display:flex}.course-root .check li{text-wrap:pretty;max-width:36ch;padding-left:1.9rem;font-size:clamp(1.05rem,1.7vw,1.3rem);font-weight:500;line-height:1.3;list-style:none;position:relative}.course-root .check li:before{content:"?";border:1px solid var(--c-link-rule);width:1.15rem;height:1.15rem;color:var(--c-muted);border-radius:50%;justify-content:center;align-items:center;font-size:.72rem;display:flex;position:absolute;top:0;left:0}.course-root .stats{flex-wrap:wrap;gap:clamp(2rem,6vw,4.5rem);margin-top:.6rem;display:flex}.course-root .stat .n{letter-spacing:-.03em;font-size:clamp(2.6rem,7vw,4.6rem);font-weight:540;line-height:1}.course-root .stat .l{color:var(--c-muted);margin-top:.3rem;font-size:.875rem}.course-root .figure{border-top:1px solid var(--c-rule);margin-top:.5rem}.course-root .frame{background:var(--c-bg);justify-content:center;align-items:center;width:100%;max-height:60vh;padding:.4rem 0;display:flex;position:relative;overflow:hidden}.course-root .ph{text-align:center;border:1px dashed var(--c-ph-border);background:var(--c-ph-bg);justify-content:center;align-items:center;width:100%;min-height:38vh;display:flex}.course-root .ph span{color:var(--c-muted);letter-spacing:-.0056rem;max-width:50ch;padding:1.5rem;font-size:.8125rem;font-weight:460}.course-root .progress{z-index:50;color:var(--c-muted);letter-spacing:.04em;font-variant-numeric:tabular-nums;align-items:center;gap:.7rem;font-size:.72rem;display:flex;position:fixed;top:clamp(1.4rem,3vw,2.2rem);right:clamp(1.4rem,3vw,2.2rem)}.course-root .dots{gap:.4rem;display:flex}.course-root .dot{background:var(--c-link-rule);width:5px;height:5px;font:inherit;cursor:pointer;appearance:none;border:0;border-radius:50%;margin:0;padding:0;transition:background .35s,transform .35s}.course-root .dot:hover{background:#999}.course-root .dot:focus-visible{outline:2px solid var(--c-focus);outline-offset:3px}.course-root .dot.on{background:var(--c-color);transform:scale(1.15)}.course-root .credit{z-index:50;color:var(--c-muted);letter-spacing:-.0056rem;font-size:.72rem;font-weight:460;position:fixed;top:clamp(1.4rem,3vw,2.2rem);left:clamp(1.4rem,3vw,2.2rem)}.course-root .hint{z-index:50;color:var(--c-muted);letter-spacing:.04em;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:.7rem;font-weight:460;position:fixed;bottom:clamp(1rem,2.4vw,1.6rem);left:50%;transform:translate(-50%)}.course-root .slide.active .stagger{animation:.5s cubic-bezier(.22,.61,.36,1) both course-rise}.course-root .slide.active .stagger:first-child{animation-delay:0s}.course-root .slide.active .stagger:nth-child(2){animation-delay:50ms}.course-root .slide.active .stagger:nth-child(3){animation-delay:.1s}.course-root .slide.active .stagger:nth-child(4){animation-delay:.15s}.course-root .slide.active .stagger:nth-child(5){animation-delay:.2s}.course-root .slide.active .stagger:nth-child(6){animation-delay:.25s}@keyframes course-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.course-root .slide{align-items:center;padding:2.4rem 1.4rem}.course-root .col{gap:1.2rem}.course-root .title.hero{font-size:clamp(2rem,11vw,3rem)}.course-root .points li,.course-root .check li{max-width:100%}.course-root .two{grid-template-columns:1fr;gap:1.1rem}.course-root .stats{gap:2rem}.course-root .credit,.course-root .hint{display:none}}@media (prefers-reduced-motion:reduce){.course-root .slide{transition:none}.course-root .slide.active .stagger{animation:none}.course-root .dot{transition:none}}
