:root{--sim-1:var(--accent);--sim-2:#c2703d;--sim-3:#7a8b99;--sim-warn-bg:#fdf6e7;--sim-warn-border:#e8d6a8;--sim-warn-text:#6b5420}@media (prefers-color-scheme:dark){:root{--sim-2:#e09a63;--sim-3:#8fa2b2;--sim-warn-bg:#2a2418;--sim-warn-border:#4a3f27;--sim-warn-text:#e0cf9f}}.sim-layout{grid-template-columns:minmax(0,21rem) minmax(0,1fr);align-items:start;gap:1.75rem;display:grid}@media (width<=60rem){.sim-layout{grid-template-columns:minmax(0,1fr)}}.sim-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.25rem}.sim-panel+.sim-panel{margin-top:1.25rem}.sim-panel__title{letter-spacing:.02em;margin:0 0 1rem;font-size:.95rem;font-weight:700}@media (width>=60.0625rem){.sim-form-col{position:sticky;top:1.25rem}}.sim-field{min-width:0;margin-bottom:1rem}.sim-field:last-child{margin-bottom:0}.sim-field__label{color:var(--text-soft);margin-bottom:.35rem;font-size:.85rem;font-weight:600;display:block}.sim-field__hint{color:var(--text-muted);margin-top:.3rem;font-size:.78rem;line-height:1.6;display:block}.sim-input-wrap{align-items:center;gap:.5rem;display:flex}.sim-input,.sim-select{width:100%;min-width:0;font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.5rem .65rem;font-size:.95rem}.sim-input[type=date],.sim-input[type=datetime-local],.sim-input[type=month],.sim-input[type=time],.sim-input[type=week]{width:1px;min-width:100%;min-height:calc(1lh + 1rem + 2px)}.sim-input:focus-visible,.sim-select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sim-input[type=number]{text-align:right;font-variant-numeric:tabular-nums}.sim-input-wrap__unit{color:var(--text-muted);flex:none;font-size:.85rem}.sim-radio-row{flex-wrap:wrap;gap:.4rem;display:flex}.sim-radio{flex:auto;min-width:0}.sim-radio input{opacity:0;width:0;height:0;position:absolute}.sim-radio span{text-align:center;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);cursor:pointer;overflow-wrap:anywhere;padding:.45rem .6rem;font-size:.85rem;line-height:1.4;display:block}.sim-radio input:checked+span{background:var(--accent-wash);border-color:var(--accent);color:var(--accent-text);font-weight:600}.sim-radio input:focus-visible+span{outline:2px solid var(--accent);outline-offset:1px}.sim-details{border-top:1px solid var(--border);margin-top:1rem;padding-top:.9rem}.sim-details>summary{cursor:pointer;color:var(--accent-text);font-size:.85rem;font-weight:600;list-style:none}.sim-details>summary::-webkit-details-marker{display:none}.sim-details>summary:before{content:"＋ ";font-weight:700}.sim-details[open]>summary:before{content:"− "}.sim-details__body{padding-top:1rem}.sim-summary{grid-template-columns:repeat(auto-fit,minmax(min(9.5rem,100%),1fr));gap:.85rem;margin-bottom:1.25rem;display:grid}.sim-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1rem}.sim-stat--accent{background:var(--accent-wash);border-color:var(--accent-line)}.sim-stat__label{color:var(--text-muted);margin:0 0 .3rem;font-size:.78rem}.sim-stat__value{font-variant-numeric:tabular-nums;text-wrap:nowrap;margin:0;font-size:1.35rem;font-weight:700;line-height:1.25}.sim-stat__note{color:var(--text-muted);margin:.3rem 0 0;font-size:.75rem}.sim-chart{position:relative}.sim-chart svg{touch-action:pan-y;width:100%;height:auto;display:block}.sim-chart svg:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.sim-chart__grid,.sim-chart__axis,.sim-chart__tick{stroke:var(--border);stroke-width:1px}.sim-chart__axis{stroke:var(--border-strong)}.sim-chart__ylabel,.sim-chart__xlabel{fill:var(--text-muted);font-size:12px;font-family:var(--font-sans)}.sim-chart__ylabel{text-anchor:end}.sim-chart__xlabel{text-anchor:middle}.sim-chart__xlabel--sub{fill:var(--text-soft);font-size:11.5px;font-weight:600}.sim-chart__line{fill:none;stroke-width:2.25px;stroke-linejoin:round;stroke-linecap:round}.sim-chart__line--dashed{stroke-dasharray:5 4}.sim-chart__area{opacity:.1;stroke:none}.sim-chart__guide{stroke:var(--text-muted);stroke-width:1px;stroke-dasharray:3 3}.sim-chart__dot{stroke:var(--surface);stroke-width:2px}.sim-chart__legend{color:var(--text-soft);flex-wrap:wrap;justify-content:center;gap:.35rem 1rem;margin-top:.5rem;font-size:.82rem;display:flex}.sim-legend{align-items:center;gap:.4rem;display:inline-flex}.sim-legend__swatch{border-radius:3px;flex:none;width:.7rem;height:.7rem}.sim-chart__tip{z-index:2;pointer-events:none;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);min-width:11rem;padding:.55rem .7rem;font-size:.8rem;position:absolute;top:.5rem}.sim-tip__head{font-size:.85rem;font-weight:700}.sim-tip__sub{color:var(--text-muted);margin-bottom:.4rem;font-size:.75rem}.sim-tip__row{font-variant-numeric:tabular-nums;align-items:center;gap:.4rem;margin-top:.2rem;display:flex}.sim-tip__row b{margin-left:auto}.sim-table__scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.sim-table{border-collapse:collapse;font-variant-numeric:tabular-nums;white-space:nowrap;width:100%;font-size:.85rem}.sim-table caption{caption-side:top;text-align:left;color:var(--text-muted);padding-bottom:.5rem;font-size:.8rem}.sim-table th,.sim-table td{text-align:right;border-bottom:1px solid var(--border);padding:.45rem .7rem}.sim-table thead th{background:var(--surface-2);color:var(--text-soft);border-bottom:1px solid var(--border-strong);font-size:.8rem;font-weight:600;position:sticky;top:0}.sim-table tbody th{font-weight:600}.sim-table .is-left{text-align:left}.sim-table tbody tr:hover{background:var(--accent-wash)}.sim-toolbar{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.9rem;display:flex}.sim-toolbar__spacer{flex:auto}.sim-empty{color:var(--text-muted);text-align:center;padding:2rem 0;font-size:.9rem}.sim-note{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-soft);padding:.8rem .95rem;font-size:.82rem;line-height:1.75}.sim-note p{margin:0}.sim-note p+p{margin-top:.5rem}.sim-warn{background:var(--sim-warn-bg);border:1px solid var(--sim-warn-border);color:var(--sim-warn-text);border-radius:var(--radius-sm);margin-bottom:1rem;padding:.7rem .9rem;font-size:.82rem;line-height:1.7}.sim-warn:empty{display:none}.sim-share{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.8rem .95rem}.sim-share__label{color:var(--text-soft);margin:0 0 .5rem;font-size:.82rem;font-weight:600}.sim-share__note{color:var(--text-muted);margin-top:.2rem;font-size:.75rem;font-weight:400;line-height:1.6;display:block}.sim-share__row{align-items:stretch;gap:.5rem;display:flex}@media (width<=30rem){.sim-share__row{flex-wrap:wrap}}.sim-share__url{min-width:0;font:inherit;color:var(--text-muted);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);text-overflow:ellipsis;flex:12rem;padding:.45rem .6rem;font-size:.8rem}.sim-share__btn{font:inherit;cursor:pointer;white-space:nowrap;color:var(--accent-ink);background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-sm);flex:none;padding:.45rem .9rem;font-size:.82rem;font-weight:600}.sim-share__btn:hover{filter:brightness(1.08)}.sim-share__btn.is-done{color:var(--accent-text);background:var(--accent-wash)}.sim-share__url:focus-visible,.sim-share__btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.headline{text-align:center;padding:.5rem 0 1.5rem}.headline__label{color:var(--text-muted);margin:0 0 .4rem;font-size:.9rem}.headline__value{letter-spacing:-.02em;color:var(--accent-text);font-variant-numeric:tabular-nums;margin:0;font-size:clamp(2.4rem,1.4rem + 4.5vw,4rem);font-weight:800;line-height:1.1}.headline__sub{color:var(--text-soft);margin:.6rem 0 0;font-size:.92rem}.progress{max-width:26rem;margin:1.1rem auto 0}.progress__track{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;height:8px;overflow:hidden}.progress__fill{background:var(--accent);border-radius:999px;height:100%;transition:width .4s}.progress__label{color:var(--text-muted);text-align:center;margin:.4rem 0 0;font-size:.8rem}.grid-legend{color:var(--text-soft);flex-wrap:wrap;justify-content:center;gap:.4rem 1.2rem;margin-top:.9rem;font-size:.82rem;display:flex}.grid-legend i{vertical-align:-1px;border-radius:2px;width:.7rem;height:.7rem;margin-right:.4rem;display:inline-block}.grid-legend i.is-past{background:var(--accent);opacity:.85}.grid-legend i.is-future{background:var(--border-strong);opacity:.42}.grid-legend i.is-late{background:var(--border-strong);opacity:.18}.cards{grid-template-columns:repeat(auto-fill,minmax(min(15rem,100%),1fr));gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.card-count{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.1rem 1.2rem}.card-count__emoji{margin-bottom:.55rem;font-size:1.5rem;line-height:1;display:block}.card-count__label{color:var(--text-soft);margin:0 0 .35rem;font-size:.85rem;line-height:1.6}.card-count__value{font-variant-numeric:tabular-nums;color:var(--accent-text);min-width:0;margin:0;font-size:2rem;font-weight:800;line-height:1.15}.card-count--big .card-count__value{color:var(--text-soft);font-size:1.5rem}.card-count__unit{margin-left:.12em;font-size:.85em;font-weight:700}.card-count__note{color:var(--text-muted);margin:.55rem 0 0;font-size:.78rem;line-height:1.7}.people{gap:.8rem;margin:0 0 1.1rem;padding:0;list-style:none;display:grid}.person{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.9rem 1rem}.person__head{justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.7rem;display:flex}.person__title{color:var(--text-soft);margin:0;font-size:.85rem;font-weight:700}.person__fields{grid-template-columns:repeat(auto-fit,minmax(min(7.5rem,100%),1fr));gap:.7rem;display:grid}.person__result{border-top:1px dashed var(--border-strong);margin:.85rem 0 0;padding-top:.8rem;font-size:.95rem;line-height:1.7}.person__count{color:var(--accent-text);font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:800;line-height:1.1}.person__because{color:var(--text-muted);margin-top:.35rem;font-size:.8rem;line-height:1.7;display:block}.btn-plain{font:inherit;color:var(--accent-text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;padding:.4rem .85rem;font-size:.82rem}.btn-plain:hover:not(:disabled){border-color:var(--accent)}.btn-plain:disabled{opacity:.4;cursor:not-allowed}.person__remove{color:var(--text-muted);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:.25rem .6rem;font-family:inherit;font-size:.76rem}.share-line{background:var(--accent-wash);border:1px solid var(--accent-line);border-radius:var(--radius);margin-bottom:1rem;padding:1rem 1.15rem}.share-line__text{margin:0 0 .7rem;font-size:1.02rem;font-weight:600;line-height:1.8}.lead-note{text-align:center;max-width:40rem;color:var(--text-soft);margin:0 auto 1.75rem;font-size:.95rem;line-height:1.9}.card-count__past{color:var(--text-muted);font-variant-numeric:tabular-nums;margin:.45rem 0 0;font-size:.8rem}.card-count__bar{background:var(--border);border-radius:999px;height:5px;margin-top:.5rem;display:flex;overflow:hidden}.card-count__bar i{height:100%;display:block}.card-count__bar i.is-past{background:var(--text-muted);opacity:.5}.card-count__bar i.is-left{background:var(--accent)}.headline__healthy{color:var(--text-soft);margin:.5rem 0 0;font-size:.92rem}.headline__healthy strong{color:var(--accent-text)}.tl{max-width:620px;margin-inline:auto;position:relative}.tl__rail{z-index:1;background:color-mix(in srgb, var(--border-strong) 55%, transparent);pointer-events:none;border-radius:2px;width:2px;position:absolute;top:0;bottom:0}.tl__rail-lived{border-radius:inherit;background:linear-gradient(to bottom, color-mix(in srgb, var(--accent) 30%, transparent), var(--accent));width:100%;box-shadow:0 0 12px color-mix(in srgb, var(--accent) 40%, transparent);position:absolute;inset:0 0 auto}.tl__playhead{top:var(--tl-playhead,42vh);z-index:4;pointer-events:none;opacity:0;height:0;transition:opacity .4s;position:sticky}.tl.is-live .tl__playhead{opacity:1}.tl__playhead-line{background:linear-gradient(to right, var(--accent), color-mix(in srgb, var(--accent) 12%, transparent));height:2px;box-shadow:0 0 18px color-mix(in srgb, var(--accent) 50%, transparent);border-radius:2px;transition:background .35s,box-shadow .35s;position:absolute;top:-1px;left:0;right:5.9rem}.tl__playhead-bloom{background:radial-gradient(ellipse 62% 55% at 38% 50%, color-mix(in srgb, var(--accent) 20%, transparent), transparent 72%);border-radius:50%;height:11rem;transition:opacity .35s;position:absolute;top:0;left:0;right:0;transform:translateY(-50%)}.tl__playhead-tag{white-space:nowrap;background:color-mix(in srgb, var(--bg) 96%, transparent);border:1px solid var(--accent-line);border-radius:999px;align-items:baseline;gap:.45rem;padding:.22rem .7rem .28rem;display:flex;position:absolute;bottom:.5rem;left:0}.tl__playhead-age{font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--accent-text);font-size:1.02rem;font-weight:800;transition:color .35s}.tl__playhead-year{font-variant-numeric:tabular-nums;color:var(--text-soft);font-size:.76rem;font-style:normal}.tl__playhead-note{letter-spacing:.12em;color:var(--text-muted);font-size:.66rem;font-style:normal}.tl__playhead.is-future .tl__playhead-line{background:linear-gradient(to right, var(--border-strong), transparent);box-shadow:none}.tl__playhead.is-future .tl__playhead-bloom{opacity:.2}.tl__playhead.is-future .tl__playhead-age{color:var(--text-muted)}.tl__track{position:relative}.tl__svg{z-index:1;width:100%;max-width:100%;height:auto;display:block;position:relative}.tl__track:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(to top, var(--bg), transparent);height:3.5rem;position:absolute;bottom:0;left:0;right:0}.tl__haze{z-index:0;pointer-events:none;background:radial-gradient(ellipse 60% 22% at 50% 8%, var(--accent-wash), transparent 70%), radial-gradient(ellipse 55% 18% at 50% 62%, var(--accent-wash), transparent 70%);opacity:.85;position:absolute;inset:-10% 0}.tl__year{opacity:1}.tl.is-animated .tl__year{opacity:.16}.tl__past{fill:var(--accent)}.tl__future{fill:var(--border-strong);fill-opacity:.55}.tl__late{fill:var(--border-strong);fill-opacity:.24}.tl__mark{z-index:2;pointer-events:none;align-items:center;gap:.6rem;display:flex;position:absolute;left:0;right:0;transform:translateY(-50%)}.tl__mark-line{background:var(--border);flex:auto;height:1px}.tl__mark-text{width:5.5rem;color:var(--text-muted);overflow-wrap:anywhere;flex-direction:column;flex:0 0 5.5rem;align-items:flex-start;gap:.05rem;font-size:.78rem;line-height:1.35;display:flex}.tl__mark-text b{font-variant-numeric:tabular-nums;color:var(--text-soft);white-space:nowrap;font-weight:700}.tl__mark-text i{font-size:.72rem;font-style:normal}.tl__mark--birth .tl__mark-text b,.tl__mark--end .tl__mark-text b{color:var(--text)}.tl__mark--decade .tl__mark-line{background:color-mix(in srgb, var(--border) 55%, transparent)}.tl__mark--healthy .tl__mark-line{border-top:1px dashed var(--border-strong);height:0}.tl__mark--now{z-index:3}.tl__mark--now .tl__mark-line{background:linear-gradient(to right, transparent, var(--accent) 12%, var(--accent));height:2px;box-shadow:0 0 16px color-mix(in srgb, var(--accent) 70%, transparent)}.tl__mark--now .tl__mark-text{background:var(--accent);color:var(--accent-ink);width:6rem;box-shadow:0 0 24px color-mix(in srgb, var(--accent) 55%, transparent);border-radius:12px;flex-basis:6rem;padding:.35rem .7rem;font-size:.8rem}.tl__mark--now .tl__mark-text b,.tl__mark--now .tl__mark-text i{color:var(--accent-ink)}.tl__mark-pulse{z-index:-1;opacity:0;pointer-events:none;background:radial-gradient(circle, color-mix(in srgb, var(--accent) 40%, transparent), transparent 65%);border-radius:50%;width:9rem;height:9rem;margin-top:-4.5rem;position:absolute;top:50%;right:.75rem}.sim-panel--timeline{box-shadow:none;background:0 0;border:none;padding-inline:0}.mk{width:100%;height:auto;max-height:9rem;margin-top:.85rem;display:block}.mk__past{fill:var(--text-muted);fill-opacity:.35}.mk__future{fill:var(--accent)}.mk path{rx:var(--mk-rx)}.card-count--feature{background:linear-gradient(150deg, color-mix(in srgb, var(--accent) 12%, var(--surface)), var(--surface) 65%);border-color:var(--accent-line);grid-column:span 2}@media (width<=34rem){.card-count--feature{grid-column:span 1}}.card-count--feature .card-count__value{font-size:2.9rem}.card-count--feature .mk{max-height:11rem}.card-count--uncountable{border-style:dashed;border-color:color-mix(in srgb, var(--border-strong) 60%, transparent);box-shadow:none;background:0 0}.card-count--uncountable .card-count__value{color:var(--text-soft);font-size:1.45rem}.card-count--uncountable .card-count__emoji{opacity:.75;font-size:1.15rem}.card-count{position:relative;overflow:hidden}.card-count__emoji{z-index:1;position:relative}.card-count:after{content:attr(data-emoji);opacity:.05;pointer-events:none;font-size:5.5rem;line-height:1;position:absolute;bottom:-1.1rem;right:-.6rem;transform:rotate(-8deg)}.card-count--feature:after{opacity:.07;font-size:8rem}.card-count--uncountable:after{display:none}@keyframes mk-beat{0%,28%,to{transform:scale(1)}12%{transform:scale(1.22)}20%{transform:scale(1.06)}}.card-count--beating .card-count__emoji{transform-origin:50%;animation:.857143s ease-in-out infinite mk-beat;display:inline-block}@media (prefers-reduced-motion:reduce){.card-count--beating .card-count__emoji{animation:none}}.cards{grid-auto-flow:dense}.card-count--beating .card-count__value{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;font-size:1.25rem}.input-row[data-astro-cid-lcdefpme]{grid-template-columns:repeat(auto-fit,minmax(min(11rem,100%),1fr));gap:1rem;display:grid}.life-field__row[data-astro-cid-lcdefpme]{align-items:center;gap:.75rem;display:flex}.life-range[data-astro-cid-lcdefpme]{min-width:0;accent-color:var(--accent);flex:auto}.life-field__value[data-astro-cid-lcdefpme]{font-variant-numeric:tabular-nums;color:var(--accent-text);text-align:right;flex:none;min-width:3em;font-weight:700}.section-intro[data-astro-cid-lcdefpme]{color:var(--text-soft);margin:0 0 1.1rem;font-size:.9rem;line-height:1.85}.grid-note[data-astro-cid-lcdefpme]{color:var(--text-muted);text-align:center;margin:.6rem 0 0;font-size:.8rem}
