@font-face{font-family:"Source Serif 4";src:url('https://cdn.prayers.page/assets/fonts/source-serif-4-97b2d4da6e3cb494b5a1e66ae176914d852ccabef49e0c02c0df25f3e39aca0b.ttf') format('truetype');font-weight:200 900;font-display:swap}
:root{--paper:#f7f4ed;--surface:#fffdf8;--ink:#272522;--muted:#625b53;--accent:#762c38;--accent-hover:#59202a;--line:#cfc7bb;--soft:#eee7dc;--success:#365c45;--font-reading:Georgia,serif;--font-ui:sans-serif;--font-prayer-reading:'Source Serif 4',Georgia,serif;--reading-size:1.3125rem;--reading-leading:1.75;--reading-measure:65ch;--reading-paragraph-gap:1.35em;--prayer-line-size:1.5rem;--prayer-line-leading:1.65;--radius:8px;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:48px;--space-6:64px;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--line) var(--paper);scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.5 var(--font-ui);accent-color:var(--accent);caret-color:var(--accent)}::selection{background:#ead5d8;color:#45141d}a{color:var(--accent);text-underline-offset:4px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}svg{width:20px;height:20px;vertical-align:middle;flex-shrink:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button:disabled{opacity:.5;cursor:not-allowed}button:disabled:hover{background:inherit;color:inherit}h1,h2,h3{font-family:var(--font-reading);font-weight:550;text-wrap:balance;line-height:1.15;letter-spacing:-.025em}h1{font-size:clamp(36px,3.5vw,48px);margin:12px 0 16px}h2{font-size:30px;margin:40px 0 18px}h3{font-size:23px;margin:24px 0 10px}p{margin:0 0 20px}ul,ol{padding-left:24px}li{margin:8px 0}.shell{width:min(1160px,calc(100% - 64px));margin:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;top:-80px;left:20px;padding:12px;background:var(--surface);z-index:10}.skip:focus{top:8px}.header{border-bottom:1px solid var(--line)}.header-inner{height:80px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:12px;font:550 26px/1 var(--font-reading);color:var(--accent);text-decoration:none;white-space:nowrap}.brand svg{width:22px;height:30px}.nav{display:flex;gap:32px;align-items:center}.nav a{font-size:17px;color:var(--ink);text-decoration:none;padding:12px 0}.nav a[aria-current=page]{color:var(--accent);box-shadow:0 2px 0 var(--accent)}.menu{display:none;background:transparent;border:1px solid var(--line);border-radius:var(--radius);height:44px;min-width:44px;padding:8px}.main{padding-top:32px;padding-bottom:80px;min-height:65vh}.breadcrumb{display:flex;gap:10px;align-items:center;font-size:15px;color:var(--muted);margin-bottom:16px;flex-wrap:wrap}.breadcrumb a{color:var(--muted)}.lead{font-size:20px;color:var(--muted);max-width:58ch;line-height:1.55}.intro{max-width:780px;margin-bottom:32px}.reading-layout{display:grid;grid-template-columns:minmax(0,800px) 240px;gap:64px}.reading{min-width:0}.reading-text{font:400 21px/1.6 var(--font-reading);max-width:68ch}.reading-text p{margin-bottom:24px}.prayer-reading{font:400 var(--reading-size)/var(--reading-leading) var(--font-prayer-reading);max-width:var(--reading-measure);font-optical-sizing:auto;overflow-wrap:break-word}.prayer-reading p{margin:0 0 var(--reading-paragraph-gap)}.prayer-reading p:last-child{margin-bottom:0}.prayer-lines{font:400 var(--prayer-line-size)/var(--prayer-line-leading) var(--font-prayer-reading);max-width:var(--reading-measure);font-optical-sizing:auto;overflow-wrap:break-word}.prayer-lines p{margin:0 0 var(--reading-paragraph-gap)}.prayer-lines p:last-child{margin-bottom:0}.prayer-texts>div+div{margin-top:1.75em}.prayer-texts{font:400 var(--reading-size)/var(--reading-leading) var(--font-prayer-reading)}details[data-prayer-text]>:is(.reading-text,.prayer-lines){margin-top:var(--space-3)}.version{font-size:15px;color:var(--muted);margin-bottom:24px}.version a{color:var(--muted)}.rule{height:1px;background:var(--line);border:0;margin:32px 0}.aside{padding-top:14px}.aside h2{font-family:var(--font-ui);font-size:17px;font-weight:600;margin:0 0 12px;letter-spacing:0}.aside section{border-top:1px solid var(--line);padding-top:20px;margin-bottom:28px}.aside a{display:block;padding:6px 0}.aside p{font-size:16px;color:var(--muted);line-height:1.5}.btn{min-height:48px;padding:11px 20px;display:inline-flex;gap:10px;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--accent);border-radius:var(--radius);font-weight:600;color:var(--accent);background:transparent;transition:background .16s var(--ease),color .16s var(--ease);line-height:1.35}.btn:hover{background:#eee1e2;text-decoration:none}.btn.primary{background:var(--accent);color:var(--surface)}.btn.primary:hover{background:var(--accent-hover)}.btn.done{background:var(--success);border-color:var(--success);color:var(--surface)}.btn.small{font-size:16px;padding:8px 14px;min-height:44px}.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:24px 0}.text-action{border:0;background:transparent;padding:10px 0;color:var(--accent);text-decoration:underline;text-underline-offset:4px;min-height:44px}.meta-row{display:flex;gap:24px;flex-wrap:wrap;align-items:center;font-size:16px}.meta-row a{display:flex;gap:8px;align-items:center}.day-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 12px;font-size:17px}.day-heading strong{font-weight:600}.day-heading span{font-size:15px;color:var(--muted)}.day-strip{display:flex;gap:8px;padding:4px 0 8px;overflow:auto;scrollbar-width:thin}.day-link{height:48px;flex:1;min-width:44px;display:flex;align-items:center;justify-content:center;font:500 21px var(--font-reading);text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);font-variant-numeric:tabular-nums;position:relative}.day-link:hover{background:var(--soft);text-decoration:none}.day-link[aria-current=true]{background:var(--accent);color:var(--surface);border-color:var(--accent)}.day-link.complete:after{content:'';position:absolute;bottom:5px;width:5px;height:5px;border-radius:50%;background:var(--success)}.day-link.complete[aria-current=true]:after{background:var(--surface)}.day-panel{scroll-margin-top:32px}.day-panel h2{color:var(--accent);margin-top:24px;border-bottom:1px solid var(--line);padding-bottom:16px}.js .day-panel[hidden]{display:none}.day-panel.reveal{animation:bookmark .22s var(--ease)}@keyframes bookmark{from{clip-path:inset(0 0 8% 0)}to{clip-path:inset(0 0 0 0)}}.sample-note{font-size:14px;color:var(--muted);margin-top:16px}.notice{background:var(--soft);padding:18px 20px;border-radius:var(--radius);font-size:16px;margin:24px 0}.notice p:last-child{margin:0}.notice.error{background:#f2dfe1;color:#59202a}.notice.success{background:#e3eade;color:#304b37}.status{font-size:16px;color:var(--muted);margin:12px 0;min-height:24px}.sources{margin-top:48px;border-top:1px solid var(--line);padding-top:4px}.sources h2{font-size:25px}.sources p{font-size:16px;color:var(--muted);max-width:65ch}.source-row{display:flex;justify-content:space-between;gap:24px;font-size:16px;padding:14px 0;border-bottom:1px solid var(--line)}.related{display:grid;grid-template-columns:1fr 1fr;gap:32px}.related a{font-family:var(--font-reading);font-size:23px;display:block;padding:14px 0;border-bottom:1px solid var(--line)}.related small{display:block;font:16px var(--font-ui);color:var(--muted);margin-top:6px}.home-opening{display:grid;grid-template-columns:1.25fr 1fr;gap:100px;align-items:start;margin:36px 0 64px}.home-opening h1{font-size:clamp(44px,5vw,64px);line-height:1.08;max-width:18ch;margin:0 0 24px}.home-opening .lead{max-width:39ch}.opening-links{border-top:1px solid var(--line);margin-top:8px}.opening-link{padding:22px 0;border-bottom:1px solid var(--line);text-decoration:none;display:flex;justify-content:space-between;gap:20px;align-items:center;color:var(--ink)}.opening-link h2{font-size:29px;margin:0 0 6px}.opening-link p{font-size:17px;color:var(--muted);margin:0}.opening-link:hover h2{color:var(--accent)}.opening-link svg{color:var(--accent)}.section-heading{display:flex;justify-content:space-between;gap:16px;align-items:baseline;margin:0 0 12px}.section-heading h2{margin:0}.section-heading a{font-size:16px}.editorial-columns{display:grid;grid-template-columns:1fr 1fr;gap:64px}.list-row{display:flex;justify-content:space-between;align-items:center;gap:24px;text-decoration:none;color:var(--ink);padding:19px 0;border-bottom:1px solid var(--line)}.list-row:hover .row-title{color:var(--accent)}.row-title{display:block;font:500 24px/1.3 var(--font-reading)}.row-description{display:block;font-size:16px;color:var(--muted);margin-top:4px}.list-row .row-meta{font-size:15px;color:var(--muted);white-space:nowrap}.feature-band{margin-top:64px;padding:32px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:64px}.feature-band h2{margin:0 0 12px;font-size:28px}.feature-band p{color:var(--muted);font-size:18px}.search-form{display:flex;align-items:center;gap:12px;max-width:600px;margin:24px 0 16px}.field-wrap{position:relative;flex:1}.field-wrap svg{position:absolute;left:16px;top:17px;color:var(--muted)}input,select{min-height:52px;border:1px solid #a99e90;border-radius:var(--radius);background:var(--surface);padding:12px 14px;color:var(--ink);width:100%}input[type=search]{padding-left:48px}input::placeholder{color:var(--muted)}label{display:block;font-size:17px;font-weight:600;margin-bottom:8px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 32px}.chip{border:1px solid var(--line);background:transparent;border-radius:var(--radius);padding:8px 16px;min-height:44px;color:var(--ink);font-size:16px}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--surface)}.chip:hover{background:var(--soft)}.chip[aria-pressed=true]:hover{background:var(--accent-hover)}.catalog-list{display:grid;grid-template-columns:1fr 1fr;column-gap:64px}.catalog-list [hidden]{display:none}.empty{padding:48px 0;border-top:1px solid var(--line);max-width:600px}.empty h2{margin:0 0 16px}.empty p{color:var(--muted)}.steps{margin-top:24px;counter-reset:steps}.step{display:grid;grid-template-columns:44px 1fr;gap:20px;border-top:1px solid var(--line);padding:24px 0}.step-num{color:var(--accent);font:500 24px var(--font-reading)}.step h2{font-size:26px;margin:0 0 10px}.step p{margin:0;color:var(--muted);font-size:19px;line-height:1.6}.rosary-diagram{width:100%;height:220px;color:var(--accent);margin:12px 0 24px}.rosary-diagram circle,.rosary-diagram path{stroke:currentColor;stroke-width:2;fill:none}.rosary-diagram circle{fill:var(--paper)}.mystery-list{list-style:none;padding:0;border-top:1px solid var(--line);counter-reset:mystery}.mystery-list li{counter-increment:mystery;display:grid;grid-template-columns:32px 1fr;gap:16px;border-bottom:1px solid var(--line);padding:15px 0;margin:0}.mystery-list li:before{content:counter(mystery);font:500 24px var(--font-reading);color:var(--accent)}.mystery-list strong{font:500 23px var(--font-reading)}.mystery-list p{font-size:17px;margin:5px 0 0;color:var(--muted)}.date-label{color:var(--muted);font-size:16px;margin-bottom:18px}.planner-form{max-width:520px}.form-row{margin:24px 0}.calendar-output{border-top:1px solid var(--line);margin-top:32px;padding-top:8px}.calendar-days{list-style:none;padding:0}.calendar-days li{display:flex;justify-content:space-between;gap:24px;padding:10px 0;margin:0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.saved-entry{padding:24px 0;border-top:1px solid var(--line)}.saved-entry h2{font-size:27px;margin:0 0 8px}.saved-entry p{font-size:16px;color:var(--muted);margin-bottom:16px}.saved-entry .actions{margin:0}.footer{border-top:1px solid var(--line);padding:32px 0;font-size:15px;color:var(--muted)}.footer-inner{display:flex;justify-content:space-between;gap:24px;align-items:start}.footer p{margin:8px 0;max-width:44ch}.footer .brand{font-size:21px}.footer-links{display:flex;flex-wrap:wrap;gap:12px 24px;max-width:340px}.footer-links a{color:var(--muted)}[hidden]{display:none!important}.print-only{display:none}.print-page{max-width:780px;margin:40px auto;padding:0 32px}.print-page h1{font-size:36px}.state-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.specimen{border-top:1px solid var(--line);padding:20px 0}.specimen h2{font-size:24px;margin:0 0 16px}.prototype-badge{font-size:13px;color:var(--muted)}
@media(max-width:1000px){.reading-layout{grid-template-columns:minmax(0,1fr);gap:40px;max-width:800px}.aside{display:grid;grid-template-columns:1fr 1fr;gap:32px}.home-opening{gap:48px}.nav{gap:20px}.catalog-list{column-gap:40px}}
@media(max-width:720px){.shell{width:calc(100% - 40px)}.header-inner{height:64px}.brand{font-size:23px;gap:9px}.brand svg{width:19px;height:26px}.menu{display:block}.nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:16px 20px;z-index:5}.nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav a{padding:14px 0}.nav a[aria-current=page]{box-shadow:none;text-decoration:underline}.main{padding-top:24px;padding-bottom:48px}.breadcrumb{font-size:14px;margin-bottom:12px}h1{font-size:36px;margin-top:8px}h2{font-size:27px;margin-top:32px}.lead{font-size:18px;line-height:1.55}.intro{margin-bottom:24px}:root{--reading-size:1.25rem;--prayer-line-size:1.3125rem}.aside{grid-template-columns:1fr;gap:0}.day-heading{margin-top:20px}.day-link{min-width:44px;height:44px;font-size:19px}.day-strip{gap:4px}.day-panel h2{font-size:27px}.actions{gap:10px}.actions .btn{flex:1 0 max-content;max-width:100%;white-space:nowrap}.meta-row{gap:12px 20px}.home-opening{grid-template-columns:1fr;gap:32px;margin:24px 0 40px}.home-opening h1{font-size:45px;max-width:18ch}.opening-link{padding:19px 0}.opening-link h2{font-size:26px}.editorial-columns,.catalog-list,.feature-band,.related,.state-grid{grid-template-columns:1fr;gap:32px}.catalog-list{gap:0}.feature-band{margin-top:40px;padding:28px 0}.section-heading{align-items:center}.section-heading h2{font-size:27px}.row-title{font-size:22px}.row-description{font-size:16px}.list-row{gap:16px;padding:17px 0}.list-row .row-meta{display:none}.source-row{display:block}.source-row span{display:block;margin-top:8px}.footer-inner{flex-direction:column}.footer-links{max-width:none}.rosary-diagram{height:160px}.step{gap:12px;grid-template-columns:28px 1fr}.step p{font-size:18px}.search-form{gap:8px}.search-form .btn{padding:11px 13px}.date-label{font-size:15px}.print-page{padding:0 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{@page{size:auto;margin:18mm}body{background:white;color:black;font-size:11pt}.header,.footer,.breadcrumb,.aside,.actions,.meta-row,.day-strip,.day-heading,.sample-note,.status,.no-print,.prototype-badge{display:none!important}.shell{width:100%;max-width:none}.main,.print-page{padding:0;margin:0;min-height:0}.reading-layout{display:block}#planner,#meaning,#about{display:none!important}.reading-text,.prayer-lines,.prayer-texts{font-size:12pt;line-height:1.6}.day-panel,.js .day-panel[hidden]{display:block!important;break-inside:avoid}.day-panel h2{font-size:20pt;color:black;margin-top:24px}.print-only{display:block}.print-page h1,h1{font-size:25pt}.sources{margin-top:28px}a{color:black}.notice{background:white;border:1px solid #aaa}.related{display:none}}
.preview-label p{font:14px var(--font-ui);color:var(--muted);margin:14px 0 0}
.js-controls{display:none}.js .js-controls{display:flex}.js button.js-controls{display:inline-flex}
::selection{background:#eee1e2;color:#272522}input{caret-color:#762c38}details{border-bottom:1px solid var(--line);padding:16px 0}summary{cursor:pointer;font:600 18px var(--font-ui)}.day-link,.calendar-days time{font-variant-numeric:tabular-nums}
@media print{.preview-label,.js-controls{display:none!important}.day-panel[hidden]{display:block!important}body:has(#calendar-output:not([hidden])) #planner{display:none}.saved-row button{display:none}}

@media screen and (max-width:720px){.reading-text:not(.prayer-reading){font-size:20px;line-height:1.6}}

/* Approved content scale, 2026-10-01. Screen-only.
   Header, fonts, palette, reading layout and prayer text retain their existing roles. */
@media screen {
  .main { font-size: 16px; padding-top: 28px; padding-bottom: 72px; }
  .main h1 { font-size: clamp(32px, 3.2vw, 44px); margin: 10px 0 14px; }
  .main h2 { font-size: 27px; margin: 36px 0 16px; }
  .main h3 { font-size: 21px; margin: 22px 0 9px; }
  .main .lead { font-size: 18px; }
  .main .intro { margin-bottom: 28px; }
  .main .aside h2 { font-size: 17px; margin: 0 0 12px; }

  /* Explanatory prose is visibly secondary to the 21/20px prayer reading. */
  .main .reading-text:not(.prayer-reading):not(.prayer-lines) {
    font-size: 18px;
    line-height: 1.65;
  }
  .main .reading-text:not(.prayer-reading):not(.prayer-lines) p { margin-bottom: 21px; }
  .main #about h2 { font-size: 26px; }
  .main #about h3 { font-size: 20px; }

  .main .home-opening { gap: 88px; margin: 32px 0 56px; }
  .main .home-opening h1 {
    font-size: clamp(40px, 4.4vw, 56px);
    margin: 0 0 21px;
  }
  .main .opening-links { margin-top: 7px; }
  .main .opening-link { padding: 20px 0; gap: 18px; }
  .main .opening-link h2 { font-size: 26px; margin: 0 0 6px; }
  .main .opening-link p { font-size: 16px; }
  .main .section-heading { margin-bottom: 10px; }
  .main .section-heading h2 { margin: 0; }
  .main .editorial-columns { gap: 56px; }
  .main .list-row { gap: 22px; padding: 17px 0; }
  .main .row-title { font-size: 22px; }
  .main .feature-band { margin-top: 56px; padding: 28px 0; gap: 56px; }
  .main .feature-band h2 { font-size: 25px; margin: 0 0 10px; }
  .main .feature-band p { font-size: 16px; }

  /* Controls retain >=44px hit areas despite smaller visual type/padding. */
  .main .btn { font-size: 16px; min-height: 44px; padding: 10px 18px; }
  .main .btn.small { padding: 8px 14px; }
  .main .actions { margin: 21px 0; gap: 10px; }
  .main input, .main select { font-size: 16px; min-height: 48px; padding: 10px 14px; }
  .main input[type=search] { padding-left: 48px; }
  .main .field-wrap svg { top: 15px; }
  .main label { font-size: 16px; }
  .main .search-form { margin: 21px 0 14px; }
  .main .filters { margin: 14px 0 28px; }

  .main .day-heading { margin: 21px 0 10px; font-size: 16px; }
  .main .day-link { font-size: 19px; height: 44px; }
  /* Keep the keyboard focus ring inside the horizontally scrolling strip. */
  .main .day-link:focus-visible { outline: 3px solid var(--accent); outline-offset: -4px; }
  .main .day-link[aria-current=true]:focus-visible { outline-color: var(--surface); }
  .main .day-panel h2 { font-size: 27px; margin-top: 21px; padding-bottom: 14px; }
  .main .rule { margin: 28px 0; }
  .main .notice { margin: 21px 0; padding: 16px 18px; }
  .main .sources { margin-top: 42px; }
  .main .sources h2 { font-size: 23px; }
  .main .source-row { padding: 12px 0; }
  .main .related a { font-size: 21px; padding: 12px 0; }
  .main .step { padding: 21px 0; }
  .main .step h2 { font-size: 24px; margin: 0 0 9px; }
  .main .step p { font-size: 18px; }
  .main .mystery-list strong { font-size: 21px; }
  .main .mystery-list p { font-size: 16px; }
  .main .saved-entry { padding: 21px 0; }
  .main .saved-entry h2 { font-size: 25px; margin: 0 0 7px; }
  .main .saved-entry .actions { margin: 0; }
}

@media screen and (max-width: 1000px) {
  .main .home-opening { gap: 42px; }
}

@media screen and (max-width: 720px) {
  .main { padding-top: 21px; padding-bottom: 42px; }
  .main h1 { font-size: 32px; margin-top: 7px; }
  .main h2 { font-size: 24px; margin-top: 28px; }
  .main .lead { font-size: 17px; }
  .main .intro { margin-bottom: 21px; }
  .main #about h2 { font-size: 24px; }
  .main .home-opening { gap: 28px; margin: 21px 0 36px; }
  .main .home-opening h1 { font-size: 40px; }
  .main .opening-link { padding: 17px 0; }
  .main .opening-link h2 { font-size: 24px; }
  .main .editorial-columns, .main .feature-band { gap: 28px; }
  .main .section-heading h2 { font-size: 24px; }
  .main .row-title { font-size: 20px; }
  .main .list-row { padding: 15px 0; gap: 14px; }
  .main .feature-band { margin-top: 36px; padding: 25px 0; }
  .main .day-heading { margin-top: 18px; }
  .main .day-panel h2 { font-size: 24px; }
  .main .search-form .btn { padding: 10px 13px; }
}

/* Preserve native select behavior while giving WebKit the same usable field size. */
.main select {
  appearance: none;
  padding-right: 44px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23625b53' stroke-width='1.6'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 20px 20px;
}

@media screen and (max-width: 720px) {
  /* Without JavaScript the links remain available instead of an inert menu button. */
  html:not(.js) .menu { display: none; }
  html:not(.js) .header-inner {
    height: auto;
    min-height: 64px;
    flex-wrap: wrap;
    padding-block: 16px;
    gap: 8px 24px;
  }
  html:not(.js) .nav {
    position: static;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    flex-basis: 100%;
    gap: 0;
    padding: 0;
    border: 0;
  }
}

/* Approved catalog and Rosary navigation, 2026-10-03. */
.compact-catalog { display: block; max-width: 820px; }
.compact-catalog .row-meta:empty { display: none; }
.main .compact-catalog > section > h2 { margin: 28px 0 8px; }
/* A readable reference: five instructions, then complete texts, no disclosures. */
html:has(.rosary-guide) { scroll-behavior: auto; }
.rosary-guide { max-width: 800px; }
.main .rosary-contents { margin: 24px 0 32px; padding: 16px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.main .rosary-contents h2 { font: 600 16px/1.5 var(--font-ui); letter-spacing: 0; margin: 0 0 4px; }
.rosary-contents ul { display: flex; flex-wrap: wrap; gap: 0 28px; margin: 0; padding: 0; list-style: none; }
.rosary-contents li { margin: 0; }
.rosary-contents a, .rosary-return { display: inline-flex; align-items: center; min-height: 44px; font-size: 16px; }
.main .rosary-guide > section > h2 { margin: 40px 0 18px; }
.main .rosary-guide #prayer-order > h2 { margin-top: 0; }
.rosary-guide .steps { margin-top: 0; }
.main .rosary-guide .step h3 { font-size: 23px; margin: 0 0 10px; }
.main .rosary-guide .step p { font-size: 17px; color: var(--ink); line-height: 1.7; }
.rosary-guide .step:last-child { border-bottom: 1px solid var(--line); }
.rosary-guide .step { scroll-margin-top: 24px; }
.main .rosary-mysteries h3 { font-size: 23px; margin-top: 16px; }
.rosary-mysteries > p:last-child { margin-top: 8px; }
.rosary-prayer { border-top: 1px solid var(--line); padding: 24px 0 12px; }
.main .rosary-prayer h3 { font-size: 26px; margin: 0 0 4px; }
.rosary-prayer .prayer-reading { margin: 12px 0 16px; }
.rosary-guide [tabindex="-1"]:focus { outline: none; }
@media (max-width: 720px) {
  .rosary-contents ul { display: block; }
  .main .rosary-guide .step h3 { font-size: 21px; }
  .main .rosary-prayer h3 { font-size: 24px; }
}
@media print {
  .rosary-guide { max-width: none; }
  .rosary-guide .step a { text-decoration: none; }
  .rosary-guide .prayer-reading { font-size: 12pt; line-height: 1.6; }
  .rosary-guide h2, .rosary-guide h3 { break-after: avoid; }
  .rosary-guide .step { break-inside: avoid; }
}
