:root{--bg:#faf7f0;--fg:#1a1714;--fg-soft:#3d3832;--fg-inverse:#fff;--muted:#8a8278;--accent:#9b3b2e;--ornament:#c4b89a;--rule:rgba(28,25,23,.12);--rule-light:rgba(28,25,23,.06);--pill-bg:rgba(28,25,23,.04);--pill-active:rgba(155,59,46,.08);--muted-bg:rgba(28,25,23,.06);--card:#fff;--surface-container:#f0ede5;--destructive:#dc3545;--success:#15803d;--badge-fixed:#2e6b4f;--badge-fixed-bg:rgba(46,107,79,.06);--badge-variable:#8b5e3c;--badge-variable-bg:rgba(139,94,60,.06);--badge-litany:#6b4c8a;--badge-litany-bg:rgba(107,76,138,.06);--badge-exclamation:#8a4c4c;--badge-exclamation-bg:rgba(138,76,76,.06);--badge-hymn:#4c6b8a;--badge-hymn-bg:rgba(76,107,138,.06);--badge-reading:#4c8a6b;--badge-reading-bg:rgba(76,138,107,.06);--badge-prayer:#8a7a4c;--badge-prayer-bg:rgba(138,122,76,.06);--badge-psalm:#6b8a4c;--badge-psalm-bg:rgba(107,138,76,.06);--badge-fr:#05a;--badge-fr-bg:rgba(0,85,170,.06);--badge-en:#a50;--badge-en-bg:rgba(170,85,0,.06);--font-heading:var(--font-display);--sidebar-w:240px;--topbar-h:64px;--controls-h:44px;--content-max-w:680px;--bottombar-h:56px;--font-scale:1;--reading-scale:1.5;--transition-fast:150ms ease;--transition-med:250ms ease;--transition-slow:400ms ease}*{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{display:none}body{font-family:var(--font-display),Georgia,serif;background:var(--bg);color:var(--fg);font-size:calc(1rem * var(--font-scale));line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.admin-layout,.admin-layout *{scrollbar-width:auto;-ms-overflow-style:auto}.admin-layout ::-webkit-scrollbar{display:auto}.admin-layout{font-family:var(--font-ui),sans-serif}.topbar{position:fixed;top:0;left:0;right:0;height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:var(--bg);border-bottom:1px solid var(--rule);z-index:100}.topbar-logo{font-family:var(--font-heading),Georgia,serif;font-size:2.5rem;font-weight:400;letter-spacing:.04em;color:var(--fg);text-decoration:none;line-height:1}.topbar-logo em{font-style:normal;color:var(--accent)!important;font-weight:400}.topbar-sep{color:var(--ornament);margin:0 12px}.topbar-sep,.topbar-title{font-size:1.25rem;line-height:1}.topbar-title{font-family:var(--font-display),Georgia,serif;color:var(--fg-soft);font-weight:500}.topbar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.topbar-brand{display:flex;align-items:baseline;gap:0}.sidebar{position:fixed;top:var(--topbar-h);left:0;width:var(--sidebar-w);height:calc(100vh - var(--topbar-h));border-right:1px solid var(--rule);padding:24px 0;overflow-y:auto;background:var(--bg)}.sidebar-label{font-family:var(--font-display),Georgia,serif;font-size:.7813rem;font-variant:small-caps;letter-spacing:.08em;color:var(--muted);padding:0 20px;margin-bottom:8px}.sidebar-item{display:flex;align-items:baseline;gap:8px;padding:6px 20px;cursor:pointer;transition:background var(--transition-fast);position:relative;text-decoration:none;color:var(--fg-soft)}.sidebar-item:hover{background:var(--pill-bg)}.sidebar-item.active{color:var(--accent);background:var(--pill-active)}.sidebar-item.active:before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:2px;background:var(--accent);border-radius:0 1px 1px 0}.sidebar-item-num{font-family:var(--font-ui),sans-serif;font-size:.7813rem;color:var(--muted);min-width:1.5em;text-align:right}.sidebar-item-text{font-family:var(--font-display),Georgia,serif;font-size:1.0938rem;line-height:1.3}.sidebar-divider{height:1px;background:var(--rule);margin:16px 20px}.sidebar-stats{padding:0 20px;display:flex;flex-direction:column;gap:4px}.sidebar-stat{font-family:var(--font-ui),sans-serif;font-size:.75rem;color:var(--muted)}.controls-bar{position:sticky;top:var(--topbar-h);height:var(--controls-h);display:flex;align-items:center;gap:12px;padding:0 24px;background:var(--bg);border-bottom:1px solid var(--rule-light);z-index:50}.pill-group{display:inline-flex;align-items:center;background:var(--pill-bg);padding:2px;gap:2px}.pill,.pill-group{border-radius:999px}.pill{font-family:var(--font-ui),sans-serif;font-size:.75rem;font-weight:500;padding:4px 12px;border:none;background:transparent;color:var(--muted);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.pill:hover{color:var(--fg-soft)}.pill.active{background:var(--bg);color:var(--fg);box-shadow:0 1px 2px rgba(0,0,0,.06)}.service-picker{position:relative}.service-picker-trigger{font-family:var(--font-ui),sans-serif;font-size:.8125rem;font-weight:500;color:var(--fg-soft);background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:6px;transition:background var(--transition-fast)}.service-picker-trigger:hover{background:var(--pill-bg)}.service-picker-trigger .arrow{font-size:.625rem;color:var(--muted);transition:transform var(--transition-fast)}.service-picker-trigger.open .arrow{transform:rotate(180deg)}.service-picker-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:240px;background:#fff;border:1px solid var(--rule);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.08);padding:4px;z-index:200;display:none}.service-picker-dropdown.open{display:block}.service-picker-group-label{font-family:var(--font-ui),sans-serif;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:8px 10px 4px}.service-picker-item{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;font-family:var(--font-ui),sans-serif;font-size:.8125rem;color:var(--fg-soft);border-radius:4px;cursor:pointer;transition:background var(--transition-fast)}.service-picker-item:hover{background:var(--pill-bg)}.service-picker-item.active{color:var(--accent)}.btn-assemble{font-family:var(--font-ui),sans-serif;font-size:.75rem;font-weight:600;padding:6px 18px;background:var(--fg);color:var(--bg);border:none;border-radius:100px;cursor:pointer;transition:background var(--transition-fast);margin-left:auto;letter-spacing:.02em}.btn-assemble:hover{background:var(--accent)}.btn-assemble:disabled{opacity:.5;cursor:not-allowed}.font-size-control{position:relative}.font-size-trigger{font-family:var(--font-display),Georgia,serif;font-size:.9375rem;font-weight:600;color:var(--fg-soft);background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background var(--transition-fast)}.font-size-trigger:hover{background:var(--pill-bg)}.font-size-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:140px;background:#fff;border:1px solid var(--rule);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.08);padding:4px;z-index:200;display:none}.font-size-dropdown.open{display:block}.font-size-option{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;font-family:var(--font-ui),sans-serif;font-size:.8125rem;color:var(--fg-soft);border-radius:4px;cursor:pointer;transition:background var(--transition-fast);border:none;background:none;width:100%;text-align:left}.font-size-option:hover{background:var(--pill-bg)}.font-size-option.active{color:var(--accent)}.font-size-option .dot{width:4px;height:4px;border-radius:50%;background:var(--accent)}.controls-bar .datepicker{width:auto;min-width:140px}.controls-bar .datepicker-trigger{font-size:.8125rem;padding:5px 10px;border-radius:6px}.controls-bar .datepicker-trigger .trigger-icon{color:var(--muted)}.controls-bar .datepicker-calendar{left:auto;right:0}.content-area{margin-left:var(--sidebar-w);padding-top:var(--topbar-h);min-height:100vh}.text-column{max-width:var(--content-max-w);margin:0 auto;padding:32px 24px 80px;font-size:calc(1rem * var(--reading-scale));line-height:1.85}.running-header{position:sticky;top:calc(var(--topbar-h) + var(--controls-h));font-family:var(--font-ui),sans-serif;font-size:.625rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:6px 0;border-bottom:1px solid var(--rule-light);background:var(--bg);z-index:40;display:flex;justify-content:space-between;opacity:0;transform:translateY(-4px);transition:opacity var(--transition-med),transform var(--transition-med);pointer-events:none}.running-header.visible{opacity:1;transform:translateY(0);pointer-events:auto}.title-block{text-align:center;margin-bottom:32px}.title-block h1{font-family:var(--font-heading),Georgia,serif;font-size:2rem;font-weight:400;color:var(--fg);margin:0 0 4px;line-height:1.2}.title-block .subtitle{font-family:var(--font-display),Georgia,serif;font-size:1.3281rem;font-weight:400;color:var(--fg-soft);line-height:1.3}.title-block .meta{font-family:var(--font-ui),sans-serif;font-size:.75rem;color:var(--muted);margin-top:8px}.divider{text-align:center;color:var(--ornament);font-size:.875rem;letter-spacing:.5em;margin:24px 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.divider-line{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--ornament);font-size:.75rem}.divider-line:after,.divider-line:before{content:"";flex:1;height:1px;background:var(--rule)}.section{margin-bottom:8px}.section-title{font-family:var(--font-heading),Georgia,serif;font-size:1.375rem;font-weight:400;text-align:center;color:var(--fg);margin:24px 0 12px;letter-spacing:.02em}.block-marker{float:right;font-family:var(--font-ui),sans-serif;font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:2px 6px;background:var(--pill-bg);border-radius:3px}.rubric{font-style:italic;color:var(--accent);font-size:.9em;margin:4px 0 8px;line-height:1.6}.lit-text{margin:4px 0}.lit-text p{margin:0 0 .5em}.lit-text p,.lit-text p+p{text-indent:0}.red-init:first-letter{font-family:var(--font-display),Georgia,serif;font-size:1.3em;color:var(--accent);font-weight:600;line-height:1;margin-right:.01em;float:none;vertical-align:baseline}.lection{border-left:2px solid var(--accent);padding-left:16px;margin:12px 0}.lection-ref{font-family:var(--font-ui),sans-serif;font-size:.6875rem;font-weight:500;color:var(--muted);margin-bottom:4px;display:flex;align-items:center;gap:8px}.lection-ref .zachalo{font-weight:400;color:var(--ornament)}.lection .incipit{font-style:italic;font-weight:600}.lection .paremia-label{font-family:var(--font-ui),sans-serif;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ornament);padding:1px 5px;background:var(--pill-bg);border-radius:3px}.progress-bar{position:fixed;top:0;left:0;height:2px;background:var(--accent);z-index:200;transition:width .1s linear}.content-error{color:var(--accent);font-size:.875rem;padding:12px 0}.content-error,.fallback-banner{font-family:var(--font-ui),sans-serif}.fallback-banner{background:hsl(var(--shad-muted));color:var(--muted);font-size:.8125rem;padding:8px 16px;border-radius:var(--radius-sm);margin-bottom:16px;border-left:3px solid var(--accent)}.content-empty{text-align:center;padding:80px 0}.content-empty h1{font-family:var(--font-heading),Georgia,serif;font-size:2rem;font-weight:400;color:var(--fg);margin:16px 0 8px}.content-empty p{font-family:var(--font-display),Georgia,serif;font-size:1.125rem;color:var(--muted);max-width:420px;margin:0 auto}.content-translated{color:var(--muted);font-size:.9em;margin-top:4px}.season-flags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 16px;justify-content:center}.season-flag{font-family:var(--font-ui),sans-serif;font-size:.6875rem;font-weight:500;padding:2px 8px;border-radius:999px;background:var(--pill-bg);color:var(--muted);white-space:nowrap}.season-flag--accent{background:var(--pill-active);color:var(--accent)}.sidebar-empty{padding:0 20px;font-size:.75rem}.mobile-toc-empty,.sidebar-empty{color:var(--muted);font-family:var(--font-ui),sans-serif}.mobile-toc-empty{font-size:.8125rem;padding:12px 0;text-align:center}.settings-column{flex-direction:column;align-items:stretch}.settings-column .settings-label{margin-bottom:8px}.btn-assemble-full{width:100%;margin-top:8px}.back-to-top{position:fixed;bottom:24px;right:24px;width:36px;height:36px;border-radius:50%;background:var(--bg);border:1px solid var(--rule);color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;box-shadow:0 2px 8px rgba(0,0,0,.06);opacity:0;transform:translateY(8px);transition:opacity var(--transition-med),transform var(--transition-med);z-index:90}.back-to-top.visible{opacity:1;transform:translateY(0)}.back-to-top:hover{border-color:var(--accent);color:var(--accent)}.mobile-content{display:none}.mobile-text-column{max-width:100%;padding:0 16px 80px;font-size:calc(.9375rem * var(--reading-scale));line-height:1.85}@media (max-width:768px){:root{--font-ui:var(--font-ui-mobile)}.mobile-content{display:block;padding-top:var(--topbar-h);padding-bottom:var(--bottombar-h)}:root{--topbar-h:50px;--sidebar-w:0px}.sidebar{display:none}.content-area{margin-left:0;padding-top:var(--topbar-h);padding-bottom:var(--bottombar-h)}.text-column{padding:20px 16px 80px;font-size:calc(.9375rem * var(--reading-scale))}.controls-bar{display:none}.topbar{display:none!important}.mobile-topbar{position:fixed;top:0;left:0;right:0;height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:var(--bg);border-bottom:1px solid var(--rule);z-index:100}.mobile-topbar .topbar-logo{font-size:1.5rem}.mobile-topbar-actions{display:flex;align-items:center;gap:6px}.bottom-bar{position:fixed;bottom:0;left:0;right:0;height:var(--bottombar-h);display:flex;align-items:center;justify-content:space-around;background:var(--bg);border-top:1px solid var(--rule);z-index:100}.bottom-action{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:8px 16px;color:var(--muted);transition:color var(--transition-fast)}.bottom-action:hover{color:var(--accent)}.bottom-action svg{width:22px;height:22px}.bottom-action-center{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:none;background:var(--pill-bg);color:var(--accent);font-size:1.125rem;font-weight:400;padding:0;cursor:pointer;transition:background var(--transition-fast);line-height:1}.bottom-action-center.active,.bottom-action-center:hover{background:var(--pill-active);color:var(--accent)}.bottom-sheet-overlay{position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:300;opacity:0;transition:opacity var(--transition-med);pointer-events:none}.bottom-sheet-overlay.open{opacity:1;pointer-events:auto}.bottom-sheet{position:fixed;bottom:0;left:0;right:0;max-height:70vh;background:var(--bg);border-top-left-radius:16px;border-top-right-radius:16px;box-shadow:0 -4px 24px rgba(0,0,0,.1);z-index:301;transform:translateY(100%);transition:transform var(--transition-slow);overflow-y:auto;padding:16px}.bottom-sheet.open{transform:translateY(0)}.bottom-sheet-handle{width:36px;height:4px;background:var(--rule);border-radius:2px;margin:0 auto 16px}.bottom-sheet-title{font-family:var(--font-heading),Georgia,serif;font-size:1.125rem;font-weight:400;color:var(--fg);margin-bottom:12px;text-align:center}.sheet-item{display:flex;align-items:baseline;gap:8px;padding:6px 0;cursor:pointer;transition:background var(--transition-fast);position:relative;text-decoration:none;color:var(--fg-soft);border:none;background:none;width:100%;text-align:left;font-family:var(--font-display),Georgia,serif;font-size:1.0938rem;line-height:1.3;justify-content:center}.sheet-item:hover{background:var(--pill-bg)}.sheet-item.active{color:var(--accent);background:none}.sheet-item.active:before{content:"\2726 ";font-size:.625rem;vertical-align:middle}.sheet-item.active:after{content:" \2726";font-size:.625rem;vertical-align:middle}.sheet-item-text{font-family:var(--font-display),Georgia,serif}.settings-group{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--rule-light)}.settings-label{font-family:var(--font-ui),sans-serif;font-size:.8125rem;color:var(--fg-soft)}.settings-group .inline-calendar{width:100%;max-width:320px;margin:0 auto;box-shadow:none;border:1px solid var(--rule-light)}.settings-group .inline-calendar .cal-day{width:34px;height:34px}.datepicker-modal-backdrop{position:fixed;inset:0;z-index:400;background:rgba(0,0,0,.32);opacity:0;transition:opacity .25s;pointer-events:none}.datepicker-modal-backdrop.open{opacity:1;pointer-events:auto}.datepicker-modal{position:fixed;bottom:0;left:0;right:0;z-index:401;background:var(--surface-container,var(--bg));border-top-left-radius:28px;border-top-right-radius:28px;box-shadow:0 -8px 32px rgba(0,0,0,.15);transform:translateY(100%);transition:transform .35s cubic-bezier(.32,.72,0,1);pointer-events:none;max-height:94vh;display:flex;flex-direction:column;overflow:hidden}.datepicker-modal.open{transform:translateY(0);pointer-events:auto}.datepicker-modal-header{padding:24px 24px 16px;flex-shrink:0}.datepicker-modal-headline{font-family:var(--font-heading),Georgia,serif;font-size:1.5rem;font-weight:500;color:var(--fg);line-height:1.2}.datepicker-modal-divider{height:1px;background:var(--rule-light);margin:0 24px;flex-shrink:0}.datepicker-modal-body{flex:1;overflow-y:auto;padding:16px 24px;display:flex;justify-content:center;-webkit-overflow-scrolling:touch}.datepicker-modal-body .cal-container{width:100%;max-width:336px}.datepicker-modal-body .cal-nav-btn{width:48px;height:48px;border-radius:12px}.datepicker-modal-body .cal-nav-btn svg{width:20px;height:20px}.datepicker-modal-body .cal-month-year{font-size:1.125rem;padding:8px 16px;border-radius:12px}.datepicker-modal-body .cal-day{width:48px;height:48px;border-radius:12px;font-size:.875rem}.datepicker-modal-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 24px 24px;flex-shrink:0}.datepicker-modal-actions{display:flex;gap:8px}.cal-cancel-btn{font-family:var(--font-ui),sans-serif;font-size:.8125rem;font-weight:500;padding:10px 16px;border-radius:12px;border:1px solid var(--rule);background:var(--bg);color:var(--fg-soft);cursor:pointer;transition:all .15s}.cal-cancel-btn:hover{border-color:var(--ornament);color:var(--fg)}.cal-confirm-btn{font-family:var(--font-ui),sans-serif;font-size:.8125rem;font-weight:500;padding:10px 20px;border-radius:12px;border:none;background:var(--accent);color:#fff;cursor:pointer;transition:all .15s}.cal-confirm-btn:hover{filter:brightness(1.08)}}@media (min-width:769px){.bottom-action-center,.bottom-bar,.bottom-sheet,.bottom-sheet-overlay,.mobile-content,.mobile-topbar,.settings-group,.settings-label,.sheet-item{display:none!important}}@media (max-width:768px){.content-area,.controls-bar,.sidebar,.topbar{display:none!important}}
/*# sourceMappingURL=8ec399d372811848.css.map*/