.jade-cursor { width:56px; height:56px; margin:-28px; --aura-size:.65; }
.jade-cursor::before { display:block; border:0; border-radius:46% 54% 52% 48%; background:radial-gradient(ellipse,#f4df9d59 0,#e8cd8040 28%,#e9d89918 52%,transparent 75%); filter:blur(6px); transform:rotate(var(--direction,0rad)) scale(var(--aura-size)) scaleX(var(--stretch,1)); transition:transform .32s cubic-bezier(.2,.65,.3,1),opacity .3s; }
.jade-cursor.is-text { --aura-size:1.15; }
.jade-cursor.is-active::before { opacity:.9; transform:rotate(var(--direction,0rad)) scale(var(--aura-size)) scaleX(var(--stretch,1)); }
.jade-cursor.is-down::before { transform:scale(.9,1.05); }
.element-palette { gap:4px; }
.element-palette button { display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; background:transparent; cursor:pointer; touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
.element-palette .element-letter { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--swatch); color:#fffdf0; font:14px/1 'Songti SC',serif; transform-origin:center; }
.element-palette button:nth-child(3) .element-letter,.element-palette button:nth-child(4) .element-letter { color:#1f3023; }
.element-palette button:focus-visible { outline:2px solid #866c35; outline-offset:2px; border-radius:50%; }
.source-reference { display:grid; grid-template-columns:64px 1fr; gap:15px; align-items:baseline; }
.source-label { color:#8c7347; font:11px/1.6 -apple-system,'PingFang SC',sans-serif; }
.source-school { grid-column:2; display:flex; align-items:baseline; flex-wrap:wrap; gap:15px; color:#466651; font-size:14px; }
.source-school small { font:11px/1.6 -apple-system,'PingFang SC',sans-serif; color:#657660; }
.source-liuyao { grid-column:2; }
.hex-demo { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:34px; height:260px; padding:25px; background:#f1f3e8; }
.hex-demo[hidden],.bazi-table[hidden] { display:none; }
.hex-lines { display:grid; gap:18px; }
.hex-lines>div { display:grid; grid-template-columns:34px 1fr; align-items:center; gap:12px; }
.hex-lines span { font-size:11px; color:#6b806b; }
.hex-lines i { height:7px; background:#66886a; border-radius:1px; }
.hex-description { display:grid; gap:15px; }
.hex-description strong { font-weight:400; font-size:25px; }
.hex-description>span { font:13px/1.8 -apple-system,'PingFang SC',sans-serif; color:#586f5b; }
.hex-description small { font-size:10px; color:#877548; }
.source-shelf { row-gap:15px; }
@media(min-width:721px) and (max-height:1000px) {
  .professional-scene { min-height:100svh; padding-top:34px; padding-bottom:28px; }
  .professional-title { font-size:clamp(34px,3.7vw,48px); margin:18px 0 28px; }
  .chart-sheet { padding:20px 18px 17px; }
  .chart-head { margin-bottom:12px; }
  .chart-controls { margin-bottom:17px; }
  .bazi-table th { padding:10px 0 8px; }
  .bazi-table td { padding:9px 0 17px; }
  .pillar-text { font-size:40px; gap:12px; }
  .pillar-text span+span { padding-top:12px; }
  .chart-caption { min-height:22px; margin-top:12px; }
  .chart-disclaimer { margin-top:10px; padding-top:8px; }
  .reading-feature { padding:13px 0; }
  .reading-pair .reading-feature { padding-top:13px; }
  .source-shelf { margin-top:28px; padding-top:17px; row-gap:10px; }
  .professional-scene .scene-next { margin-top:15px; }
  .hex-demo { height:211px; padding:16px; }
}
@media(max-width:720px) {
  .professional-scene { padding:22px 20px 18px; min-height:100svh; }
  .professional-topline { font-size:10px; letter-spacing:.08em; }
  .professional-title { font-size:29px; letter-spacing:.025em; margin:14px 0 19px; line-height:1.4; }
  .professional-title span { display:inline; }
  .professional-layout { gap:18px; }
  .chart-sheet { padding:17px 9px 13px; }
  .chart-head { margin-bottom:9px; }
  .chart-head strong { font-size:19px; }
  .chart-controls { margin:0 10px 10px; gap:21px; }
  .chart-controls button { padding:6px 5px; font-size:11px; }
  .bazi-table th { padding:8px 0 6px; }
  .bazi-table td { padding:5px 0 12px; }
  .pillar-text { font-size:28px; gap:7px; }
  .pillar-text span+span { padding-top:7px; }
  .bazi-table .hidden-row td { height:27px; padding:5px 0; }
  .chart-caption { margin:10px 9px 0; min-height:17px; font-size:11px; line-height:1.5; }
  .chart-disclaimer { margin:8px 9px 0; padding-top:7px; font-size:10px; line-height:1.5; }
  .reading-feature { padding:10px 0; }
  .reading-feature h3 { font-size:19px; line-height:1.3; }
  .reading-feature p { margin-top:5px; font-size:11px; line-height:1.55; }
  .feature-label { font-size:10px; margin-bottom:4px; }
  .reading-features>.reading-feature:first-child { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:7px; align-items:center; padding-bottom:10px; }
  .reading-features>.reading-feature:first-child .feature-label { display:none; }
  .reading-features>.reading-feature:first-child h3 { grid-column:1; }
  .reading-features>.reading-feature:first-child p { grid-column:1; max-width:110px; }
  .reading-features>.reading-feature:nth-child(2) { display:grid; grid-template-columns:auto 1fr; column-gap:10px; align-items:center; }
  .reading-features>.reading-feature:nth-child(2) h3 { grid-column:1; grid-row:1; }
  .reading-features>.reading-feature:nth-child(2) .feature-label { grid-column:2; grid-row:1; margin:0; }
  .reading-features>.reading-feature:nth-child(2) p { grid-column:1/-1; }
  .element-palette { grid-column:2; grid-row:1/3; margin:0; gap:0; }
  .element-palette button { width:42px; height:44px; }
  .element-palette .element-letter { width:30px; height:30px; font-size:13px; }
  .reading-pair { gap:18px; }
  .reading-pair .reading-feature { padding:10px 0; }
  .reading-pair h3 { font-size:17px; }
  .source-shelf { margin-top:17px; padding-top:12px; gap:8px; }
  .source-shelf h3 { font-size:12px; }
  .source-books { font-size:11px; gap:3px 10px; line-height:1.5; }
  .source-reference { grid-template-columns:44px 1fr; gap:6px; }
  .source-liuyao { grid-column:1; }
  .source-label { font-size:10px; }
  .source-school { grid-column:1; gap:6px; font-size:11px; }
  .source-school small { font-size:10px; }
  .hex-demo { height:142px; gap:23px; padding:9px 14px; }
  .hex-lines { gap:9px; }
  .hex-lines>div { grid-template-columns:26px 1fr; gap:8px; }
  .hex-lines span { font-size:10px; }
  .hex-lines i { height:5px; }
  .hex-description { gap:5px; }
  .hex-description strong { font-size:18px; }
  .hex-description>span { font-size:11px; line-height:1.55; }
  .hex-description small { font-size:9px; }
  .source-note { font-size:10px; line-height:1.5; }
  .professional-topline>span:last-child { visibility:hidden; }
  .professional-scene .scene-next { position:absolute; top:-4px; right:0; margin:0; padding:5px 0; font-size:10px; }
}
@media(max-width:720px) and (max-height:740px) {
  .professional-scene { padding-top:14px; padding-bottom:10px; }
  .professional-title { font-size:27px; margin:7px 0 9px; }
  .professional-layout { gap:8px; }
  .chart-sheet { padding-top:10px; padding-bottom:8px; }
  .chart-caption { margin-top:7px; }
  .chart-head { margin-bottom:6px; }
  .chart-controls { margin-bottom:7px; }
  .bazi-table th { padding:6px 0 4px; }
  .bazi-table td { padding:3px 0 8px; }
  .pillar-text { font-size:25px; gap:5px; }
  .pillar-text span+span { padding-top:5px; }
  .chart-sheet[data-mode='hidden'] .pillar-text { font-size:22px; gap:3px; }
  .chart-sheet[data-mode='hidden'] .pillar-text span+span { padding-top:3px; }
  .hex-demo { height:111px; padding-top:2px; padding-bottom:2px; }
  .hex-lines { gap:7px; }
  .chart-disclaimer { margin-top:5px; padding-top:5px; }
  .reading-feature,.reading-pair .reading-feature { padding-top:7px; padding-bottom:7px; }
  .source-shelf { margin-top:7px; padding-top:6px; gap:0; }
  .reading-feature,.reading-pair .reading-feature { padding-top:5px; padding-bottom:5px; }
}
