@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@300;400;500;600&display=swap";:root{color:#dedee2;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--background:#050505;--text-primary:#dedee2;--text-secondary:#85858c;--text-muted:#696970;--line:#d2d2dc26;background:#050505;font-family:Manrope,sans-serif}*{box-sizing:border-box}html{background:var(--background);min-width:320px;min-height:100%}body{background:var(--background);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}#root{min-height:100svh}.page{isolation:isolate;background:radial-gradient(at 50% 48%,#73738211 0%,#2d2d3406 36%,#0000 72%),#050505;place-items:center;width:100%;min-height:100svh;padding:36px 20px;display:grid;position:relative;overflow:hidden}.page:before{z-index:-1;content:"";pointer-events:none;opacity:.12;background-image:radial-gradient(#ffffff2e .45px,#0000 .45px);background-size:5px 5px;position:absolute;inset:0}.vapor-canvas{z-index:-2;opacity:.75;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.ambient-glow{z-index:-1;aspect-ratio:1;pointer-events:none;background:radial-gradient(circle,#aaaab90b 0%,#64647305 38%,#0000 70%);border-radius:50%;width:min(85vw,850px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.countdown{z-index:1;text-align:center;width:100%;max-width:1100px;animation:1.4s cubic-bezier(.2,.7,.2,1) both appear;position:relative}.title-button{max-width:100%;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;outline:none;padding:0;display:inline-block}.title-button:focus-visible{outline-offset:10px;border-radius:2px;outline:1px solid #777780}.title{color:var(--text-secondary);letter-spacing:-.065em;margin:0;font-size:clamp(29px,4.8vw,53px);font-weight:300;line-height:1.3}.title span{color:var(--text-primary);font-weight:400;transition:color .5s,text-shadow .5s;display:inline-block}.title-divider{justify-content:center;align-items:center;gap:13px;margin:36px auto 44px;display:flex}.title-divider span{background:linear-gradient(90deg,#0000,#d2d2dc4d);width:38px;height:1px;display:block}.title-divider span:last-child{transform:rotate(180deg)}.title-divider i{background:#a3a3ad;border-radius:50%;width:4px;height:4px;display:block;box-shadow:0 0 12px #d2d2e640}.timer{justify-content:center;align-items:flex-start;gap:clamp(10px,2.5vw,29px);width:100%;margin-inline:auto;display:flex}.time-unit{flex-direction:column;flex:0 auto;align-items:center;min-width:0;display:flex}.time-value{color:#d0d0d6;letter-spacing:-.085em;font-variant-numeric:tabular-nums;text-shadow:0 0 28px #dcdceb0e;font-family:DM Mono,monospace;font-size:clamp(36px,8.2vw,88px);font-weight:400;line-height:1.1;transition:color .25s,text-shadow .4s;animation:.35s both number-arrive;display:inline-block}.time-label{color:#73737b;letter-spacing:.19em;margin-top:17px;font-family:DM Mono,monospace;font-size:clamp(8px,.95vw,10px);font-weight:400}.separator{color:#53535b;text-shadow:0 0 18px #c8c8dc0f;font-family:DM Mono,monospace;font-size:clamp(28px,6vw,63px);font-weight:300;line-height:1.08;animation:2.5s ease-in-out infinite separator-breathe}.birthday-date{color:#777780;letter-spacing:.23em;justify-content:center;align-items:center;gap:15px;margin-top:49px;font-family:DM Mono,monospace;font-size:10px;font-weight:400;display:flex}.birthday-date span{background:var(--line);width:24px;height:1px;display:block}.birthday-message h2{color:var(--text-primary);letter-spacing:-.055em;margin:0;font-size:clamp(30px,5vw,54px);font-weight:300;animation:1.2s both appear}.page:after{z-index:-1;content:"";pointer-events:none;opacity:0;background:radial-gradient(#cdcddc1f,#0000 60%);transition:opacity .5s;position:absolute;inset:0}.page.glow-active:after{opacity:1}.glow-active .title span{text-shadow:0 0 28px #dcdceb59}.glow-active .time-value{text-shadow:0 0 24px #dcdceb29}@keyframes appear{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes number-arrive{0%{opacity:.45;filter:blur(2px);transform:translateY(4px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes separator-breathe{0%,to{opacity:.55}50%{opacity:1}}@media (width<=768px){.page{padding:32px 18px}.title-divider{margin:32px auto 39px}.timer{gap:clamp(8px,2vw,16px)}.time-value{font-size:clamp(34px,8vw,62px)}.separator{font-size:clamp(28px,6vw,45px)}.birthday-date{margin-top:42px}}@media (width<=480px){.page{padding:28px 12px}.title{letter-spacing:-.06em;font-size:clamp(27px,7.3vw,36px)}.title-divider{gap:11px;margin:29px auto 36px}.title-divider span{width:29px}.timer{gap:clamp(5px,1.8vw,9px)}.time-value{letter-spacing:-.08em;font-size:clamp(27px,7.5vw,36px)}.time-label{letter-spacing:.08em;margin-top:13px;font-size:7px}.separator{font-size:25px}.birthday-date{letter-spacing:.16em;gap:10px;margin-top:39px;font-size:9px}.birthday-date span{width:17px}.birthday-message h2{font-size:clamp(28px,7vw,38px)}}@media (width<=350px){.page{padding-inline:8px}.timer{gap:4px}.time-value{font-size:25px}.time-label{letter-spacing:.04em;font-size:6px}.separator{font-size:21px}.birthday-date{letter-spacing:.12em;font-size:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
