#calendar-content[hidden]{display:none}
body[data-room=calendar] #hotspots,body[data-room=calendar] .motes,body[data-room=calendar] #index{display:none}
body[data-room=calendar] .sanctuary{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
#calendar-content{position:absolute;inset:0}
#calendar-content>canvas{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}
.calendar-book-hotspot{position:absolute;left:5%;top:57%;width:31%;height:33%;background:transparent;border:0;border-radius:8px;cursor:pointer}
.calendar-book-hotspot:hover{box-shadow:0 0 35px #e6be6240;background:#edcd6810}
.calendar-book-hotspot:focus-visible{outline:2px solid #e5c88c;outline-offset:3px}
#calendar-motion{position:absolute;top:5%;right:3%;min-height:44px;padding:8px 12px;background:#091216dc;border:1px solid #bda26b88;color:#e6d0a5;font:14px Georgia,serif}
.room-guide[data-room=calendar]{background:linear-gradient(115deg,#0b171af9,#152021f7),url('assets/calendar-room.png') center/cover}
.room-guide[data-room=calendar] #guide-topics{position:static}
.calendar-exercise button{min-height:48px;padding:12px 20px;border:1px solid #c0a16a;background:#26342d;color:#f0d9ac;font:16px/1.5 Georgia,serif;cursor:pointer}
@media(max-width:640px){#calendar-motion{font-size:12px;padding:7px 10px;top:3%}#calendar-content .room-reading-open{bottom:3%;font-size:14px;min-height:44px;padding:9px 14px}}
.calendar-equation{padding:13px 18px;border-top:1px solid #b39762;background:#b59a5010;color:#efdbab!important;font-variant-numeric:tabular-nums}
.calendar-exercise{margin:32px 0 20px;padding:clamp(14px,3vw,26px);border-top:1px solid #bda16a77;background:#08161888;min-width:0}
.calendar-exercise h3{margin-top:12px!important}
.calendar-exercise label{display:block;margin:20px 0 8px;font:16px/1.5 Georgia,serif;color:#d9c79f}
.calendar-exercise form{display:flex;gap:10px;flex-wrap:wrap}
.calendar-exercise input,.calendar-exercise select{box-sizing:border-box;min-height:48px;min-width:0;width:100%;max-width:100%;padding:10px 12px;color:#ece3cd;background:#102022;border:1px solid #a38c5d;font:17px Georgia,serif;color-scheme:dark}
.calendar-exercise form input{flex:1;min-width:140px}
.calendar-exercise input[type=range]{padding:0;accent-color:#dac087;cursor:pointer}
.calendar-exercise output{display:block;margin:20px 0;padding:18px 0;border-block:1px solid #ae965744;color:#efd29b;font:20px/1.7 Georgia,serif;overflow-wrap:anywhere}
.calendar-exercise .calendar-tool-note{font-size:15px!important;color:#b9c1b4;line-height:1.7!important}
.calendar-month{table-layout:fixed;width:100%;border-collapse:collapse;text-align:center;font:16px/1.8 Georgia,serif}
.calendar-month caption{font-size:14px;line-height:1.6;text-align:left;color:#b8c2b8;margin-bottom:15px}
.calendar-month th{font-weight:normal;font-size:12px;color:#b5c1b9}
.calendar-month th,.calendar-month td{padding:9px 1px;border:1px solid #a48d5933}
.calendar-month .return-day{color:#f4cc82;background:#c2a56913}
.calendar-month .selected{outline:2px solid #f0d494;outline-offset:-2px;background:#79603b88;color:#fff2ce}
.calendar-exercise :focus-visible{outline:2px solid #efd092;outline-offset:4px}
@media(max-width:640px){.calendar-month{font-size:13px}.calendar-month th{font-size:10px}.calendar-exercise output{font-size:18px}}

.field-age-form{display:grid!important;gap:14px!important}.field-age-form label{margin:0}.field-age-form button{justify-self:start;margin-top:4px}.field-age-result:not(:empty){border-top:1px solid #bca16a66;padding-top:24px;margin-top:24px;text-align:center}.field-age-result .field-age-number{font:normal clamp(34px,7vw,58px)/1.25 Georgia,serif!important;color:#f0d195!important;overflow-wrap:anywhere;margin:12px 0 20px!important;font-variant-numeric:tabular-nums}.field-age-result .eyebrow{font-size:11px!important;letter-spacing:.18em}
