/* Shared dimensions and spacing; the existing palette and emphasis stay intact. */
:root{--action-radius:8px;--action-gap:12px;--dialog-padding:24px}
.secondary-action:not(.nav-arrow),.share-day,.share-day.share-day-top,.share-day.share-day-lower,.society-button,.edition-choose,
.erase-progress-confirm,.story-actions button,.story-locked button{
  padding:9px 14px;border-radius:var(--action-radius);
  font-size:.75rem;font-weight:600;line-height:1.35;max-width:100%;
  white-space:normal;overflow-wrap:break-word;vertical-align:middle;
}
.society-button{font-size:.8125rem}
.story-actions button,.story-locked button{background:var(--panel);color:var(--muted);border-color:var(--line)}
.story-actions button:hover,.story-actions button:focus-visible,
.story-locked button:hover,.story-locked button:focus-visible{background:var(--button-dim);color:var(--ink)}
.secondary-action:not(.nav-arrow) svg,.share-day svg,.society-button svg{vertical-align:middle}
.day-actions,.story-actions,.dialog-actions,.erase-progress-actions,
.spoiler-confirm-actions,.reentry-actions,.departure-countdown-actions,
.journey-complete-actions{gap:var(--action-gap);align-items:center;flex-wrap:wrap}
.index-switch{gap:var(--action-gap)}
.dialog-actions a,.departure-countdown-actions a{
  display:inline-flex;align-items:center;justify-content:center;text-align:center;
}
.journey-complete-actions button:last-child{font:italic .875rem/1.35 Georgia,serif}

/* Existing standard dialog widths are retained. */
dialog.catchup-dialog:not(.journey-complete-dialog){
  max-height:min(85vh,900px);max-height:min(85dvh,900px);overflow:hidden;
}
dialog.catchup-dialog>.catchup-dialog-inner.dialog-shell{
  display:flex;flex-direction:column;position:relative;
  max-height:min(calc(85vh - 2px),898px)!important;
  max-height:min(calc(85dvh - 2px),898px)!important;
  padding:0!important;overflow:hidden!important;
}
.dialog-shell>.dialog-header{
  position:relative;flex:0 0 auto;padding:var(--dialog-padding) var(--dialog-padding) 16px;
}
dialog.catchup-dialog .dialog-header>h2{
  margin:0;padding:0 32px;text-align:center;
  font:500 1.5rem/1.3 Georgia,serif;color:var(--ink);
}
.dialog-header>form{margin:0;padding:0}
.dialog-shell>.dialog-header-untitled{min-height:52px;padding:0}
dialog.catchup-dialog .dialog-close{
  position:absolute;top:8px;right:8px;width:44px;height:44px;margin:0;padding:0;
  display:grid;place-items:center;flex:none;min-height:44px;
  font:400 25px/1 system-ui,sans-serif;color:var(--muted);background:transparent;border:0;
}
dialog.catchup-dialog .dialog-close:hover,dialog.catchup-dialog .dialog-close:focus-visible{color:var(--ink)}
.dialog-shell>.dialog-body{
  flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;
  padding:0 var(--dialog-padding) var(--dialog-padding);
}
.dialog-body>p{margin:0 0 16px;line-height:1.55}
.dialog-body>:last-child{margin-bottom:0}
.dialog-body .catchup-intro{margin:0 0 16px;color:var(--muted)}
.dialog-body .progress-transfer-body{padding-top:0}
.dialog-body>.detailed-settings-list{margin-top:0}
.dialog-shell>.dialog-footer{
  display:flex;flex:0 1 auto;justify-content:center;align-items:center;flex-wrap:wrap;
  gap:var(--action-gap)!important;margin:0!important;padding:16px var(--dialog-padding) var(--dialog-padding);
  max-height:40vh;max-height:40dvh;overflow:auto;
}
.dialog-shell:has(>.dialog-footer)>.dialog-body{padding-bottom:8px}
.dialog-footer>[hidden]{display:none}
.dialog-footer .reminder-opt-out{flex-basis:100%}

@media(max-width:600px){
  :root{--dialog-padding:20px}
  dialog.catchup-dialog .dialog-header>h2{font-size:1.375rem}
  .dialog-shell>.dialog-footer{row-gap:12px}
}

/* Both reading-length notices share this compact, untitled dialog. */
#nextReadingLengthDialog{width:min(480px,calc(100vw - 32px))}
#nextReadingLengthDialog .dialog-shell>.dialog-header-untitled{min-height:0;height:0;padding:0;overflow:visible;z-index:1}
#nextReadingLengthDialog .dialog-shell>.dialog-body{padding:var(--dialog-padding) 52px 8px}
#nextReadingLengthDialog #nextReadingLengthMessage{margin:0;text-align:center;line-height:1.55}
#nextReadingLengthDialog .dialog-shell>.dialog-footer{padding:12px var(--dialog-padding) var(--dialog-padding)}

#catchUpIntro{text-wrap:balance}
