:root{--bg:#fff;--ink:#333;--accent:rgb(231,44,42);--muted:#666;--line:#d2cdcd;--panel:#f7eeee;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:17px system-ui,sans-serif}body.dark{--bg:#202020;--ink:#f3f0ee;--accent:rgb(231,44,42);--muted:#c1bcbc;--line:#625959;--panel:#3c2b2b;color-scheme:dark}header{padding:18px 16px;background:#564c4c;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:18px}header>div{display:flex;align-items:center;gap:10px;min-width:0;color:#f0d01a}.logo{width:40px;height:40px;object-fit:contain;flex-shrink:0}small{font-size:11px;opacity:.7;display:block;margin-left:0}button,input,select{font:inherit}button{min-height:44px;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:9px;padding:8px 12px;cursor:pointer}header button{background:transparent;color:#fff;border-color:#b6a9a9;font-size:13px}nav{display:flex;gap:6px;padding:12px 10px;justify-content:center}nav input{min-width:0;width:150px;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:6px}#tabs{display:flex;overflow-x:auto;gap:7px;padding:0 12px 12px}#tabs button{white-space:nowrap;font-size:14px}button[aria-pressed=true]{background:rgb(231,44,42);color:#fff;border-color:rgb(231,44,42)}main{max-width:860px;margin:auto;padding:22px 18px 70px}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--muted)}h1{font:36px Georgia,serif;margin:12px 0}#celebration{color:var(--muted);font-size:15px;line-height:1.5}#controls{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;background:var(--bg);padding:10px 0}#controls[data-active]{grid-template-columns:2fr 1fr}#controls button{font-size:15px;flex:1 1 0;min-width:0;background:#6f6f6f;color:#fff;border:1px solid #6f6f6f;border-radius:3px}#controls #pause{flex:2 1 0}#controls #stop{flex:1 1 0}#controls[data-active] button{border-color:var(--accent);color:var(--accent);background:var(--bg)}#status{font-size:13px;color:var(--muted);min-height:20px}article{font:21px/1.65 Georgia,serif;overflow-wrap:anywhere}h3{font:600 16px/1.4 system-ui;color:var(--accent);margin:30px 0 12px}h4{font-size:1em}.tc-liturgie-reference{font-size:13px;font-weight:normal}.tc-liturgie-signet{color:var(--accent)}.tc-liturgie-richtext p{margin:.4em 0}.tc-liturgie-preserve-lines{white-space:pre-line}.tc-liturgie-antienne{font-style:italic;margin:14px 0}.tc-liturgie-antienne>.tc-liturgie-richtext,.tc-liturgie-response>.tc-liturgie-richtext{display:inline}.tc-liturgie-response{margin:.5em 0}.tc-liturgie-confiteor{margin-bottom:2em}.spoken{background:var(--panel);outline:5px solid var(--panel);border-radius:3px}.tc-liturgie-initial{font-size:2.8em;line-height:1}footer{border-top:1px solid var(--line);padding-top:20px;margin-top:40px;color:var(--muted);font:12px system-ui}dialog{max-height:90vh;overflow:auto;max-width:480px;width:92%;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:15px;padding:22px}dialog::backdrop{background:#0008}dialog label{display:block;margin:18px 0;font-size:15px}input[type=range]{display:block;width:100%;accent-color:var(--accent)}select{padding:8px;max-width:100%}.hint{font-size:13px;line-height:1.5;color:var(--muted)}@media(orientation:landscape){main{max-width:100%;padding:18px 24px}}@media(max-width:360px){header{font-size:16px}nav button{padding:5px 8px}nav input{width:130px}}

[hidden]{display:none!important}button:disabled{opacity:.5;cursor:default}:is(button,input,select):focus-visible{outline:2px solid var(--accent);outline-offset:3px}#tabs button{background:#6f6f6f;color:#fff;border:0;border-radius:2px}#tabs button[aria-pressed=true]{background:rgb(231,44,42);color:#fff}#title{color:var(--accent)}

.spoken{background:transparent;outline:none}.spoken-word{background:#ffe4a8!important;color:#221c16!important;text-decoration-color:#221c16!important;outline:none;box-decoration-break:clone;-webkit-box-decoration-break:clone}u:has(.spoken-word){text-decoration-color:#221c16}
.prefs-heading{position:sticky;top:-22px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-22px -22px 12px;padding:12px 16px 12px 22px;background:var(--bg);border-bottom:1px solid var(--line)}.prefs-heading h2{margin:0;font-size:23px}.prefs-heading button{flex:0 0 44px;width:44px;height:44px;padding:0;border:0;font-size:30px;line-height:1}.prefs-separator{margin:24px 0 18px;border:0;border-top:1px solid var(--line)}.prefs-version{font-size:14px}.prefs-version button{display:block;width:100%;margin:8px 0;font-size:14px}

body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.install-hint{position:relative;margin:0 0 16px;padding:14px 48px 14px 14px;background:var(--panel);border:1px solid var(--line);border-radius:8px;font-size:14px;line-height:1.5}.install-hint button{position:absolute;right:2px;top:2px;border:0;background:transparent;font-size:26px;padding:0;width:40px}.prefs-version p{overflow-wrap:anywhere}#offlineState{min-height:1.5em}html{scroll-behavior:auto}@media(display-mode:standalone){#installHint{display:none}}

.micro-test-log{white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f4f4;color:#222;padding:1rem;border:1px solid #bbb;border-radius:6px;font-size:15px;line-height:1.5}
