/* Enabled only inside the explicit one-day window by the early date gate. */
.topbar .anniversary-topline,.anniversary-ribbon{display:none}
html[data-anniversary="today"] .standard-topline{display:none}
html[data-anniversary="today"] .anniversary-topline{display:flex}
html[data-anniversary="today"] .anniversary-ribbon{display:inline-flex}
.anniversary-ribbon{align-items:center;gap:14px;border:1px solid #ddc17f70;background:#0c231bd4;padding:10px 17px;margin:0 0 20px;color:var(--honour);max-width:100%;box-shadow:0 5px 25px #0002;transition:background .2s}
.anniversary-ribbon:hover{background:#193323}
.anniversary-ribbon>strong{font:600 39px/.9 var(--display);color:var(--paper)}
.anniversary-ribbon>span:not(.ribbon-arrow){display:flex;flex-direction:column;gap:4px}
.anniversary-ribbon b{font-size:10px;font-weight:600;line-height:1.4}
.anniversary-ribbon small{font-size:8px;letter-spacing:1px;line-height:1.4;text-transform:uppercase;color:#c7cabd}
.anniversary-ribbon .ribbon-arrow{font-size:18px;margin-left:10px}
.anniversary-intro{position:fixed;inset:0;z-index:90;pointer-events:none;display:grid;place-items:center;background:radial-gradient(ellipse at center,#07170ed9,#07170e30 65%);padding:24px}
.anniversary-fireworks{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.anniversary-greeting{position:relative;text-align:center;width:min(520px,100%);padding:33px 35px 31px;border:1px solid #ddc17fa0;background:linear-gradient(155deg,#0b201df2,#0a1a10ed);box-shadow:0 15px 110px #0008;backdrop-filter:blur(10px);animation:anniversary-arrive .4s ease-out both}
.anniversary-greeting:before{content:'';position:absolute;inset:8px;border:1px solid #ddc17f35;pointer-events:none}
.anniversary-greeting>img{width:64px;height:64px;object-fit:contain;margin:0 auto 17px;border-radius:3px;background:var(--paper)}
.anniversary-date{font-size:9px;letter-spacing:2.8px;color:var(--honour);text-transform:uppercase;margin:0 0 7px}
.anniversary-greeting h2{font-family:var(--display);font-weight:600;text-transform:uppercase;margin:0;line-height:1}
.anniversary-greeting h2 strong{font-size:168px;line-height:.95;font-weight:600;color:var(--brand);display:block;letter-spacing:-3px;text-shadow:0 0 35px #a9ec4518}
.anniversary-greeting h2 span{display:block;font-size:43px;color:var(--paper);margin-top:3px}
.anniversary-wish{font:600 25px/1.2 var(--display);margin:22px 0 10px;color:var(--honour)}
.anniversary-song{font-size:10px;color:#bec9b8;margin:0}
@keyframes anniversary-arrive{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:580px){.anniversary-intro{padding:18px}.anniversary-greeting{padding:27px 22px 26px}.anniversary-greeting h2 strong{font-size:145px}.anniversary-greeting h2 span{font-size:34px}.anniversary-date{font-size:8px;letter-spacing:1.8px}.anniversary-wish{font-size:23px;margin-top:21px}.anniversary-song{font-size:9px}.anniversary-ribbon{gap:10px;padding:10px 12px;margin-bottom:19px}.anniversary-ribbon b{font-size:9px}.anniversary-ribbon small{font-size:7px;letter-spacing:.7px}.anniversary-ribbon .ribbon-arrow{margin-left:2px}}
@media(max-height:620px){.anniversary-greeting{padding:20px 28px}.anniversary-greeting>img{width:45px;height:45px;margin-bottom:12px}.anniversary-greeting h2 strong{font-size:105px}.anniversary-greeting h2 span{font-size:30px}.anniversary-wish{margin-top:15px}}
@media(prefers-reduced-motion:reduce){.anniversary-greeting{animation:none}.anniversary-ribbon{transition:none}}
.motion-paused .anniversary-greeting{animation:none}
