@font-face{font-family:DouyinSans;src:url("./assets/fonts/DouyinSansBold.ttf") format("truetype");font-style:normal;font-weight:100 900;font-display:swap}
:root{--pink:#ff3273;--blue:#1965ec;--bg:#f6f7fb;--muted:#999;--line:#f0f0f3;--ink:#303035;font-family:DouyinSans,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:#e9edf4;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{border:0;background:none;color:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:var(--blue);text-decoration:none}img{display:block;max-width:100%;object-fit:cover}#app{max-width:480px;min-height:100dvh;margin:auto;background:var(--bg);padding-bottom:calc(80px + env(safe-area-inset-bottom));overflow:hidden}.loading,.empty{text-align:center;padding:64px 20px;color:#999;font-size:14px}.empty strong{display:block;color:#555;margin:12px;font-size:17px}.empty-symbol{font-size:42px;color:#c4c9d3}.error-box{margin:20px;background:#fff;padding:30px;border-radius:14px;text-align:center}.error-box p{line-height:1.7;color:#777}.pill,.primary,.secondary{border-radius:30px;padding:12px 23px;background:var(--pink);color:#fff}.secondary{background:#f0f2f6;color:#666}.primary{font-weight:600}.pink{color:var(--pink)}.muted{color:var(--muted)}.small{font-size:12px}.pagebar{height:68px;display:flex;align-items:center;justify-content:center;position:relative;font-weight:650;font-size:21px;padding-top:10px}.pagebar .back{position:absolute;left:10px;bottom:15px;font-size:30px;font-weight:300;width:40px}.tabbar{position:fixed;z-index:20;bottom:0;width:100%;max-width:480px;background:#fff;display:flex;justify-content:space-around;padding:9px 0 calc(8px + env(safe-area-inset-bottom));border-top:1px solid #f4f4f6}.tabbar button{width:25%;font-size:12px;display:flex;align-items:center;flex-direction:column;gap:3px;color:#161616}.tabbar button.active{color:var(--pink)}.icon{height:24px;width:24px;display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.top-tabs{display:flex;gap:30px;padding:30px 19px 20px;align-items:center}.top-tabs button{font-size:19px;color:#666;position:relative;padding:6px 0}.top-tabs .active{color:var(--pink);font-weight:550}.top-tabs .active:after,.content-tabs .active:after{content:"";width:20px;height:3px;border-radius:4px;background:currentColor;position:absolute;bottom:-2px;left:calc(50% - 10px)}.hero-slider{margin:0 19px 19px;position:relative;border-radius:7px;overflow:hidden;background:#ebe7f7}.hero-slider img{width:100%;aspect-ratio:1.725}.hero-slider>button{display:block;padding:0;width:100%}.dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:6px}.dots button{width:12px;height:5px;background:#ffffff40;border-radius:4px;padding:0}.dots .active{background:#fff}.nav-grid{margin:0 19px 19px;padding:19px;background:white;border-radius:14px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.nav-tile{padding:0;position:relative;border-radius:7px;overflow:hidden;text-align:left;background:#eef3fa}.nav-tile img{width:100%;aspect-ratio:1.79}.nav-text{padding:14px 10px;min-height:90px}.nav-text strong{display:block;font-size:17px}.nav-text small{display:block;color:#888;margin-top:7px}.list-panel{margin:0 19px 18px;border-radius:14px;background:#fff;overflow:hidden}.content-tabs{display:flex;justify-content:space-around;background:#fff;border-bottom:1px solid var(--line);height:56px;align-items:stretch}.content-tabs button{position:relative;font-size:16px;color:#777;min-width:65px;padding:0 7px}.content-tabs .active{color:var(--blue);font-weight:600}.course-list{padding:0 19px}.course-card{display:flex;gap:15px;padding:19px 0 0;align-items:stretch;cursor:pointer;text-align:left;width:100%}.course-card:last-child{padding-bottom:19px}.course-cover{width:42%;aspect-ratio:1.35;border-radius:7px;align-self:flex-start}.course-info{min-width:0;flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:6px}.course-info h3{font-size:17px;font-weight:600;margin:3px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-info p{font-size:14px;color:#999;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.course-price{font-size:13px;color:#999;display:flex;align-items:baseline;gap:9px;white-space:nowrap}.course-price b{font-size:23px;font-weight:400;color:var(--pink)}.course-price b i{font-style:normal;font-size:14px}.reactions{display:flex;gap:16px;color:#b0b0b5;font-size:13px}.reactions button{padding:0;display:flex;align-items:center;gap:4px}.reactions .icon{width:17px;height:17px;stroke-width:1}.reactions .active{color:var(--pink)}.reactions .active .icon{fill:currentColor;stroke:currentColor}.search-panel{background:#fff;margin:7px 19px 19px;padding:19px;border-radius:14px}.search-form{display:flex;border:1px solid #e8e8ed;border-radius:30px;align-items:center;padding:9px 15px;margin-bottom:19px}.search-form input{width:100%;border:0;outline:0;min-width:0;font-size:15px}.search-form button{padding:0;color:#999}.category-scroll{display:flex;gap:9px;overflow-x:auto;scrollbar-width:none}.category-scroll button{white-space:nowrap;border-radius:20px;padding:6px 16px;background:#f3f3f5;color:#999;font-size:14px}.category-scroll .active{background:var(--blue);color:#fff}.detail-cover{position:relative}.detail-cover>img{width:100%;aspect-ratio:1.15}.detail-back{position:absolute;top:18px;left:12px;color:#fff;font-size:36px;text-shadow:0 1px 6px #333}.detail-intro{background:#fff;padding:17px 19px}.detail-intro h1{font-size:21px;margin:0 0 12px}.detail-intro p{margin:0 0 14px;color:#999;font-size:14px;line-height:1.7}.detail-meta-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.price{color:var(--pink);font-size:24px}.price small{font-size:15px}.detail-stats{display:flex;justify-content:space-around;background:#fff;margin-top:13px;padding:22px 8px 18px;text-align:center}.detail-stats b{display:block;font-size:18px;margin-bottom:8px}.detail-stats span{font-size:14px;color:#777}.membership-invite{background:#fff;padding:7px 19px 19px}.invite-inner{border:1px solid var(--pink);background:#fff5f8;border-radius:14px;display:flex;gap:12px;align-items:center;padding:15px 12px}.diamond{font-size:35px;color:var(--pink)}.invite-copy{flex:1;font-size:13px;min-width:0}.invite-copy strong{font-size:15px;color:var(--pink);display:block;margin-bottom:6px}.invite-inner button{white-space:nowrap;font-size:13px;padding:10px 14px}.detail-body{margin-top:13px;background:#fff}.rich-text{font-size:17px;line-height:2;padding:19px;white-space:pre-wrap;overflow-wrap:anywhere}.rich-text img{width:100%;height:auto;margin:12px 0}.versions{padding:16px 19px 0;display:flex;gap:8px;overflow-x:auto}.versions button{white-space:nowrap;font-size:13px;padding:7px 12px;background:#f6f7fa;border-radius:5px}.versions button.active{color:var(--pink);background:#fff0f5}.lesson{display:flex;width:100%;align-items:center;text-align:left;padding:19px;border-bottom:1px solid #f4f4f6;gap:14px}.lesson .num{color:#aaa;font-size:18px}.lesson-text{flex:1}.lesson-text b{display:block;font-size:15px;font-weight:500}.lesson-text small{display:block;color:#aaa;margin-top:7px}.lesson .free{color:var(--blue);font-size:12px}.bottom-purchase{position:fixed;z-index:21;bottom:0;max-width:480px;width:100%;display:flex;align-items:center;gap:20px;padding:18px 19px calc(18px + env(safe-area-inset-bottom));background:#fff}.bottom-purchase>div{flex:1;color:#777;font-size:14px}.bottom-purchase .primary{border-radius:19px;min-width:52%;font-size:21px;padding:19px 18px}.bottom-purchase del{font-size:12px;color:#999;display:block}.comments{padding:0 19px}.comment{padding:20px 0;border-bottom:1px solid #f2f2f5}.comment strong{font-size:14px}.comment time{float:right;color:#bbb;font-size:11px}.comment p{font-size:14px;line-height:1.7;white-space:pre-wrap}.comment-form{padding:19px}.comment-form textarea{width:100%;border:1px solid #eee;border-radius:8px;padding:10px;min-height:80px;margin-bottom:10px;resize:vertical}.profile-head{padding:65px 19px 28px;background:linear-gradient(#f3cce9,#dce9fc);display:flex;align-items:center;gap:16px}.avatar{width:92px;height:92px;background:linear-gradient(135deg,#ffd5e3,#cedcff);border:4px solid #fff;border-radius:50%;display:grid;place-items:center;font-size:36px;color:var(--pink);flex-shrink:0}.profile-name{font-weight:650;font-size:21px}.profile-name small{display:block;font-size:12px;font-weight:400;color:#777;margin-top:8px}.profile-panel{background:#fff;margin:0 19px;border-radius:20px 20px 14px;overflow:hidden;margin-top:-1px}.profile-summary{background:linear-gradient(100deg,#ff3074,#ff4a76);color:#fff;display:flex;align-items:center;justify-content:space-around;gap:10px;padding:18px 9px}.profile-summary button{font-size:14px}.profile-summary b{display:block;font-size:25px;margin-bottom:6px}.profile-summary .all-courses{border-radius:25px;background:#42151d;padding:10px 16px}.profile-links{padding:18px 19px}.profile-links>button{display:flex;width:100%;align-items:center;gap:17px;padding:23px 0;font-size:17px;text-align:left}.profile-links>button:after{content:'›';margin-left:auto;color:#ccc;font-size:24px}.menu-square{height:32px;width:32px;border-radius:9px;background:#4b87ff;color:#fff;display:grid;place-items:center;font-size:20px}.menu-square.red{background:#ff6265}.menu-square.green{background:#30c6ae}.logout{display:block;margin:18px auto 32px;background:#f0f0f0;border-radius:30px;color:#777;padding:17px;width:85%;font-size:17px}.service-intro{text-align:center;padding:65px 25px 35px}.service-mark{width:92px;height:92px;border-radius:24px;background:#fff0f5;margin:0 auto 25px;display:grid;place-items:center;color:var(--pink)}.service-mark .icon{width:46px;height:46px}.service-intro h1{font-size:25px}.service-intro p{color:#999;font-size:14px;line-height:1.9;margin:10px 0 30px}.service-note{padding:25px;margin:0 19px;background:#fff;border-radius:16px;line-height:1.8;font-size:14px;color:#888}.login-screen{min-height:90dvh;background:#fff;padding:35px 32px}.login-logo{margin:45px 0 45px}.login-logo b{display:block;font-size:30px;color:#333;margin-bottom:8px}.login-logo span{font-size:13px;color:#999}.field{margin:16px 0}.field label{display:block;font-size:13px;color:#888;margin-bottom:9px}.field input{border:0;border-bottom:1px solid #eee;padding:12px 0;width:100%;outline:0}.code-input{display:flex;align-items:center;gap:12px}.code-input button{white-space:nowrap;color:var(--pink);font-size:13px}.terms-checkbox{font-size:12px;color:#888;line-height:1.9;margin:28px 0;display:flex;gap:7px;align-items:flex-start}.terms-checkbox input{margin-top:5px;accent-color:var(--pink)}.text-button{font-size:12px;color:var(--pink);padding:0}.login-screen .primary{width:100%;border-radius:6px;padding:15px;margin-bottom:16px}.login-screen .secondary{width:100%;font-size:13px}.member-card{margin:7px 38px 0;background:linear-gradient(120deg,#ff5275,#ff2e73);border-radius:32px 32px 0 0;padding:25px 19px 37px;color:#fff}.member-card h2{margin:0 0 20px;font-size:21px;font-weight:400}.member-card p{font-size:14px;margin:0}.plans-panel{margin:-10px 19px 0;background:#fff;border-radius:20px;padding:23px 19px 19px;position:relative}.plans-panel>h3{text-align:center;margin:0 0 17px;font-size:20px;font-weight:400}.plan{display:flex;align-items:center;background:#f8f8f8;border-radius:14px;width:100%;padding:19px 17px;margin-top:12px;text-align:left;border:1px solid transparent}.plan.selected{border-color:var(--pink);background:#fff5f8}.plan>div{flex:1}.plan b{font-size:18px}.plan small{display:block;font-size:14px;color:#999;margin-top:8px}.plan.selected b{color:var(--pink)}.bill-list{padding:0 19px}.bill{padding:19px;background:#fff;border-radius:14px;margin:13px 0}.bill h3{font-size:16px;margin:0 0 14px}.bill p{font-size:12px;color:#999;margin:9px 0;overflow-wrap:anywhere}.bill .bill-foot{display:flex;align-items:center;justify-content:space-between;color:#999;font-size:12px;border-top:1px solid #f5f5f5;padding-top:12px;margin-top:15px}.status-tag{border-radius:5px;padding:4px 7px;background:#fff1f5;color:var(--pink);font-size:11px}dialog{border:0;border-radius:16px;padding:24px;max-width:calc(100% - 40px);width:380px;color:#444}dialog::backdrop{background:#0007}dialog h2{font-size:18px;margin:0 0 18px}dialog .dialog-text{white-space:pre-wrap;line-height:1.8;font-size:14px;max-height:60vh;overflow:auto}dialog .primary{display:block;margin:22px auto 0;min-width:110px}#toast{position:fixed;bottom:125px;left:50%;transform:translate(-50%,20px);max-width:min(360px,86vw);background:#222e;color:#fff;z-index:100;padding:12px 19px;border-radius:8px;opacity:0;pointer-events:none;font-size:14px;line-height:1.6;text-align:center;transition:.2s}#toast.visible{opacity:1;transform:translate(-50%,0)}.video-player{width:100%;margin-top:20px}button:focus-visible,a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}@media(min-width:481px){#app{box-shadow:0 0 40px #172a3e13}.tabbar,.bottom-purchase{left:50%;transform:translateX(-50%)}}@media(max-width:360px){.course-card{gap:10px}.course-info h3{font-size:15px}.course-info p{font-size:12px}.invite-inner{gap:6px}.invite-copy strong{font-size:13px}.diamond{font-size:28px}.top-tabs{gap:26px}}

#app.purchase-page{padding-bottom:calc(125px + env(safe-area-inset-bottom))}

.load-more{text-align:center;padding:20px 19px 28px}.load-more button{min-width:130px;font-size:13px}

button,input,textarea,select,[contenteditable]{font-family:inherit}.course-info h3{line-height:1.5}.tabbar button{line-height:1.6}.category-scroll button{line-height:1.6}.nav-text strong{line-height:1.55}

.login-back{font-size:30px}.login-help{line-height:1.8;margin-top:24px}.membership-price{display:block}.bill-price{font-size:19px}

.ai-pagebar{height:64px;display:grid;grid-template-columns:24px minmax(0,1fr) 24px;align-items:center;padding:16px;color:#17344c}.ai-pagebar>button{width:24px;padding:0;font-size:28px;line-height:28px;text-align:left}.ai-pagebar h1{font-size:18px;line-height:28px;font-weight:700;margin:0;text-align:center}.ai-content{display:flex;flex-direction:column;gap:20px;padding:8px 16px 16px;color:#17344c}.ai-intro{height:208px;flex-shrink:0;padding:20px;border-radius:20px;background:linear-gradient(90deg,#103e73,#0e6b85);display:flex;align-items:center;gap:10px;position:relative;overflow:hidden;color:#fff}.ai-intro-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px;position:relative;z-index:1}.ai-intro-copy p,.ai-intro-copy h2{margin:0}.ai-kicker{font-size:11px;line-height:18px;min-height:22px}.ai-intro-copy h2{font-size:26px;line-height:40px;font-weight:700;min-height:40px}.ai-intro-subtitle{font-size:13px;line-height:22px}.ai-intro-description{font-size:11px;line-height:18px;min-height:22px}.ai-energy-mark{width:96px;height:96px;flex-shrink:0;margin-right:10px;border:1px solid #ffffff52;border-radius:48px;background:#ffffff1f;display:grid;place-items:center;font-size:36px;line-height:40px;color:white;position:relative;z-index:1}.ai-intro-orbit{position:absolute;right:-42px;top:-38px;max-width:none;pointer-events:none}.ai-section-title{font-size:18px;font-weight:700;line-height:28px;min-height:28px;margin:0}.ai-entry-list{display:flex;flex-direction:column;gap:12px}.ai-entry-card{width:100%;background:#fff;border:1px solid #e6eef4;border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:12px;text-align:left;color:#17344c}.ai-entry-head{display:flex;align-items:center;gap:12px;height:46px;width:100%}.ai-entry-icon{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border-radius:12px;background:#eaf6fc;color:#1468b4;font-size:22px;line-height:28px}.ai-entry-heading{display:flex;flex-direction:column;flex:1;min-width:0}.ai-entry-heading strong{font-size:17px;line-height:28px;font-weight:700}.ai-entry-heading small{font-size:11px;line-height:18px;color:#758798}.ai-entry-arrow{width:24px;flex-shrink:0;font-size:20px;line-height:28px;color:#1468b4}.ai-entry-description{font-size:13px;line-height:22px;color:#758798;min-height:22px}.ai-entry-footer{display:flex;align-items:flex-start;justify-content:space-between;width:100%;min-height:22px;gap:8px}.ai-entry-footer strong{font-size:13px;line-height:20px;color:#1468b4;font-weight:700}.ai-entry-footer small{font-size:11px;line-height:18px;color:#758798;text-align:right;white-space:nowrap}.ai-support{font-size:11px;line-height:18px;min-height:36px;text-align:center;color:#758798;margin:0}.ai-entry-card:active{background:#f8fcff}

.ai-home .top-tabs{height:58px;padding:16px;gap:24px}.ai-home .top-tabs button{width:58px;flex-shrink:0;padding:0;font-size:18px;line-height:26px;text-align:left;font-weight:700;color:#758798}.ai-home .top-tabs button.active{color:#ff3273}.ai-home .top-tabs .active:after{display:none}.ai-home .hero-slider{margin:0 16px 16px;border-radius:20px}.banner-slide-button{display:block;padding:0;width:100%;text-align:left}.banner-slide-button>.banner-image{width:100%;aspect-ratio:358/208;object-fit:cover}.banner-empty{height:208px;background:linear-gradient(90deg,#103e73,#0e6b85);display:grid;place-items:center;color:#fff;font-size:24px}.ai-home .nav-grid{margin:0 16px 16px;padding:14px;gap:12px;border-radius:20px}.ai-home .nav-tile{border-radius:8px;aspect-ratio:159/90}.ai-home .nav-tile>img{width:100%;height:100%;aspect-ratio:159/90;object-fit:cover}.ai-home .list-panel{margin:0 16px 18px;border-radius:20px}.ai-home .list-panel>.content-tabs{height:60px}.ai-ad{height:208px;display:flex;align-items:center;gap:16px;padding:20px;position:relative;overflow:hidden;background:linear-gradient(90deg,#103e73,#0e6b85);color:#fff}.ai-ad-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px;position:relative;z-index:2}.ai-ad-eyebrow{font-size:10px;line-height:18px}.ai-ad-title{font-size:26px;line-height:40px;font-weight:700}.ai-ad-subtitle{font-size:12px;line-height:22px}.ai-ad-cta.primary{background:white;color:#1468b4;width:116px;height:36px;display:grid;place-items:center;border:1px solid #2c2c2c;border-radius:16px;padding:0;font-size:12px;line-height:20px;font-weight:700}.ai-ad-energy{width:94px;height:94px;flex-shrink:0;border:1px solid #ffffff52;border-radius:47px;background:#ffffff1f;display:grid;place-items:center;font-size:36px;line-height:44px;position:relative;z-index:2;animation:ai-energy-pulse 4s ease-in-out infinite}.ai-ad-ring{position:absolute;right:-42px;top:-38px;width:170px;height:170px;pointer-events:none;z-index:1}.ai-ad-ring>img{display:block;width:170px;height:170px;max-width:none;aspect-ratio:auto}.ai-ad:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 40%,#ffffff0d 49%,transparent 58%);transform:translateX(-120%);animation:ai-ad-sweep 8s ease-in-out infinite;z-index:1}.native-ai-nav{display:flex;align-items:center;gap:6px;padding:12px;background:linear-gradient(90deg,#def5ff,#dbfaed)}.ai-nav-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ai-nav-copy strong{font-size:15px;line-height:22px;font-weight:700;color:#17344c;white-space:nowrap}.ai-nav-copy small{font-size:10px;line-height:16px;color:#758798;white-space:nowrap}.ai-nav-mark{width:28px;height:28px;flex-shrink:0;border-radius:14px;background:#1468b4;color:#fff;font-size:12px;line-height:18px;display:grid;place-items:center}@keyframes ai-energy-pulse{0%,100%{box-shadow:0 0 0 0 #ffffff14}50%{box-shadow:0 0 0 9px #ffffff00}}@keyframes ai-ad-sweep{0%,55%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}@media(prefers-reduced-motion:reduce){.ai-ad-energy{animation:none}.ai-ad:after{animation:none;display:none}}@media(max-width:360px){.ai-home .top-tabs{gap:14px}.ai-ad{gap:10px}.ai-ad-energy{width:76px;height:76px;font-size:32px}.native-ai-nav{padding:9px;gap:4px}.ai-nav-copy strong{font-size:13px}.ai-nav-copy small{font-size:9px}.ai-nav-mark{width:24px;height:24px}}

.ai-description-phrase{display:inline-block;max-width:100%;vertical-align:top}

.login-method-note{padding:18px;background:#f6f8fc;border-radius:10px;margin-bottom:16px;font-size:14px;line-height:1.8}.login-method-note strong{display:block;font-size:16px;color:#3d5269}.login-method-note p{font-size:13px;color:#8794a2;margin:8px 0 14px}.login-method-note .secondary{font-size:13px}.login-secondary-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px}.login-secondary-actions .secondary{width:auto;padding:11px 14px}.login-secondary-actions .text-button{font-size:13px}.purchase-note{display:block;font-size:11px;color:#999;margin-top:4px}
