:root{font-family:"Microsoft YaHei",system-ui,sans-serif;color:#292438;background:#faf9fc;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{touch-action:manipulation}html{scroll-behavior:smooth}.hero{color:white;background:radial-gradient(ellipse at 85% 40%,#8155c9aa,transparent 50%),linear-gradient(125deg,#2d1e54,#583598);padding:0 max(5vw,24px);border-radius:0 0 48% 2%/0 0 3% 1%;overflow:hidden}nav{height:106px;display:flex;justify-content:space-between;align-items:center}nav>a:last-child{font-size:13px;color:#e0d7ef}.brand{display:flex;gap:12px;align-items:center;font-weight:800;font-size:20px;letter-spacing:2px}.brand-mark{font-size:37px;color:#ffdf70}.brand small{display:block;font-size:9px;letter-spacing:2px;color:#bbaad6;margin-top:4px}.hero-content{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center;max-width:1440px;margin:28px auto 40px}.eyebrow{font-size:11px;letter-spacing:2px;color:#9a87b5;font-weight:600}.hero .eyebrow{color:#dbcde9}h1{font-size:clamp(36px,4.5vw,68px);letter-spacing:-2px;line-height:1.3;margin:22px 0 20px}h1 em{font-style:normal;color:#ffe18a}.intro{color:#d2c5e7;line-height:1.9;font-size:15px}.hero-button{display:inline-flex;justify-content:space-between;gap:55px;padding:18px 24px;border-radius:10px;background:#ffe080;color:#342456;box-shadow:0 5px 0 #baa168;margin:20px 0;font-weight:700;font-size:14px}.hero-content figure{margin:0;position:relative;transform:rotate(-3deg);padding:10px;background:#ffffff18;border:1px solid #ffffff24;border-radius:28px}.hero-content img{display:block;width:100%;border-radius:20px}.hero-content figcaption{text-align:center;font-size:12px;padding:12px 0 3px;letter-spacing:5px;color:#eee1ff}.hero-foot{border-top:1px solid #ffffff18;padding:22px 0 30px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#cebee4}.hero-foot b{font-size:27px;color:#fff3c1;margin-right:8px}main{max-width:1600px;padding:54px max(5vw,24px) 20px;margin:auto;scroll-margin-top:20px}.section-heading{display:flex;justify-content:space-between;align-items:center}h2{font-size:28px;margin:12px 0}.section-heading>span{font-size:12px;border:1px solid #e6dfed;padding:9px 14px;border-radius:30px;color:#776d85}.collection-note{font-size:12px;color:#867e90;line-height:1.8}.filters{display:flex;gap:12px;margin:24px 0}.filters input{width:270px;padding:12px 15px;border:1px solid #e3dce9;background:white;border-radius:9px;outline-color:#8b60c7}.filters button{border:1px solid #ded4ea;background:white;color:#685278;padding:10px 16px;border-radius:9px;cursor:pointer}.filters button[aria-pressed=true]{background:#eee5fa;border-color:#ab89d6}#course-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.course{background:white;border-radius:16px;border:1px solid #e8e1ec;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 14px #46256704;transition:transform .18s,box-shadow .18s}.course.available:hover{transform:translateY(-4px);box-shadow:0 12px 26px #48285d15}.cover{position:relative;width:100%;aspect-ratio:360/245;background-color:white;background-repeat:no-repeat}.lesson-number{position:absolute;top:12px;left:12px;background:#634482e8;color:white;font-size:10px;padding:5px 9px;border-radius:5px;letter-spacing:1px}.course-body{padding:17px;display:flex;flex-direction:column;flex:1}.course h3{font-size:15px;line-height:1.6;margin:0 0 9px;min-height:48px}.course p{font-size:11px;color:#918699;margin:0 0 18px}.course-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #f1edf4;padding-top:14px;margin-top:auto;font-size:11px}.status{color:#9b8da8}.available .status{color:#54836a}.enter{color:#744aa3;font-weight:600}.pending .enter{color:#b5aaba}.closing{margin-top:42px;padding:28px;background:#f1ebf6;border:1px solid #e7dfef;border-radius:14px;display:flex;justify-content:space-between;font-size:13px;color:#725986}footer{max-width:1600px;margin:auto;padding:30px max(5vw,24px);font-size:10px;color:#a59bad;display:flex;justify-content:space-between}@media(max-width:950px){#course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-content{gap:30px}h1{font-size:40px}.hero-foot span:last-child{max-width:50%;text-align:right}}@media(max-width:600px){nav{height:80px}.brand{font-size:16px}.hero-content{grid-template-columns:1fr}.hero-content figure{max-width:380px;margin:0 12px 20px}.hero-content h1{font-size:40px}.hero-foot span:last-child{display:none}main{padding:32px 16px}#course-grid{gap:12px}.course-body{padding:12px}.course h3{font-size:13px}.section-heading h2{font-size:23px}.filters input{min-width:0;flex:1}.filters button{font-size:12px}.closing{gap:18px;font-size:12px}footer{padding:24px 16px}.collection-note{font-size:11px}}

.default-downloads{display:flex;gap:9px;align-items:center;margin-top:13px;padding-top:10px;border-top:1px dashed #ece6f0;font-size:10px}.default-downloads span{color:#9a8ba6;flex:1}.default-downloads a{color:#73518f}.default-downloads a:hover{text-decoration:underline}.cover{display:block;flex-shrink:0}

.download-all{display:flex;align-items:center;padding:10px 16px;border-radius:9px;background:#684491;color:white;font-size:13px;white-space:nowrap}.download-all:hover{background:#58377e}

/* Simplified gallery: one clear action per course. */
.hero{padding-top:48px;padding-bottom:32px}.hero-content{padding-bottom:20px}.course h3{min-height:0;margin-bottom:16px}.course-bottom{justify-content:flex-end;font-size:13px}.course-body{padding:18px}.section-heading h2{margin-top:0}@media(max-width:600px){.hero{padding-top:28px;padding-bottom:20px}.course-body{padding:12px}}

/* Give course artwork breathing room, especially above the subject. */
.course .cover{background-origin:content-box;box-sizing:border-box;padding:18px 16px 10px}
@media(max-width:600px){.course .cover{padding:12px 10px 7px}}
