.chart-hero{margin-bottom:30px}.chart-hero__eyebrow{margin:0 0 8px;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.18em;color:var(--saju-text-muted)}.chart-hero__title{margin:0 0 6px;font-size:clamp(24px,4.5vw,36px);line-height:1.3;color:var(--saju-ink)}.chart-hero__meta{margin:0;font-size:var(--fs-sm);color:var(--saju-text-mid)}.chart-hero__meta:empty{display:none}.chart-form__row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.chart-form__field{display:flex;flex-direction:column;gap:5px;min-width:0}.chart-form__field--full{grid-column:1 / -1}.chart-form label{font-size:var(--fs-xs);letter-spacing:.06em;color:var(--saju-text-muted)}.chart-form select{width:100%;min-height:46px;padding:11px 12px;border:1px solid var(--saju-border-light);border-radius:var(--bazi-radius);background:var(--saju-cream-card);color:var(--saju-ink);font-family:var(--font-thai);font-size:var(--fs-lg)}.chart-form select:focus{outline:2px solid var(--saju-accent);outline-offset:-2px;border-color:var(--saju-accent)}.chart-pillar{display:flex;flex-direction:column;align-items:center;padding:14px 6px 16px;text-align:center}.chart-pillar__pos{margin-bottom:8px;font-size:var(--fs-2xs);letter-spacing:.1em;color:var(--saju-text-muted)}.chart-pillar__stem,.chart-pillar__branch{font-size:clamp(28px,6.5vw,42px);line-height:1.18}.chart-pillar__stem{color:var(--saju-accent)}.chart-pillar__branch{color:var(--saju-ink)}.chart-pillar__el{margin-top:8px;font-size:var(--fs-2xs);line-height:1.5;color:var(--saju-text-mid)}.chart-dm__title{margin:0 0 8px;font-size:var(--fs-4xl);color:var(--saju-ink)}.chart-dm__body{margin:0;font-size:var(--fs-md);line-height:1.85;color:var(--saju-text-mid)}.chart-traits{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.chart-trait{padding:5px 10px;border:1px solid var(--saju-border-light);border-radius:var(--bazi-radius);background:var(--saju-cream-card);font-size:var(--fs-xs);color:var(--saju-text-mid)}.chart-balance__row{display:grid;grid-template-columns:28px 52px minmax(0,1fr) 42px;align-items:center;gap:12px;padding:11px 18px;border-bottom:1px solid var(--saju-border-light)}.chart-balance__row:last-child{border-bottom:0}.chart-balance__cn{font-size:var(--fs-2xl);line-height:1;color:var(--saju-accent)}.chart-balance__name{font-size:var(--fs-sm);color:var(--saju-ink)}.chart-balance__track{height:10px;background:var(--saju-cream-dim)}.chart-balance__fill{height:100%;background:var(--el);transition:width var(--saju-transition) var(--saju-ease)}.chart-balance__count{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--saju-text-mid);text-align:right}.chart-error{margin-top:20px;padding:13px 16px;border:1px solid var(--saju-accent);border-left-width:3px;background:var(--saju-amber-06);color:var(--saju-ink);font-size:var(--fs-md)}@media(max-width:760px){.chart-pillars.bazi-ledger--cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.chart-pillars .bazi-ledger__cell{border-right:1px solid var(--saju-border-light);border-bottom:0;padding-left:2px;padding-right:2px}.chart-pillars .bazi-ledger__cell:last-child{border-right:0}.chart-balance__row{grid-template-columns:26px 48px minmax(0,1fr) 38px;gap:8px;padding:10px 14px}}@media(max-width:480px){.chart-form__row{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-pillar__pos{letter-spacing:.04em}}@media(prefers-reduced-motion:reduce){.chart-balance__fill{transition:none}}.rx{border:1px solid var(--saju-border-light);border-top:2px solid var(--saju-ink);background:var(--saju-surface-alt)}.rx__head{display:flex;align-items:center;gap:11px;padding:14px 16px;border-bottom:1px solid var(--saju-border-light)}.rx__seal{flex:0 0 30px;width:30px;height:30px;display:grid;place-items:center;background:var(--saju-accent);color:var(--saju-surface-alt);font-size:var(--fs-xl);line-height:1}.rx__titles{flex:1;min-width:0}.rx__cn{display:block;font-size:var(--fs-3xl);letter-spacing:.08em;line-height:1.25;color:var(--saju-ink)}.rx__th{display:block;font-size:var(--fs-xs);color:var(--saju-text-muted)}.rx__dm{flex:0 0 auto;padding:5px 9px;border:1px solid var(--saju-border-light);background:var(--saju-bg);font-size:var(--fs-xs);color:var(--saju-text-mid);white-space:nowrap}.rx__dm b{font-weight:400;font-size:var(--fs-md);color:var(--saju-accent);margin-right:5px}.rx__bar{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:9px 16px;border-bottom:1px solid var(--saju-border-light);background:var(--saju-cream-dim);font-size:var(--fs-xs);letter-spacing:.1em;color:var(--saju-text-muted)}.rx__bar-count{letter-spacing:0}.rx__bar-count b{font-weight:400;color:var(--saju-ink)}.rx__notice{margin:0;padding:11px 16px;border-bottom:1px solid var(--saju-border-light);background:var(--saju-amber-06);font-size:var(--fs-sm);line-height:1.7;color:var(--saju-text-mid)}.rx__notice b{color:var(--saju-ink)}.rx__stick{display:block;width:100%;padding:0;border:0;border-bottom:1px solid var(--saju-border-light);border-left:3px solid transparent;border-radius:var(--bazi-radius);background:none;font-family:var(--font-thai);text-align:left;cursor:pointer;transition:transform .4s var(--saju-ease),border-left-color .3s var(--saju-ease),background-color .3s var(--saju-ease)}.rx__index .rx__stick:last-child{border-bottom:0}.rx__stick:hover{background:var(--saju-amber-04)}.rx__stick:focus-visible{outline:2px solid var(--saju-accent);outline-offset:-2px}.rx__stick.ai-cat__chip--active{border-left-color:var(--saju-accent);background:var(--saju-amber-05);transform:translate(6px)}.rx__stick-row{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 16px 12px 13px;min-height:56px}.rx__num{width:26px;height:26px;display:grid;place-items:center;background:var(--saju-accent);color:var(--saju-surface-alt);font-size:var(--fs-base);line-height:1;transition:background-color .3s var(--saju-ease),color .3s var(--saju-ease)}.rx__term{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 9px;min-width:0}.rx__term-cn{font-size:var(--fs-2xl);font-weight:600;letter-spacing:.06em;line-height:1.3;color:var(--saju-ink)}.rx__term-th{font-size:var(--fs-md);color:var(--saju-text-mid)}.rx__meta{font-size:var(--fs-xs);color:var(--saju-text-muted);white-space:nowrap}.rx__meta b{font-weight:400;color:var(--saju-text-mid)}.rx__meta--locked{display:none;color:var(--saju-accent)}.rx__stick.ai-cat__chip--locked .rx__num{background:none;color:var(--saju-accent);box-shadow:inset 0 0 0 1px var(--saju-accent)}.rx__stick.ai-cat__chip--locked .rx__term-cn,.rx__stick.ai-cat__chip--locked .rx__term-th{color:var(--saju-text-muted)}.rx__stick.ai-cat__chip--locked .rx__meta:not(.rx__meta--locked){display:none}.rx__stick.ai-cat__chip--locked .rx__meta--locked{display:inline}.rx__fold{display:grid;grid-template-rows:0fr;transition:grid-template-rows .42s var(--saju-ease)}.rx__stick.ai-cat__chip--active .rx__fold{grid-template-rows:1fr}.rx__clip{overflow:hidden}.rx__parts{margin:0;padding:0 16px 15px 51px;list-style:none;font-size:var(--fs-sm);color:var(--saju-text-mid)}.rx__parts li{position:relative;padding:5px 0 5px 15px;border-bottom:1px solid var(--saju-border-light);line-height:1.6}.rx__parts li:last-child{border-bottom:0}.rx__parts li:before{content:"";position:absolute;top:14px;left:0;width:5px;height:5px;background:var(--saju-accent)}.rx__foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:14px 16px 15px;border-top:1px solid var(--saju-border-light)}.rx__go{display:inline-flex;align-items:center;gap:9px;min-height:46px;padding:0 20px;border:1px solid var(--saju-accent);border-radius:var(--bazi-radius);background:var(--saju-accent);color:var(--saju-surface-alt);font-family:var(--font-thai);font-size:var(--fs-xl);font-weight:600;text-decoration:none;cursor:pointer;transition:background-color .25s var(--saju-ease),border-color .25s var(--saju-ease)}.rx__go:hover{background:var(--saju-accent-hover);border-color:var(--saju-accent-hover)}.rx__go i{font-style:normal;font-weight:400;font-size:var(--fs-2xl)}.rx__go-arrow{font-size:var(--fs-md);opacity:.8}.rx__go--quiet{min-height:44px;padding:0 16px;background:none;color:var(--saju-accent);font-size:var(--fs-md)}.rx__go--quiet:hover{background:var(--saju-accent);color:var(--saju-surface-alt)}.rx__link{display:inline-flex;align-items:center;min-height:44px;padding:0;border:0;border-bottom:1px solid var(--saju-border-light);background:none;color:var(--saju-text-mid);font-family:var(--font-thai);font-size:var(--fs-sm);cursor:pointer;transition:color .25s var(--saju-ease),border-color .25s var(--saju-ease)}.rx__link:hover{color:var(--saju-accent);border-bottom-color:var(--saju-accent)}.rx__gate{padding:18px 16px 17px}.rx__gate-lead{margin:0 0 6px;font-size:var(--fs-3xl);color:var(--saju-ink)}.rx__gate-text{margin:0 0 14px;font-size:var(--fs-sm);line-height:1.8;color:var(--saju-text-mid)}.rx__gate-list{margin:0 0 16px;padding:0;list-style:none;border-top:1px solid var(--saju-border-light)}.rx__gate-list li{display:flex;align-items:baseline;gap:9px;padding:8px 0;border-bottom:1px solid var(--saju-border-light);font-size:var(--fs-sm);color:var(--saju-text-mid)}.rx__gate-list b{font-weight:600;font-size:var(--fs-lg);color:var(--saju-accent)}.rx__gate-list span{margin-left:auto;font-size:var(--fs-xs);color:var(--saju-text-muted)}.rx__gate-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}.rx__loading{display:none;padding:22px 16px 24px}.rx__loading.visible{display:block}.rx__ink{display:block;height:2px;margin-bottom:14px;background:var(--saju-accent);transform-origin:left center;animation-name:rx-ink;animation-duration:1.9s;animation-timing-function:var(--saju-ease);animation-iteration-count:infinite}@keyframes rx-ink{0%{transform:scaleX(.04)}55%{transform:scaleX(1)}to{transform:scaleX(.04)}}.rx__loading-text{margin:0 0 3px;font-size:var(--fs-lg);color:var(--saju-ink)}.rx__loading-sub{margin:0;font-size:var(--fs-sm);color:var(--saju-text-muted)}.rx__chosen{display:flex;align-items:baseline;gap:10px;padding:11px 16px;border-bottom:1px solid var(--saju-border-light);background:var(--saju-amber-05);border-left:3px solid var(--saju-accent)}.rx__chosen-cn{font-size:var(--fs-2xl);font-weight:600;letter-spacing:.06em;color:var(--saju-ink)}.rx__chosen-th{font-size:var(--fs-md);color:var(--saju-text-mid)}.rx__reading{padding:16px 16px 18px}.rx__cached{margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--saju-border-light);font-size:var(--fs-xs);color:var(--saju-text-muted)}.rx .ai-reading__result{display:none}.rx .ai-reading__result.visible{display:block}.rx .ai-reading__result.streaming:after{content:"";display:inline-block;width:8px;height:1em;margin-left:3px;background:var(--saju-accent);vertical-align:-.16em;animation-name:rx-caret;animation-duration:1.05s;animation-timing-function:steps(2);animation-iteration-count:infinite}@keyframes rx-caret{50%{opacity:0}}.rx__clear{padding:0 16px 16px}.rx__error{display:none;padding:16px;border-left:3px solid var(--saju-accent);background:var(--saju-amber-06)}.rx__error.visible{display:block}.rx__error-title{margin:0 0 4px;font-size:var(--fs-lg);font-weight:600;color:var(--saju-ink)}.rx__error-msg{margin:0 0 12px;font-size:var(--fs-sm);line-height:1.75;color:var(--saju-text-mid)}@media(max-width:480px){.rx__head{flex-wrap:wrap}.rx__dm{order:3;width:100%;text-align:center}.rx__stick-row{grid-template-columns:26px minmax(0,1fr);row-gap:3px}.rx__meta,.rx__meta--locked{grid-column:2}.rx__parts{padding-left:32px}.rx__go{flex:1;justify-content:center}}@media(prefers-reduced-motion:reduce){.rx__stick,.rx__fold,.rx__go,.rx__link,.rx__num{transition:none}.rx__ink,.rx .ai-reading__result.streaming:after{animation-name:none}}
