/* Quiet interactions and comfortable touch controls. */
:root{--header-height:64px;--nav-height:0px;--ease-ui:cubic-bezier(.2,.7,.3,1)}
html{scrollbar-gutter:stable;scroll-padding-top:calc(var(--header-height) + var(--nav-height) + 16px);-webkit-text-size-adjust:100%}
[hidden]{display:none!important}
.topbar{position:sticky;top:0;z-index:25;min-height:var(--header-height);height:auto;padding-block:8px}
.top-actions{flex-shrink:0}
.preview-button{min-height:44px;min-width:84px;padding:10px 15px;border:1px solid var(--accent);border-radius:24px;background:var(--surface);color:var(--accent);font-size:13px;white-space:nowrap}
.preview-button[aria-pressed=true]{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}
.preview-button[aria-busy=true]{cursor:progress}
.site-review-note{font-size:13px;line-height:1.7}
.study-panel{animation:none}
.study-panel.view-enter{animation:study-enter .18s var(--ease-ui) both}
@keyframes study-enter{from{opacity:.65;transform:translateY(4px)}to{opacity:1;transform:none}}
button,.primary-button,.secondary-button,.nav-item,summary{transition:background-color .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .12s var(--ease-ui);-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button:not(:disabled):active,.primary-button:active,.secondary-button:active{transform:scale(.98)}
.nav-item:active,summary:active{background:var(--accent-soft)}
.icon-button,.type-tools button{min-width:44px;min-height:44px}
.nav-item{min-height:44px}
button,select,input{min-height:44px}button{min-width:44px}
.footer-eic-mark{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.text-link,.word-pill,.word-cloud-pill,.primary-button,.secondary-button,.tabs button,.tool-tabs button,summary{min-height:44px}
.text-link{line-height:1.6;max-width:100%;text-align:left}
.word-cloud-pill{max-width:100%;white-space:normal}
.word-cloud-pill>span{overflow-wrap:anywhere}
.glossary-item .definition{font-size:15px;line-height:1.85}
details[open]>.definition,details[open]>.pastoral-chapter-body{animation:study-enter .16s ease}
.chapter-paper .verse-num:hover{background:none;color:var(--muted)}
#view,.passage-start,.chapter-paper .verse,.reflection-module-head h3,#glossary-heading{scroll-margin-top:calc(var(--header-height) + var(--nav-height) + 16px)}
.dialog-open{overflow:hidden}
dialog{--dialog-pad:28px;padding:var(--dialog-pad);max-height:88vh;max-height:88dvh;overscroll-behavior:contain;scroll-padding-top:84px}
.dialog-top{position:sticky;top:calc(-1 * var(--dialog-pad));z-index:2;background:var(--surface);border-bottom:1px solid var(--line);padding:12px var(--dialog-pad);margin:calc(-1 * var(--dialog-pad)) calc(-1 * var(--dialog-pad)) 24px;min-height:69px}
.dialog-top .eyebrow{min-width:0;line-height:1.7;overflow-wrap:anywhere}
.commentary-reader .dialog-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}
.commentary-reader #dialog-kicker{grid-column:1;grid-row:1}
.commentary-reader #close-dialog{grid-column:2;grid-row:1;align-self:start}
.commentary-font-controls{grid-column:1 / -1;grid-row:2;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px}
.commentary-font-controls .icon-button{font-size:16px;border:1px solid var(--line);border-radius:8px}
.commentary-font-controls output{min-width:38px;text-align:center;font-variant-numeric:tabular-nums;color:var(--muted)}
#detail.commentary-reader #dialog-body p{font-size:var(--commentary-size,14px)}
#detail.commentary-reader #dialog-body h3{font-size:max(24px,calc(var(--commentary-size,14px) * 1.25))}
#detail.commentary-reader #dialog-body h2{font-size:clamp(28px,calc(var(--commentary-size,14px) * 1.8),40px)}
#detail.commentary-reader #dialog-body .point-reference{font-size:max(12px,calc(var(--commentary-size,14px) * .8))}
#detail.commentary-reader{scroll-padding-top:130px}
@media(max-width:540px){#detail.commentary-reader #dialog-body h2{font-size:clamp(28px,calc(var(--commentary-size,14px) * 1.5),32px)}.commentary-font-controls{gap:8px}}
dialog::backdrop{backdrop-filter:none}
.toast{max-width:calc(100vw - 32px);bottom:calc(20px + env(safe-area-inset-bottom));pointer-events:none;line-height:1.6}
.schedule-item{display:grid}
@media(min-width:641px) and (max-height:650px){
 .sidebar{overflow-y:auto;overscroll-behavior:contain;padding-block:16px}
 .sidebar-bottom,.sidebar-label{display:none!important}
 .sidebar .brand{flex-shrink:0;margin-bottom:16px}
 #navigation{flex-shrink:0;overflow:visible}
}
@media(max-width:900px){select,input[type=search],.study-selector select,.glossary-tools input,.glossary-tools select{font-size:16px}}
@media(hover:hover) and (pointer:fine){
 .preview-button:hover,.icon-button:hover,.secondary-button:hover{background:var(--accent-soft);border-color:var(--accent)}
 .text-link:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
 .primary-button:hover{box-shadow:0 3px 12px #52142624;transform:translateY(-1px)}
}
@media(hover:none){.resource-card:hover,.word-pill:hover,.word-cloud-pill:hover{transform:none;box-shadow:none}.nav-item:hover:not(.active){background:transparent}}
@media(max-width:640px){
 :root{--header-height:62px;--nav-height:calc(64px + env(safe-area-inset-top))}
 .sidebar{height:var(--nav-height);padding-top:env(safe-area-inset-top);padding-inline:env(safe-area-inset-left) env(safe-area-inset-right)}
 #navigation{height:64px;align-items:stretch}
 #navigation .nav-item{min-height:64px;padding-block:9px!important}
 .topbar{top:var(--nav-height);padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right))!important}
 .breadcrumb{min-width:0;max-width:calc(100% - 162px);font-size:0!important;line-height:1.4}
 .breadcrumb>span{display:none}.breadcrumb>strong{font-size:13px;font-weight:600;white-space:nowrap}
 .top-actions{gap:8px!important}.preview-button{font-size:12px;padding-inline:12px;min-width:78px}
 main{padding-inline:max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-right))}
 input[type=search],select,.study-selector select,.glossary-tools input,.glossary-tools select{font-size:16px;min-height:46px}
 .study-selector{display:block;padding:16px}
 .selector-fields{width:100%}.selector-fields label{width:100%;font-size:12px}
 .week-arrows{flex-direction:row;justify-content:flex-end;gap:12px;margin-top:14px}
 .week-arrows .icon-button{width:44px;height:44px}
 .type-tools{gap:8px}.type-tools button{border:1px solid var(--line);border-radius:6px;background:var(--surface)}
 .reading-session .chapter-paper{padding:16px 8px}
 .chapter-paper .reading-text{padding-inline:0}
 .chapter-paper .reader-toolbar{padding:10px 10px 16px}
 .chapter-paper .verse{padding-right:10px;padding-left:30px}
 .reading-discussion{padding:20px 17px}.reading-discussion .question-set{padding:0}
 .study-question{padding-block:20px}.study-question p{font-size:17px;line-height:1.75}
 .glossary-item .definition{font-size:16px}.glossary-item summary{min-height:56px}
 .glossary-context{font-size:12px!important}
 .tool-tabs{gap:6px}.tool-tabs button{padding:11px 7px;font-size:12px}
 .completion-control>div{min-width:0}.completion-control{padding:20px 16px}
 .schedule-item{grid-template-columns:64px minmax(0,1fr) 12px;gap:10px;padding:16px 12px}
 .schedule-item>.session-thumb{width:64px}.schedule-item .schedule-date{font-size:11px!important}
 .schedule-item strong,.schedule-item small{overflow-wrap:anywhere}
 dialog{--dialog-pad:20px;width:calc(100% - 24px);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:12px}
 #dialog-body h2{font-size:28px;overflow-wrap:anywhere}.dialog-top .eyebrow{letter-spacing:1px;font-size:8px}
 #dialog-body .scripture-quote{font-size:21px;line-height:1.8}
 .reading-contents{gap:8px}.reading-contents button{max-width:100%;white-space:normal;text-align:left}
 footer{padding-bottom:calc(24px + env(safe-area-inset-bottom));flex-wrap:wrap}
 .reflection-module-head h3{overflow-wrap:anywhere}
}

@media print{.preview-button,.site-review-note,.toast{display:none!important}}

/* A future week cannot be completed before its scheduled opening. */
.completion-control button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
