.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}html[data-chart=loading] #chart-frame,html[data-chart=loading] .chart-after,html[data-chart=loading] .site-footer,html[data-chart=ready] #chart-frame{display:none}.chart-status{margin-bottom:var(--s4)}.chart-status p{font-size:var(--small)}#chart-notes:empty{display:none}#chart-notes{margin-top:var(--s4)}.frame-grid .palace{justify-content:flex-end;align-items:flex-end;min-height:120px;display:flex}.palace .ganzhi{font-family:var(--serif);color:var(--muted);font-size:.75rem}.chart-grid{grid-template-rows:repeat(4,minmax(176px,auto))}.chart-grid .palace{gap:var(--s2);padding:var(--s3);flex-direction:column;min-width:0;display:flex;position:relative}.chart-grid .palace header{align-items:baseline;gap:var(--s2);display:flex}.chart-grid .palace h3{font-size:var(--small);color:var(--accent)}.chart-grid .palace footer{align-items:center;gap:var(--s2);color:var(--muted);margin-top:auto;font-size:.6875rem;display:flex}.chart-grid .palace footer .ganzhi{margin-left:auto}.palace.is-ming{background:color-mix(in oklch,var(--soft) 60%,transparent)}.palace.is-decade{box-shadow:inset 0 0 0 2px color-mix(in oklch,var(--accent) 55%,transparent)}.palace.is-year{box-shadow:inset 0 -3px 0 var(--accent)}.palace.is-decade.is-year{box-shadow:inset 0 0 0 2px color-mix(in oklch,var(--accent) 55%,transparent),inset 0 -3px 0 var(--accent)}.tag{border:1px solid var(--line);color:var(--muted);border-radius:4px;padding:3px 5px;font-size:.625rem;font-weight:600;line-height:1}.tag-shen,.tag-decade,.tag-year{border-color:var(--accent);color:var(--accent)}.stars{gap:2px var(--s2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.star{align-items:baseline;gap:2px;font-size:.75rem;line-height:1.5;display:inline-flex}.star [lang=zh]{font-family:var(--serif)}.stars-major .star{color:var(--ink);font-size:.9375rem;font-weight:600}.star-sha .star-name{color:var(--muted)}.star-minor{color:var(--muted);font-size:.6875rem}.bright{color:var(--muted);font-size:.625rem;font-weight:400}.bright-bright{color:var(--accent)}.hua{font-family:var(--serif);color:#fff;white-space:nowrap;border-radius:3px;padding:2px 3px;font-size:.625rem;font-weight:600;line-height:1}.hua-lu{background:oklch(52% .13 145)}.hua-quan{background:oklch(52% .14 265)}.hua-ke{background:oklch(55% .11 200)}.hua-ji{background:oklch(50% .17 25)}.borrowed,.self-sihua{color:var(--muted);font-size:.6875rem}.chart-grid .chart-center{gap:var(--s3);padding:var(--s4);justify-content:flex-start}.chart-grid .chart-center .cjk{font-size:1.5rem}.centre-info{gap:2px var(--s4);font-size:var(--small);text-align:left;grid-template-columns:auto 1fr;width:100%;max-width:420px;margin:0;display:grid}.centre-info dt{color:var(--muted)}.centre-info dd{margin:0}.centre-patterns{text-align:left;width:100%;max-width:420px}.centre-patterns h4{font-size:var(--small);margin:0 0 var(--s2)}.pattern-list{gap:var(--s2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.pattern{border:1px solid var(--line);border-radius:999px;padding:2px 10px;font-size:.75rem}.level-excellent{border-color:var(--accent);color:var(--accent)}.level-caution{border-style:dashed}.legend{margin-top:var(--s3)}.flow-panel{margin-top:var(--s6);padding:var(--s5);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.flow-panel>p{margin-block:var(--s2) var(--s4)}.flow-group{margin-top:var(--s4)}.flow-group h3{font-size:var(--small);margin-bottom:var(--s2)}.flow-choices{gap:var(--s2);flex-wrap:wrap;display:flex}.chip{min-width:44px;min-height:44px;padding:var(--s2) var(--s3);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);font-size:var(--small);background:0 0}.chip:hover{background:var(--soft)}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--surface)}.sihua-table{margin-top:var(--s5)}.sihua-table td [lang=zh],.sihua-table th [lang=zh]{font-family:var(--serif)}.pattern-details{margin-top:var(--s6);border-top:1px solid var(--line);padding-top:var(--s4)}.pattern-details ul{padding-left:var(--s5)}.pattern-details li{margin-block:var(--s4)}.pattern-details p{font-family:var(--serif);margin-top:var(--s2)}.interp{margin-top:var(--s7);border-top:1px solid var(--line);padding-top:var(--s6)}.interp>p{margin-top:var(--s3)}.topics{margin-top:var(--s4);border-top:1px solid var(--line)}.topic{border-bottom:1px solid var(--line)}.topic summary{color:var(--ink);font-weight:600}.reading{padding-bottom:var(--s4)}.reading-text{white-space:pre-wrap;font-family:var(--serif);color:var(--ink);max-width:72ch;line-height:1.9}.reading-note{font-size:var(--small);margin-block:var(--s2) var(--s3)}.untranslated{background:var(--soft);border-radius:var(--radius)}.untranslated-label{font-family:var(--body);letter-spacing:.04em;color:var(--accent);border:1px solid var(--line);border-radius:var(--radius);padding:0 var(--s2);margin-right:var(--s2);vertical-align:middle;font-size:.625rem;font-weight:600}.reading-original{margin-top:var(--s3)}.calendar-note{font-size:var(--small);margin-block:var(--s3) 0}.attribution{margin-top:var(--s3);font-size:.6875rem}.pillar-table td,.pillar-table th{text-align:center}.pillar-table tbody th{text-align:left;white-space:nowrap}.pillar-table [lang=zh]{font-family:var(--serif)}.pillar-char{color:var(--accent);font-size:1.75rem;line-height:1.2}.bazi-facts{gap:var(--s2) var(--s5);margin:var(--s5) 0;font-size:var(--small);grid-template-columns:auto 1fr;display:grid}.bazi-facts dt{color:var(--muted)}.bazi-facts dd{margin:0}.shen-sha{margin-top:var(--s5)}.shen-sha p{margin-top:var(--s2);font-size:var(--small)}.da-yun-section{margin-top:var(--s7)}.da-yun-section>p{margin-top:var(--s2)}.da-yun-timeline{margin:var(--s4) 0 0;border-left:2px solid var(--line);padding:0;list-style:none}.da-yun-timeline>li{padding-left:var(--s4);margin-bottom:var(--s2)}.da-yun summary{gap:var(--s4)}.da-yun summary:before{content:none}.gz{font-family:var(--serif)}.gz-large{font-size:var(--large);color:var(--accent)}.da-yun .span{font-size:var(--small);color:var(--muted)}.liu-nian-list{margin:var(--s2) 0 var(--s4);gap:var(--s2);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));padding:0;list-style:none;display:grid}.liu-nian{border:1px solid var(--line);border-radius:var(--radius);padding:0 var(--s3)}.liu-nian summary{font-size:var(--small)}.liu-nian summary:before{content:none}.liu-yue{padding:0 0 var(--s3);grid-template-columns:repeat(3,1fr);gap:2px;margin:0;font-size:.75rem;list-style:none;display:grid}.liu-yue [lang=zh]{font-family:var(--serif)}.match-form-grid{gap:var(--s5);grid-template-columns:1fr 1fr;display:grid}.person{border:1px solid var(--line);border-radius:var(--radius);padding:var(--s4);margin:0 0 var(--s4)}.person legend{font-weight:600;font-size:var(--small);padding-inline:var(--s2)}.match-table [lang=zh]{font-family:var(--serif)}.match-table td{vertical-align:top}.match-columns{gap:var(--s6);margin-top:var(--s6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.match-person{min-width:0}.match-person h2{margin-bottom:var(--s3)}.match-person h3{font-size:var(--small);margin:var(--s4) 0 var(--s2)}.compact-chart .chart-grid{grid-template-rows:repeat(4,minmax(150px,auto))}.compact-chart .stars-major .star{font-size:.8125rem}.compact-chart .centre-patterns{display:none}#match>.quiet{margin-bottom:var(--s4)}@media (width<=1000px){.match-columns{grid-template-columns:minmax(0,1fr)}}@media (width<=700px){.chart-grid .palace{order:var(--order,0);flex-direction:column;align-items:stretch;display:flex}.chart-grid .chart-center{order:-1}.frame-grid .palace{min-height:0}.match-form-grid{grid-template-columns:1fr}.flow-panel{padding:var(--s4)}.liu-nian-list{grid-template-columns:repeat(2,1fr)}.pillar-char{font-size:1.375rem}}.birth-time{border:1px solid var(--line);border-radius:var(--radius);padding:var(--s4);margin-bottom:var(--s5);gap:var(--s3);flex-direction:column;display:flex}.birth-time h3{font-size:var(--small)}.birth-time-list{gap:2px var(--s4);font-size:var(--small);grid-template-columns:auto 1fr;margin:0;display:grid}.birth-time-list dt{color:var(--muted)}.birth-time-list dd{overflow-wrap:anywhere;margin:0}@media (width<=700px){.birth-time-list{grid-template-columns:1fr}.birth-time-list dd{margin-bottom:var(--s2)}}
