.daily-calendar{max-width:none;overflow:visible;border-bottom:1px solid var(--line);scroll-margin-top:1.5rem;background:#e6e9dd}
.daily-calendar .section-heading{justify-content:center;text-align:center;margin-bottom:2rem}
.daily-calendar .section-heading>p{display:none}
.daily-calendar .section-heading h2{font-size:clamp(1.5rem,3vw,2.3rem)}
.daily-calendar .section-heading h2 br{display:none}
.daily-calendar .eyebrow{font-size:.7rem;margin-bottom:.7rem}
.daily-layout{display:flex;flex-direction:column;align-items:center;gap:1.25rem;min-width:0}
.daily-mode{font-size:.75rem;color:#6b746a;letter-spacing:.06em;margin:0}
.daily-book{display:grid;grid-template-columns:3rem minmax(0,29rem) 3rem;align-items:center;gap:clamp(.4rem,3vw,2.5rem);width:100%;justify-content:center}
.daily-figure{margin:0;min-width:0;text-align:center}
.daily-paper{position:relative;padding:0;background:transparent;border:0;border-radius:0;box-shadow:1px 2px 0 #fcfcf8,2px 3px 0 #cdd3c5,3px 5px 0 #f9faf5,4px 6px 0 #cdd3c5,5px 8px 0 #f8f9f3,6px 9px 0 #c3ccbb,0 17px 30px #283c3220}
.daily-binding{position:absolute;top:-17px;width:28px;height:48px;z-index:4;pointer-events:none;transform:translateX(-50%)}
.daily-binding:first-child{left:25%}.daily-binding:nth-child(2){left:75%}
.daily-binding svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(.5px 1px .5px #283c3220)}
.daily-paper #daily-full{width:100%;aspect-ratio:1400/1980;padding:0;border:0;background:white;color:inherit;position:relative;display:block;overflow:visible;outline-offset:5px}
.daily-paper img{display:block;width:100%;height:100%;position:absolute;inset:0;aspect-ratio:1400/1980;object-fit:contain;background:#fff}
.daily-turn-base{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
.daily-curl{position:absolute;left:-30%;top:-110%;width:160%;height:220%;pointer-events:none;z-index:6}
.daily-paper #daily-full:hover{transform:none}
.daily-paper #daily-full:disabled{cursor:default}
.daily-arrow{position:relative;z-index:5;width:3rem;height:3rem;min-height:44px;background:#fff;border:1px solid #e1e3dc;color:#283c32;border-radius:50%;font-size:1.8rem;line-height:1;box-shadow:0 3px 9px #283c3207}
.daily-arrow:hover:not(:disabled){background:#f4f5ef}
.daily-arrow:disabled{opacity:.3;cursor:default}
.daily-controls{display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap;width:100%;max-width:29rem}
.daily-controls button,#daily-picker,#daily-retry{min-height:44px;font:inherit;font-size:.8rem;padding:.6rem .8rem;border:1px solid #d9ddd2;border-radius:4px;background:#fff;color:#283c32}
#daily-picker{min-width:0;max-width:100%;flex:1}
.daily-figure figcaption{font-size:.8rem;color:#697263;margin-top:1.25rem}
#daily-load-status{font-size:.8rem;margin:0;color:#697263}
#daily-load-status:empty{display:none}
.daily-reading{width:100%;max-width:36rem;text-align:center}
.daily-note{font-size:.8rem;line-height:1.8;color:#6b746a;margin:0 0 1rem}
.daily-transcript{border-top:1px solid #e3e6dc;text-align:left}
.daily-transcript summary{font-size:.8rem;cursor:pointer;padding:.8rem 0;min-height:44px}
#daily-text{white-space:pre-line;line-height:1.9;font-size:1rem}
.daily-exam-date{font-size:.7rem;line-height:1.8;color:#778070;margin:1.5rem 0 0}
.daily-exam-date a{margin-left:.5rem;text-decoration:underline;text-underline-offset:3px}
.daily-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.daily-paper[data-failed="true"] img{visibility:hidden}
.daily-calendar :is(button,select,a,summary):focus-visible{outline:3px solid #8a9b71;outline-offset:4px}
@media(max-width:600px){.daily-book{grid-template-columns:44px minmax(0,1fr) 44px;gap:6px}.daily-arrow{width:44px;height:44px}.daily-calendar.section{padding-left:3vw;padding-right:3vw}.daily-calendar .section-heading{margin-bottom:1.25rem}.daily-controls,.daily-reading{padding:0 .6rem}.daily-layout{gap:1rem}.header nav a.nav-keepsake{display:none}}
@media(max-width:900px){.header nav a.nav-daily{display:block}}
@media(prefers-reduced-motion:reduce){.daily-curl{display:none}}

/* Compact framing keeps the calendar and its controls in view. */
.daily-calendar.section{padding-top:3rem;padding-bottom:3rem}
.daily-calendar .section-heading{margin-bottom:1.5rem}
.daily-calendar .eyebrow{margin-bottom:.35rem}
.daily-calendar .section-heading h2{font-size:clamp(1.35rem,2.4vw,1.8rem)}
.daily-layout{gap:.9rem}
.daily-calendar .section-heading{position:relative;z-index:1}
.daily-curl{clip-path:none}
.daily-controls{align-items:center;gap:.5rem;min-height:44px}
.daily-controls button{background:transparent;border-color:#bcc6b0}
.daily-controls [hidden],.daily-hint[hidden]{display:none}
.daily-date-control{display:inline-flex;position:relative;align-items:center;justify-content:center;min-height:44px;padding:.5rem .8rem;font-size:.8rem;color:#46563e;border:1px solid #bcc6b0;border-radius:4px}
.daily-date-control #daily-picker{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.daily-date-control:focus-within{outline:3px solid #8a9b71;outline-offset:3px}
.daily-hint{font-size:.75rem;color:#59694e;margin:0 0 .35rem}
.daily-note{margin-bottom:.5rem}
.daily-exam-date{margin-top:1rem}
@media(max-width:600px){.daily-calendar.section{padding-top:1.75rem;padding-bottom:2rem}.daily-calendar .section-heading{margin-bottom:1.2rem}.daily-calendar .eyebrow{font-size:.6rem}.daily-layout{gap:.75rem}}

/* Loading announcements must not move the sheet or its side controls. */
#daily-load-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0}
.daily-paper[data-failed="true"]~#daily-load-status{position:static;width:auto;height:auto;clip-path:none}
.daily-book{padding-bottom:9px;overflow-anchor:none}
.daily-controls{height:44px}
.daily-hint{height:1.35rem;margin:0}
.daily-hint[hidden]{display:block;visibility:hidden}
