:root{--paper:#f5efe2;--paper-deep:#e8ddc9;--paper-light:#fbf7ee;--ink:#223c2f;--muted:#716958;--brown:#5a4430;--brown-deep:#403024;--gold:#ac7e35;--gold-soft:#d9c08f;--red:#9b4c3f;--line:#cbbd9f;--shadow:0 22px 60px rgba(67,48,29,.09)}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Microsoft YaHei","Noto Sans SC",sans-serif}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.22;background-image:radial-gradient(rgba(77,62,39,.18) .55px,transparent .7px);background-size:6px 6px;mix-blend-mode:multiply}
.site-header{position:sticky;top:0;z-index:50;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;color:inherit;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;gap:34px}.site-header nav a{color:inherit;text-decoration:none;font-size:14px;letter-spacing:.08em}.prototype-mark{justify-self:end;padding:8px 12px;border:1px solid rgba(255,255,255,.36);font-size:11px;letter-spacing:.13em}
main{position:relative;z-index:1}.intro{width:min(1320px,calc(100% - 56px));margin:0 auto;padding:88px 0 78px;display:grid;grid-template-columns:minmax(430px,1fr) minmax(320px,520px);gap:80px;align-items:end;border-bottom:1px solid var(--line)}.eyebrow,.section-kicker{margin:0 0 16px;color:var(--gold);font:13px "STSong","SimSun",serif;letter-spacing:.28em}.intro h1{margin:0;font:500 clamp(48px,5vw,76px)/1.13 "STKaiti","KaiTi",serif;letter-spacing:.06em}.intro-copy{margin:0;color:var(--muted);font:15px/2 "STSong","SimSun",serif}
.feature-section{width:min(1320px,calc(100% - 56px));margin:0 auto;padding:104px 0}.section-heading{display:grid;grid-template-columns:130px minmax(360px,1fr) auto;gap:34px;align-items:end;margin-bottom:34px}.section-heading h2{margin:0 0 10px;font:500 clamp(40px,4.5vw,64px) "STKaiti","KaiTi",serif;letter-spacing:.08em}.section-heading>div>p{margin:0;color:var(--muted);font:14px/1.8 "STSong","SimSun",serif}.section-kicker{align-self:start;padding-top:12px}.segmented{display:flex;border:1px solid var(--line);background:rgba(255,255,255,.2);padding:4px}.segment{border:0;background:transparent;padding:11px 20px;cursor:pointer;font:14px "STSong","SimSun",serif}.segment.active{background:var(--ink);color:#fff}
.anatomy-shell{min-height:720px;display:grid;grid-template-columns:176px minmax(420px,1fr) 330px;background:rgba(251,247,238,.78);border:1px solid var(--line);box-shadow:var(--shadow)}.anatomy-index{padding:30px 20px;border-right:1px solid var(--line);overflow:hidden}.index-label{margin:0 0 18px;font-size:11px;color:var(--gold);letter-spacing:.17em}.point-list,.meridian-list{display:grid;gap:5px;max-height:620px;overflow:auto;padding-right:4px;scrollbar-width:thin}.index-button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;border-bottom:1px solid rgba(203,189,159,.62);background:transparent;padding:10px 5px;text-align:left;cursor:pointer;font:14px "STSong","SimSun",serif}.index-button small{color:#948875;font:10px Georgia,serif}.index-button.active{color:var(--red);border-bottom-color:var(--red)}.index-button.active::after{content:"●";font-size:8px}
.drawing-board{position:relative;min-height:720px;display:grid;place-items:center;background:linear-gradient(90deg,transparent 49.8%,rgba(175,160,130,.16) 50%,transparent 50.2%)}.drawing-board::before,.drawing-board::after{content:"";position:absolute;border:1px solid rgba(171,143,89,.16);border-radius:50%;pointer-events:none}.drawing-board::before{width:460px;height:460px}.drawing-board::after{width:310px;height:310px}.view-switch{position:absolute;z-index:5;top:22px;left:22px;display:flex;gap:4px}.view-switch button{border:0;border-bottom:1px solid transparent;background:transparent;padding:7px 10px;color:var(--muted);cursor:pointer;font-size:12px}.view-switch button.active{border-color:var(--gold);color:var(--ink)}.full-body-stage,.meridian-stage{position:relative;z-index:2;width:100%;height:100%;display:grid;place-items:center}.body-figure{width:min(420px,92%);height:650px;overflow:visible;transform-style:preserve-3d;transform-origin:center;will-change:transform,filter}.body-figure.is-turning{animation:body-turn .56s cubic-bezier(.45,.03,.3,1)}@keyframes body-turn{0%{transform:scaleX(1);filter:none}45%{transform:scaleX(.06);filter:blur(.4px)}55%{transform:scaleX(.06);filter:blur(.4px)}100%{transform:scaleX(1);filter:none}}.character-art{mix-blend-mode:multiply;pointer-events:none}.figure-fill,.part-fill{fill:#e9dfca;stroke:#30483b;stroke-width:2.3;stroke-linejoin:round}.figure-line,.part-line,.paper-echo path,.paper-echo circle{fill:none;stroke:#30483b;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.paper-echo{opacity:.09}.acupoint{cursor:pointer;transform-box:fill-box;transform-origin:center;transition:transform .2s,opacity .18s}.acupoint .point-ring{fill:rgba(151,75,62,.13);stroke:#9b4c3f;stroke-width:1.5;animation:quiet-pulse 2.8s infinite}.acupoint .point-core{fill:#9b4c3f;stroke:#f7efe0;stroke-width:2}.acupoint:hover,.acupoint.active{transform:scale(1.35)}.acupoint.active .point-ring{fill:rgba(151,75,62,.27);stroke-width:2.4}@keyframes quiet-pulse{50%{opacity:.35}}.stage-hint{position:absolute;bottom:25px;margin:0;color:var(--muted);font:12px "STSong","SimSun",serif;letter-spacing:.16em}
.local-meridian{position:relative;z-index:2;width:min(500px,92%);height:620px;overflow:visible}.part-template{opacity:.96}.part-fill{fill:#e4dac4}.part-line{stroke:#7a705e;stroke-width:1.5}.meridian-route{fill:none;stroke-linecap:round;stroke-linejoin:round}.ghost-route{stroke:#d8c49c;stroke-width:13;opacity:.45}.active-route{stroke:#9b4c3f;stroke-width:4;stroke-dasharray:1100;stroke-dashoffset:1100;animation:draw-route 1.4s ease forwards}@keyframes draw-route{to{stroke-dashoffset:0}}.route-node{cursor:pointer}.route-node circle{fill:#f8f1e3;stroke:#9b4c3f;stroke-width:3;transition:.2s}.route-node text{font:12px "STSong","SimSun",serif;fill:#31473b}.route-node:hover circle,.route-node.active circle{fill:#9b4c3f;stroke:#fff;transform:scale(1.25);transform-box:fill-box;transform-origin:center}.meridian-caption{position:absolute;left:24px;bottom:22px;display:grid;gap:5px}.meridian-caption span{font-size:10px;color:var(--gold);letter-spacing:.16em}.meridian-caption strong{font:25px "STKaiti","KaiTi",serif}.meridian-caption small{color:var(--muted);font:12px Georgia,serif}
.knowledge-panel{padding:44px 34px;border-left:1px solid var(--line);background:rgba(240,232,216,.66)}.panel-overline{margin:0 0 14px;color:var(--gold);font-size:10px;letter-spacing:.19em;text-transform:uppercase}.knowledge-panel h3{margin:0;font:500 46px "STKaiti","KaiTi",serif}.panel-pinyin{margin:3px 0 0;color:var(--red);font:14px Georgia,serif}.panel-translation{min-height:46px;margin:18px 0 25px;color:var(--muted);font:14px/1.6 Georgia,"STSong",serif}.knowledge-panel dl{margin:0}.knowledge-panel dl div{padding:15px 0;border-top:1px solid var(--line)}.knowledge-panel dt{float:left;width:58px;color:var(--gold);font-size:11px}.knowledge-panel dd{margin-left:58px;font:13px/1.7 "STSong","SimSun",serif}.culture-note{margin-top:24px;padding:18px;background:rgba(255,255,255,.44)}.culture-note span,.detail-block span{color:var(--gold);font-size:10px;letter-spacing:.15em}.culture-note p{margin:9px 0 0;font:13px/1.8 "STSong","SimSun",serif}.word-chip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding:12px 0;border-bottom:1px solid var(--ink)}.word-chip span{font-size:10px;color:var(--muted);letter-spacing:.13em}.word-chip strong{font:18px "STKaiti","KaiTi",serif}.medical-note{margin-top:24px;color:#8b8170;font-size:10px;line-height:1.6}
.food-section{border-top:1px solid var(--line)}.food-heading{grid-template-columns:130px 1fr}.recipe-lab{border:1px solid var(--line);background:rgba(251,247,238,.76);box-shadow:var(--shadow)}.recipe-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.recipe-tab{border:0;border-right:1px solid var(--line);background:transparent;padding:18px;cursor:pointer;font:16px "STSong","SimSun",serif}.recipe-tab:last-child{border-right:0}.recipe-tab.active{background:var(--ink);color:#fff}.recipe-tab small{display:block;margin-top:4px;font:10px Georgia,serif;opacity:.65}.recipe-instruction{padding:32px 38px 26px;display:grid;grid-template-columns:130px 220px 1fr 220px;gap:20px;align-items:center;border-bottom:1px solid var(--line)}.recipe-instruction .panel-overline{margin:0}.recipe-instruction h3{margin:0;font:28px "STKaiti","KaiTi",serif}.recipe-instruction>p:not(.panel-overline){margin:0;color:var(--muted);font:13px/1.7 "STSong","SimSun",serif}.recipe-progress{display:flex;gap:8px;justify-content:flex-end}.progress-dot{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font:12px "STSong",serif}.progress-dot.done{background:var(--gold);border-color:var(--gold);color:#fff}.food-table{min-height:420px;display:grid;grid-template-columns:1fr 360px}.ingredient-grid{padding:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ingredient{position:relative;min-height:154px;border:1px solid var(--line);background:linear-gradient(145deg,#f7f0e2,#eee2cb);cursor:pointer;overflow:hidden;transition:.25s}.ingredient:hover{transform:translateY(-4px);border-color:var(--gold)}.ingredient.correct{box-shadow:inset 0 0 0 2px var(--gold)}.ingredient.used{opacity:.38;pointer-events:none}.ingredient-art{display:block;width:116px;height:88px;margin:8px auto 2px;object-fit:contain;filter:drop-shadow(0 5px 3px rgba(72,51,30,.12))}.ingredient b{display:block;font:18px "STKaiti","KaiTi",serif}.ingredient small{display:block;margin-top:4px;color:var(--muted);font:10px Georgia,serif}.ingredient b,.ingredient small{text-align:center}.bowl-zone{display:grid;place-content:center;text-align:center;border-left:1px solid var(--line);background:rgba(235,223,199,.42)}.bowl-stage{position:relative;width:290px;height:160px;display:grid;place-items:center}.bowl{position:relative;width:230px;height:110px;margin-top:30px;border:3px solid var(--ink);border-top:8px solid var(--ink);border-radius:10px 10px 110px 110px;background:#e2cfa7;overflow:hidden;box-shadow:0 11px 0 rgba(68,52,31,.08);transition:opacity .35s,transform .35s}.bowl::after{content:"";position:absolute;left:60px;right:60px;bottom:-6px;height:13px;border-radius:50%;background:var(--ink)}.bowl-content{position:absolute;inset:7px 20px 18px;display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap}.bowl-ingredient{width:74px;height:57px;object-fit:contain;animation:ingredient-drop .6s cubic-bezier(.2,.8,.2,1) both;transform:rotate(var(--drop-rotate))}.bowl-ingredient:nth-child(2){margin-left:-20px}@keyframes ingredient-drop{from{transform:translateY(-130px) rotate(-20deg) scale(.85);opacity:0}70%{transform:translateY(5px) rotate(var(--drop-rotate)) scale(1.04)}to{transform:rotate(var(--drop-rotate)) scale(1);opacity:1}}.steam{height:50px;display:flex;gap:18px;justify-content:center;align-items:end;transition:opacity .25s}.steam i{width:2px;height:38px;background:rgba(66,73,57,.28);border-radius:50%;transform:skew(-10deg);animation:steam 2.4s infinite}.steam i:nth-child(2){height:48px;animation-delay:.45s}.steam i:nth-child(3){animation-delay:.9s}@keyframes steam{50%{transform:translate(7px,-7px) skew(12deg);opacity:.25}}.is-cooking .bowl{animation:bowl-simmer .22s ease-in-out infinite alternate}.is-cooking .steam i{animation-duration:.65s}.is-cooking .bowl-content{filter:blur(.6px)}@keyframes bowl-simmer{to{transform:translateY(-3px) rotate(.4deg)}}.finished-dish{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 6px rgba(56,45,29,.12));animation:dish-reveal .7s cubic-bezier(.2,.8,.2,1) both}.finished-dish[hidden]{display:none}.is-finished .bowl{opacity:0;transform:scale(.82)}.is-finished .steam{opacity:.55}@keyframes dish-reveal{from{opacity:0;transform:scale(.76) translateY(15px)}to{opacity:1;transform:scale(1) translateY(0)}}.bowl-zone p{margin:20px 0 0;color:var(--muted);font-size:12px}.recipe-result{margin:0 38px 32px;padding:22px 24px;display:grid;grid-template-columns:minmax(240px,.75fr) minmax(360px,1.25fr) auto;gap:26px;align-items:center;border:1px solid var(--gold);background:#eee0bf}.recipe-result[hidden]{display:none}.recipe-result h3{margin:2px 0;font:25px "STKaiti",serif}.recipe-result p{margin:0;color:var(--muted);font:12px/1.75 "STSong",serif}.recipe-result button{border:1px solid var(--ink);background:transparent;padding:10px 14px;cursor:pointer}
.library-section{padding-top:0}.library-heading{display:grid;grid-template-columns:1fr 500px;gap:50px;align-items:end;margin-bottom:30px}.library-heading h3{margin:0;font:500 clamp(40px,4.5vw,64px) "STKaiti","KaiTi",serif;letter-spacing:.08em}.library-heading>p{margin:0;color:var(--muted);font:13px/1.8 "STSong",serif}.library-tools{padding:24px;border:1px solid var(--line);border-bottom:0;background:rgba(251,247,238,.72)}.search-box{display:grid;grid-template-columns:110px 1fr 32px;align-items:center;border-bottom:1px solid var(--ink);padding:0 4px 11px}.search-box span{color:var(--gold);font-size:12px;letter-spacing:.12em}.search-box input{border:0;outline:0;background:transparent;color:var(--ink);font-size:15px}.search-box input::placeholder{color:#9b927f}.search-box kbd{text-align:center;font:22px serif}.category-filters{display:grid;gap:8px;margin-top:18px}.filter-row{display:flex;flex-wrap:wrap;gap:8px}.filter-button{border:1px solid var(--line);background:transparent;padding:7px 12px;cursor:pointer;font-size:11px}.filter-button.active{background:var(--ink);border-color:var(--ink);color:#fff}.library-layout{min-height:600px;display:grid;grid-template-columns:minmax(460px,1.25fr) minmax(360px,.75fr);border:1px solid var(--line);background:rgba(251,247,238,.72)}.herb-results{padding:26px;border-right:1px solid var(--line)}.results-summary{display:flex;justify-content:space-between;margin-bottom:12px;color:var(--muted);font-size:11px}.herb-list{display:grid}.herb-row{display:grid;grid-template-columns:56px 1fr 120px 30px;align-items:center;gap:15px;width:100%;border:0;border-top:1px solid var(--line);background:transparent;padding:17px 5px;text-align:left;cursor:pointer}.herb-row:last-child{border-bottom:1px solid var(--line)}.herb-row:hover,.herb-row.active{background:rgba(221,207,179,.35)}.herb-row .number{color:var(--gold);font:11px Georgia,serif}.herb-row b{font:21px "STKaiti",serif}.herb-row b small{display:block;margin-top:3px;color:var(--muted);font:10px Georgia,serif}.herb-row .category{color:var(--muted);font-size:11px}.herb-row .arrow{font-size:17px}.empty-state{padding:50px;text-align:center;color:var(--muted)}.herb-detail{position:sticky;top:96px;align-self:start;max-height:calc(100vh - 120px);overflow-y:auto;padding:44px 38px;background:rgba(236,226,205,.55)}.herb-name-row{display:flex;justify-content:space-between;align-items:start;padding-bottom:24px;border-bottom:1px solid var(--line)}.herb-name-row h4{margin:0;font:48px "STKaiti",serif}.herb-name-row p{margin:3px 0 0;color:var(--red);font:13px Georgia,serif}.herb-name-row>span{padding:6px 10px;border:1px solid var(--gold);color:var(--gold);font-size:10px}.detail-block{padding:24px 0;border-bottom:1px solid var(--line)}.detail-block p{margin:10px 0 0;font:13px/1.9 "STSong",serif}footer{position:relative;z-index:1;display:flex;justify-content:space-between;padding:25px 28px;background:var(--brown-deep);color:#ddcfb7;font-size:11px;letter-spacing:.08em}
@media(max-width:1080px){.site-header{grid-template-columns:1fr auto}.prototype-mark{display:none}.site-header nav{justify-self:end}.intro{grid-template-columns:1fr;gap:35px}.section-heading{grid-template-columns:100px 1fr}.section-heading .segmented{grid-column:2;justify-self:start}.anatomy-shell{grid-template-columns:150px 1fr}.knowledge-panel{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:15px 35px}.knowledge-panel dl,.culture-note{grid-column:2}.word-chip,.medical-note{grid-column:1}.recipe-instruction{grid-template-columns:110px 190px 1fr}.recipe-progress{grid-column:3}.food-table{grid-template-columns:1fr 300px}.ingredient-grid{padding:35px;grid-template-columns:repeat(2,1fr)}.library-heading{grid-template-columns:1fr}.library-layout{grid-template-columns:1fr}.herb-results{border-right:0;border-bottom:1px solid var(--line)}.herb-detail{position:static;max-height:none;overflow:visible}}
@media(max-width:720px){.site-header{height:66px;padding:0 14px}.site-header nav{display:none}.brand img{width:40px;height:40px}.brand span{font-size:19px}.intro,.feature-section{width:min(100% - 28px,620px)}.intro{padding:60px 0}.intro h1{font-size:42px}.feature-section{padding:72px 0}.section-heading{grid-template-columns:1fr;gap:8px}.section-kicker{padding:0}.section-heading .segmented{grid-column:1;margin-top:15px}.section-heading h2{font-size:43px}.anatomy-shell{grid-template-columns:1fr}.anatomy-index{border-right:0;border-bottom:1px solid var(--line);padding:16px}.point-list,.meridian-list{display:flex;overflow:auto;max-height:none}.index-button{min-width:max-content;padding:9px 13px;border:1px solid var(--line)}.drawing-board{min-height:610px}.body-figure{height:570px}.knowledge-panel{grid-template-columns:1fr;padding:30px 24px}.knowledge-panel dl,.culture-note,.word-chip,.medical-note{grid-column:1}.recipe-tabs{grid-template-columns:1fr}.recipe-tab{border-right:0;border-bottom:1px solid var(--line)}.recipe-instruction{padding:24px;grid-template-columns:1fr}.recipe-progress{grid-column:1;justify-content:flex-start}.food-table{grid-template-columns:1fr}.ingredient-grid{padding:24px;grid-template-columns:repeat(2,1fr)}.bowl-zone{min-height:300px;border-left:0;border-top:1px solid var(--line)}.recipe-result{margin:0 20px 24px;grid-template-columns:52px 1fr}.recipe-result>p,.recipe-result>button{grid-column:1/-1}.library-heading{gap:20px}.library-heading h3{font-size:43px}.search-box{grid-template-columns:1fr 30px}.search-box span{grid-column:1/-1;margin-bottom:9px}.library-tools{padding:18px}.library-layout{min-height:0}.herb-results{padding:18px}.herb-row{grid-template-columns:40px 1fr 24px}.herb-row .category{display:none}.herb-detail{padding:30px 24px}.herb-name-row h4{font-size:40px}footer{display:grid;gap:9px}}
@media(max-width:720px){.anatomy-shell{width:100%;overflow:hidden}.anatomy-index{min-width:0;overflow:hidden}.point-list,.meridian-list{width:100%;max-width:100%;overflow-x:auto}.drawing-board,.knowledge-panel{min-width:0}.local-meridian{max-width:100%}}

/* The atlas owns its complete pointer layer, independently of the sticky nav. */
.anatomy-shell{position:relative;z-index:2;isolation:isolate}
.drawing-board,.full-body-stage,.meridian-stage{isolation:isolate}

/* 与时养其他子页面保持一致：内容标题贴齐功能面板，不再保留左侧小栏目。 */
.section-heading.food-heading{display:block}.food-heading>div{width:100%;max-width:900px}.section-heading>.section-kicker{display:none}.library-heading{display:block}.library-heading>div{max-width:900px}.library-heading>div>p{margin:10px 0 0;color:var(--muted);font:13px/1.8 "STSong",serif}
/* Meridian anatomy images and the SVG route share a fixed 520×680 coordinate
   space, so changing among the fourteen meridians never shifts the route. */
.meridian-anatomy{pointer-events:none}

/* The figure and both point layers share one SVG coordinate space. The 3D turn is
   applied to that fixed 420×720 stage, so its vertical centre axis never drifts. */
.body-figure{transform-box:fill-box;transform-origin:50% 50%;will-change:transform}
.body-figure.is-turning{animation:body-axis-turn .64s cubic-bezier(.55,.05,.25,1)}
@keyframes body-axis-turn{0%{transform:perspective(900px) rotateY(0deg)}49.9%{transform:perspective(900px) rotateY(90deg)}50%{transform:perspective(900px) rotateY(-90deg)}100%{transform:perspective(900px) rotateY(0deg)}}
.character-art{mix-blend-mode:normal}

/* The atlas is one fixed-size composition; long names change only inside the
   panel and never change the dimensions highlighted in the review. */
.anatomy-shell{height:720px;min-height:720px;border:0;box-shadow:none}
.anatomy-index,.knowledge-panel{height:720px;min-width:0}
.knowledge-panel{overflow:hidden}
.knowledge-panel h3{min-height:112px;max-height:112px;overflow:hidden;font-size:42px;line-height:1.28;overflow-wrap:anywhere}
.panel-pinyin{min-height:20px}.panel-translation{min-height:46px;max-height:46px;overflow:hidden}
.route-hit-area{fill:none;stroke:transparent;stroke-width:26;pointer-events:stroke;cursor:pointer;outline:none}
.route-hit-area:focus-visible{stroke:rgba(172,126,53,.2)}
.active-route{pointer-events:none}.route-node{pointer-events:all}
.acupoint,.route-node,.route-hit-area,.local-meridian,.body-figure{outline:none}
.acupoint:focus,.route-node:focus,.route-hit-area:focus,.local-meridian:focus,.body-figure:focus{outline:none}
.acupoint:focus-visible .point-ring,.route-node:focus-visible circle{stroke:#b17a2e;stroke-width:3}
.route-hit-area:focus-visible{stroke:rgba(172,126,53,.14);stroke-width:18}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.active-route,.acupoint .point-ring,.steam i{animation:none}.ingredient,.acupoint{transition:none}}

/* Every completed dish is an independent, square transparent asset. Give the
   reveal a little more room than the construction bowl so the complete rim and
   foot stay visible at the same apparent scale for all three recipes. */
.bowl-stage{width:320px;height:184px}
.finished-dish{inset:-10px -14px;width:calc(100% + 28px);height:calc(100% + 20px);object-fit:contain;object-position:center}

/* 经络与穴位右侧「穴位探索 / 经络认识」切换：盒子收缩到按钮宽度，与下方小字留出间距，并整体上移。 */
.knowledge-panel .segmented{width:fit-content;margin-bottom:16px}
@media(min-width:721px){.knowledge-panel{padding-top:36px}}
