:root{--paper:#f5efe2;--paper-light:#fbf7ee;--paper-deep:#e8ddc9;--ink:#223c2f;--muted:#716958;--brown:#5a4430;--brown-deep:#403024;--gold:#ac7e35;--gold-soft:#d9c08f;--red:#9b4c3f;--line:#cbbd9f;--shadow:0 24px 70px rgba(67,48,29,.09)}
.toast{position:fixed;z-index:220;left:50%;bottom:30px;transform:translate(-50%,16px);padding:12px 20px;background:var(--ink);color:#fff;font-size:14px;letter-spacing:.02em;box-shadow:0 8px 24px rgba(34,60,47,.28);opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease}.toast.show{opacity:1;transform:translate(-50%,0)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Microsoft YaHei","Noto Sans SC",sans-serif}button,input,textarea{font:inherit}button{color:inherit}a{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.18;background-image:radial-gradient(rgba(77,62,39,.2) .55px,transparent .7px);background-size:6px 6px}
.site-header{position:sticky;top:0;z-index:90;height:76px;padding:0 26px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:var(--brown);color:#f7efdf;border-bottom:1px solid rgba(255,255,255,.2);box-shadow:0 8px 25px rgba(51,36,23,.12)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;justify-self:start}.brand img{width:46px;height:46px;object-fit:contain;border-radius:50%;background:#f7f1e4;padding:3px}.brand span{font:22px "STKaiti","KaiTi",serif;letter-spacing:.15em;white-space:nowrap}.site-header nav{display:flex;align-items:center;gap:28px}.site-header nav a{text-decoration:none;font-size:13px;letter-spacing:.08em;opacity:.82}.site-header nav a:hover,.site-header nav a.active{opacity:1;color:#f2d9a5}.header-actions{justify-self:end;display:flex;align-items:center;gap:13px}.back-link{padding:9px 14px;border:1px solid rgba(255,255,255,.32);text-decoration:none;font-size:12px}.menu-button{display:none;border:0;background:transparent;color:inherit;font-size:20px}
.section-switcher{position:relative}.section-switcher summary{display:flex;align-items:center;gap:9px;min-height:76px;cursor:pointer;list-style:none;color:#f2d9a5;font-size:13px;letter-spacing:.06em;white-space:nowrap}.section-switcher summary::-webkit-details-marker{display:none}.section-switcher summary::after{content:"";width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .24s ease}.section-switcher[open] summary::after{transform:translateY(2px) rotate(225deg)}.section-menu{position:absolute;z-index:110;top:calc(100% - 7px);left:50%;width:190px;padding:7px;background:#f4ecdc;color:var(--ink);border:1px solid rgba(112,84,58,.28);box-shadow:0 18px 38px rgba(43,31,20,.2);transform:translateX(-50%)}.site-header nav .section-menu a{position:relative;display:block;padding:11px 13px;color:var(--ink);font-size:12px;letter-spacing:.06em;opacity:1}.site-header nav .section-menu a:hover{color:var(--ink);background:#e7dcc7}.site-header nav .section-menu a.active{color:var(--ink);background:#dfd0b6}.site-header nav .section-menu a.active::after{content:"";position:absolute;right:13px;top:50%;width:5px;height:5px;border-radius:50%;background:var(--gold);transform:translateY(-50%)}.site-header nav a[aria-disabled="true"]{cursor:default}
.page-main{position:relative;z-index:1}.page-hero{width:min(1280px,calc(100% - 56px));margin:0 auto;padding:74px 0 56px;display:grid;grid-template-columns:minmax(390px,1fr) minmax(320px,500px);gap:72px;align-items:end;border-bottom:1px solid var(--line)}.eyebrow{margin:0 0 16px;color:var(--gold);font:12px "STSong","SimSun",serif;letter-spacing:.25em}.page-hero h1{margin:0;font:500 clamp(48px,5vw,76px)/1.12 "STKaiti","KaiTi",serif;letter-spacing:.06em}.hero-title{position:relative}.hero-logo{position:absolute;top:50%;left:0;transform:translate(calc(-100% - 10px),-50%);width:clamp(120px,14vw,176px);height:clamp(120px,14vw,176px);object-fit:contain}.page-hero>p{margin:0;color:var(--muted);font:14px/2 "STSong","SimSun",serif}.page-hero .hero-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.quiet-link{display:inline-flex;align-items:center;gap:14px;padding:10px 14px;border:1px solid var(--line);text-decoration:none;font-size:12px;background:rgba(255,255,255,.2)}
.section-wrap{width:min(1280px,calc(100% - 56px));margin:0 auto;padding:86px 0}.section-title{display:grid;grid-template-columns:120px 1fr;gap:30px;margin-bottom:32px;align-items:start}.section-title .eyebrow{padding-top:9px}.section-title h2{margin:0 0 9px;font:500 clamp(38px,4vw,58px) "STKaiti","KaiTi",serif;letter-spacing:.07em}.section-title p{margin:0;max-width:780px;color:var(--muted);font:14px/1.85 "STSong","SimSun",serif}.panel{background:rgba(251,247,238,.76);border:1px solid var(--line);box-shadow:var(--shadow)}
.site-footer{display:flex;justify-content:space-between;gap:25px;padding:25px 28px;background:var(--brown-deep);color:#ddcfb7;font-size:11px;letter-spacing:.08em}

/* 时养首页：一扇可操作的古窗承担整页唯一的强动画。 */
.season-hero{position:relative;min-height:calc(100vh - 76px);padding:42px 0 78px;display:grid;align-items:center}.season-layout{width:min(1280px,calc(100% - 56px));margin:0 auto;display:grid;grid-template-columns:minmax(420px,.9fr) minmax(520px,1.5fr);gap:54px;align-items:center}.season-copy h1{margin:0;white-space:nowrap;font:500 clamp(58px,5vw,75px)/1 "STKaiti","KaiTi",serif;letter-spacing:.035em}.season-copy .lead{margin:24px 0;color:var(--muted);font:15px/2 "STSong","SimSun",serif}.season-date{padding-top:18px;border-top:1px solid var(--line)}.term-heading{display:flex;align-items:baseline;gap:13px}.season-date strong{font:32px "STKaiti","KaiTi",serif}.term-heading small{color:var(--gold);font:12px Georgia,"STSong",serif;letter-spacing:.08em}.term-info{margin-top:15px;padding:15px 0 0;border-top:1px solid rgba(177,139,89,.34)}.term-info>p{min-height:48px;margin:0;color:var(--muted);font:13px/1.85 "STSong","SimSun",serif}.term-facts{margin:13px 0 0}.term-facts>div{display:grid;grid-template-columns:68px 1fr;gap:12px;padding:8px 0;border-top:1px solid rgba(177,139,89,.22)}.term-facts dt{color:var(--gold);font-size:10px;letter-spacing:.12em}.term-facts dd{margin:0;color:var(--ink);font:12px/1.55 "STSong","SimSun",serif}.time-return{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:10px}.time-return time{color:var(--muted);font:10px Georgia,"STSong",serif}.time-return button{flex:0 0 auto;border:0;border-bottom:1px solid var(--ink);background:transparent;color:var(--ink);padding:4px 0;cursor:pointer;font:11px "STSong","SimSun",serif}.time-return button:hover{color:var(--gold);border-color:var(--gold)}
.season-window{position:relative;min-height:600px;display:grid;place-items:center;overflow:hidden;background:#e7ddc7;border:14px solid #70543a;box-shadow:0 26px 70px rgba(60,43,26,.17),inset 0 0 0 4px #b18b59}.season-window::before{content:"";position:absolute;inset:18px;border:2px solid rgba(69,52,34,.42);pointer-events:none}.window-view{position:absolute;inset:24px;overflow:hidden;background:linear-gradient(#e9dfc8 0 55%,#d2c49e 55% 100%);transition:background .5s}.window-scene{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover}.window-view::before,.window-view::after{content:"";position:absolute;border-radius:50%;opacity:.72}.window-view::before{width:240px;height:240px;right:8%;top:5%;background:#d7bd7c}.window-view::after{left:-5%;right:-5%;bottom:-16%;height:46%;border-radius:50% 50% 0 0;background:#8da18a;box-shadow:260px -55px 0 #a8b394,520px 8px 0 #788e76}.season-window[data-season="spring"] .window-view{background:linear-gradient(#e7dfc7 0 56%,#d5c7a7 56%)}.season-window[data-season="summer"] .window-view{background:linear-gradient(#e2dfbd 0 56%,#aebc91 56%)}.season-window[data-season="autumn"] .window-view{background:linear-gradient(#e7d7b7 0 56%,#c7ad76 56%)}.season-window[data-season="winter"] .window-view{background:linear-gradient(#e5e1d7 0 56%,#bbc4bd 56%)}
.season-sentence{position:absolute;z-index:2;left:50%;bottom:12%;transform:translateX(-50%);width:min(82%,600px);padding:19px 24px;text-align:center;background:rgba(248,242,228,.82);border-top:1px solid rgba(89,69,43,.36);border-bottom:1px solid rgba(89,69,43,.36);backdrop-filter:blur(5px);transition:opacity .18s ease,transform .18s ease}.season-sentence b{display:block;font:27px "STKaiti","KaiTi",serif;letter-spacing:.12em}.season-sentence small{display:block;margin-top:7px;color:var(--muted);font:11px Georgia,"STSong",serif}
.window-panel{position:absolute;z-index:5;top:24px;bottom:24px;width:calc(50% - 24px);background:#856546;border:4px solid #61472f;transition:transform 1.05s cubic-bezier(.22,.78,.22,1);cursor:pointer}.window-panel.left{left:24px;transform-origin:left center}.window-panel.right{right:24px;transform-origin:right center}.window-panel::before{content:"";position:absolute;inset:18px;background:repeating-linear-gradient(90deg,transparent 0 48px,rgba(239,220,180,.6) 49px 53px),repeating-linear-gradient(0deg,transparent 0 66px,rgba(239,220,180,.6) 67px 71px);border:2px solid #c4a474}.window-panel::after{content:"";position:absolute;top:50%;width:12px;height:36px;border:2px solid #dac18f;border-radius:10px;transform:translateY(-50%)}.window-panel.left::after{right:12px}.window-panel.right::after{left:12px}.season-window.is-open .window-panel.left{transform:perspective(900px) rotateY(-94deg)}.season-window.is-open .window-panel.right{transform:perspective(900px) rotateY(94deg)}
.window-guide{position:absolute;z-index:7;top:50%;left:50%;width:58px;height:44px;transform:translate(-50%,-50%);pointer-events:none;transition:opacity .35s ease,transform .35s ease}.window-guide::before,.window-guide::after{content:"";position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%)}.window-guide::before{width:30px;height:30px;border:1px solid rgba(255,250,228,.94);box-shadow:0 0 0 8px rgba(255,250,228,.12);animation:guidePulse 1.6s ease-out infinite}.window-guide::after{width:8px;height:8px;background:#fff7dc;box-shadow:0 2px 10px rgba(44,29,15,.35);animation:guideTap 1.6s ease-in-out infinite}.window-guide i{position:absolute;left:50%;top:50%;width:42px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,248,222,.86),transparent);transform:translate(-50%,-50%);animation:guideGlide 1.6s ease-in-out infinite}.season-window.is-open .window-guide{opacity:0;transform:translate(-50%,-50%) scale(.7)}
.term-nav{position:absolute;inset:0;z-index:8;pointer-events:none}.term-nav button{position:absolute;top:50%;width:38px;height:38px;border:1px solid rgba(255,250,228,.58);border-radius:50%;background:rgba(65,48,29,.48);color:#fffaf0;font:20px/1 Georgia,serif;display:grid;place-items:center;cursor:pointer;opacity:0;transform:translateY(-50%) scale(.82);transition:opacity .3s ease .42s,transform .3s ease .42s,background .2s ease}.term-nav button:hover{background:rgba(38,62,46,.82)}.term-nav #previousTerm{left:24px}.term-nav #nextTerm{right:24px}.season-window.is-open .term-nav button{opacity:1;transform:translateY(-50%) scale(1);pointer-events:auto}.season-window.is-changing .season-sentence{opacity:0;transform:translate(-50%,8px)}
@keyframes guidePulse{0%{opacity:.2;transform:translate(-50%,-50%) scale(.62)}45%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.45)}}@keyframes guideTap{0%,100%{transform:translate(-50%,-50%) scale(.76)}45%{transform:translate(-50%,-50%) scale(1)}}@keyframes guideGlide{0%,100%{transform:translate(-58%,-50%) scaleX(.72);opacity:.45}50%{transform:translate(-42%,-50%) scaleX(1);opacity:1}}
.scroll-cue{position:absolute;z-index:9;left:50%;bottom:18px;width:42px;height:40px;transform:translateX(-50%);opacity:.46;text-decoration:none;transition:opacity .25s ease}.scroll-cue:hover,.scroll-cue:focus-visible{opacity:.9}.scroll-cue::before,.scroll-cue::after{content:"";position:absolute;left:50%;width:12px;height:12px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);transform:translateX(-50%) rotate(45deg);animation:scrollGuide 2s ease-in-out infinite}.scroll-cue::before{top:4px}.scroll-cue::after{top:13px;animation-delay:.16s}.scroll-cue i{position:absolute;left:50%;bottom:2px;width:1px;height:12px;background:linear-gradient(var(--ink),transparent);transform:translateX(-50%)}
@keyframes scrollGuide{0%,100%{opacity:.2;translate:0 -2px}50%{opacity:.85;translate:0 3px}}
.module-area{background:#eee5d5;border-top:1px solid var(--line)}.module-area .section-wrap{padding-top:52px}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:rgba(251,247,238,.72)}.module-card{min-height:360px;padding:34px;display:flex;flex-direction:column;text-decoration:none;border-right:1px solid var(--line);transition:.3s}.module-card:last-child{border-right:0}.module-card:hover{background:var(--ink);color:white}.module-card .num{color:var(--gold);font:11px Georgia,serif}.module-card h2{margin:40px 0 12px;font:38px "STKaiti","KaiTi",serif}.module-card p{margin:0;color:var(--muted);font:13px/1.9 "STSong","SimSun",serif}.module-card:hover p{color:#ded6c8}.module-card ul{margin:auto 0 26px;padding:0;list-style:none;display:grid;gap:8px;font-size:12px}.module-card li::before{content:"—";margin-right:8px;color:var(--gold)}.module-card .enter{align-self:flex-end;border-bottom:1px solid currentColor;padding-bottom:4px;font-size:12px}

/* 中医药文化 */
.concept-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.concept-card{min-height:330px;padding:26px;border:0;border-right:1px solid var(--line);background:rgba(251,247,238,.68);text-align:left;cursor:pointer;transition:.3s}.concept-card:last-child{border-right:0}.concept-card.active{background:var(--ink);color:white}.concept-card .concept-no{color:var(--gold);font:11px Georgia,serif}.concept-card h3{margin:58px 0 12px;font:27px/1.35 "STKaiti","KaiTi",serif}.concept-card p{margin:0;color:var(--muted);font:12px/1.8 "STSong",serif}.concept-card.active p{color:#ddd4c5}.concept-detail{margin-top:16px;padding:25px 30px;display:grid;grid-template-columns:180px 1fr 220px;gap:30px;align-items:center;border:1px solid var(--line);background:#eee2cc}.concept-detail h3{margin:0;font:27px "STKaiti",serif}.concept-detail p{margin:0;color:var(--muted);font:13px/1.9 "STSong",serif}.concept-words{display:flex;flex-wrap:wrap;gap:7px}.concept-words span{padding:7px 10px;border:1px solid var(--gold);font-size:11px}
.video-shelf{position:relative}.video-viewport{overflow:hidden}.video-track{display:flex;gap:16px;transition:transform .55s cubic-bezier(.22,.78,.22,1)}.video-card{flex:0 0 calc((100% - 32px)/3);min-height:330px;border:1px solid var(--line);background:#f1e7d4;cursor:pointer;text-align:left;padding:0;overflow:hidden}.video-poster{height:205px;position:relative;display:grid;place-items:center;background:linear-gradient(145deg,#81917a,#c1ad7b)}.video-poster::before{content:"";position:absolute;inset:0;z-index:0;background:repeating-linear-gradient(115deg,transparent 0 42px,rgba(255,255,255,.07) 43px 44px)}.video-thumb{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover}.video-poster::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(22,28,22,.08),rgba(22,28,22,.34))}.play-icon{position:relative;z-index:2;width:54px;height:54px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.75);border-radius:50%;color:white;font-size:20px}.video-meta{padding:21px}.video-meta small{color:var(--gold);letter-spacing:.13em}.video-meta h3{margin:9px 0 6px;font:23px "STKaiti",serif}.video-meta p{margin:0;color:var(--muted);font-size:11px;line-height:1.7}.shelf-controls{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}.shelf-controls button{width:42px;height:42px;border:1px solid var(--line);background:transparent;cursor:pointer}.video-dialog{width:min(720px,calc(100% - 34px));border:1px solid var(--line);padding:0;background:var(--paper-light);color:var(--ink);box-shadow:0 30px 100px rgba(35,25,17,.34)}.video-dialog::backdrop{background:rgba(31,26,20,.6)}.dialog-visual{position:relative;height:340px;display:grid;place-items:center;background:linear-gradient(145deg,#506756,#9c885a);color:white}.dialog-visual .play-icon{width:72px;height:72px}.dialog-visual iframe{position:relative;z-index:1;width:100%;height:100%;border:0;display:block;background:#000}.video-loading{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#26332c;color:#efe6cf;font-size:13px;letter-spacing:.06em}.video-loading::before{content:"";width:36px;height:36px;border:3px solid rgba(255,255,255,.18);border-top-color:#d7bd7c;border-radius:50%;animation:video-spin .8s linear infinite}@keyframes video-spin{to{transform:rotate(360deg)}}.dialog-copy{padding:27px 27px 36px;display:flex;flex-direction:column}.dialog-copy h3{margin:0 0 8px;font:29px "STKaiti",serif}.dialog-copy p{margin:0;color:var(--muted);font-size:12px;line-height:1.8}.dialog-copy button{align-self:flex-end;margin-top:20px;border:1px solid var(--ink);background:transparent;padding:8px 14px;cursor:pointer}
.topic-links{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin-bottom:35px}.topic-link{min-height:150px;padding:26px;border:1px solid var(--line);background:#eee2cd;text-decoration:none}.topic-link strong{display:block;font:29px "STKaiti",serif}.topic-link span{display:block;margin-top:10px;color:var(--muted);font-size:12px}.five-elements{display:grid;grid-template-columns:minmax(480px,1fr) 360px;border:1px solid var(--line);background:rgba(251,247,238,.7)}.five-map{min-height:560px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:26px 18px;border-right:1px solid var(--line)}.five-map svg{width:min(560px,92%);height:500px}.element-node{cursor:pointer}.element-node .node-halo{fill:rgba(90,70,45,.16);stroke:none;opacity:0;filter:blur(7px);transform-origin:center;transform-box:fill-box;transition:opacity .35s ease,transform .35s ease}.element-node .node-core{stroke:#7a6747;stroke-width:1.2;transform-origin:center;transform-box:fill-box;transition:transform .25s ease,filter .25s ease}.element-node text{font:31px "STKaiti","KaiTi",serif;fill:var(--ink);pointer-events:none}.element-node.active .node-core{filter:brightness(.9);transform:scale(1.06)}.element-node.active .node-halo{opacity:1;transform:scale(1.12)}.element-node.hover .node-core{filter:brightness(.96);transform:scale(1.03)}.element-node.hover .node-halo{opacity:.6;transform:scale(1.05)}.element-node.demo-focus .node-core{filter:brightness(.94)}.element-node.dim{opacity:.7}.relation-line{fill:none;stroke:#c9c2b3;stroke-width:1.4;transition:stroke .3s ease,stroke-width .3s ease}.relation-line.control{stroke-dasharray:6 7}.relation-line.show-draw{stroke:#b08a4a;stroke-width:3;stroke-dasharray:100;stroke-dashoffset:100;animation:fiveDraw .7s ease-out forwards,shengGlow 1.7s ease-in-out infinite}.relation-line.show-ke{stroke:#9b5a4f;stroke-width:3;animation:keGlow 1.7s ease-in-out infinite}@keyframes fiveDraw{to{stroke-dashoffset:0}}@keyframes shengGlow{0%,100%{filter:drop-shadow(0 0 2px rgba(176,138,74,.5))}50%{filter:drop-shadow(0 0 8px rgba(176,138,74,.95))}}@keyframes keGlow{0%,100%{filter:drop-shadow(0 0 3px rgba(155,90,79,.6))}50%{filter:drop-shadow(0 0 10px rgba(155,90,79,1))}}.relation-flow{fill:none;stroke-width:2.6;stroke-linecap:round;stroke-dasharray:14 600;opacity:0}.relation-flow.sheng-flow{stroke:#8a6a2f}.relation-flow.ke-flow{stroke:#7d4038}.relation-flow.flowing{animation:relationFlowSlide .8s ease-out forwards}@keyframes relationFlowSlide{0%{stroke-dashoffset:0;opacity:1}70%{opacity:1}100%{stroke-dashoffset:-614;opacity:0}}.element-panel{padding:48px 34px;background:#eee5d4}.element-panel.switching{animation:panelFade .3s ease}@keyframes panelFade{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:none}}.element-panel h3{margin:10px 0;font:48px "STKaiti",serif}.element-panel p{color:var(--muted);font:13px/1.9 "STSong",serif}.element-panel dl div{padding:15px 0;border-top:1px solid var(--line)}.element-panel dt{color:var(--gold);font-size:11px}.element-panel dd{margin:7px 0 0;font:13px/1.7 "STSong",serif}.five-tools{display:flex;flex-direction:column;align-items:center;gap:12px}.five-demo{display:flex;align-items:center;gap:12px;font:13px "STSong",serif;color:var(--muted)}.five-demo button{appearance:none;border:0;background:transparent;padding:2px 0;cursor:pointer;font:13px "STSong",serif;color:var(--muted);letter-spacing:.08em;transition:color .2s ease,border-color .2s ease}.five-demo button:hover{color:var(--ink)}.five-demo button.active{color:var(--ink);font-weight:600;border-bottom:1px solid var(--gold)}.five-quiz{margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}.five-quiz-head{display:flex;align-items:baseline;gap:10px}.five-quiz-label{color:var(--gold);font-size:11px;letter-spacing:.12em}.five-quiz-q{color:var(--ink);font:16px "STKaiti",serif}.five-quiz-next{margin-left:auto;border:0;background:transparent;padding:0;cursor:pointer;font-size:11px;color:var(--muted)}.five-quiz-next:hover{color:var(--ink)}.five-quiz-options{display:flex;flex-wrap:wrap;gap:14px;margin-top:16px}.five-quiz-option{width:46px;height:46px;border:0;border-radius:50%;cursor:pointer;font:20px "STKaiti","KaiTi",serif;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 1px 3px rgba(67,48,29,.2);transition:transform .16s ease,box-shadow .16s ease}.five-quiz-option:hover{transform:translateY(-2px);box-shadow:0 4px 10px rgba(67,48,29,.26)}.five-quiz-option.shake{animation:optionShake .4s ease}@keyframes optionShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}.five-quiz-feedback{height:20px;margin:12px 0 0;font:12px/1.6 "STSong",serif;color:var(--muted);overflow:hidden}.five-quiz-feedback.correct{color:#3f6b52}.five-quiz-feedback.wrong{color:#9b5a4f}

/* 生活场景 */
.day-clock{padding:0}.time-rail{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--line)}.time-button{border:0;border-right:1px solid var(--line);background:transparent;padding:22px 10px;cursor:pointer}.time-button:last-child{border-right:0}.time-button small{display:block;color:var(--muted);font:10px Georgia,serif}.time-button b{display:block;margin-top:6px;font:18px "STKaiti",serif}.time-button.active{background:var(--ink);color:white}.time-button.active small{color:#d8ccb6}.time-content{display:grid;grid-template-columns:250px 1fr 1fr;padding:38px;gap:34px}.time-scene{min-height:280px;display:grid;place-content:center;text-align:center;background:#e4d8bd;border:1px solid var(--line)}.sun-disc{width:110px;height:110px;margin:auto;border-radius:50%;background:#c7a45f;box-shadow:0 0 0 20px rgba(199,164,95,.13)}.time-scene h3{margin:28px 0 0;font:31px "STKaiti",serif}.advice-column h3{margin:0 0 18px;font:25px "STKaiti",serif}.advice-column ul{margin:0;padding:0;list-style:none;display:grid;gap:13px}.advice-column li{padding-bottom:13px;border-bottom:1px solid var(--line);font:13px/1.75 "STSong",serif}.expression-box{margin-top:23px;padding:18px;background:rgba(255,255,255,.4)}.expression-box span{color:var(--gold);font-size:10px;letter-spacing:.12em}.expression-box strong{display:block;margin-top:8px;font:19px "STKaiti",serif}
.emotion-lab{display:grid;grid-template-columns:1fr 1fr}.emotion-form{padding:35px;border-right:1px solid var(--line)}.emotion-step{margin-bottom:27px}.emotion-step>span{display:block;margin-bottom:12px;color:var(--gold);font-size:11px;letter-spacing:.12em}.choice-row{display:flex;flex-wrap:wrap;gap:8px}.choice{border:1px solid var(--line);background:transparent;padding:9px 13px;cursor:pointer;font-size:12px}.choice.active{background:var(--ink);border-color:var(--ink);color:white}.emotion-form textarea{width:100%;min-height:90px;border:1px solid var(--line);background:rgba(255,255,255,.35);padding:12px;resize:vertical}.generate-button{width:100%;border:0;background:var(--ink);color:white;padding:13px;cursor:pointer}.emotion-result{padding:42px;background:#eee4d1}.emotion-result .empty{color:var(--muted);font:14px/2 "STSong",serif}.emotion-result h3{margin:0 0 17px;font:31px "STKaiti",serif}.result-line{padding:16px 0;border-top:1px solid var(--line)}.result-line span{color:var(--gold);font-size:10px}.result-line p{margin:7px 0 0;font:13px/1.8 "STSong",serif}.save-today{margin-top:20px;border:1px solid var(--ink);background:transparent;padding:9px 13px;cursor:pointer}.save-notice{display:block;margin-top:9px;color:var(--muted);font-size:10px}

.placeholder-banner{padding:11px 18px;border:1px dashed var(--line);color:var(--muted);font-size:11px;background:rgba(255,255,255,.26)}
@media(max-width:1040px){.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.site-header.submodule-header nav{display:flex;justify-self:end}.submodule-header nav>a{display:none}.submodule-header .section-switcher summary{min-height:76px}.submodule-header .section-menu{left:auto;right:0;transform:none}.season-layout{grid-template-columns:1fr}.season-copy{max-width:700px}.season-window{min-height:560px}.module-grid{grid-template-columns:1fr}.module-card{min-height:270px;border-right:0;border-bottom:1px solid var(--line)}.concept-grid{grid-template-columns:repeat(2,1fr)}.concept-card:nth-child(2){border-right:0}.concept-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.concept-detail{grid-template-columns:1fr}.video-card{flex-basis:calc((100% - 16px)/2)}.five-elements{grid-template-columns:1fr}.five-map{border-right:0;border-bottom:1px solid var(--line)}.time-content{grid-template-columns:220px 1fr}.time-content .advice-column:last-child{grid-column:2}.emotion-lab{grid-template-columns:1fr}.emotion-form{border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:700px){.site-header{height:66px;padding:0 14px}.brand img{width:40px;height:40px}.brand span{font-size:19px}.back-link{padding:8px}.page-hero,.section-wrap,.season-layout{width:calc(100% - 28px)}.page-hero{padding:52px 0 42px;grid-template-columns:1fr;gap:26px}.page-hero h1{font-size:48px}.section-wrap{padding:65px 0}.section-title{grid-template-columns:1fr;gap:0}.season-hero{min-height:auto;padding:48px 0 72px}.season-layout{gap:38px}.season-copy h1{font-size:44px;letter-spacing:0}.time-return{align-items:flex-end}.time-return time{max-width:180px;line-height:1.5}.season-window{min-height:450px;border-width:9px}.window-panel{top:17px;bottom:17px;width:calc(50% - 17px)}.window-panel.left{left:17px}.window-panel.right{right:17px}.window-view{inset:17px}.season-sentence{bottom:10%;width:76%}.season-sentence b{font-size:21px}.term-nav #previousTerm{left:10px}.term-nav #nextTerm{right:10px}.module-card{padding:26px}.concept-grid{grid-template-columns:1fr}.concept-card{min-height:250px;border-right:0;border-bottom:1px solid var(--line)}.concept-card h3{margin-top:34px}.video-card{flex-basis:100%}.dialog-visual{height:250px}.topic-links{grid-template-columns:1fr}.five-elements{display:block}.five-map{min-height:430px;overflow:hidden}.five-map svg{width:100%;height:auto;min-width:0}.time-rail{display:flex;overflow:auto}.time-button{min-width:100px}.time-content{grid-template-columns:1fr;padding:24px}.time-content .advice-column:last-child{grid-column:1}.emotion-form,.emotion-result{padding:25px}.site-footer{display:grid}.header-actions .back-link:first-child{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.term-info>p{min-height:72px}

/* 概念入门：分组、选词与学习详情 */
.concept-study{display:grid;grid-template-columns:240px minmax(0,1fr);margin-top:16px;border:1px solid var(--line);background:rgba(251,247,238,.76)}
.concept-word-list{display:grid;align-content:start;gap:7px;padding:18px;background:rgba(226,211,181,.42)}
.concept-word-button{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:12px;width:100%;padding:14px 15px;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer;transition:background .22s,color .22s,transform .22s}
.concept-word-button:hover{background:rgba(255,255,255,.52);transform:translateX(3px)}
.concept-word-button.active{background:var(--ink);color:#f8f1e4}
.concept-word-button span{font:22px/1.2 "STKaiti","KaiTi",serif}
.concept-word-button small{color:var(--muted);font:11px/1.4 Georgia,"Times New Roman",serif;letter-spacing:.03em}
.concept-word-button.active small{color:#d8ccb6}
.concept-detail.concept-learning-detail{margin:0;padding:38px 42px;display:block;border:0;background:transparent}
.concept-term-head>span{display:block;color:var(--gold);font:11px/1.5 "STSong",serif;letter-spacing:.12em}
.concept-term-title{display:flex;align-items:baseline;gap:22px;margin-top:16px}
.concept-detail.concept-learning-detail .concept-term-title h3{font:54px/1.1 "STKaiti","KaiTi",serif}
.concept-term-title p{color:#a65143!important;font:17px/1.4 Georgia,"Times New Roman",serif!important}
.concept-detail.concept-learning-detail .concept-definition{max-width:780px;margin-top:22px;color:var(--ink);font:17px/1.9 "STSong",serif}
.concept-learning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:32px}
.concept-learning-grid section{min-height:150px;padding:21px 22px;background:rgba(232,218,191,.45)}
.concept-learning-grid span{display:block;margin-bottom:14px;color:var(--gold);font-size:10px;letter-spacing:.13em}
.concept-detail.concept-learning-detail .concept-learning-grid p{color:var(--ink);font:14px/1.85 "STSong",serif}
@media(max-width:1040px){.concept-study{grid-template-columns:1fr}.concept-word-list{display:flex;overflow-x:auto}.concept-word-button{min-width:178px}.concept-detail.concept-learning-detail{padding:32px}.concept-learning-grid{grid-template-columns:1fr 1fr}.concept-learning-grid section:last-child{grid-column:1/-1}}
@media(max-width:700px){.concept-word-list{padding:12px}.concept-word-button{min-width:150px;padding:12px}.concept-detail.concept-learning-detail{padding:27px 22px}.concept-detail.concept-learning-detail .concept-term-title h3{font-size:43px}.concept-term-title{display:block}.concept-term-title p{margin-top:7px!important}.concept-learning-grid{grid-template-columns:1fr}.concept-learning-grid section:last-child{grid-column:auto}.concept-learning-grid section{min-height:0}}
.term-info{border-top:0;padding-top:3px}.term-facts>div{border-top:0;padding-top:10px}.term-facts{position:relative;padding-top:10px}.term-facts::before{content:"";position:absolute;left:0;top:0;width:42px;height:1px;background:rgba(177,139,89,.42)}

/* 时养三个子页面共用同一套标题秩序：标题与页内导航同排，正文标题贴齐内容边界。 */
.page-hero{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:56px}.page-hero>div:first-child{min-width:0}.page-hero h1{max-width:780px;font-size:clamp(48px,5vw,72px);line-height:1.12}.page-hero>.hero-links{align-self:end;justify-self:end;margin:0 0 2px}.section-title{display:block;margin-bottom:32px}.section-title>div{width:100%}.section-title .eyebrow{display:none}.section-title h2{max-width:none}.section-title p{max-width:none}.section-heading.food-heading{display:block}.food-heading>div{width:100%;max-width:none}.library-heading{display:block}.library-heading>div{max-width:none}.library-heading>p{display:none}.library-heading>div>p{margin:10px 0 0;color:var(--muted);font:13px/1.8 "STSong",serif}
/* 同级模块标题使用一枚褐色方印作视觉锚点。 */
.section-title h2,.section-heading h2,.library-heading h3{display:flex;align-items:center;gap:15px}
.section-title h2::before,.section-heading h2::before,.library-heading h3::before{content:"";flex:0 0 auto;width:11px;height:11px;background:#765239}
@media(min-width:1041px){.section-title>div>p,.section-heading>div>p,.library-heading>div>p{white-space:nowrap}}
@media(max-width:700px){.page-hero{grid-template-columns:1fr;gap:28px}.page-hero h1{font-size:42px;line-height:1.16}.page-hero>.hero-links{justify-self:start;margin-bottom:0}.section-title h2,.section-heading h2,.library-heading h3{gap:11px}.section-title h2::before,.section-heading h2::before,.library-heading h3::before{width:9px;height:9px}}

/* 视频翻页只保留两侧符号，并为其独立留位，不覆盖视频卡片。 */
.video-shelf{display:grid;grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;column-gap:13px}
.video-side-control{position:static;z-index:4;width:30px;height:70px;padding:0;border:0;background:transparent;color:var(--ink);font:44px/1 Georgia,"Times New Roman",serif;cursor:pointer;transform:none;opacity:.72;transition:opacity .2s,transform .2s}
.video-side-control:hover{background:transparent;color:var(--ink);opacity:1;transform:scale(1.08)}
.video-side-control:focus{outline:none}
.video-side-control:focus-visible{color:#a87932;text-shadow:0 0 0 currentColor}
.video-side-prev,.video-side-next{left:auto;right:auto}
@media(max-width:700px){.video-shelf{grid-template-columns:22px minmax(0,1fr) 22px;column-gap:5px}.video-side-control{width:22px;height:54px;font-size:36px}}

/* 五行节点不显示浏览器默认黑色焦点框。 */
.element-node:focus{outline:none}
.element-node:focus-visible circle{stroke:#b78945;stroke-width:3}

/* 情绪按积极、中性、消极分组，颜色只承担分类提示。 */
.emotion-categories{display:grid;gap:13px}
.emotion-category{display:grid;grid-template-columns:48px 1fr;align-items:start;gap:12px}
.emotion-category>small{padding-top:10px;color:var(--muted);font-size:11px;letter-spacing:.12em}
.emotion-category.positive>small{color:#667d53}.emotion-category.neutral>small{color:#937c55}.emotion-category.negative>small{color:#9a574c}
.emotion-category.positive .choice.active{background:#506a4d;border-color:#506a4d}.emotion-category.neutral .choice.active{background:#85734f;border-color:#85734f}.emotion-category.negative .choice.active{background:#8e5148;border-color:#8e5148}
.emotion-classification{display:inline-block;padding:3px 8px;font-weight:400}.emotion-classification.positive{background:#dce5d2;color:#40583e}.emotion-classification.neutral{background:#e7dfcf;color:#685b41}.emotion-classification.negative{background:#ead7d2;color:#7d453e}
@media(max-width:700px){.emotion-category{grid-template-columns:1fr;gap:4px}.emotion-category>small{padding-top:0}}

/* 每日记录：情绪印章、三色叶子、情绪日历、日期详情（生活场景与知行共用）。 */
.leaf{display:inline-block;width:12px;height:7px;border-radius:100% 0 100% 0;transform:rotate(-25deg)}
.leaf.green{background:#5e8355}.leaf.yellow{background:#c9a03c}.leaf.orange{background:#c67a3a}
.legend-leaf{display:inline-block;width:10px;height:7px;margin-right:5px;border-radius:100% 0 100% 0;transform:rotate(-25deg)}
.legend-leaf.green{background:#5e8355}.legend-leaf.yellow{background:#c9a03c}.legend-leaf.orange{background:#c67a3a}
.leaves{position:absolute;left:6px;bottom:5px;display:flex;gap:3px;align-items:flex-end;pointer-events:none}
.leaves .leaf{width:11px;height:7px}
.day-emotion{position:absolute;top:5px;right:5px;line-height:0;pointer-events:none}
.day-emotion img{display:block;object-fit:contain}
.calendar-day .day-emotion img{width:22px;height:22px}
.mini-day .day-emotion img{width:20px;height:20px}

/* 情绪选择（带印章小图）与身体感受分组 */
.emotion-choice-row{display:flex;flex-wrap:wrap;gap:8px}
.emotion-choice{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:62px;padding:10px 12px}
.emotion-choice img{width:44px;height:44px;object-fit:contain}
.emotion-choice span{font-size:11px;line-height:1}
.body-groups{display:grid;gap:13px}
.body-group{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:start}
.body-group-label{padding-top:9px;color:var(--muted);font-size:11px;letter-spacing:.08em}
.intensity-row{gap:8px}
.intensity-choice{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:74px;padding:10px 14px}
.intensity-choice b{font-size:13px}.intensity-choice small{color:var(--muted);font-size:10px}
.intensity-choice.active{background:var(--ink);border-color:var(--ink);color:white}
.intensity-choice.active small{color:#d8ccb6}

/* 中文表达编辑与拼音 */
#expressionEditor{width:100%;min-height:62px;border:1px solid var(--line);background:rgba(255,255,255,.45);padding:11px 12px;resize:vertical;color:var(--ink);font:14px/1.7 "STSong","SimSun",serif}
.char-count{margin-top:7px;text-align:right;color:var(--muted);font:11px Georgia,serif}
.result-emotion{width:26px;height:26px;vertical-align:middle;margin-right:6px}
.safety-note{margin:24px 0 0;padding-top:14px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;line-height:1.7}

.seasonal-tip{margin:0 0 16px;color:var(--gold);font:italic 13px/1.7 "STSong","SimSun",serif}

/* 今日调整目标（作息右侧列） */
.advice-column h3.sub-heading{margin-top:26px}
#routineAdvice li:last-child{border-bottom:0}
.goal-form{display:grid;gap:10px}
.goal-label{color:var(--gold);font-size:10px;letter-spacing:.12em}
.goal-form textarea{width:100%;min-height:88px;padding:12px 15px;border:1px solid var(--line);background:rgba(255,255,255,.5);color:var(--ink);font:14px/1.6 "STSong","SimSun",serif;resize:none;box-sizing:border-box}
.goal-form textarea:focus{border-color:var(--gold)}
.goal-save{border:1px solid var(--ink);background:var(--ink);color:white;padding:0 22px;cursor:pointer;font-size:12px;letter-spacing:.05em}
.goal-save:hover{filter:brightness(1.08)}
.goal-foot{display:flex;justify-content:flex-end;align-items:center;gap:12px}
.goal-count{color:var(--muted);font:11px Georgia,serif}.goal-remove{align-self:stretch;aspect-ratio:1;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;font:15px/1 Arial,sans-serif;padding:0}.goal-remove:hover{border-color:var(--red);color:var(--red)}

/* 情绪日历（生活场景简化版） */
.emotion-calendar{padding:0;margin-top:22px}
.mini-calendar-tools{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}
.mini-calendar-tools button{border:0;background:transparent;cursor:pointer;font-size:19px;color:var(--ink)}
.mini-calendar-tools strong{font:20px "STKaiti","KaiTi",serif}
.mini-calendar-week,.mini-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.mini-calendar-week span{padding:9px 0;text-align:center;color:var(--muted);font-size:9px}
.mini-day{position:relative;min-height:88px;appearance:none;font:inherit;color:inherit;border:0;border-top:1px solid rgba(203,189,159,.5);border-right:1px solid rgba(203,189,159,.5);background:transparent;padding:6px;cursor:pointer;text-align:left}
.mini-day:nth-child(7n){border-right:0}
.mini-day.other{opacity:.3}.mini-day.today{background:#efe3c9}
.mini-day time{font:11px Georgia,serif}
.mini-day .day-emotion{top:3px;right:3px}
.mini-day .leaves{left:4px;bottom:4px;gap:2px}
.mini-day .leaf{width:9px;height:6px}

/* 日期详情弹窗 */
.day-detail-dialog{width:min(560px,calc(100% - 32px));border:1px solid var(--line);padding:0;background:var(--paper-light);color:var(--ink);box-shadow:0 35px 100px rgba(38,27,18,.34)}
.day-detail-dialog::backdrop{background:rgba(34,29,24,.6)}
.day-detail-dialog form{padding:30px;position:relative}
.day-detail-dialog h3{margin:0 0 18px;font:29px "STKaiti","KaiTi",serif;padding-right:30px}
.day-detail-close{position:absolute;top:16px;right:16px;border:0;background:transparent;font-size:22px;cursor:pointer;color:var(--muted);line-height:1}
.day-detail-line{padding:13px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:110px 1fr;gap:14px}
.day-detail-line span{color:var(--gold);font-size:10px;letter-spacing:.08em;padding-top:3px}
.day-detail-line p{margin:0;font:13px/1.8 "STSong","SimSun",serif}
.day-detail-emotion{width:56px;height:56px;object-fit:contain;display:block;margin-bottom:4px}
.day-detail-empty{color:var(--muted);font:13px/1.9 "STSong","SimSun",serif;margin:0}
.day-detail-done{margin-top:20px;border:0;background:var(--ink);color:#fff;padding:11px 22px;cursor:pointer}
.day-detail-done:hover{filter:brightness(1.08)}

/* 知行·养生打卡：生活实践目标区 */
.checkin-action label>span{display:inline-flex;align-items:center;gap:7px}
.checkin-action .legend-leaf{margin-right:0;margin-left:2px}
.practice-task{border-top:1px dashed var(--line);margin-top:4px;padding-top:12px}
.practice-goal{margin:8px 0 0;color:var(--muted);font-size:10px}
.practice-goal em{color:var(--core-green);font-style:normal}
.practice-hint{margin:14px 0 24px;color:var(--core-red);font-size:10px;line-height:1.6}
.practice-hint a{display:inline-block;margin-top:7px;padding:7px 14px;border:1px solid var(--core-red);border-radius:6px;color:var(--core-red);text-decoration:none;cursor:pointer;transition:background .2s,color .2s}
.practice-hint a:hover,.practice-hint a:focus-visible{background:var(--core-red);color:#fff}
.checkin-action input[type="checkbox"]:disabled{opacity:.45;cursor:not-allowed}

@media(max-width:700px){.goal-save{height:44px}.day-detail-line{grid-template-columns:1fr;gap:4px}.day-detail-line span{padding-top:0}.body-group{grid-template-columns:1fr;gap:4px}.body-group-label{padding-top:0}.emotion-choice{min-width:56px;padding:8px}.emotion-choice img{width:38px;height:38px}}
