/* Local open-source fonts: consistent Chinese UI on Windows, Android and iOS. */
@font-face{font-family:Xingyu Sans;src:url('assets/fonts/noto-sans-sc-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Xingyu Sans;src:url('assets/fonts/noto-sans-sc-600.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
:root{--ui-font:'Xingyu Sans','PingFang SC','Microsoft YaHei','Noto Sans CJK SC',sans-serif;--serif:var(--ui-font);--muted:#59675a}
body{font-family:var(--ui-font);font-size:16px;font-weight:400;line-height:1.75}
button,input,select,textarea{font-family:var(--ui-font)}
h1,h2,h3,.brand,.stat strong,.ritual-stage h2,#main[data-route=lots] .form-panel h3,#main[data-route=lots] .result-head h2,.oracle-hero-copy h1,.oracle-paper .result-poem{font-family:var(--ui-font)}
h1,h2,h3,.primary,.reading-detail summary strong,.reading-copy p b,.reading-takeaway>strong{font-weight:600}
.panel p,.panel .reading-copy p,.panel .reading-takeaway p{font-size:15px;line-height:1.9;color:#465548}
.panel p.reading-intro,.result-empty p{color:#5c685b}
.hint,.panel .hint,#main[data-route=lots] .hint{color:#636d60!important;font-size:13px!important;line-height:1.85}
.field{font-size:14px;font-weight:600;color:#405745}.field input,.field select,.field textarea{font-weight:400;font-size:16px}.field input::placeholder,.field textarea::placeholder{font-size:14px;color:#737e70}
.planet-list{gap:0 18px}.planet-row{padding:13px 14px;gap:14px;align-items:baseline;font-size:15px;line-height:1.7;color:#354d3e}.planet-row span{min-width:0}.planet-row span:last-child{color:#79562d;font-weight:600;text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0}
.reading-copy p b{font-size:14px;color:#74582d}.reading-detail summary small,.panel .reading-source,.reading-source a{color:#626e59}.reading-toolbar>span{color:#685a40}.reading-title h2{font-size:22px;line-height:1.55}.insight h3{font-size:17px;line-height:1.6;color:#415738}
.error,.panel .error{color:#a13029}.stat small,.stat p,.palace small,.name-char small{color:#5b6c52}.bar-row{color:#41533f}.nav-caption,.nav-group,.sidebar-bottom small,.section-heading>span,footer{color:#646e5e}
.card-kicker>span,.eyebrow,.roman{font-family:var(--ui-font)}
@media(max-width:650px){.planet-list{grid-template-columns:1fr}.planet-row{font-size:15px;padding:12px}.panel .reading-copy p,.panel .reading-takeaway p,.illustrated-reading p{font-size:15px;line-height:1.9}.reading-title h2{font-size:20px}.module-card h3{font-size:18px}.heading-row h1{font-size:28px}.profile-heading h2{font-size:21px}.profile-heading .badge{font-size:12px}}
