/* Quiet Byzantine-inspired identity. Gold is ornament, never low-contrast body text. */
:root{
 --paper:#f7f3eb;--surface:#fffdf8;--ink:#2f332a;--muted:#646b5a;
 --line:#d7d8c8;--accent:#46563d;--gold:#806337;--soft:#e9ecdf;
 --gilding:#a18a61;--accent-fill:#46563d;--on-accent:#fff8ed;--sidebar:#eeeee3;
 --shadow:0 8px 28px #382b1b07;
}
body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}
button,a,input,summary{touch-action:manipulation}
button,a,summary{transition:background-color .16s ease,border-color .16s ease,color .16s ease}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,textarea:focus-visible,select:focus-visible{
 outline:2px solid var(--accent);outline-offset:4px;
}
.topbar{background:var(--surface);border-bottom:1px solid var(--line);box-shadow:inset 0 3px var(--accent-fill)}
.brand{color:var(--accent);gap:14px;letter-spacing:-.03em;font-size:28px}
.byzantine-cross{width:30px;height:42px;display:block;flex:none;color:var(--accent)}
.brand small{color:var(--gold);font-size:8px;letter-spacing:.2em;margin-top:9px}
.loading>.byzantine-cross{width:38px;height:52px;margin:auto}
#search-form{background:var(--paper);border-color:var(--line);border-radius:4px;max-width:600px}
#search-form:focus-within{outline:2px solid var(--accent);outline-offset:2px}
#search-form input{font-size:14px}
.icon-button{border-radius:4px;color:var(--muted)}
.icon-button:hover{color:var(--accent);background:var(--soft)}
#sidebar{background:var(--sidebar);border-color:var(--line)}
#sidebar .tabs{padding:0 20px;gap:16px}
#sidebar .tabs button{letter-spacing:.02em;min-height:58px}
#sidebar .tabs button.active{border-bottom-color:var(--accent)}
.panel-content{padding:24px 20px}
.toc-filter{background:var(--surface);border-color:var(--line);border-radius:4px;padding:12px}
#sidebar summary{padding:13px 0;font-weight:500;color:var(--ink);letter-spacing:.015em}
#sidebar summary:before{color:var(--gold)}
#sidebar .toc-item{border-radius:0 4px 4px 0;color:var(--muted)}
#sidebar .toc-item:hover,#sidebar .toc-item.current{color:var(--accent);background:var(--surface)}
#sidebar .toc-item.current{border-left-color:var(--gilding)}
.sidebar-bottom{padding:14px 20px;background:var(--sidebar)}
.sidebar-bottom a{display:flex;align-items:center;justify-content:space-between;min-height:38px;width:100%;font-size:12px;color:var(--muted)}
.sidebar-bottom a:hover{color:var(--accent)}
.plain-home,.day-page{max-width:900px}
.plain-home>h1{font-size:40px;font-weight:400;letter-spacing:-.035em;line-height:1.2;margin:2px 0 28px;color:var(--ink)}
.plain-home>h1:after{content:'';display:block;width:38px;height:2px;background:var(--gilding);margin-top:20px}
.day-navigation{max-width:100%;gap:16px;margin-bottom:32px}
.day-navigation .secondary{position:relative;border-radius:5px;padding:22px 24px;gap:8px;min-height:112px;box-shadow:var(--shadow)}
.day-navigation strong{font-size:27px;font-weight:400}
.day-navigation .secondary small{font-size:13px;letter-spacing:.02em}
.day-navigation [data-relative-day="0"],.theme-dark .day-navigation [data-relative-day="0"]{background:var(--accent-fill);color:var(--on-accent);border-color:var(--accent-fill)}
.day-navigation [data-relative-day="0"]:before{content:'';position:absolute;left:0;top:20px;bottom:20px;width:3px;background:var(--gilding)}
.day-navigation [data-relative-day="1"]{border-color:var(--gilding);background:var(--surface)}
.day-navigation [data-relative-day="1"] strong{color:var(--accent)}
.day-navigation .secondary:hover{border-color:var(--accent);box-shadow:0 6px 20px #382b1b0e}
.day-navigation [data-relative-day="0"]:hover{background:#536448;border-color:#536448}
.day-cta{font-size:12px;letter-spacing:.015em;margin-top:9px}
.day-navigation label{margin-top:0;gap:12px}
.day-navigation input{border-radius:4px;background:var(--surface);font-size:13px}
.contents-heading{padding-top:25px;margin-bottom:18px;border-color:var(--line)}
.contents-heading h2{font-size:25px;font-weight:400}
.contents-heading button{font-size:12px}
#home-filter{border-radius:4px;font-size:14px;padding:14px 16px;box-shadow:none}
.month-strip{gap:2px;margin:12px 0 24px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.month-strip button{border-radius:3px;background:transparent;color:var(--muted);font-size:12px;min-height:42px}
.month-strip button:hover,.month-strip button:focus-visible{background:var(--soft);color:var(--accent)}
.contents-group{border-radius:4px;margin-bottom:8px;background:transparent;border-color:var(--line);box-shadow:none}
.contents-group>summary{padding:19px 22px;font-size:20px;color:var(--ink)}
.contents-group>summary:before{color:var(--gold);font:22px/1 Book,serif}
.contents-group>summary small{font-size:11px;min-width:24px;text-align:center;color:var(--muted)}
.contents-group>summary:hover{background:var(--soft)}
.contents-group[open]{background:var(--surface);border-left:3px solid var(--gilding);box-shadow:var(--shadow)}
.contents-group[open]>summary{color:var(--accent)}
.contents-group>div{padding:0 22px 14px}
.contents-group .toc-item{padding:14px 4px;border-radius:0;font-size:14px;line-height:1.6}
.contents-group .toc-item:hover{background:var(--paper);color:var(--accent)}
.day-page>h1{font-size:28px;font-weight:400;color:var(--ink)}
.daily-service,.theme-dark .daily-service{background:var(--accent-fill);color:var(--on-accent);border-radius:5px;padding:28px 30px;border-top:2px solid var(--gilding);box-shadow:var(--shadow)}
.daily-service .service-kicker{color:var(--on-accent);opacity:.85;font-size:10px;letter-spacing:.16em}
.day-page .daily-service h2{font-size:32px;font-weight:400;margin-bottom:24px}
.service-link{border-radius:4px;padding:20px 22px;box-shadow:none}
.service-link>span{font-size:23px;line-height:1.5}
.service-link small{font-size:12px;letter-spacing:.02em}
.service-link:hover{border-color:var(--gilding)}
.service-link:focus-visible{outline-color:var(--on-accent)}
.service-note{opacity:.87;font-size:12px}
.day-page>.day-navigation .secondary{min-height:72px;border-radius:4px;padding:15px 20px;box-shadow:none}
.day-page>.day-navigation strong{font-size:20px}
.day-references{border-radius:4px;border-color:var(--line);background:var(--surface)}
.day-references h2{font-weight:400;font-size:22px}
.day-months>summary{font-size:21px}
.reader-top{border-bottom-color:var(--line)}
.reader-top .breadcrumb{color:var(--muted);letter-spacing:.025em}
.reader-actions button{border-radius:4px;color:var(--muted);background:transparent;border-color:var(--line)}
.reader-actions button:hover{color:var(--accent);background:var(--surface)}
.book h1,.book h2,.book .rubric{color:var(--accent)}
.book h2{letter-spacing:.015em}
.reading-end{border-color:var(--line);padding-top:24px}
.reading-end button{border-radius:4px;padding:18px 20px;background:var(--surface)}
.reading-end button:hover{border-color:var(--gilding)}
.reading-end small{color:var(--gold);font-size:11px;margin-bottom:6px}
.location-line{color:var(--muted);font-size:11px}
.result small{color:var(--gold);font-size:11px;letter-spacing:.05em}
.result h2{font-weight:400;font-size:22px}
.result p{color:var(--muted)}
mark{background:#e9d8b4;color:#382c1f;border-radius:2px}
dialog{border-radius:6px;border-top:3px solid var(--gilding);padding:28px;box-shadow:0 24px 80px #21191633}
dialog::backdrop{background:#29201966;backdrop-filter:blur(2px)}
.theme-options button{border-radius:4px;min-height:48px;flex:1;padding:12px}
.theme-options button.selected{outline:2px solid var(--accent);background:var(--soft)}
.primary,.theme-dark .primary{border-radius:4px;background:var(--accent-fill);color:var(--on-accent)}
.secondary{border-radius:4px}
.theme-light{--paper:#fff;--surface:#fff;--sidebar:#f8f6f1;--soft:#f3eee5}
.theme-dark{--paper:#22251f;--surface:#2b2f28;--ink:#ede5d9;--muted:#b9c0b0;--line:#495044;--accent:#c2cfae;--gold:#ceb783;--soft:#363d30;--gilding:#b69a6d;--accent-fill:#3b4b35;--on-accent:#fff8ed;--sidebar:#262a23;--shadow:none}
.theme-dark .brand{color:var(--ink)}
.theme-dark .daily-service .service-link{background:var(--surface);color:var(--ink)}
.theme-dark .day-navigation [data-relative-day="0"]:hover{background:#4c5e40;border-color:#4c5e40}
.theme-dark mark{background:#69532d;color:#fff8ed}
@media(max-width:900px){
 .topbar{padding:8px 16px;gap:6px 8px}
 .topbar .brand{font-size:25px;gap:10px}
 .byzantine-cross{width:24px;height:34px}
 .brand small{display:none}
 .topbar #search-form{border-radius:4px;background:var(--paper)}
 #main{padding:30px 20px 60px}
 .plain-home>h1{font-size:34px;margin-bottom:24px}
 .plain-home>h1:after{margin-top:16px;width:30px}
 .day-navigation{gap:10px}
 .day-navigation .secondary{padding:18px 17px;min-height:112px}
 .day-navigation strong{font-size:24px}
 .day-cta{font-size:11px;letter-spacing:0}
 .day-navigation label{gap:10px}
 .contents-heading h2{font-size:23px}
 .contents-group>summary{padding:17px 16px;font-size:19px}
 .contents-group>div{padding:0 16px 10px}
 .daily-service,.theme-dark .daily-service{padding:24px 20px}
 .day-page .daily-service h2{font-size:28px;margin-bottom:20px}
 .day-page>h1{font-size:23px}
 .service-link{padding:16px}.service-link>span{font-size:21px}
 .reading-end button{padding:14px 12px}
 .theme-options{gap:8px}
}
@media(max-width:360px){#main{padding-right:16px;padding-left:16px}.day-navigation .secondary{padding:16px 12px}.day-cta{font-size:10px}.plain-home>h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){button,a,summary{transition:none}html{scroll-behavior:auto}}
@media print{
 :root,body.theme-dark,body.theme-light{--paper:#fff;--surface:#fff;--ink:#000;--muted:#333;--accent:#000;--gold:#333;--line:#aaa;--soft:#fff}
 body{background:#fff!important;color:#000!important}
 .daily-service,.theme-dark .daily-service{background:#fff!important;color:#000!important;box-shadow:none;border:1px solid #888}
 .daily-service .service-kicker{color:#000}.service-note{opacity:1}
 .service-link,.theme-dark .daily-service .service-link{background:#fff!important;color:#000!important}
 .plain-home>h1:after{display:none}
}
