*{margin:0;padding:0;box-sizing:border-box}:root{--black: #0a0a0a;--white: #fafafa;--gray-100: #f5f5f5;--gray-200: #e5e5e5;--gray-300: #d4d4d4;--gray-400: #a3a3a3;--gray-500: #737373;--gray-600: #525252;--gray-700: #404040;--gray-800: #262626;--gray-900: #171717;--bg: var(--white);--text: var(--black);--text-muted: var(--gray-600);--border: var(--gray-300);--cell-empty: var(--gray-200);--cell-lived: var(--black)}@media(prefers-color-scheme:dark){:root{--bg: var(--black);--text: var(--white);--text-muted: var(--gray-400);--border: var(--gray-800);--cell-empty: var(--gray-800);--cell-lived: var(--white)}}body{font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1{font-size:4rem;font-weight:700;letter-spacing:-.03em;line-height:1;margin:0}h2{font-size:2rem;font-weight:600;letter-spacing:-.02em;line-height:1.2;margin:0}p{font-size:1.125rem;line-height:1.7;color:var(--text);margin:0}strong{font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}section{max-width:1400px;margin:0 auto;padding:6rem 2rem}@media(max-width:768px){section{padding:4rem 1.5rem}h1{font-size:2.5rem}h2{font-size:1.5rem}}.hero{min-height:60vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:8rem 2rem;border-bottom:2px solid var(--border)}.hero h1{margin-bottom:2rem;max-width:800px}.hero p{font-size:1.5rem;max-width:600px;line-height:1.6;font-weight:400}input[type=date]{width:100%;max-width:400px;padding:1.25rem 1.5rem;font-size:1.125rem;font-weight:500;border:2px solid var(--border);border-radius:0;background:var(--bg);color:var(--text);font-family:inherit;display:block;margin:2rem auto 0;transition:border-color .2s ease;cursor:pointer}input[type=date]:hover{border-color:var(--text)}input[type=date]:focus{outline:none;border-color:var(--text);box-shadow:0 0 0 3px var(--gray-200)}@media(prefers-color-scheme:dark){input[type=date]:focus{box-shadow:0 0 0 3px var(--gray-800)}}section h2{text-align:center;margin-bottom:0}.stats{display:grid;grid-template-columns:1fr 1fr;gap:4rem;max-width:800px;margin:0 auto;padding:4rem 2rem;border-bottom:2px solid var(--border)}.stats div{text-align:center}.stats strong{display:block;font-size:4.5rem;line-height:1;margin-bottom:1rem;font-weight:700}.stats p{font-size:1rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:var(--text-muted)}@media(max-width:640px){.stats{grid-template-columns:1fr;gap:3rem}.stats strong{font-size:3.5rem}}.calendar{padding:6rem 2rem;background:var(--bg)}.calendar p{text-align:center;margin-bottom:3rem;font-size:1.25rem;font-weight:500}.grid{display:grid;grid-template-columns:repeat(52,1fr);gap:3px;max-width:1200px;margin:0 auto;padding:2rem;background:var(--bg)}.cell{aspect-ratio:1;background:var(--cell-empty);transition:all .2s cubic-bezier(.4,0,.2,1)}.cell.filled{background:var(--cell-lived);animation:fill .4s cubic-bezier(.16,1,.3,1) backwards}@keyframes fill{0%{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}.cell.phase-childhood,.cell.phase-youth,.cell.phase-adulthood,.cell.phase-midlife,.cell.phase-senior{opacity:1}@media(max-width:1024px){.grid{gap:2px;padding:1rem}}@media(max-width:640px){.grid{gap:1px;padding:.5rem}}.snapshot{text-align:center;padding:8rem 2rem;background:var(--bg);border-top:2px solid var(--border);border-bottom:2px solid var(--border)}.snapshot h1{font-size:2.5rem;margin-bottom:3rem}.snapshot .age,.snapshot .remaining{font-size:1.25rem;margin-bottom:1rem;font-weight:500}.snapshot .remaining strong{font-size:3.5rem;display:block;margin:1.5rem 0 .5rem;line-height:1}blockquote{max-width:700px;margin:4rem auto 0;font-size:1.75rem;font-style:italic;font-weight:400;line-height:1.5;color:var(--text);padding:0;border:none}blockquote:before{content:'"';font-size:4rem;line-height:0;position:relative;top:.5rem;margin-right:.25rem;opacity:.3}blockquote:after{content:'"';font-size:4rem;line-height:0;position:relative;top:.5rem;margin-left:.25rem;opacity:.3}blockquote footer{margin-top:2rem;font-style:normal;font-size:1.125rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}.share{text-align:center;padding:3rem 2rem 6rem}.button{display:inline-block;padding:1.25rem 3rem;background:var(--text);color:var(--bg);border:none;border-radius:0;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;text-decoration:none;transition:all .2s ease;font-family:inherit}.button:hover{opacity:.8;transform:translateY(-2px)}.button:active{transform:translateY(0)}.button:disabled{opacity:.5;cursor:not-allowed;transform:none}.philosophy{max-width:700px;margin:0 auto;padding:6rem 2rem}.philosophy h2{text-align:left;margin-bottom:3rem}.philosophy p{font-size:1.25rem;margin-bottom:2rem;line-height:1.7}.philosophy p:last-child{margin-bottom:0}.cta{text-align:center;padding:8rem 2rem;border-top:2px solid var(--border);background:var(--bg)}.cta h2{margin-bottom:1.5rem}.cta p{margin-bottom:3rem;color:var(--text-muted)}footer{text-align:center;padding:4rem 2rem;border-top:2px solid var(--border);color:var(--text-muted);font-size:.875rem}footer p{font-size:.875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}
