:root{--paper:#f4f0e7;--paper-deep:#e8e0d1;--ink:#211f1a;--muted:#726b60;--line:#d8cebd;--red:#8f2d2d;--red-dark:#68201f;--gold:#aa7d31;--white:#fffdf8;--shadow:0 18px 50px rgba(55,43,29,.09);--serif:"STKaiti","KaiTi","FangSong",serif;--body:"Songti SC","SimSun",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.7}.paper-grain{position:fixed;inset:0;pointer-events:none;opacity:.28;background-image:radial-gradient(rgba(72,57,40,.12) .45px,transparent .65px);background-size:7px 7px;mix-blend-mode:multiply;z-index:20}button,input{font:inherit}button{cursor:pointer;color:inherit}.site-header{height:96px;padding:0 clamp(24px,5vw,72px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);background:rgba(244,240,231,.94);position:sticky;top:0;z-index:15;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:14px;color:inherit;text-decoration:none;width:max-content}.brand-seal{width:42px;height:42px;display:grid;place-items:center;background:var(--red);color:#fff;font:24px var(--serif)}.brand strong{display:block;font:700 21px/1.1 var(--serif);letter-spacing:.12em}.brand small{font:9px/1 sans-serif;letter-spacing:.28em;color:var(--muted)}.main-nav{display:flex;gap:28px}.nav-button{border:0;background:none;padding:11px 4px;position:relative;color:var(--muted)}.nav-button::after{content:"";position:absolute;left:50%;right:50%;bottom:3px;height:1px;background:var(--red);transition:all .18s}.nav-button:hover,.nav-button:focus-visible,.nav-button.is-active{color:var(--red)}.nav-button.is-active::after{left:3px;right:3px}.outline-button{justify-self:end;border:1px solid var(--red);background:transparent;color:var(--red);padding:9px 18px;min-height:44px}.outline-button:hover,.outline-button:focus-visible{background:var(--red);color:#fff}.hero{min-height:650px;padding:clamp(64px,9vw,126px) clamp(24px,9vw,140px);display:grid;grid-template-columns:1fr minmax(380px,.8fr);gap:8vw;align-items:center;border-bottom:1px solid var(--line);overflow:hidden}.eyebrow{margin:0 0 16px;color:var(--red);font-size:13px;letter-spacing:.28em}.hero h1{font:500 clamp(64px,8vw,118px)/.98 var(--serif);letter-spacing:.03em;margin:0}.hero h1 span{color:var(--red)}.hero-description{max-width:540px;color:var(--muted);margin:32px 0}.primary-button{border:1px solid var(--red);background:var(--red);color:#fff;padding:11px 25px;min-height:46px;letter-spacing:.08em;transition:background .18s,transform .18s}.primary-button:hover,.primary-button:focus-visible{background:var(--red-dark);transform:translateY(-1px)}.hero-composition{height:470px;position:relative;display:grid;place-items:center}.hero-ring{width:330px;height:330px;border:1px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:space-between;padding:28px;color:var(--gold);font:28px var(--serif);transform:rotate(-12deg)}.hero-ring i{width:138px;height:138px;border-radius:50%;background:linear-gradient(90deg,var(--ink) 50%,var(--paper) 50%);border:1px solid var(--ink);position:relative}.hero-ring i::before,.hero-ring i::after{content:"";position:absolute;left:50%;transform:translateX(-50%);width:69px;height:69px;border-radius:50%}.hero-ring i::before{top:0;background:var(--paper)}.hero-ring i::after{bottom:0;background:var(--ink)}.hero-scroll{position:absolute;display:grid;place-items:center;width:154px;height:260px;background:rgba(255,253,248,.88);border:1px solid var(--line);box-shadow:var(--shadow);transform:rotate(4deg)}.hero-scroll b{font:70px var(--serif);color:var(--red)}.hero-scroll small{text-align:center;letter-spacing:.25em;color:var(--muted)}.trigram{position:absolute;font-size:54px;color:var(--ink);opacity:.28}.trigram-a{top:4%;right:10%}.trigram-b{bottom:3%;left:7%}.player-section,.catalog{padding:80px clamp(24px,5vw,72px)}.player-section{background:#1d1b17;color:#eee8dd}.section-kicker{color:#b9955d;letter-spacing:.25em;margin-bottom:22px}.player-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.6fr);gap:42px}.video-shell{aspect-ratio:16/9;background:#090908;position:relative;overflow:hidden;border:1px solid #38342d}.video-shell video{width:100%;height:100%;display:block}.video-empty{position:absolute;inset:0;display:grid;place-items:center;color:#8d877d;letter-spacing:.12em}.video-watermark{position:absolute;color:rgba(255,255,255,.62);background:rgba(0,0,0,.24);padding:3px 8px;font:12px sans-serif;pointer-events:none;transition:all .6s}.active-course-info h2{font:38px/1.25 var(--serif);margin:8px 0 20px}.active-course-info p{color:#aaa398}.course-meta{display:flex;gap:14px;flex-wrap:wrap;color:#c5ad86;font-size:14px}.catalog{min-height:620px}.section-heading{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:32px}.section-heading h2{font:500 clamp(36px,4vw,58px)/1.1 var(--serif);margin:0}.section-heading>p{max-width:430px;color:var(--muted);margin:0}.filters{display:flex;gap:8px;margin:0 0 28px;flex-wrap:wrap}.filters button,.auth-tabs button{border:1px solid var(--line);background:transparent;padding:8px 18px;min-height:42px}.filters button:hover,.filters button.is-active,.auth-tabs button.is-active{border-color:var(--red);color:var(--red);background:#fff9f1}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.course-card{background:rgba(255,253,248,.7);border:1px solid var(--line);min-height:430px;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s,border-color .18s}.course-card:hover,.course-card:focus-within{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#c6b69e}.course-cover{height:178px;position:relative;display:grid;place-items:center;overflow:hidden;background:#e9e1d4}.course-cover::before{content:"";position:absolute;inset:18px;border:1px solid rgba(119,91,55,.35)}.course-cover-word{font:58px var(--serif);color:var(--red);z-index:1}.cover-liuren{background:#e6e0d2}.cover-bazi{background:#dadfd9}.cover-liuyao{background:#ddd4c8}.course-status{position:absolute;top:14px;right:14px;padding:3px 9px;background:var(--white);border:1px solid var(--line);font-size:12px;z-index:2}.course-status.activated{background:var(--red);border-color:var(--red);color:#fff}.course-body{padding:24px;display:flex;flex-direction:column;flex:1}.course-body h3{font:26px/1.35 var(--serif);margin:4px 0 12px}.course-body p{color:var(--muted);font-size:15px;margin:0}.course-details{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding-top:24px;color:var(--muted);font-size:13px}.course-action{width:100%;border:0;border-top:1px solid var(--line);background:transparent;min-height:50px;color:var(--red);letter-spacing:.1em}.course-action:hover,.course-action:focus-visible{background:var(--red);color:#fff}.empty-state{grid-column:1/-1;border:1px dashed var(--line);padding:60px;text-align:center;color:var(--muted)}.site-footer{padding:55px 24px;text-align:center;border-top:1px solid var(--line);color:var(--muted)}.site-footer blockquote{font:22px var(--serif);color:var(--ink);margin:0 0 12px}.modal{border:0;padding:0;background:transparent;max-width:min(92vw,520px);width:100%}.modal::backdrop{background:rgba(24,20,16,.62);backdrop-filter:blur(3px)}.modal-card{background:var(--paper);border:1px solid var(--line);padding:42px;position:relative;box-shadow:var(--shadow)}.modal-card h2{font:38px var(--serif);margin:0 0 22px}.modal-close{position:absolute;right:14px;top:12px;border:0;background:none;font-size:28px;color:var(--muted);width:44px;height:44px}.modal-card label{display:block;margin:15px 0;color:var(--muted);font-size:14px}.modal-card input{display:block;width:100%;height:48px;border:1px solid var(--line);background:var(--white);padding:0 13px;margin-top:6px;color:var(--ink);outline:none}.modal-card input:focus{border-color:var(--red);box-shadow:0 0 0 2px rgba(143,45,45,.12)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:20px}.full-button{width:100%;margin-top:12px}.form-hint{font-size:14px;color:var(--muted)}.form-error{color:var(--red);min-height:1.7em;font-size:14px}.unlock-mark{float:right;width:58px;height:58px;border:2px solid var(--red);border-radius:50%;display:grid;place-items:center;color:var(--red);font:34px var(--serif);transform:rotate(8deg)}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,30px);opacity:0;background:var(--ink);color:#fff;padding:11px 22px;z-index:40;transition:all .2s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:3px}[hidden]{display:none!important}
@media(max-width:960px){.site-header{grid-template-columns:1fr auto}.main-nav{order:3;grid-column:1/-1;justify-content:center;height:48px}.site-header{height:auto;padding-top:16px}.hero{grid-template-columns:1fr;min-height:auto}.hero-composition{height:360px}.player-layout{grid-template-columns:1fr}.course-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){body{font-size:16px}.site-header{padding:12px 16px}.brand small{display:none}.main-nav{gap:4px;justify-content:space-between}.nav-button{font-size:14px}.outline-button{padding:7px 10px;font-size:14px}.hero{padding:60px 22px}.hero h1{font-size:62px}.hero-description{margin:24px 0}.hero-composition{height:300px}.hero-ring{width:260px;height:260px}.hero-scroll{height:210px;width:130px}.player-section,.catalog{padding:55px 18px}.section-heading{display:block}.section-heading>p{margin-top:18px}.course-grid{grid-template-columns:1fr}.modal-card{padding:34px 22px}.site-footer blockquote{font-size:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
#redeem-dialog{max-width:min(94vw,760px);max-height:92vh;overflow:auto}.purchase-price{font:700 30px var(--serif);color:var(--red);margin:8px 0 18px}.wechat-contact{display:grid;grid-template-columns:210px 1fr;gap:26px;align-items:center;padding:18px;border:1px solid var(--line);background:var(--white)}.wechat-contact img{display:block;width:210px;max-width:100%;height:auto;max-height:310px;object-fit:contain}.wechat-copy span{display:block;color:var(--muted);font-size:13px}.wechat-copy strong{display:block;font:24px monospace;margin:8px 0 14px;letter-spacing:.06em}.wechat-copy button{border:1px solid var(--red);background:transparent;color:var(--red);padding:8px 14px}.purchase-note{margin:18px 0 4px;color:var(--ink)}.redeem-existing{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}.redeem-existing h3{font:24px var(--serif);margin:0 0 8px}@media(max-width:680px){#redeem-dialog .modal-card{padding:32px 20px}.wechat-contact{grid-template-columns:1fr;text-align:center}.wechat-contact img{width:180px;margin:auto}.wechat-copy button{min-height:44px}}
.course-detail{margin-top:24px;padding-top:18px;border-top:1px solid #48433b}.student-lesson-list{display:grid;gap:16px;max-height:360px;overflow:auto}.student-section h3{margin:0 0 8px;color:#c5ad86;font:20px var(--serif)}.student-lesson{width:100%;display:flex;justify-content:space-between;gap:12px;text-align:left;border:1px solid #4b463e;background:#24211d;color:#eee8dd;padding:9px 11px;margin-top:6px}.student-lesson small{color:#b7aa96}.student-lesson:hover,.student-lesson.is-active{border-color:#b9955d;background:#312b24}.lesson-navigation{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.lesson-navigation button{border:1px solid #5e5548;background:transparent;color:#eee8dd;padding:9px}.lesson-navigation button:disabled{opacity:.35;cursor:not-allowed}@media(max-width:680px){.student-lesson-list{max-height:none}}.icp-link{color:inherit;text-decoration:none}.icp-link:hover,.icp-link:focus-visible{color:var(--red);text-decoration:underline}
