.age-page [hidden]{display:none!important}
.age-page .hero-shell{padding:24px 28px}
.age-page h1{margin:0 0 10px;font-size:clamp(29px,3.4vw,44px)}
.age-page .lead{margin:0;max-width:1000px;color:var(--ink);line-height:1.65}
.age-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}
.age-panel{padding:26px;min-width:0}
.age-panel h2{margin:0 0 18px;color:var(--ink-strong);font-size:24px;line-height:1.25}
.age-page .field{display:grid;gap:8px;margin-bottom:18px;min-width:0}
.age-page .label-row{color:var(--ink-strong);font-weight:700}
.age-page .input{width:100%;min-width:0;font-size:16px;min-height:50px}
.age-page .input:focus-visible,.age-page button:focus-visible,.age-page summary:focus-visible{outline:3px solid #426d56;outline-offset:3px}
.age-page [aria-invalid=true]{outline:2px solid #9c3030;outline-offset:2px}
.age-page .hint{margin:0;color:var(--ink);font-size:14px;line-height:1.6}
.age-selected-option{display:none}
.age-date-row{display:flex;gap:10px;align-items:center;min-width:0}
.age-date-row input{flex:1;width:0;min-width:180px}
.age-today{flex:0 0 auto;min-height:46px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--ink-strong);background:var(--pearl-soft);font:inherit;font-weight:650;cursor:pointer}
#age-today-note{margin-bottom:18px}
.age-actions{display:flex;flex-wrap:wrap;gap:10px}
.age-actions .button{min-height:46px;white-space:normal;line-height:1.4}
.age-page button:disabled{opacity:.55;cursor:default}
.age-main-result{padding:18px;margin:18px 0;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--pearl-soft);box-shadow:inset 3px 3px 8px rgba(85,108,91,.14),inset -3px -3px 8px rgba(249,252,245,.6)}
.age-main-result span{display:block;color:var(--ink-strong);font-weight:700}
.age-main-result strong{display:block;margin-top:10px;color:var(--ink-strong);font-size:clamp(27px,3.1vw,37px);font-variant-numeric:tabular-nums;line-height:1.35;overflow-wrap:anywhere}
.age-facts{margin:0}
.age-facts>div{padding:11px 0;border-top:1px solid var(--line-strong)}
.age-facts dt{color:var(--ink);font-size:14px;font-weight:650}
.age-facts dd{margin:5px 0 0;color:var(--ink-strong);font-size:17px;font-weight:750;line-height:1.5;overflow-wrap:anywhere}
#age-message{color:#872525;font-weight:700;line-height:1.6;overflow-wrap:anywhere}
#age-status,#age-copy-message,#age-rule{color:var(--ink-strong);line-height:1.65;overflow-wrap:anywhere}
.age-page .seo-article{max-width:none}
.age-page .seo-article p,.age-page .seo-article li,.age-page .faq-list p{color:var(--ink);line-height:1.75}
.age-page .seo-callout{border-left:4px solid var(--mint-deep);padding:14px 18px;background:var(--pearl-soft);border-radius:var(--radius-sm);color:var(--ink)}
.age-page .faq-list{display:grid;gap:12px}
.age-page .faq-list details{padding:16px 18px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--pearl-soft)}
.age-page .faq-list summary{cursor:pointer;color:var(--ink-strong);font-weight:750;line-height:1.5}
@media(max-width:900px){.age-workspace{grid-template-columns:minmax(0,1fr)}}
@media(max-width:640px){.age-page .hero-shell,.age-panel{padding:20px}.age-workspace{gap:14px}.age-actions .button{flex:1 1 150px}.age-date-row{gap:8px}.age-date-row input{min-width:0}.age-today{font-size:14px;padding:8px 10px}.age-page .faq-list details{padding:15px}.age-selected-option{display:block;font-weight:650}}
