.calendar-main{max-width:640px;padding:38px 0 60px}.calendar-heading{font-family:var(--font-title);font-weight:600;font-size:clamp(28px,4vw,40px);letter-spacing:.08em;margin:30px 0 26px}.calendar-stack{position:relative;margin:0 auto 30px;max-width:420px}.calendar-stack:before,.calendar-stack:after{content:"";position:absolute;left:10px;right:10px;bottom:-7px;height:14px;background:var(--surface);border:1px solid var(--soft-line);z-index:-1}.calendar-stack:after{left:20px;right:20px;bottom:-13px;z-index:-2}.calendar-sheet{position:relative;background:var(--white);border:1px solid var(--line);padding:0 0 26px;text-align:center;box-shadow:0 14px 30px -24px #0009;transform-origin:50% 0}.calendar-binding{display:flex;justify-content:center;gap:68px;height:30px;align-items:center;background:var(--ink);color:var(--paper);margin:0}.calendar-binding span{width:12px;height:12px;border-radius:50%;background:var(--paper)}.calendar-date{display:flex;justify-content:space-between;padding:12px 22px 10px;font-family:var(--font-data);font-size:11px;letter-spacing:.14em;color:var(--muted);border-bottom:1px dashed var(--line)}.calendar-sentence{margin:24px 18px 0;font-size:15px;line-height:1.7}.calendar-days{display:block;font-family:var(--font-data);font-size:clamp(96px,26vw,164px);line-height:1;margin:6px 0 4px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.calendar-unit{display:block;font-family:var(--font-title);font-size:18px}.calendar-song{margin:22px 20px 0;padding-top:16px;border-top:1px solid var(--soft-line);font-size:13px;color:var(--muted);line-height:1.9}.calendar-song a{color:var(--ink);font-family:var(--font-title);font-size:17px}.calendar-note{font-size:12px;color:var(--muted);text-align:center;margin:34px 0 0}.calendar-back{text-align:center;font-size:13px}.calendar-back a{display:inline-flex;align-items:center;min-height:44px}@media(prefers-reduced-motion:no-preference){.calendar-sheet[data-flip]{animation:calendar-flip .7s cubic-bezier(.3,.7,.3,1) both}}@keyframes calendar-flip{0%{transform:perspective(900px) rotateX(-70deg);opacity:0}to{transform:none;opacity:1}}@media(max-width:700px){.calendar-main{padding-top:26px}.calendar-binding{gap:44px}}.calendar-heading,.calendar-unit,.calendar-song a{letter-spacing:var(--type-heading-space)}.calendar-date{letter-spacing:var(--type-label-space)}.calendar-sentence,.calendar-song,.calendar-note{letter-spacing:var(--type-body-space)}
