#birth-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
#birth-form>label,#birth-form>div,#birth-form>fieldset{min-width:0;grid-column:auto}
#birth-form .birth-city-field,#birth-form .field-question,#birth-form .data-notice{grid-column:1/-1}
#birth-form input:not([type=checkbox]):not([type=radio]){display:block;width:100%;margin-top:6px}
#birth-form small{display:block;font-size:12px;line-height:1.6;color:var(--muted);margin-top:6px}
#birth-form .field-error{display:block;color:#ff9c99;font-size:13px;line-height:1.5;margin-top:6px}
#birth-form [aria-invalid=true]{border:2px solid #e45d63}
#city-options{border:1px solid var(--gold);background:#1e3044;max-height:260px;overflow-y:auto;margin-top:6px;border-radius:4px}
#city-options button{display:block;width:100%;border:0;border-bottom:1px solid var(--line);text-align:left;letter-spacing:0;padding:12px}
#city-options button[aria-selected=true]{background:#365052;outline:2px solid var(--gold);outline-offset:-2px}
#city-options p{padding:10px 14px}
#city-confirmed{color:#a6dec1;margin:8px 0;font-size:13px}
#birth-form .city-attribution{font-size:10px;opacity:.8}
#birth-form .unknown-time{display:flex;gap:8px;align-items:center;margin-top:10px}
#birth-form input:disabled{opacity:.45}
#birth-form .data-notice{font-size:12px;margin:0}
#form-generation-status{align-self:center;font-size:13px;color:var(--muted)}
#create-button.is-generating::before{content:"";display:inline-block;width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;margin-right:10px;vertical-align:middle;animation:input-spin .8s linear infinite}
@keyframes input-spin{to{transform:rotate(360deg)}}
.tiers{align-items:stretch;gap:20px}
body[data-view=input] .controls{display:none}
body[data-view=plans] .hero,body[data-view=plans] .create,body[data-view=plans] .book,body[data-view=plans] .report-intro,body[data-view=plans] .toc-toggle,body[data-view=plans] #save,body[data-view=plans] #print,body[data-view=plans] #new-reading{display:none!important}
body[data-view=reading] .plan-heading{display:none}
#plan-flow{padding:24px 0}
#plan-flow>button{margin:0 12px 12px 0}
#plan-continue{background:var(--gold);color:var(--navy)}
#plan-message{color:var(--gold);white-space:pre-wrap}
#plan-message button{display:block;margin-top:12px}
.plan-heading{font:32px/1.4 Georgia,'Batang',serif;margin:12px 0 28px}
.tiers .plan-card{display:flex;flex-direction:column;padding:28px 24px;border:1px solid var(--line);border-radius:8px;letter-spacing:0;text-align:left;transition:border-color .15s,background .15s}
.tiers .plan-card[aria-pressed=true]{border:2px solid var(--gold);padding:27px 23px;background:#23394b;color:var(--ivory)}
.plan-name{font:28px/1.3 Georgia,serif}
.plan-count{font-size:12px;color:var(--muted);margin:10px 0 24px}
.plan-contents{display:flex;flex-direction:column;gap:12px;font-size:14px;line-height:1.5}
.plan-contents>[role=listitem]{display:block;padding-left:16px;position:relative}
.plan-contents>[role=listitem]::before{content:"·";position:absolute;left:0;color:var(--gold)}
.plan-detail{font-size:12px;color:var(--muted);line-height:1.5;margin-top:24px}
.plan-price{font-size:26px;line-height:1.4;margin-top:auto;padding-top:30px;color:var(--gold)}
body[data-view=reading] .plan-contents,body[data-view=reading] .plan-detail,body[data-view=reading] .plan-price{display:none}
body[data-view=reading] .plan-count{margin-bottom:0}
@media(max-width:700px){.tiers{grid-template-columns:1fr}.tiers .plan-card{padding:24px}.tiers .plan-card[aria-pressed=true]{padding:23px}}
@media(prefers-reduced-motion:reduce){#create-button.is-generating::before{animation:none}}
@media(max-width:700px){#birth-form{grid-template-columns:1fr}#birth-form>*{grid-column:1!important}}
