@font-face{font-family:DM Sans;src:url('assets/dm-sans-medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:DM Sans;src:url('assets/dm-sans-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:DM Serif;src:url('assets/dm-serif-italic.ttf') format('truetype');font-style:italic;font-display:swap}
:root{color-scheme:light;--paper:#fbf5ef;--ink:#2d1723;--orange:#8b3150}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}
::selection{background:#e4eb9f;color:var(--ink)}
[hidden]{display:none!important}
.empty-day{min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:48px 26px 86px;text-align:center}
.empty-day h1{margin:0;font-size:clamp(31px,4.5vw,66px);line-height:1.25;letter-spacing:-.055em;font-weight:400;text-wrap:balance}
em{font-family:'DM Serif',Georgia,serif;font-weight:400;color:var(--orange)}
.visit-counter{
  position:fixed;left:max(26px,calc(env(safe-area-inset-left) + 12px));
  bottom:max(27px,calc(env(safe-area-inset-bottom) + 15px));
  display:flex;align-items:center;gap:7px;margin:0;padding:6px 10px;border:1px solid #8b315023;border-radius:999px;
  background:#fffcf8b8;backdrop-filter:blur(8px);color:#624451;font-size:12px;line-height:1.3;white-space:nowrap;
}
.visit-counter::before{content:'';width:5px;height:5px;border-radius:50%;background:#8b3150;opacity:.62}
.visit-counter strong{font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}
@media(max-width:600px){
  .visit-counter{left:max(12px,calc(env(safe-area-inset-left) + 8px));font-size:11px}
}
@media(max-width:340px){
  .visit-counter{top:max(14px,calc(env(safe-area-inset-top) + 8px));bottom:auto}
}
.discover-link{position:fixed;right:max(26px,calc(env(safe-area-inset-right) + 12px));bottom:max(20px,calc(env(safe-area-inset-bottom) + 8px));display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 13px;color:var(--ink);background:#fffcf8;border:1px solid #dfced1;border-radius:8px;font-size:13px;font-weight:500;text-decoration:none;transition:color .2s,background .2s}
.discover-link:hover{color:var(--orange);background:#f5e9ec}
.discover-link:focus-visible{outline:2px solid var(--orange);outline-offset:7px;border-radius:1px}
.discover-link svg{flex-shrink:0;transition:transform .2s}
.discover-link:hover svg{transform:translate(2px,-2px)}
.today-celebration{min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:64px 40px 104px}
.celebration-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px;width:min(100%,960px)}
.today-photo{display:block;width:100%;height:560px;max-height:70vh;object-fit:cover;border-radius:8px}
.today-copy{overflow-wrap:anywhere}
.today-copy h1{margin:0;font-size:clamp(36px,4.5vw,62px);font-weight:400;line-height:1.1;letter-spacing:-2px}
.today-copy p{font-size:15px;line-height:1.9;white-space:pre-wrap;margin:28px 0 22px;color:#6f6b64}
.today-copy>span{font-family:'DM Serif',Georgia,serif;font-style:italic;font-size:24px}
@media(max-width:600px){.empty-day{padding:36px 24px 80px}.empty-day h1{max-width:340px;font-size:38px;line-height:1.3;letter-spacing:-1.7px}.discover-link{right:max(22px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));font-size:10px;gap:8px}.discover-link svg{width:16px;height:16px}.today-celebration{padding:26px 24px 100px}.celebration-layout{grid-template-columns:1fr;gap:28px;max-width:410px}.today-photo{height:360px;max-height:47svh}.today-copy h1{font-size:40px}.today-copy p{font-size:13px;margin-top:20px}.today-copy>span{font-size:21px}}
@media(max-width:600px){.empty-day h1{font-size:clamp(32px,9vw,42px)}.discover-link{font-size:13px;bottom:max(20px,calc(env(safe-area-inset-bottom) + 8px))}.today-copy p{font-size:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}
