:root{--bg: #f4f0e6;--bg2: #FAF8F3;--ink: #2D2A26;--inkSoft: #6B655B;--inkFaint: #ABA396;--warm: #FF7A59;--warmDeep: #E8623E;--cool: #6FCF97;--coolDeep: #4FB57C}@keyframes floatA{0%,to{transform:rotate(3deg) translateY(0)}50%{transform:rotate(2deg) translateY(-6px)}}@keyframes floatB{0%,to{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(-4deg) translateY(-4px)}}@keyframes floatC{0%,to{transform:rotate(2deg) translateY(0)}50%{transform:rotate(3deg) translateY(-3px)}}.ageLayout{display:grid;grid-template-columns:240px 1fr;gap:0}@media(max-width:910px){.ageLayout{grid-template-columns:1fr}}.ageLayout>.toolControls{padding:22px;border-right:1px solid rgba(42,31,26,.08);background:#fbf7ee}@media(max-width:640px){.ageLayout>.toolControls{border-right:none;border-bottom:1px solid rgba(42,31,26,.08)}}.ageResults{display:flex;flex-direction:column;gap:20px;padding:22px;background:#faf8f3}@media(max-width:640px){.ageResults{padding:16px}}.ageSectionTitle{font-size:10.5px;font-weight:700;color:#aba396;text-transform:uppercase;letter-spacing:.1em;margin:0 0 12px;display:flex;align-items:center;gap:12px}.ageSectionTitle:after{content:"";flex:1;height:1px;background:#2a1f1a14}.ageHero{position:relative;background:radial-gradient(ellipse 90% 70% at 100% 0%,rgba(200,85,46,.1),transparent 60%),radial-gradient(ellipse 70% 80% at 0% 100%,rgba(200,85,46,.05),transparent 65%),#fff8f4;border:1px solid rgba(200,85,46,.12);border-radius:14px;padding:20px 22px 16px;overflow:hidden}.ageHero:after{content:"";position:absolute;right:-50px;top:-50px;width:180px;height:180px;border:1px solid rgba(200,85,46,.12);border-radius:50%;pointer-events:none}.ageHeroEyebrow{font-size:10.5px;font-weight:700;color:#6b655b;text-transform:uppercase;letter-spacing:.1em;margin:0 0 10px}.ageHeroMain{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.ageYearsNum{font-size:clamp(48px,8vw,80px);font-weight:700;line-height:.9;letter-spacing:-.04em;color:#c8552e;font-variant-numeric:tabular-nums}.ageYearsUnit{font-size:20px;font-weight:700;color:#2d2a26;align-self:flex-end;margin-bottom:4px}.ageHeroPlus{display:flex;align-items:baseline;gap:6px;padding-left:16px;border-left:1px solid rgba(42,31,26,.12);margin-left:4px}.ageDaysNum{font-size:34px;font-weight:700;line-height:.9;color:#2d2a26;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.ageDaysUnit{font-size:14px;font-weight:600;color:#6b655b;align-self:flex-end;margin-bottom:3px}.agePreciseTicker{margin-top:14px;display:flex;align-items:center;gap:5px;flex-wrap:wrap;background:#ffffffa6;border:1px solid rgba(42,31,26,.07);border-radius:8px;padding:8px 12px}.ageTickNum{font-weight:700;font-size:14px;color:#2d2a26;font-variant-numeric:tabular-nums}.ageTickUnit{font-size:12px;color:#6b655b}.ageTickDot{width:3px;height:3px;border-radius:50%;background:#aba396;flex-shrink:0}.ageSubLabel{font-size:11px;color:#aba396;margin-top:8px;font-style:italic}.ageFactsGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media(max-width:760px){.ageFactsGrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.ageFactsGrid{grid-template-columns:1fr}}.ageFact{background:var(--fact-bg, #f4f0e6);border:1px solid rgba(42,31,26,.06);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;min-height:96px}.ageFactKey{font-size:11px;font-weight:700;color:#6b655b;text-transform:uppercase;letter-spacing:.08em}.ageFactVal{display:flex;align-items:center;gap:8px;font-weight:600;font-size:17px;color:#2d2a26;letter-spacing:-.01em;line-height:1.2}.ageFactGlyph{font-size:22px;line-height:1;flex-shrink:0}.ageFactSub{font-size:12px;color:#6b655b;margin-top:auto;line-height:1.35}.ageTotalsBlock{background:#fff;border:1px solid rgba(42,31,26,.08);border-radius:14px;padding:4px 6px;display:grid;grid-template-columns:repeat(5,1fr);box-shadow:0 1px #2a1f1a08,0 6px 18px -12px #2a1f1a1f}@media(max-width:600px){.ageTotalsBlock{grid-template-columns:repeat(2,1fr)}}@media(max-width:360px){.ageTotalsBlock{grid-template-columns:1fr}}.ageTotal{padding:12px 10px 14px;display:flex;flex-direction:column;gap:4px;position:relative}.ageTotal+.ageTotal:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:1px;background:#2a1f1a12}@media(max-width:600px){.ageTotal+.ageTotal:before{display:none}}.ageTotalKey{font-size:10px;font-weight:700;color:#aba396;text-transform:uppercase;letter-spacing:.08em}.ageTotalNum{font-size:18px;font-weight:700;color:#2d2a26;letter-spacing:-.015em;font-variant-numeric:tabular-nums;line-height:1.1}.ageMilestoneList{display:flex;flex-direction:column;gap:8px}.ageMilestoneCard{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:14px;background:#fff;border:1px solid rgba(42,31,26,.08);border-radius:12px;padding:12px 16px;transition:border-color .15s,transform .15s}.ageMilestoneCard:hover{border-color:#2a1f1a24;transform:translateY(-1px)}@media(max-width:480px){.ageMilestoneCard{grid-template-columns:38px 1fr}.ageMilestoneCard .ageMilestoneWhen{grid-column:2;text-align:left;margin-top:2px}}.ageMilestoneGlyph{width:38px;height:38px;border-radius:10px;background:var(--ms-bg, #F4ECD8);display:grid;place-items:center;font-size:18px;flex-shrink:0}.ageMilestoneTitle{font-weight:600;font-size:14px;color:#2d2a26;letter-spacing:-.005em}.ageMilestoneMeta{font-size:12px;color:#6b655b;margin-top:2px}.ageMilestoneWhen{font-size:12px;color:#6b655b;text-align:right;white-space:nowrap;line-height:1.4}.ageMilestoneWhen b{display:block;font-size:13px;font-weight:600;color:#2d2a26}.ageEmpty{display:flex;align-items:center;justify-content:center;min-height:160px;font-size:14px;color:#aba396;text-align:center;padding:20px}.ageEmptyError{color:#c7503e}
