.tb{--tb-cn: var(--font-hanja, serif);--tb-el: var(--saju-ink)}.chart-stack>section.tb{margin:0}.tb [data-el=wood]{--tb-el: var(--saju-wood)}.tb [data-el=fire]{--tb-el: var(--saju-fire)}.tb [data-el=earth]{--tb-el: var(--saju-earth)}.tb [data-el=metal]{--tb-el: var(--saju-metal)}.tb [data-el=water]{--tb-el: var(--saju-water)}.tb__lede{max-width:52em;margin:-4px 0 14px;font-size:var(--fs-sm);line-height:1.7;color:var(--saju-text-mid)}.tb__ledger{overflow:hidden}.tb__plate{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-bottom:var(--bazi-rule)}.tb__col{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:16px 8px 14px;border-right:var(--bazi-rule)}.tb__col:last-child{border-right:0}.tb__col.is-palace:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--saju-accent)}.tb__col.is-palace{background:var(--saju-amber-05)}.tb__col.is-dim .tb__glyph{opacity:.45}.tb__pos{display:flex;align-items:baseline;gap:5px;margin-bottom:6px;font-size:var(--fs-xs);color:var(--saju-text-mid)}.tb__pos i{font-family:var(--tb-cn);font-style:normal;font-size:var(--fs-2xs);letter-spacing:.1em;color:var(--saju-text-muted)}.tb__glyph{font-family:var(--tb-cn);font-size:clamp(26px,3.4vw,34px);line-height:1.1;color:var(--tb-el)}.tb__zodiac{margin-top:6px;font-size:var(--fs-xs);color:var(--saju-text-muted)}.tb__palace{display:flex;align-items:baseline;gap:5px;margin-top:8px;padding:3px 8px;background:var(--saju-accent);color:var(--saju-surface-alt);font-size:var(--fs-xs);font-weight:600}.tb__palace i{font-family:var(--tb-cn);font-style:normal;font-weight:400;font-size:var(--fs-2xs);letter-spacing:.1em;opacity:.85}.tb__row{display:grid;grid-template-columns:72px minmax(0,13em) minmax(0,1fr);gap:0;border-bottom:var(--bazi-rule)}.tb__row:last-child{border-bottom:0}.tb__seal{display:grid;place-items:center;margin:12px 0 12px 12px;width:48px;height:48px;align-self:start;border:1px solid var(--tb-el);background:var(--tb-el);color:var(--saju-surface-alt);font-family:var(--tb-cn);font-size:var(--fs-3xl);line-height:1}.tb__seal.is-hollow{border-style:dashed;background:none;color:var(--tb-el)}.tb__term{display:flex;flex-direction:column;gap:2px;padding:16px 14px;border-left:var(--bazi-rule)}.tb__term b{font-size:var(--fs-md);font-weight:600;line-height:1.45;color:var(--saju-ink)}.tb__term i{font-family:var(--tb-cn);font-style:normal;font-size:var(--fs-xs);letter-spacing:.12em;color:var(--saju-text-muted)}.tb__term-link{color:inherit;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--saju-accent) 35%,transparent);text-underline-offset:3px}.tb__term-link:hover{color:var(--saju-accent);text-decoration-color:var(--saju-accent)}.tb__text{margin:0;padding:16px 16px 16px 14px;border-left:var(--bazi-rule);font-size:var(--fs-sm);line-height:1.85;color:var(--saju-text-mid)}.tb__text b{color:var(--saju-ink);font-weight:600}.tb__text mark{background:none;color:var(--tb-el);font-weight:600}.tb__years{border-top:var(--bazi-rule-strong)}.tb__years:empty{display:none}.tb__years-head{display:flex;align-items:baseline;gap:10px;padding:14px 14px 10px}.tb__years-th{font-size:var(--fs-md);font-weight:600;color:var(--saju-ink)}.tb__years-cn{font-family:var(--tb-cn);font-size:var(--fs-xs);letter-spacing:.12em;color:var(--saju-text-muted)}.tb__years-el{margin-left:auto;font-size:var(--fs-xs);font-weight:600;color:var(--tb-el)}.tb__strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;border-top:var(--bazi-rule);border-bottom:var(--bazi-rule)}.tb__year{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:14px 6px 12px;border-right:var(--bazi-rule)}.tb__year:nth-child(5n){border-right:0}.tb__year:nth-child(-n+5){border-bottom:var(--bazi-rule)}.tb__year-be{font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.06em;color:var(--saju-text-muted);white-space:nowrap}.tb__year-gz{display:flex;gap:2px;font-family:var(--tb-cn);font-size:var(--fs-3xl);line-height:1.1}.tb__year-gz i{font-style:normal;color:var(--saju-text-muted)}.tb__year-gz i.is-on{color:var(--tb-el);box-shadow:0 2px 0 var(--tb-el)}.tb__year-zo{font-size:var(--fs-xs);color:var(--saju-text-muted)}.tb__year.is-hit{background:var(--saju-amber-05)}.tb__year.is-hit .tb__year-zo,.tb__year.is-hit .tb__year-be{color:var(--saju-text-mid)}.tb__stamp{position:absolute;top:6px;right:6px;width:20px;height:20px;display:grid;place-items:center;background:var(--saju-accent);color:var(--saju-surface-alt);font-family:var(--tb-cn);font-size:var(--fs-xs);line-height:1}.tb__strip[data-kind=watch] .tb__stamp{background:var(--saju-ink)}.tb__years-note{margin:0;padding:10px 14px 12px;font-size:var(--fs-xs);line-height:1.7;color:var(--saju-text-mid)}@media(prefers-reduced-motion:no-preference){.tb.is-in .tb__col,.tb.is-in .tb__row,.tb.is-in .tb__year{animation:tb-ink .52s cubic-bezier(.22,1,.36,1) both}.tb.is-in .tb__col{animation-delay:calc(var(--i) * 70ms)}.tb.is-in .tb__row{animation-delay:calc(.24s + var(--i) * 90ms)}.tb.is-in .tb__year{animation-delay:calc(.56s + var(--i) * 60ms)}.tb.is-in .tb__stamp{animation:tb-stamp .42s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(.9s + var(--i) * 60ms)}}@keyframes tb-ink{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes tb-stamp{0%{opacity:0;transform:scale(1.6) rotate(-6deg)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.tb .tb__col,.tb .tb__row,.tb .tb__year,.tb .tb__stamp{animation:none}}@media(max-width:760px){.tb__row{grid-template-columns:56px minmax(0,1fr)}.tb__seal{width:40px;height:40px;margin:12px 0 12px 8px;font-size:var(--fs-2xl)}.tb__term{padding:14px 12px 0}.tb__text{grid-column:2;padding:6px 12px 14px}.tb__year{padding:12px 4px 10px}.tb__year-now{display:none}.tb__year:first-child{box-shadow:inset 0 2px 0 var(--saju-ink)}.tb__stamp{top:auto;bottom:4px;right:4px;width:16px;height:16px;font-size:var(--fs-3xs)}.tb__year-gz{font-size:var(--fs-2xl)}.tb__col{padding:12px 4px 10px}.tb__palace{padding:2px 6px}.tb__palace i{display:none}}
