:root{--ink:#13211b;--muted:#65736c;--paper:#f5f7f1;--card:#fff;--line:#dce3db;--green:#1c9361;--lime:#b9ed86;--dark:#10231b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}.library-nav{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;max-width:1240px;margin:auto;padding:26px 36px}.library-logo{display:flex;align-items:center;gap:11px;font-weight:800;text-decoration:none;letter-spacing:-.02em}.library-logo span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:#102119;background:var(--lime);transform:rotate(-4deg)}.library-nav nav{display:flex;align-items:center;gap:26px;color:#718078;font-size:13px}.library-nav nav a{text-decoration:none}.library-nav nav a:hover{color:var(--ink)}.kicker{margin:0 0 16px;color:var(--green);font:800 11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em}.library-hero{display:grid;grid-template-columns:1fr 360px;align-items:center;gap:60px;max-width:1240px;min-height:590px;margin:auto;padding:70px 36px 100px}.library-hero h1{margin:0;max-width:780px;font:600 clamp(55px,7vw,95px)/1.04 ui-serif,"Songti SC","STSong",serif;letter-spacing:-.055em}.library-hero h1 em{color:var(--green);font-style:normal}.hero-copy{max-width:590px;margin:32px 0 0;color:var(--muted);font-size:18px;line-height:1.8}.hero-orbit{position:relative;display:grid;place-items:center;width:310px;height:310px;border-radius:50%;background:var(--dark);box-shadow:0 30px 80px #183b2d24}.hero-orbit:before,.hero-orbit:after{content:"";position:absolute;border-radius:50%;border:1px solid #ffffff21}.hero-orbit:before{inset:26px}.hero-orbit:after{inset:62px}.hero-orbit strong{position:relative;z-index:1;color:var(--lime);font:700 92px/1 ui-serif,serif}.hero-orbit small{position:absolute;z-index:1;bottom:53px;color:#91a69b;font:700 9px/1.5 ui-monospace,monospace;letter-spacing:.16em;text-align:center}.course-library{max-width:1240px;margin:auto;padding:90px 36px 130px;border-top:1px solid var(--line)}.course-library>header{display:flex;justify-content:space-between;align-items:end;margin-bottom:42px}.course-library h2,.section-heading h2,.audience h2{margin:0;font:600 46px/1.15 ui-serif,"Songti SC",serif;letter-spacing:-.03em}.library-search{display:flex;align-items:center;gap:10px;width:260px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}.library-search span{font-size:20px;color:#839088}.library-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;font:inherit;font-size:13px}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.course-card{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 16px 50px #1736290a;transition:.25s}.course-card:hover{transform:translateY(-5px);box-shadow:0 24px 70px #17362917}.course-visual{position:relative;display:block;height:260px;overflow:hidden;color:#fff;background:radial-gradient(circle at 75% 20%,#ffffff18,transparent 30%),var(--dark);text-decoration:none}.course-visual:before{content:"";position:absolute;width:180px;height:180px;right:-35px;bottom:-35px;border:45px solid var(--course-accent);border-radius:50%;opacity:.85}.course-index{position:absolute;top:22px;left:24px;color:#8fa49a;font:700 11px ui-monospace,monospace}.course-state{position:absolute;top:19px;right:20px;padding:6px 10px;border:1px solid #ffffff22;border-radius:20px;color:#c4d1ca;font-size:10px}.course-glyph{position:absolute;left:28px;bottom:22px;color:var(--course-accent);font:800 110px/1 ui-serif,serif}.course-card-body{padding:25px 26px 27px}.course-card-body .kicker{margin-bottom:9px}.course-card h2{margin:0;font:650 25px/1.35 ui-serif,"Songti SC",serif}.course-card h2 a{text-decoration:none}.course-card-body>p:not(.kicker){min-height:46px;margin:10px 0 23px;color:var(--muted);font-size:14px;line-height:1.65}.course-card-meta{display:flex;justify-content:space-between;padding-top:18px;border-top:1px solid var(--line);color:#849189;font-size:11px}.no-results{padding:60px;text-align:center;color:var(--muted)}.library-footer{display:flex;justify-content:space-between;max-width:1240px;margin:auto;padding:28px 36px;border-top:1px solid var(--line);color:#839087;font-size:12px}.library-footer a{text-decoration:none}
.intro-page{--course-accent:#b9ed86;background:#f7f8f3}.intro-nav{max-width:1180px}.nav-study{padding:10px 16px;border-radius:10px!important;color:#102119!important;background:var(--course-accent)}.intro-page main{overflow:hidden}.intro-hero{display:grid;grid-template-columns:minmax(0,1fr) 400px;align-items:center;gap:90px;max-width:1180px;min-height:650px;margin:auto;padding:80px 36px 110px}.intro-copy h1{margin:0;font:650 clamp(58px,7vw,90px)/1.05 ui-serif,"Songti SC",serif;letter-spacing:-.055em}.intro-subtitle{margin:22px 0;color:#214f3b;font:500 24px/1.5 ui-serif,"Songti SC",serif}.intro-summary{max-width:690px;margin:0;color:var(--muted);font-size:16px;line-height:1.85}.intro-actions{display:flex;align-items:center;gap:26px;margin-top:35px}.primary-action{display:inline-flex;align-items:center;gap:42px;padding:15px 19px 15px 22px;border-radius:11px;color:#fff;background:var(--dark);text-decoration:none;font-size:14px;font-weight:700;transition:.2s}.primary-action:hover{transform:translateY(-2px);box-shadow:0 15px 35px #17352924}.primary-action span{color:var(--course-accent);font-size:20px}.text-action{color:var(--muted);font-size:13px;text-decoration:none}.course-poster{position:relative;min-height:480px;padding:35px;border-radius:24px;color:#fff;background:var(--dark);box-shadow:0 34px 90px #17352925;transform:rotate(2deg)}.poster-grid{position:absolute;inset:0;opacity:.12;background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:36px 36px;border-radius:inherit;mask-image:linear-gradient(to bottom,#000,transparent 80%)}.poster-mark{position:relative;display:block;color:var(--course-accent);font:800 185px/.85 ui-serif,serif}.course-poster>p{position:relative;margin:20px 0;color:#dbe8e0;font:800 12px/1.5 ui-monospace,monospace;letter-spacing:.25em}.poster-stats{position:absolute;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;right:25px;bottom:28px;left:25px;padding-top:20px;border-top:1px solid #ffffff24}.poster-stats span{color:#82998e;font-size:9px}.poster-stats b{display:block;margin-bottom:3px;color:#fff;font-size:18px}.intro-metrics{display:grid;grid-template-columns:1fr 2fr 1fr;max-width:1180px;margin:auto;padding:0 36px 70px}.intro-metrics span{padding:22px 24px;border:1px solid var(--line);color:#849088;font-size:11px}.intro-metrics span+span{border-left:0}.intro-metrics b{display:block;margin-top:5px;color:var(--ink);font-size:13px}.intro-section{max-width:1180px;margin:auto;padding:110px 36px}.outcomes{border-top:1px solid var(--line)}.section-heading{margin-bottom:48px}.outcome-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.outcome-grid article{min-height:190px;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff}.outcome-grid span{color:var(--green);font:800 11px ui-monospace,monospace}.outcome-grid p{margin:60px 0 0;font:550 17px/1.6 ui-serif,"Songti SC",serif}.outline{display:grid;grid-template-columns:340px 1fr;gap:100px}.section-heading>p:last-child{color:var(--muted);line-height:1.7}.module-list article{display:grid;grid-template-columns:55px 1fr;gap:24px;padding:30px 0;border-top:1px solid var(--line)}.module-list>article>span{color:var(--green);font:800 11px ui-monospace,monospace}.module-list h3{margin:0 0 10px;font:600 24px ui-serif,"Songti SC",serif}.module-list p{margin:0;color:var(--muted);font-size:14px;line-height:1.8}.audience{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:1px solid var(--line)}.audience ul{list-style:none;margin:0;padding:0}.audience li{position:relative;padding:21px 0 21px 30px;border-bottom:1px solid var(--line);color:#425149;line-height:1.7}.audience li:before{content:"↗";position:absolute;left:0;color:var(--green)}.teacher{display:grid;grid-template-columns:220px 1fr;gap:70px;max-width:1108px;margin:0 auto 110px;padding:65px;border-radius:24px;color:#fff;background:var(--dark)}.teacher-avatar{display:grid;place-items:center;width:190px;height:190px;border:1px solid #ffffff1f;border-radius:50%;color:var(--course-accent);background:#ffffff0b;font:650 76px ui-serif,serif}.teacher h2{margin:0;font:600 42px ui-serif,"Songti SC",serif}.teacher h3{margin:8px 0 22px;color:#aabdb3;font-size:14px;font-weight:500}.teacher>div>p:last-child{max-width:690px;margin:0;color:#9fb0a8;font-size:14px;line-height:1.9}.start-panel{max-width:1108px;margin:0 auto 110px;padding:75px;border:1px solid var(--line);border-radius:24px;text-align:center;background:radial-gradient(circle at 50% 0,#c7f0a933,transparent 45%),#fff}.start-panel h2{margin:0 0 32px;font:600 48px/1.3 ui-serif,"Songti SC",serif;letter-spacing:-.03em}
@media(max-width:900px){.library-hero{grid-template-columns:1fr;min-height:auto}.hero-orbit{display:none}.course-grid{grid-template-columns:repeat(2,1fr)}.intro-hero{grid-template-columns:1fr}.course-poster{display:none}.intro-metrics{grid-template-columns:1fr}.intro-metrics span+span{border-left:1px solid var(--line);border-top:0}.outcome-grid{grid-template-columns:repeat(2,1fr)}.outline{grid-template-columns:1fr;gap:30px}.teacher{margin-right:24px;margin-left:24px}}@media(max-width:600px){.library-nav{padding:20px}.library-nav nav span{display:none}.library-hero{padding:75px 20px}.library-hero h1{font-size:52px}.hero-copy{font-size:16px}.course-library{padding:70px 20px}.course-library>header{display:block}.library-search{width:100%;margin-top:25px}.course-grid{grid-template-columns:1fr}.library-footer{padding:24px 20px}.intro-nav nav a:first-child{display:none}.intro-hero{padding:70px 20px 80px}.intro-copy h1{font-size:51px}.intro-subtitle{font-size:21px}.intro-actions{align-items:flex-start;flex-direction:column}.intro-metrics{padding:0 20px 45px}.intro-section{padding:80px 20px}.outcome-grid{grid-template-columns:1fr}.outcome-grid article{min-height:140px}.outcome-grid p{margin-top:35px}.audience{grid-template-columns:1fr;gap:30px}.teacher{grid-template-columns:1fr;gap:30px;margin:0 20px 80px;padding:35px}.teacher-avatar{width:110px;height:110px;font-size:48px}.start-panel{margin:0 20px 80px;padding:55px 25px}.start-panel h2{font-size:36px}}
