:root{--green:#40bfa8;--mint:#dff2ed;--bg:#f7f8fc;--ink:#303233;--muted:#999;--line:#eee}*{box-sizing:border-box}body{margin:0;background:#e9efec;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:16px}button,input{font:inherit}button{border:0;background:none;color:inherit;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #237d71;outline-offset:3px}button:active{filter:brightness(.96)}#app{width:414px;max-width:100%;height:100dvh;max-height:896px;position:relative;background:var(--bg);margin:24px auto;overflow:hidden;border-radius:24px;box-shadow:0 16px 65px #244b3a18;border:1px solid #cfdbd7}.desktop-note{position:fixed;top:28px;left:30px;display:flex;gap:10px;align-items:center;font-size:13px;color:#536a60}.desktop-note>span:last-child{color:#94a69d}.note-dot{height:7px;width:7px;border-radius:50%;background:var(--green)}.topbar{height:64px;display:flex;align-items:center;justify-content:center;background:var(--mint);position:absolute;top:0;left:0;right:0;z-index:20}.topbar.white{background:#fff}.topbar.titleless .title{display:none}.title{font-size:20px;font-weight:650;color:#080c0a;max-width:195px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .title.small{font-size:17px;margin-right:28px}.capsule{position:absolute;right:8px;top:17px;display:flex;align-items:center;border:1px solid #e5e8e8;border-radius:24px;height:34px;padding:0 9px;background:#ffffffa0;gap:10px;color:#171a18}.capsule .dots{font-size:20px;letter-spacing:1px;line-height:1}.capsule i{height:17px;width:1px;background:#d1d4d2}.capsule .minus{width:15px;height:3px;background:#222;border-radius:3px}.capsule .exit{width:17px;height:17px;border:2px solid #222;border-radius:50%;position:relative}.capsule .exit:after{content:'';position:absolute;inset:4px;background:#222;border-radius:50%}.back-tools{position:absolute;left:12px;display:flex;align-items:center;gap:18px}.ico{width:25px;height:25px;display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.scroll{position:absolute;inset:64px 0 64px;overflow:auto;scrollbar-width:none;overscroll-behavior:contain}.scroll::-webkit-scrollbar{display:none}.scroll.full{bottom:0}.scroll.detail-scroll{bottom:78px}.nav{position:absolute;bottom:0;height:64px;left:0;right:0;background:#fff;display:flex;z-index:25;align-items:center;border-top:1px solid #f7f7f7}.nav button{flex:1;color:#a2a6b8;display:flex;align-items:center;flex-direction:column;gap:3px;font-size:12px;height:100%;justify-content:center}.nav .ico{width:27px;height:27px;stroke-width:2}.nav button.active{color:var(--green)}.nav button.active span{color:#252725}.crop{position:relative;display:block;overflow:hidden;width:100%;background:#e2eee5}.crop img{position:absolute;max-width:none;height:auto;pointer-events:none;user-select:none}.home-content{padding:12px 14px 20px;background:linear-gradient(var(--mint),#f7f8fc 195px)}.search{height:44px;border-radius:9px;background:#ffffffd9;display:flex;align-items:center;padding:0 15px;gap:10px}.search button{flex-shrink:0;white-space:nowrap}.search input{border:0;outline:none;background:none;width:100%;min-width:0;font-size:15px;color:#444}.search input::placeholder{color:#bdbdbd}.hero{margin-top:24px;border-radius:13px;overflow:hidden;position:relative}.hero .crop{aspect-ratio:764/300}.dot{position:absolute;bottom:10px;left:50%;height:8px;width:8px;background:#fff;border-radius:50%}.purchased{margin-top:35px;width:100%;border-radius:15px;overflow:hidden}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);row-gap:15px;margin:18px 0 23px}.cat{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:14px;font-weight:550}.cat .crop{width:49px;height:49px;border-radius:50%}.banner{width:100%;border-radius:12px;overflow:hidden;position:relative}.banner-dots{position:absolute;bottom:9px;display:flex;gap:8px;left:45%}.banner-dots button{width:8px;height:8px;border-radius:50%;background:#cddfdc}.banner-dots button.on{background:#fff}.section-title{font-size:18px;display:flex;gap:8px;align-items:center;margin:22px 0 15px;font-weight:650}.thumb{background:linear-gradient(#83c4ff,#3287ff);color:white;border-radius:50%;width:24px;height:24px;text-align:center;line-height:23px;font-size:15px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.course-card{border-radius:12px;overflow:hidden;background:#fff;text-align:left;min-width:0;display:flex;flex-direction:column}.cover{position:relative;width:100%;overflow:hidden}.cover .crop{aspect-ratio:1.8}.tag{position:absolute;bottom:6px;right:6px;background:#666b;color:white;font-size:12px;padding:2px 5px;border-radius:3px}.card-body{padding:12px;display:flex;flex-direction:column;flex:1;min-height:98px}.card-name{font-size:15px;line-height:1.45;min-height:44px}.price{color:#ff5247;font-size:19px;font-weight:500;margin-top:13px}.price small{font-size:12px}.wide-card{grid-column:1/-1}.wide-card .crop{aspect-ratio:1.8}.customer{position:absolute;bottom:184px;right:8px;z-index:28;display:flex;align-items:center;flex-direction:column;color:#387aff}.customer .bubble{background:#fff;width:65px;height:65px;border-radius:50%;display:grid;place-items:center;box-shadow:0 2px 16px #53658406}.customer .ico{width:41px;height:41px;stroke-width:3}.customer label{background:#3279ff;color:white;border-radius:20px;font-size:14px;padding:3px 8px;margin-top:-9px;z-index:1;cursor:pointer}.list-search{padding:12px 16px;background:#fff}.list-search .search{background:var(--bg);height:35px}.tabs{display:flex;gap:24px;overflow:auto;scrollbar-width:none;white-space:nowrap;padding:14px 16px 8px;background:#fff;position:sticky;top:0;z-index:5}.tabs button{font-size:15px;color:#999;position:relative;padding-bottom:8px}.tabs button.selected{font-weight:700;color:#252525;font-size:18px}.tabs button.selected:after{content:'';position:absolute;bottom:0;left:25%;right:25%;height:4px;border-radius:50%;background:var(--green)}.catalog-list{background:#fff;min-height:100%;padding:0 15px}.list-item{display:flex;text-align:left;width:100%;gap:8px;padding:9px 0;border-bottom:1px solid #f5f5f5}.list-item .cover{width:142px;flex-shrink:0;border-radius:4px}.list-item .cover .crop{aspect-ratio:1.8}.list-item .name{font-size:14px;font-weight:550;line-height:1.4}.empty{text-align:center;padding:72px 20px;color:#999;font-size:14px}.empty-symbol{width:90px;height:104px;border:5px solid #b7e5dc;background:#edf8f4;border-radius:10px;margin:0 auto 26px;position:relative;color:#a4ddd0;display:grid;place-items:center}.empty-symbol .ico{width:58px;height:58px}.pill{border-radius:28px;background:var(--green);color:#fff;padding:12px 26px;font-size:15px}.empty .pill{margin-top:20px}.detail-cover .crop{aspect-ratio:1.8}.detail-info{background:#fff;border-radius:16px;padding:12px 8px 13px;position:relative;margin-top:-2px}.detail-name{font-size:19px;line-height:1.45;font-weight:650;margin:0 0 11px}.meta{font-size:13px;color:#999;display:flex;align-items:center;gap:10px}.label{background:var(--green);color:white;border-radius:2px;padding:2px 4px;font-size:12px}.benefits{display:flex;margin:15px 0 8px;padding:14px 5px;background:var(--bg);border-radius:10px;justify-content:space-around}.benefits button{font-size:13px;display:flex;gap:8px;align-items:center;flex-direction:column}.benefits .ico{color:#777;width:22px;height:22px}.guarantee{background:var(--bg);border-radius:9px;padding:13px 7px;display:flex;align-items:center;gap:5px;font-size:13px}.guarantee small{font-size:11px;color:#999;flex:1;text-align:left}.guarantee .ico{width:18px;height:18px}.detail-body{background:#fff;border-radius:15px;margin-top:12px;min-height:350px;padding-bottom:20px}.detail-tabs{border-radius:15px 15px 0 0;gap:22px;align-items:center}.trial-label{background:#ff5146;color:#fff;font-size:10px;border-radius:12px;padding:2px 5px;position:absolute;top:-10px;right:-16px}.chapter{width:100%;display:flex;align-items:center;text-align:left;padding:20px 0;gap:10px;border-bottom:1px solid #eee}.chapter-list{padding:0 14px}.chapter .number{width:22px;color:#666;font-size:14px}.chapter-main{flex:1;min-width:0}.chapter-main strong{font-size:15px;line-height:1.5;font-weight:550;display:block}.chapter-main p{display:flex;gap:8px;margin:12px 0 0;color:#999;font-size:12px;align-items:center}.type{border:1px solid #ccc;border-radius:3px;padding:0 2px;font-size:11px}.chapter .play-small{height:31px;width:31px;background:#eff9f5;color:var(--green);border-radius:50%;display:grid;place-items:center;font-size:14px}.chapter.locked{color:#a6a6a6}.chapter.locked .play-small{background:#f7f7f7;color:#ccc}.chapter.playing{color:var(--green)}.detail-footer{height:78px;position:absolute;bottom:0;background:#fff;left:0;right:0;padding:10px 12px;display:flex;align-items:center;gap:10px;z-index:30}.consult-btn{font-size:12px;display:flex;align-items:center;flex-direction:column;width:35px;flex-shrink:0;gap:3px}.buy{flex:1;height:49px;border-radius:30px;background:linear-gradient(110deg,#ff073b,#ff711d);color:white;font-weight:650;font-size:18px}.learn{flex:1;height:49px;border-radius:30px;background:var(--green);color:white;font-weight:650;font-size:18px}.intro{padding:20px 8px}.intro-art{background:#dcecd5;border-radius:2px;overflow:hidden;padding-bottom:20px}.intro-art h2{font-family:serif;font-size:32px;font-weight:500;color:#426944;padding:12px 18px;background:#669875;color:white;margin:24px 14px 15px}.intro-art p{font-size:15px;line-height:1.9;margin:15px 20px;padding:14px;background:#f7faf0bd}.intro-art .four{display:grid;grid-template-columns:1fr 1fr;margin:12px 20px;gap:12px;text-align:center}.four div{padding:14px 5px;background:#edf6e4;font-size:14px;color:#49654c}.four .ico{display:block;margin:0 auto 8px;width:34px;height:34px;color:#62a68e}.reviews{padding:24px 16px;font-weight:600}.reviews small{float:right;color:var(--green);font-weight:400}.player{background:#777;padding:48px 12px;color:#fff;position:relative}.player.trial{background:#050505;padding-top:65px;padding-bottom:60px}.trial-switch{position:absolute;top:15px;right:22px;font-size:17px;font-weight:650;display:flex;gap:18px}.player-box{border:1px solid #ffffff44;border-radius:12px;padding:23px 16px;display:flex;align-items:center;gap:20px}.play-large{width:53px;height:53px;flex-shrink:0;border-radius:50%;background:#fff;color:#444;font-size:25px}.trial .play-large{background:#ffdaaa;color:#151515}.player-controls{flex:1;min-width:0}.player input{width:100%;accent-color:#fff;height:5px;cursor:pointer}.player-times{display:flex;align-items:center;justify-content:space-between;font-size:13px;margin-top:15px;gap:8px}.speed{border:1px solid #fff;border-radius:14px;padding:0 10px}.skip{font-size:15px}.player-note{font-size:10px;color:#aaa;position:absolute;bottom:13px;left:0;right:0;text-align:center}.study-head{background:linear-gradient(var(--green),#91d7c8);padding:22px 8px 13px}.stats{background:#fff;border-radius:12px;padding:17px 12px}.stats>p{margin:0 0 18px;color:#999;font-size:14px}.stat-row{display:flex;justify-content:space-between;text-align:center}.stat-row strong{font-size:25px;color:#292929}.stat-row small{font-size:12px;font-weight:400}.stat-row p{font-size:12px;color:#aaa;margin:6px 0 0}.exchange{display:block;margin:12px 8px;border-radius:12px;overflow:hidden;width:calc(100% - 16px)}.study-list{background:#fff;padding:5px 8px;min-height:500px}.study-item{display:flex;width:100%;text-align:left;padding:18px 0;gap:12px;border-bottom:1px solid #eee}.study-item .cover{width:42%;align-self:flex-start;border-radius:7px}.study-item .course-info{flex:1;min-width:0;display:flex;flex-direction:column;align-items:stretch;line-height:1.5}.course-info strong{font-size:14px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.valid{align-self:flex-start;line-height:1.4;font-size:12px;color:var(--green);border:1px solid var(--green);display:inline-block;margin:8px 0;padding:1px 3px}.progress-track{display:block;flex-shrink:0;width:100%;height:4px;background:#eee;border-radius:5px;margin:8px 0}.progress-track i{height:100%;display:block;background:var(--green)}.course-info small{display:block;line-height:1.5;font-size:12px;color:var(--green)}.profile-head{padding:24px 10px 0;background:linear-gradient(var(--mint),#eff6f3)}.user-row{display:flex;gap:10px;align-items:center;margin-bottom:20px}.avatar{width:65px;height:65px;border-radius:50%;background:linear-gradient(#c8dcff,#e0e9fe);border:2px solid white;display:grid;place-items:center;color:white}.avatar .ico{width:45px;height:45px}.username{font-weight:650;font-size:18px}.bind{display:block;font-size:12px;color:var(--green);border:1px solid var(--green);border-radius:16px;padding:2px 9px;margin-top:5px}.vip{border-radius:9px;overflow:hidden;width:100%}.quick{background:#fff;margin:12px 10px;border-radius:10px;display:flex;justify-content:space-around;padding:17px 5px}.quick button{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:13px}.quick .ico{color:#777}.menus{background:#fff;margin:12px 10px;border-radius:10px;padding:7px 15px}.menu-row{display:flex;width:100%;align-items:center;text-align:left;gap:10px;padding:16px 0;font-size:14px}.menu-row .ico{width:21px;height:21px;color:#999}.menu-row .chev{margin-left:auto;color:#ccc}.modal-shade{position:fixed;inset:0;background:#0006;z-index:100;display:flex;justify-content:center;align-items:center;padding:24px}.modal{background:white;width:350px;max-width:100%;border-radius:18px;padding:26px 22px;position:relative;box-shadow:0 15px 80px #0002}.modal h2{font-size:21px;margin:0 0 14px}.modal p{font-size:14px;color:#777;line-height:1.7}.modal .close{position:absolute;right:15px;top:14px;color:#999;font-size:22px}.modal .pill{width:100%;margin-top:16px}.modal input{border:1px solid #ddd;border-radius:8px;padding:12px;width:100%;outline-color:var(--green)}.order-course{background:var(--bg);padding:14px;border-radius:8px;font-size:15px;line-height:1.6}.order-total{display:flex;justify-content:space-between;margin-top:20px;font-size:16px}.order-total strong{color:#ff5148;font-size:23px}.demo-label{font-size:11px;color:#aaa;margin-top:15px;text-align:center}.toast{opacity:1!important;transform:translate(-50%,0)!important}#toast{pointer-events:none;position:fixed;bottom:100px;left:50%;transform:translate(-50%,10px);transition:.2s;opacity:0;z-index:200;padding:11px 18px;border-radius:10px;background:#222d;color:#fff;font-size:14px;max-width:350px;width:max-content}.empty-top-tabs{display:flex;justify-content:center;gap:38px;padding:16px;background:white;color:#999}.empty-top-tabs .on{color:#333;border-bottom:3px solid var(--green);padding-bottom:8px}.simple-content{padding:18px;background:white;min-height:100%;font-size:15px;line-height:1.8}.simple-content h3{font-size:18px}.mini-badge{color:#eea042;font-size:10px;border:1px solid;border-radius:8px;padding:0 4px}.footer-demo{font-size:11px;text-align:center;color:#a0aba5;padding:20px 0 0}.search-empty{color:#aaa;text-align:center;padding:40px}.search-results{padding:12px 14px}.carousel-progress{height:2px;background:#fff5}@media(max-width:600px){body{background:var(--bg)}#app{margin:0;width:100%;height:100dvh;max-height:none;border-radius:0;border:0;box-shadow:none}.desktop-note{display:none}}@media(min-width:601px) and (max-height:940px){#app{height:calc(100dvh - 32px);margin:16px auto}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.oh-art{display:flex;aspect-ratio:1.8;background:linear-gradient(145deg,#d9e5bb,#f2ecd5);flex-direction:column;justify-content:center;padding:12px 15px;color:#536844}.oh-art>span{font-size:11px;letter-spacing:3px}.oh-art strong{font-family:serif;font-size:22px;line-height:1.4;font-weight:500}.oh-art small{font-size:9px;margin-top:5px}.cover>.crop{width:100%}.banner>.crop,.banner>button>.crop{aspect-ratio:764/250}.detail-cover>.crop{aspect-ratio:1.8}.detail-info .guarantee{margin-bottom:0}.intro-art>.crop{aspect-ratio:1.8}.player .crop{aspect-ratio:1.8}.player .play-large{line-height:1}.chapter-main .ico{width:15px}.play-small .ico{width:14px;height:14px}
.original-intro{padding:18px 7px}.original-intro .crop{border-radius:0}.topbar:has(.back-tools) .title{position:absolute;left:103px;right:125px;max-width:none;font-size:16px;text-align:center}.topbar:has(.back-tools) .title.small{margin:0}.topbar:not(:has(.back-tools)) .title{margin-right:15px}.hero .dot{display:none}
/* Classification list: match the reference's 142 × 80 thumbnails and 96px row pitch. */
.category-scroll{top:58px;background:#f8f9fc}
.topbar:has(+.category-scroll){height:58px;background:#f5f6fb}
.topbar:has(+.category-scroll) .title{font-size:18px;left:104px;right:120px}
.category-scroll .list-search{height:58px;padding:16px 25px 6px;background:white}
.category-scroll .list-search .search{height:36px;padding:0 3px;gap:7px;background:white}
.category-scroll .search input{font-size:16px}
.category-scroll .search input::placeholder{color:#999}
.category-scroll .search .ico{width:17px;height:17px;color:#999}
.category-tabs{height:53px;padding:16px 25px 6px;gap:30px;align-items:center;background:linear-gradient(#fff,#fbfcfd)}
.category-tabs button{flex-shrink:0;font-size:16px;font-weight:550;line-height:27px;padding-bottom:4px}
.category-tabs button.selected{font-size:20px;line-height:27px}
.category-tabs button.selected:after{height:6px;left:0;right:0;bottom:0;background:#e7f5f2;border-radius:5px;z-index:-1}
.category-tabs button.selected{isolation:isolate}
.catalog-list{min-height:0;padding:0 16px 25px 25px;background:transparent}
.list-item{height:80px;min-height:80px;margin:0 0 16px;padding:0;gap:13px;align-items:flex-start;border:0;background:#fff}
.list-item .cover{display:block;width:142px;height:80px;flex:0 0 142px;border-radius:7px;overflow:hidden}
.list-item .cover>.crop{width:100%;position:absolute;top:50%;transform:translateY(-50%)}
.list-item .name{padding:0;font-size:14px;font-weight:650;line-height:1.3;flex:1;min-width:0}
.cover.reference-cover{display:block;aspect-ratio:286/161}
.cover.reference-cover .crop{width:100%}
.course-card .cover{display:block;aspect-ratio:1.8;flex-shrink:0}
.course-card .cover>.crop{position:absolute;top:50%;transform:translateY(-50%);width:100%}
/* Reference service assurance bottom sheet, scoped to the mini-program viewport. */
.guarantee-shade{position:fixed;z-index:100;overflow:hidden;border-radius:24px;background:#0009;display:flex;align-items:flex-end}
.sheet-dismiss{position:absolute;inset:0;width:100%;height:100%;cursor:default}
.guarantee-sheet{position:relative;width:100%;min-height:334px;padding:22px 20px 40px;border-radius:14px 14px 0 0;background:linear-gradient(#dff4ee 0,#fff 70px);outline:none;max-height:85%;overflow:auto;animation:sheet-up .18s ease-out}
.guarantee-sheet h2{text-align:center;font-size:17px;line-height:24px;margin:0 0 32px;font-weight:650}
.guarantee-row{display:flex;align-items:center;gap:28px;min-height:70px;margin-bottom:14px;width:100%;text-align:left}
.guarantee-row>div{flex:1;min-width:0}
.guarantee-row h3{font-size:15px;line-height:22px;font-weight:650;margin:0}
.guarantee-row p{font-size:13px;line-height:22px;color:#737373;margin:0}
.guarantee-icon{width:48px;height:48px;flex:0 0 48px;border-radius:50%;background:linear-gradient(145deg,#e0f4ee,#d6efea);display:grid;place-items:center;color:#4cbca8}
.guarantee-icon .ico{width:34px;height:34px;stroke-width:2;filter:drop-shadow(1px 3px 0 #93dac970)}
.merchant-row{margin-bottom:0;min-height:62px;gap:28px}
.merchant-chevron{color:#aaa;margin-left:-18px}.merchant-chevron .ico{width:17px;height:17px}
@keyframes sheet-up{from{transform:translateY(100%)}to{transform:translateY(0)}}
@media(max-width:600px){.guarantee-shade{border-radius:0}}
@media(prefers-reduced-motion:reduce){.guarantee-sheet{animation:none}}
/* Study-page header and upper content match its own green reference theme. */
.topbar:has(+.study-scroll){background:#40bfa8}
.topbar:has(+.study-scroll) .title{color:#fff;margin:0;font-size:18px;transform:translateY(6px)}
.topbar:has(+.study-scroll) .capsule{top:23px;background:#0000001a;border-color:transparent;color:#fff}
.topbar:has(+.study-scroll) .capsule i{background:#ffffff35}
.topbar:has(+.study-scroll) .capsule .minus,.topbar:has(+.study-scroll) .capsule .exit:after{background:#fff}
.topbar:has(+.study-scroll) .capsule .exit{border-color:#fff}
.study-scroll{background:#f6f7f9}
.study-head{padding:20px 8px 0;background:none;position:relative}
.study-head:before{content:'';position:absolute;top:0;left:-5%;width:110%;height:114px;background:linear-gradient(#40bfa8,#a3dbce);border-radius:0 0 50% 50% / 0 0 10% 10%}
.study-head .stats{position:relative;border-radius:12px;padding:16px 12px 15px;min-height:130px}
.study-head .stats>p{font-size:14px;margin:0 0 18px}
.stat-row{align-items:center;justify-content:space-between}
.stat-row>div{position:relative;flex:1}
.stat-row>div:first-child{text-align:left;padding-left:6px}
.stat-row>div:last-child{text-align:right;padding-right:20px}
.stat-row>div+div:before{content:'';position:absolute;width:1px;height:22px;background:#b8b8b8;left:-2px;top:15px}
.stat-row strong{font-size:26px;line-height:32px;font-weight:600}
.stat-row small{font-size:12px}
.stat-row p{font-size:13px;line-height:20px;white-space:nowrap;margin:10px 0 0}
.study-scroll>.exchange{margin:12px 8px;width:calc(100% - 16px)}
.study-list{padding:10px 8px 0;min-height:500px}
.study-search{height:38px;display:flex;align-items:center;gap:14px;padding:0 5px;margin-bottom:0}
.study-search label{display:flex;align-items:center;gap:8px;flex:1;min-width:0;height:36px;border-radius:22px;background:#f7f8fc;padding:0 12px;color:#aaa}
.study-search .ico{width:18px;height:18px;flex-shrink:0}
.study-search input{font:inherit;font-size:14px;width:100%;min-width:0;outline:0;border:0;background:transparent}
.study-search input::placeholder{color:#aaa}
.study-search>button{font-size:14px;white-space:nowrap;flex-shrink:0}
.study-item{padding:0 0 16px;margin-bottom:16px;gap:12px}
.study-item+.study-item{padding-top:0}
.study-cover{display:block;position:relative;flex:0 0 42%;width:42%;border-radius:7px;overflow:hidden}
.study-item .study-cover .cover{width:100%;display:block;aspect-ratio:1.8}
.recent-study{position:absolute;top:0;left:0;background:#ff5147;color:#fff;padding:2px 6px;font-size:12px;border-radius:7px 0 7px 0}
.study-item .course-info{padding-top:1px}
.study-meta{display:flex;align-items:center;justify-content:space-between;gap:5px;margin:7px 0 10px}
.study-meta .valid{margin:0;padding:1px 3px;font-size:12px;line-height:17px}
.study-meta .updated{font-size:11px;color:#999;white-space:nowrap}
.study-item .progress-track{margin:0 0 6px}
.study-item .course-info strong{font-size:14px;line-height:20px}
.study-item .course-info>small{font-size:12px;line-height:18px}

/* Hui Xin identity: preserve established card geometry and learning-page theme. */
.brand-art{display:block;position:relative;isolation:isolate;width:100%;aspect-ratio:1.8;overflow:hidden;background:linear-gradient(120deg,#eef4d6,#dbeada 60%,#bdcec0);color:#28564a;text-align:left;container-type:inline-size}
.brand-art>img{position:absolute;right:0;top:0;width:43%;height:100%;object-fit:cover;object-position:50% 24%;z-index:-1;mask-image:linear-gradient(to right,transparent,#000 23%)}
.brand-copy{display:flex;flex-direction:column;width:65%;height:100%;justify-content:center;padding:7% 4%;gap:6px}
.brand-copy small{font-size:10px;letter-spacing:2px;color:#688776}
.brand-copy strong{font-family:"Songti SC","SimSun",serif;font-size:clamp(15px,8cqw,32px);line-height:1.25;font-weight:700}
.brand-copy em{font-style:normal;font-size:clamp(8px,3cqw,12px);line-height:1.6;color:#547867}
.brand-signature{position:absolute;right:3%;bottom:5%;font-size:clamp(8px,3cqw,11px);background:#f8fcf0dd;color:#315346;padding:3px 5px;border-radius:3px}
.brand-art-hero,.brand-art-banner{aspect-ratio:764/300}
.brand-art-hero .brand-copy{width:67%}.brand-art-hero .brand-copy strong{font-size:28px;max-width:205px}
.brand-art-hero .brand-copy small{letter-spacing:3px;font-size:11px}
.brand-owned{display:flex;aspect-ratio:764/186;flex-direction:column;justify-content:center;align-items:center;gap:6px;background:linear-gradient(115deg,#326c55,#78935f);color:#fff}
.brand-owned strong{font-family:"Songti SC",serif;font-size:28px;letter-spacing:4px;font-weight:500}
.brand-owned small{font-size:10px;color:#e4f0dc}
.catalog-list .cover>.brand-art{height:100%;aspect-ratio:142/80}
.intro-art>.brand-art{border-radius:10px}.intro-art h2{color:#315e50}
.brand-art-hero .brand-copy strong{font-size:25px;max-width:none}
.cover .brand-copy{padding-bottom:14%}.cover .brand-signature{right:3%;bottom:7%;font-size:8px}.cover .tag{bottom:3px;right:3px;font-size:10px}.cover .brand-signature{bottom:25%}
.catalog-list .brand-copy strong{font-size:12px;line-height:1.4}.catalog-list .brand-copy small{font-size:8px;letter-spacing:1px}.catalog-list .brand-copy{gap:4px}

/* Activity-led banners: original PPT photography, varied palette, unchanged ratio. */
.scene-art{position:relative;display:block;width:100%;aspect-ratio:764/300;overflow:hidden;background:#e5eddf;color:#28564a;text-align:left;isolation:isolate}
.scene-photo{position:absolute;width:70%;height:100%;right:0;top:0;object-fit:cover;object-position:50% 65%;z-index:-2}
.scene-art:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#e5eddf 0%,#e5eddf 28%,#e5eddfdf 43%,#e5eddf30 66%,transparent 80%);z-index:-1}
.scene-copy{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:5% 5%;gap:8px;width:66%}
.scene-copy small{font-size:9px;letter-spacing:1px;color:#5e7d6a}
.scene-copy strong{font-family:"Songti SC",serif;font-size:29px;line-height:1.25;font-weight:600;letter-spacing:1px}
.scene-copy em{font-size:12px;font-style:normal;line-height:1.5}
.scene-caption{font-size:8px;letter-spacing:2px;border-top:1px solid #52756140;padding-top:7px;margin-top:1px}
.scene-rose{color:#634958;background:#f2e8e6}.scene-rose:before{background:linear-gradient(90deg,#f2e8e6 0%,#f2e8e6 28%,#f2e8e6dd 43%,#f2e8e620 70%,transparent)}
.scene-rose .scene-copy strong{font-size:24px}.scene-rose .scene-copy small{color:#906b77}
.scene-sand{color:#6c5433;background:#f0e8d7}.scene-sand:before{background:linear-gradient(90deg,#f0e8d7 0%,#f0e8d7 28%,#f0e8d7dd 43%,#f0e8d720 70%,transparent)}
.scene-sand .scene-copy strong{font-size:25px}.scene-sand .scene-copy small{color:#8c795c}
.banner-dots{left:50%;transform:translateX(-50%);bottom:8px}.banner-dots button{box-shadow:0 0 0 1px #ffffff70}
.cover .scene-art{aspect-ratio:1.8;container-type:inline-size}
.cover .scene-copy{gap:4px;padding:5%;width:70%}.cover .scene-copy strong{font-size:clamp(12px,7cqw,27px);letter-spacing:0}.cover .scene-copy small{font-size:clamp(6px,3.4cqw,10px);letter-spacing:0}.cover .scene-copy em{font-size:clamp(7px,4cqw,12px)}.cover .scene-caption{display:none}
.catalog-list .cover>.scene-art{height:100%;aspect-ratio:142/80}
.decor-preview .topbar .title{transform:translateX(-26px);font-size:17px}.decor-preview .capsule{transform:scale(.85);transform-origin:right center;right:5px}
