@font-face{font-family:Garamond;src:url('fonts/EBGaramond-latin-88e225.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:Garamond;src:url('fonts/EBGaramond-latin-ad9197.woff2') format('woff2');font-style:italic;font-weight:400 700;font-display:swap}
@font-face{font-family:Manrope;src:url('fonts/Manrope-latin-a96caf.woff2') format('woff2');font-weight:400 800;font-display:swap}
:root{--paper:#fbf9f4;--surface:#fffdf9;--ink:#303a32;--muted:#73776c;--green:#294d40;--green-light:#edf0e8;--line:#e0e1d7;--gold:#ac8a55;--red:#874c40;--serif:Garamond,Georgia,serif;--sans:Manrope,system-ui,sans-serif;--reading-size:24px;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:26px}body{margin:0;background:var(--paper);color:var(--ink);font:13px/1.6 var(--sans);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button{border:0;background:none}button:disabled{opacity:.4;cursor:not-allowed}button:hover:not(:disabled){color:var(--green)}a{color:var(--green);text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button,a{touch-action:manipulation}svg{width:20px;height:20px;vertical-align:middle;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{font-size:30px;line-height:1.15}h2{font-size:34px;line-height:1.2}.muted{color:var(--muted)}.eyebrow,.field-label{font-size:10px;letter-spacing:1.7px;font-weight:700}.eyebrow{color:var(--muted)}.icon-button{width:40px;height:40px;display:inline-flex;justify-content:center;align-items:center;border-radius:50%;flex-shrink:0}.icon-button:hover{background:var(--green-light)}.text-button{padding:6px 0;color:var(--green);font-size:11px}.text-button span{margin-left:10px}.text-button:hover{text-decoration:underline;text-underline-offset:5px}.skip-link{position:absolute;top:-100px;left:12px;z-index:10;background:var(--surface);padding:12px}.skip-link:focus{top:12px}.type-icon{font-family:var(--serif);font-size:24px}.calendar-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.calendar-label{display:flex;gap:16px;align-items:center}.season-badge{font-size:10px;color:var(--green);display:inline-flex;align-items:center;gap:7px}.season-badge:before{content:'';width:6px;height:6px;background:var(--liturgical-color,var(--green));border:1px solid #7777;border-radius:50%}.calendar-main{display:grid;grid-template-columns:1fr 330px;align-items:center;gap:35px;padding:20px 0 22px}.date-label{color:var(--muted);font-size:11px;margin-bottom:7px}.day-description h2{max-width:520px}.day-description>.muted{font-size:10px;margin-top:9px}.week-heading{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:5px}.week-heading .icon-button{width:30px;height:30px}.date-control{position:relative;cursor:pointer}.date-control input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.date-control input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:auto;height:auto;cursor:pointer}.date-control:focus-within{outline:2px solid var(--gold);outline-offset:4px}.week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.week-day{border-radius:5px;padding:8px 0 10px;display:flex;flex-direction:column;align-items:center;gap:7px}.week-day span{font-size:9px;color:var(--muted)}.week-day b{font:22px var(--serif)}.week-day.selected{background:var(--green);color:#fff}.week-day.selected span{color:#d5e1d3}.week-day.today:not(.selected) b{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:5px}.week-day:hover:not(.selected){background:#e4e9dd}.daily-readings{border-top:1px solid #d9dfd2;display:flex;align-items:stretch;gap:7px;padding:10px 0}.reading-choice{padding:8px 16px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;flex:1;border-radius:4px;text-align:left;position:relative}.reading-choice+.reading-choice{border-left:1px solid #d9dfd2}.reading-choice small{font-size:9px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}.reading-choice strong{font-size:12px;font-weight:500}.reading-choice.active{background:#e0e6d9}.reading-choice.active:after{content:'↗';position:absolute;right:12px;bottom:10px;color:var(--green)}.calendar-forms{display:grid;grid-template-columns:1fr 1fr;gap:14px;border-top:1px solid #d9dfd2;padding:16px 0}.calendar-form{display:block;border:1px solid transparent;border-radius:5px;padding:10px 14px;text-align:left}.calendar-form.active{background:var(--surface);border-color:#d7ddce}.calendar-form .form-label{display:flex;align-items:center;gap:8px;font-size:9px;font-weight:700;letter-spacing:1px;color:var(--green);margin-bottom:5px}.form-tag{padding:2px 5px;background:#e6ebe0;border-radius:2px;letter-spacing:.8px}.form-tag.trad{color:var(--red);background:#f0e7dd}.calendar-form h2{font-size:21px;line-height:1.2}.calendar-form p{font-size:10px;color:var(--muted);margin-top:5px}.no-readings{font-size:12px;padding:12px 0;color:var(--muted)}.field-label{display:block;color:var(--muted);font-size:9px;letter-spacing:1.4px}.ornament{display:block;font-size:28px;color:var(--gold);line-height:1.2}.reading{outline:none;min-height:290px}.scripture{font-family:var(--serif);font-size:var(--reading-size);line-height:1.65}.verse{position:relative;margin:0 0 12px;padding:3px 14px 4px 38px;border-radius:3px;scroll-margin-top:28px}.verse:target,.verse.highlighted{background:var(--green-light)}.verse-number{position:absolute;left:0;top:9px;font:10px var(--sans);color:#8e947f;width:32px;min-height:32px;padding:3px;display:flex;align-items:flex-start;justify-content:center}.verse-number:hover{background:var(--green-light)}.verse.saved .verse-number:after{content:'';position:absolute;width:4px;height:4px;border-radius:50%;background:var(--gold);bottom:4px}.verse-tools{display:inline-flex;vertical-align:middle;align-items:center;margin-left:7px;gap:1px;white-space:nowrap}.verse-note{font:italic 16px var(--serif);border:1px solid #d8caba;color:var(--red);border-radius:50%;width:23px;height:23px;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;padding:0}.verse-reference{color:var(--green);width:29px;height:30px;display:inline-flex;align-items:center;justify-content:center}.verse-reference svg{width:14px;height:14px}.verse-gap{text-align:center;color:var(--muted);font:20px var(--serif);margin:16px 0}.passage-navigation{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:35px;padding-top:18px;gap:12px}.passage-navigation button{display:flex;align-items:center;gap:7px;font-size:11px;padding:9px 0;color:var(--green)}.passage-navigation svg{width:15px}.reader-key{margin:28px 0 10px;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px 22px;color:var(--muted);font-size:9px}.reader-key>span{display:flex;align-items:center;gap:6px}.reader-key svg{width:13px;height:13px}.note-key{font:italic 15px var(--serif);color:var(--red)}.reader-key p{width:100%;text-align:center;font-size:10px}.site-footer{margin-top:64px;border-top:1px solid var(--line);display:flex;gap:16px;align-items:center;padding:22px 6px 28px;color:var(--muted)}.site-footer>span{font:22px var(--serif);color:var(--green)}.site-footer p{font-size:10px}.site-footer button{margin-left:auto;font-size:10px}.loading-message{text-align:center;padding:70px 10px;color:var(--muted);font-family:var(--serif);font-size:22px}.loading-message p{margin:18px 0}.error-message{text-align:center;padding:35px 15px}.error-message h2{margin-bottom:15px}.error-message p{color:var(--muted)}
.study-dialog{width:min(590px,calc(100% - 40px));max-height:85dvh;border:1px solid #d8d8cb;border-radius:10px;background:var(--paper);color:var(--ink);padding:0;box-shadow:0 20px 100px #1b2b2940;overscroll-behavior:contain}.study-dialog::backdrop{background:#1d2b2548;backdrop-filter:blur(3px)}body:has(dialog[open]){overflow:hidden}.dialog-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:1px solid var(--line);padding:25px 26px 18px;position:sticky;top:0;background:var(--paper);z-index:2}.dialog-top h2{font-size:30px;margin-top:6px}.dialog-content{padding:23px 26px 30px}.dialog-top .eyebrow{font-size:9px;color:var(--red)}.dialog-verse{font:24px/1.5 var(--serif);padding-bottom:20px;color:var(--green)}.study-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:23px;gap:22px}.study-tabs button{padding:10px 0;font-size:11px;color:var(--muted)}.study-tabs button.active{border-bottom:2px solid var(--green);color:var(--green)}.study-tabs button small{font-size:9px;margin-left:6px;color:var(--muted)}.commentary-note+.commentary-note{border-top:1px solid var(--line);padding-top:24px;margin-top:24px}.note-heading{display:flex;align-items:center;gap:10px;margin-bottom:10px}.author-initial{width:30px;height:30px;border:1px solid #dacdbb;display:flex;align-items:center;justify-content:center;border-radius:50%;font:italic 21px var(--serif);color:var(--red)}.note-heading strong{font-size:11px;font-weight:600;display:block}.note-heading small{color:var(--muted);font-size:9px}.commentary-text{font:20px/1.6 var(--serif);white-space:pre-line}.inline-reference{font:inherit;color:var(--green);padding:0;display:inline;text-decoration:underline;text-decoration-color:#a6b4a0;text-underline-offset:3px}.excerpt-note,.help-text{font-size:10px;color:var(--muted);margin:15px 0;line-height:1.8}.dialog-actions{display:flex;gap:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.primary-button,.secondary-button{font-size:11px;border:1px solid var(--green);border-radius:4px;min-height:42px;padding:10px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.primary-button{background:var(--green);color:#fff}.primary-button:hover:not(:disabled){background:#3d6251;color:#fff}.secondary-button{border-color:var(--line)}.primary-button svg,.secondary-button svg{width:16px}.reference-card{display:block;text-align:left;border:1px solid var(--line);border-radius:5px;padding:16px;width:100%;margin-bottom:10px;background:var(--surface)}.reference-card:hover{border-color:#a4b59e}.reference-card strong{display:block;color:var(--green);font-size:12px;margin-bottom:7px}.reference-card p{font:18px/1.45 var(--serif);color:var(--ink)}.reference-card small{display:block;color:var(--muted);font-size:9px;margin-top:9px}.empty-state{text-align:center;padding:20px 10px;color:var(--muted)}.empty-state .ornament{margin-bottom:13px}.back-button{display:flex;align-items:center;gap:5px;color:var(--green);font-size:11px;margin-bottom:20px;padding:0}.back-button svg{width:15px}.search-form{display:flex;gap:8px}.search-input{width:100%;min-width:0;border:1px solid #b6c3b0;border-radius:4px;background:var(--surface);padding:12px;color:var(--ink)}.search-results{margin-top:20px}.search-summary{font-size:11px;color:var(--muted);margin-bottom:15px}.search-result{padding:14px 0;border-bottom:1px solid var(--line);display:block;width:100%;text-align:left}.search-result strong{font-size:11px;color:var(--green)}.search-result p{font:19px/1.45 var(--serif);margin-top:5px}.search-result mark{background:#e5dfbd;color:inherit}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 0;border-bottom:1px solid var(--line)}.settings-row label{font-size:12px}.settings-row p{font-size:10px;color:var(--muted);margin-top:4px}.font-controls{display:flex;gap:5px;align-items:center}.sources-copy{font-size:12px;line-height:1.8}.sources-copy h3{font-size:24px;margin:22px 0 7px}.sources-copy h3:first-child{margin-top:0}.sources-copy a{overflow-wrap:anywhere}.saved-row{display:flex;align-items:center;gap:12px}.saved-row>.search-result{flex:1}.saved-row>.icon-button{color:var(--muted)}.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);z-index:20;background:var(--green);color:white;font-size:12px;padding:12px 22px;border-radius:5px;box-shadow:0 4px 20px #263e2525;max-width:90%;text-align:center}.noscript{padding:25px;text-align:center}

@media(max-width:950px){.calendar-main{grid-template-columns:1fr 280px;gap:20px}.calendar-form h2{font-size:19px}.verse{padding-left:29px;padding-right:4px}.verse-number{left:-4px}}
@media(max-width:700px){:root{--reading-size:22px}.type-icon{font-size:21px}.calendar-top .text-button{font-size:9px}.calendar-label{gap:8px}.calendar-label .eyebrow{font-size:8px;letter-spacing:1.2px}.season-badge{font-size:8px}.calendar-main{display:flex;flex-direction:column;gap:17px;align-items:stretch;padding:15px 0}.day-description h2{font-size:27px}.date-label{font-size:10px}.day-description>.muted{font-size:9px}.calendar-picker{border-top:1px solid #d9dfd2;padding-top:10px}.week-heading{margin:0 0 3px}.week-day{padding:6px 0 7px;gap:4px}.week-day b{font-size:22px}.week-day span{font-size:8px}.calendar-forms{gap:7px;padding:10px 0}.calendar-form{padding:8px}.calendar-form h2{font-size:18px}.calendar-form .form-label{font-size:8px;letter-spacing:.2px;flex-wrap:wrap;gap:4px}.calendar-form p{font-size:8px}.reading-choice{padding:7px 6px;min-width:0}.reading-choice small{font-size:7px;letter-spacing:.6px}.reading-choice strong{font-size:10px}.reading-choice.active:after{display:none}.daily-readings{gap:5px;padding:8px 0}.verse{margin-bottom:12px;padding-left:27px;padding-right:0;line-height:1.6}.verse-number{font-size:9px;top:7px;left:-6px}.verse-note{width:23px;height:23px;font-size:15px}.verse-reference{height:30px;width:26px}.verse-tools{margin-left:5px}.passage-navigation{margin-top:28px;padding-top:12px}.passage-navigation button{font-size:10px}.reader-key{font-size:8px;gap:10px 14px;margin-top:24px}.reader-key p{font-size:9px}.site-footer{margin-top:40px;flex-wrap:wrap;gap:8px 12px;padding:19px 0 25px}.site-footer>span{font-size:22px}.site-footer p{font-size:8px}.site-footer button{font-size:9px}.study-dialog{width:100%;max-width:100%;max-height:88dvh;margin:auto 0 0;border-radius:15px 15px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom)}.dialog-top{padding:22px 20px 17px}.dialog-content{padding:20px 20px 28px}.dialog-top h2{font-size:28px}.dialog-verse{font-size:23px}.commentary-text{font-size:20px}.dialog-actions{flex-wrap:wrap}.dialog-actions>*{flex:1}.toast{bottom:20px}}
.verse-text{cursor:pointer;touch-action:manipulation}
.verse-text:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:2px}
.verse-actions{margin:0 0 18px;padding:0 0 18px;border-top:0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.verse-actions>button{flex:1;white-space:nowrap}
/* Subtle biblical group colors share the reader's parchment palette. */
.book-group-law{--group-ink:#62547e;--group-paper:#efeaf4}
.book-group-history{--group-ink:#805c3e;--group-paper:#f2eadf}
.book-group-wisdom{--group-ink:#45694e;--group-paper:#e9eee4}
.book-group-prophets{--group-ink:#86545e;--group-paper:#f2e7e8}
.book-group-gospels{--group-ink:#8a632a;--group-paper:#f5edda}
.book-group-epistles{--group-ink:#466677;--group-paper:#e8eef0}
.book-group-apocalypse{--group-ink:#77576d;--group-paper:#eee7ed}
.study-dialog[data-view=books]{width:min(660px,calc(100% - 40px))}
.book-legend{display:flex;flex-wrap:wrap;gap:7px 16px;margin-bottom:20px;color:var(--muted);font-size:10px}
.book-legend>span{display:inline-flex;align-items:center;gap:6px}
.book-legend i{width:7px;height:7px;border-radius:50%;background:var(--group-ink)}
.picker-section+.picker-section{margin-top:22px}
.picker-section h3{font:11px var(--sans);font-weight:600;color:var(--muted);margin-bottom:10px}
.book-grid,.picker-chapters{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.book-tile,.picker-chapter{min-width:0;min-height:46px;padding:8px 2px;border:1px solid #8c847718;border-radius:4px;font-size:13px;background:var(--group-paper,var(--surface));color:var(--group-ink,var(--green))}
.book-tile:hover:not(:disabled),.picker-chapter:hover:not(:disabled){border-color:var(--group-ink,var(--green));color:var(--group-ink,var(--green))}
.book-tile.current,.picker-chapter.current,.book-tile.current:hover,.picker-chapter.current:hover{background:var(--green);border-color:var(--green);color:var(--paper);box-shadow:0 0 0 2px var(--paper),0 0 0 3px #9aaa91}
@media(max-width:700px){.study-dialog[data-view=books]{width:100%}.book-grid,.picker-chapters{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.book-legend{gap:6px 12px;font-size:9px}.book-tile,.picker-chapter{min-height:44px;font-size:12px}}
@media(max-width:360px){.book-grid,.picker-chapters{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Two compact rows frame a single reading column. */
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.site-header{height:72px;max-width:980px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0;color:var(--green);font:30px/1 var(--serif);letter-spacing:-.4px;text-decoration:none}
.brand-mark{width:30px;height:38px;object-fit:contain}
.main-nav{display:flex;align-items:center;gap:5px}
.nav-button{display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;padding:8px;border-radius:5px;color:var(--green);cursor:pointer}
.nav-button svg{width:18px;height:18px}
.nav-button:hover,.site-menu[open]>.nav-button{background:var(--green-light)}
.site-menu{position:relative}
.site-menu>summary{list-style:none}
.site-menu>summary::-webkit-details-marker{display:none}
.site-menu>summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.menu-panel{position:absolute;right:0;top:calc(100% + 7px);z-index:5;width:218px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 28px #263e2518}
.menu-panel button{display:flex;align-items:center;gap:12px;padding:11px 12px;width:100%;min-height:44px;text-align:left;border-radius:3px;font-size:12px}
.menu-panel button:hover{background:var(--green-light)}
.menu-panel svg{width:18px;height:18px}
.menu-panel .type-icon{width:18px;font-size:21px;line-height:1}
.page-shell{max-width:980px;padding:0 28px;margin:0 auto}
.reading-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px;padding:8px 0}
.chapter-navigation{display:flex;align-items:center;min-width:0;gap:2px}
.chapter-navigation .icon-button{width:44px;height:44px}
.book-picker{display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;min-height:44px;padding:5px 12px;text-align:left;font:23px/1.2 var(--serif);color:var(--green);border-radius:4px}
.book-picker:hover{background:var(--green-light)}
.current-passage{display:flex;align-items:baseline;gap:6px;min-width:0}
#current-book{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#current-chapter{flex-shrink:0}
.calendar-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:54px;flex-shrink:0;padding:5px 12px;color:var(--green);border-radius:4px}
#mass-date{font:21px/1.2 var(--serif);white-space:nowrap}
.mass-readings-label{font-size:10px;letter-spacing:.8px}
.calendar-toggle:hover,.calendar-toggle[aria-expanded=true]{background:var(--green-light)}
.book-picker:active,.calendar-toggle:active{background:#dfe7da}
@media(hover:none){.book-picker,.calendar-toggle{background:var(--green-light)}.calendar-toggle[aria-expanded=true]{background:#dfe7da}}
.calendar{margin-top:12px;border:1px solid #dce1d5;border-radius:6px;background:#f0f2ea;overflow:hidden}
.calendar-content{padding:18px 22px 0}
.calendar-label{flex-wrap:wrap;gap:6px 12px}
.day-description h2{font-size:29px}
.reader-column{max-width:820px;min-width:0;margin:auto;padding-top:18px}
.reading-header{margin:0}
.chapter-summary{max-width:680px;margin:8px auto 26px;padding:0 18px;text-align:center;color:var(--muted)}
.chapter-summary p{font:italic 19px/1.5 var(--serif)}
.chapter-summary .summary-reference{font:10px var(--sans);letter-spacing:.5px;margin-bottom:7px;color:var(--green)}
.reading-context{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin:0 0 18px 38px;font-size:10px;color:var(--muted)}
.reading-context .form-tag{font-size:8px;font-weight:700;color:var(--green)}
.reading-context .form-tag.trad{color:var(--red)}
.reading-subtitle{color:var(--muted)}
@media(max-width:700px){
  .site-header{height:62px;padding:0 16px;gap:8px}
  .brand{font-size:27px;gap:7px}
  .brand-mark{width:26px;height:34px}
  .main-nav{gap:0}
  .page-shell{padding:0 16px}
  .reading-bar{min-height:70px;gap:8px}
  .chapter-navigation{gap:0}
  .book-picker{font-size:20px;padding:5px 10px}
  .calendar-toggle{padding:5px 8px}
  #mass-date{font-size:17px}
  .mass-readings-label{font-size:9px;letter-spacing:.2px}
  .reader-column{padding-top:18px}
  .chapter-summary{padding:0 8px;margin:5px auto 22px}
  .chapter-summary p{font-size:17px}
  .reading-context{margin:0 0 15px 27px;gap:6px 8px;font-size:9px}
  .calendar-content{padding:14px 14px 0}
  .calendar-label{align-items:flex-start;flex-direction:column}
  .day-description h2{font-size:26px}
}


@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
