:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f5f8ff;background:#071d31;font-synthesis:none;color-scheme:dark;--accent:#38bdf8;--theme-canvas:#071d31}
*{box-sizing:border-box}body{margin:0;min-width:280px;background:#071d31;background:color-mix(in srgb,var(--theme-canvas) 12%,#031426);overflow-x:hidden} [hidden]{display:none!important}
.ambience{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 0 0,color-mix(in srgb,var(--accent) 44%,transparent),transparent 52%);opacity:.8}
.ambience:after{content:"";position:absolute;inset:0;background:radial-gradient(2px 2px at 13% 27%,#ffffff85,transparent),radial-gradient(2px 2px at 87% 42%,#ffffff55,transparent),radial-gradient(1px 1px at 23% 66%,#ffffff85,transparent);animation:drift 12s ease-in-out infinite alternate;opacity:.5}
.background{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;opacity:.24;pointer-events:none}
.experience{position:relative;max-width:510px;margin:auto;min-height:100svh;padding:max(24px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:center;text-align:center}
.brand{margin:0 0 22px}.brand__name{display:block;font:italic 29px/1 Georgia,serif;letter-spacing:-1px}.brand__label{display:block;font-size:9px;letter-spacing:5px;margin-top:9px;padding-left:5px;font-weight:650}
.countdown{width:100%}h1{font-size:15px;line-height:1.45;letter-spacing:3.4px;text-transform:uppercase;font-weight:700;margin:0 auto 13px;overflow-wrap:anywhere;max-width:100%}
.primary{display:flex;flex-direction:column;align-items:center}.days{display:block;font-size:clamp(128px,56vw,230px);font-weight:800;line-height:.86;letter-spacing:-.08em;padding-right:.08em;font-variant-numeric:tabular-nums;color:#ffe49f;text-shadow:0 5px 35px #00000014;animation:enter .75s cubic-bezier(.2,.7,.3,1) both}
.days[data-digits="3"]{font-size:clamp(110px,43vw,200px)}.days[data-digits="4"],.days[data-digits="5"]{font-size:clamp(80px,31vw,145px)}.days[data-digits="6"]{font-size:clamp(60px,24vw,105px)}
.unit{font-size:39px;letter-spacing:8px;font-weight:800;line-height:1.3;margin:6px 0 15px;padding-left:8px}.unit.is-weekdays{font-size:24px;letter-spacing:4px}
.clock{display:grid;grid-template-columns:repeat(3,1fr);max-width:315px;margin:0 auto 18px;font-variant-numeric:tabular-nums}.clock>div{position:relative}.clock>div+div:before{content:"";height:4px;width:4px;border-radius:50%;background:var(--accent);position:absolute;left:-2px;top:17px}.clock strong{display:block;font-size:31px;line-height:1.15;font-weight:650;letter-spacing:-1px}.clock span{display:block;font-size:9px;font-weight:600;letter-spacing:2px;margin-top:6px;color:#d7e3ef}
.tagline{font-size:16px;line-height:1.45;font-weight:400;font-style:italic;margin:0 auto 18px;color:#c3e5f6;overflow-wrap:anywhere;max-width:34ch}
.progress{margin:0 12px 20px}.progress__caption{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:9px;letter-spacing:1.6px;text-transform:uppercase;color:#c9e7f7;margin-bottom:8px}.progress__caption>span:first-child{overflow-wrap:anywhere;text-align:left}.progress__caption>span:last-child{flex-shrink:0}.progress__track{height:5px;background:#ffffff15;border-radius:10px;overflow:hidden}.progress__track i{display:block;background:var(--accent);height:100%;border-radius:10px;transform-origin:left;animation:fill .85s ease-out both;transition:width 1s linear}
.artwork{height:clamp(140px,21svh,200px);margin:0 0 16px;overflow:hidden;border-radius:12px;background:#ffffff06}.artwork img{display:block;width:100%;height:100%;object-position:center 52%}
.encouragement h2{font-size:20px;letter-spacing:1.7px;line-height:1.25;margin:0 0 6px;font-weight:750;overflow-wrap:anywhere}.encouragement p{font-size:14px;line-height:1.5;margin:0;white-space:pre-line;overflow-wrap:anywhere;color:#d0e6f4}.encouragement .rotation{font-size:12px;color:#a8cadd;margin-top:10px;min-height:1.5em}.connection{color:#bac8d6;font-size:12px;margin:18px 0 0}.empty{margin:auto 0;min-height:50svh;display:flex;flex-direction:column;justify-content:center}.empty h1{font-size:28px;text-transform:none;letter-spacing:-.5px}.empty p{color:#c0d2e2;line-height:1.6}
.day-change{animation:pulse .8s ease-out}.is-paused .ambience:after{animation-play-state:paused}
@keyframes enter{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes pulse{50%{transform:scale(1.035);filter:brightness(1.15)}}@keyframes drift{to{transform:translate3d(0,-12px,0);opacity:.2}}
@media(max-height:740px){.experience{padding-top:20px;padding-bottom:20px}.brand{margin-bottom:20px}.days{font-size:min(49vw,185px)}.unit{font-size:32px;margin-bottom:12px}.clock{margin-bottom:12px}.tagline{margin-bottom:14px;font-size:14px}.artwork{height:22svh;margin-bottom:16px}.progress{margin-bottom:16px}.encouragement h2{font-size:18px}}
@media(min-width:700px){.experience{max-width:510px;padding-top:40px;padding-bottom:40px}.brand{margin-bottom:32px}.days{font-size:230px}.artwork{height:240px}.tagline{font-size:18px}}
@media(max-width:699px){.days{font-size:min(53vw,220px)}h1{margin-bottom:10px}.unit{margin-bottom:10px}.clock{margin-bottom:14px}.tagline{margin-bottom:16px}.progress{margin-bottom:16px}}
@media(max-width:699px) and (max-height:740px){.experience{padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}.days{font-size:min(40vw,150px)}.unit{font-size:28px}.clock strong{font-size:27px}.tagline{margin-bottom:12px}.artwork{height:18svh;min-height:115px;margin-bottom:12px}.brand{margin-bottom:12px}.brand__name{font-size:24px}.encouragement p{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
