/* 专业幕：纸色实底承载客观数据，青绿承载视觉层级。 */
.professional-scene { position: relative; padding: 92px max(26px, calc((100vw - 1180px)/2)) 82px; background: #f5f3e9; color: #284c40; border-top: 1px solid #afc4b7; overflow: hidden; }
.professional-wrap { position: relative; z-index: 1; }
.professional-scene::before { content: ''; position: absolute; width: 65vw; height: 65vw; right: -35vw; top: -25vw; border: 1px solid #92b49d30; border-radius: 50%; box-shadow: 0 0 0 65px #c1d5c514, 0 0 0 150px #c1d5c510; pointer-events: none; }
.professional-topline { display: flex; justify-content: space-between; color: #657e6d; font: 11px/1.5 -apple-system,'PingFang SC',sans-serif; letter-spacing: .16em; }
.professional-title { margin: 28px 0 45px; font-size: clamp(34px,4.2vw,57px); line-height: 1.45; letter-spacing: .07em; font-weight: 400; color: #254b3d; }
.professional-title span { color: #6a8d72; }
.professional-layout { display: grid; grid-template-columns: minmax(0,1.42fr) minmax(0,1fr); gap: 38px; align-items: start; }
.chart-sheet { padding: 26px; border: 1px solid #9db7a5; border-radius: 5px; background: #fcfbf5; box-shadow: 7px 8px 0 #d6e0d4, 0 16px 45px #3455410a; }
.chart-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 23px; }
.chart-head strong { font-size: 25px; font-weight: 400; letter-spacing: .12em; }
.chart-head span { font: 10px/1.5 -apple-system,'PingFang SC',sans-serif; color: #6e8170; }
.chart-controls { display:flex; gap:5px; padding:4px; background:#e9eee5; border-radius:7px; margin-bottom:22px; width: fit-content; }
.chart-controls button { border:0; border-radius:4px; padding:9px 20px; background:transparent; color:#52705d; font:12px/1.3 -apple-system,'PingFang SC',sans-serif; cursor:pointer; transition: background .2s,color .2s; }
.chart-controls button[aria-pressed='true'] { background:#365f4d; color:#fffdf1; box-shadow:0 2px 5px #26453515; }
.chart-controls button:focus-visible, .scene-next:focus-visible { outline:2px solid #8f753f; outline-offset:4px; }
.bazi-table { width:100%; table-layout:fixed; border-collapse:collapse; text-align:center; }
.bazi-table thead { background:#e6ede3; }
.bazi-table th { font-size:13px; font-weight:400; letter-spacing:.13em; padding:15px 0; color:#506d59; }
.bazi-table td { border:1px solid #cbd8c9; padding:18px 3px; }
.pillar-text { display:flex; flex-direction:column; align-items:center; gap:14px; font-size:43px; line-height:1.1; }
.bazi-table .day-pillar { background:#edf2e7; }
.bazi-table .hidden-row td { font-size:14px; color:#526f5e; height:55px; padding:12px 2px; }
.bazi-table [hidden] { display:none; }
.wood { color:#4c8060; } .fire { color:#ad6151; } .earth { color:#8e774c; } .metal { color:#aa8b43; } .water { color:#5f8690; }
.chart-sheet[data-mode='elements'] .pillar-text span { border-bottom:2px solid currentColor; padding-bottom:5px; }
.chart-caption { margin:18px 0 0; font:12px/1.8 -apple-system,'PingFang SC',sans-serif; color:#596f60; min-height:44px; }
.chart-disclaimer { margin:17px 0 0; padding-top:13px; border-top:1px solid #cbd8c9; font:11px/1.8 -apple-system,'PingFang SC',sans-serif; color:#687663; }
.reading-feature { padding:21px 0; border-bottom:1px solid #b5c7b652; }
.reading-feature:first-child { padding-top:0; }
.reading-feature h3 { margin:0; font-size:25px; line-height:1.5; font-weight:400; letter-spacing:.07em; }
.reading-feature p { margin:9px 0 0; font:13px/1.85 -apple-system,'PingFang SC',sans-serif; color:#627666; }
.feature-label { display:block; color:#8b764d; font:10px/1.5 -apple-system,'PingFang SC',sans-serif; margin-bottom:8px; letter-spacing:.1em; }
.element-palette { display:flex; gap:9px; margin-top:17px; }
.element-palette span { display:flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; font-size:12px; background:var(--swatch); color:#fffdf0; }
.reading-pair { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.reading-pair .reading-feature { padding-top:21px; }
.reading-pair h3 { font-size:21px; }
.element-palette span:nth-child(3), .element-palette span:nth-child(4) { color:#1f3023; }
.source-shelf { display:grid; grid-template-columns:130px 1fr; gap:24px; border-top:1px solid #8da78d70; margin-top:54px; padding-top:24px; }
.source-shelf h3 { margin:0; color:#556e58; font-size:16px; font-weight:400; }
.source-books { display:flex; flex-wrap:wrap; gap:12px 23px; color:#466651; font-size:14px; line-height:1.7; }
.source-note { grid-column:2; margin:-8px 0 0; color:#778272; font:11px/1.9 -apple-system,'PingFang SC',sans-serif; }
.scene-next { display:inline-flex; align-items:center; gap:18px; margin-top:32px; color:#3f6350; text-decoration:none; font:12px/1.5 -apple-system,'PingFang SC',sans-serif; border-bottom:1px solid #91aa925c; padding:8px 0; }
.professional-layout,.source-shelf { animation:none; }
.professional-scene.is-visible .professional-layout { animation:belief-enter .85s both; }
.professional-scene.is-visible .source-shelf { animation:belief-enter .8s .15s both; }

/* 触感：没有描边光圈，柔光的轮廓随移动速度变化。 */
.jade-cursor { width:100px; height:100px; margin:-50px; transition:opacity .2s; }
.jade-cursor::before { border:0; inset:0; border-radius:44% 56% 64% 36% / 54% 42% 58% 46%; background:radial-gradient(ellipse at 44% 44%,#fff5d86b 0,#bbdbc862 23%,#8ebda529 45%,transparent 70%); filter:blur(7px); transform:rotate(var(--direction,0rad)) scaleX(var(--stretch,1)); transition:transform .16s ease,opacity .2s; }
.jade-cursor.is-active::before { transform:rotate(var(--direction,0rad)) scale(.8); opacity:.85; border:0; }
.jade-cursor.is-down::before { transform:scale(1.15,.7); border:0; }
.value-card,.chart-sheet,.reading-feature { transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); transition:transform .28s ease,background .3s; }
.value-card:hover { transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); }
.chart-sheet:hover { background:radial-gradient(circle 150px at var(--touch-x,50%) var(--touch-y,50%),#ecf2e7,#fcfbf5); }
.chart-controls button:active,.scene-next:active { transform:scale(1.04,.93); }
@media (max-width:900px) {
  .professional-layout { gap:26px; }
  .chart-sheet { padding:20px; }
  .reading-pair { grid-template-columns:1fr; gap:0; }
}
@media (max-width:720px) {
  .professional-scene { padding:59px 25px 58px; }
  .professional-topline { font-size:10px; }
  .professional-title { margin:23px 0 31px; font-size:35px; }
  .professional-title span { display:block; }
  .professional-layout { grid-template-columns:1fr; gap:40px; }
  .chart-sheet { padding:18px 14px; box-shadow:5px 6px 0 #d6e0d4; }
  .chart-head strong { font-size:23px; }
  .chart-head span { font-size:9px; }
  .chart-controls { width:100%; }
  .chart-controls button { flex:1; padding:10px 7px; }
  .pillar-text { font-size:36px; }
  .bazi-table th { font-size:12px; }
  .bazi-table td { padding:19px 2px; }
  .reading-pair { grid-template-columns:1fr 1fr; gap:18px; }
  .source-shelf { grid-template-columns:1fr; gap:16px; margin-top:32px; }
  .source-note { grid-column:1; margin:0; }
  .source-books { gap:10px 16px; font-size:13px; }
}
@media (prefers-reduced-motion:reduce) {
  .professional-scene.is-visible .professional-layout,.professional-scene.is-visible .source-shelf { animation:none; }
  .value-card,.chart-sheet,.reading-feature,.value-card:hover { transform:none; transition:none; }
}
