:root{--petrol:#0e2f35;--petrol-2:#16454d;--vellum:#f2ece0;--vellum-edge:#e9e0cd;--gold:#b8923f;--gold-soft:#cdb079;--ink:#23201a;--ink-soft:#5b5446;--rubric:#9a2f22;--rule:#dccfb4;--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;--sans:ui-sans-serif,system-ui,"Segoe UI",Helvetica,Arial,sans-serif}*{box-sizing:border-box}body,html{margin:0}body{background:var(--vellum);color:var(--ink);font-family:var(--serif);line-height:1.55;-webkit-font-smoothing:antialiased}.wrap{max-width:720px;margin:0 auto;padding:0 20px 72px}.masthead{margin:0 -20px;padding:30px 20px 24px;background:linear-gradient(180deg,rgba(184,146,63,.28) 0,rgba(14,47,53,0) 62%),var(--petrol);color:var(--vellum);border-bottom:2px solid var(--gold);display:flex;align-items:center;gap:20px}.masthead-seal{width:76px;height:76px;flex:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}.masthead-text{min-width:0}@media (max-width:460px){.masthead{flex-direction:column;text-align:center;gap:12px}}.masthead-nav{margin-left:auto;flex:none;display:flex;flex-direction:column;gap:8px;align-items:stretch;text-align:center}.masthead-nav a{font-family:var(--sans);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-soft);text-decoration:none;white-space:nowrap;border:1px solid var(--gold);border-radius:3px;padding:7px 13px;transition:background .15s ease,color .15s ease}.masthead-nav a:hover{background:var(--gold);color:var(--petrol)}@media (max-width:460px){.masthead-nav{margin-left:0}}.trainer-page{display:flex;flex-direction:column;height:100dvh}.trainer-bar{flex:none;display:flex;align-items:center;gap:12px;padding:10px 18px;background:var(--petrol);color:var(--vellum);border-bottom:2px solid var(--gold)}.trainer-bar-seal{flex:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}.trainer-bar-title{font-family:var(--serif);font-weight:600;font-size:18px}.trainer-bar-back{margin-left:auto;font-family:var(--sans);font-size:13px;letter-spacing:.03em;color:var(--gold-soft);text-decoration:none;white-space:nowrap}.trainer-bar-back:hover{color:var(--vellum)}.trainer-frame{flex:1 1 auto;min-height:0;width:100%;border:0;display:block}.eyebrow{font-family:var(--sans);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-soft);margin:0 0 10px}.masthead h1{font-family:var(--serif);font-weight:600;font-size:31px;line-height:1.1;margin:0}.masthead .sub{font-style:italic;color:#d8cdb5;margin:7px 0 0;font-size:15px}.controls{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:flex-end;padding:20px 0 18px;border-bottom:1px solid var(--rule);margin-bottom:22px}.ctl label{display:block;font-family:var(--sans);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:7px}input[type=date],select{font-family:var(--serif);font-size:16px;color:var(--ink);background:#fff;border:1px solid var(--rule);border-radius:3px;padding:7px 9px}select{cursor:pointer;min-width:15rem}button.generate{font-family:var(--sans);font-size:13px;letter-spacing:.04em;padding:9px 18px;border:1px solid var(--petrol);border-radius:3px;background:var(--petrol);color:var(--gold-soft);cursor:pointer}button.generate:disabled{opacity:.5;cursor:default}.banner{font-family:var(--sans);font-size:12.5px;line-height:1.5;background:rgba(154,47,34,.07);border-left:2px solid var(--rubric);color:var(--rubric);padding:10px 12px;margin:0 0 22px;border-radius:0 4px 4px 0}.standing{display:grid;grid-template-columns:1fr 1fr;grid-gap:1px;gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:4px;overflow:hidden;margin-bottom:24px}.standing .cell{background:var(--vellum);padding:12px 14px}.standing .k{font-family:var(--sans);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 4px}.standing .v{font-size:16px;margin:0}.standing .v em{color:var(--gold);font-style:normal}.sec{font-family:var(--sans);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:24px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--rule)}.blk{margin:0 0 6px;padding:2px 0}.who{font-family:var(--sans);font-style:normal;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-right:6px}.prayer{font-size:16.5px}.rubric{color:var(--rubric);font-style:italic;font-size:14px}.proper{background:#fff;border:1px dashed var(--rule);border-radius:4px;padding:9px 12px;margin:8px 0;font-size:14.5px}.proper .tag{font-family:var(--sans);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--petrol-2);margin-right:8px}.proper .tone{color:var(--gold);font-weight:600}.why-toggle{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--petrol-2);background:none;border:1px solid var(--rule);border-radius:3px;padding:2px 7px;margin-left:8px;cursor:pointer;vertical-align:middle}.why,.why-toggle{font-family:var(--sans)}.why{font-size:13px;line-height:1.55;color:var(--ink-soft);background:rgba(184,146,63,.08);border-left:2px solid var(--gold-soft);padding:8px 12px;margin:6px 0 10px;border-radius:0 4px 4px 0}.why .pending{color:var(--rubric);font-style:italic}.why .rule{display:block;margin-bottom:4px}footer{margin-top:34px;padding-top:16px;border-top:1px solid var(--rule);font-family:var(--sans);font-size:12px;color:var(--ink-soft);line-height:1.7}.toolbar{display:flex;justify-content:flex-end;margin:0 0 18px}button.print{font-family:var(--sans);font-size:12px;letter-spacing:.06em;padding:7px 14px;border:1px solid var(--gold);border-radius:3px;background:#fff;color:var(--petrol);cursor:pointer}.booklet{background:#fff;border:1px solid var(--rule);border-radius:4px;padding:40px 44px}.cover{text-align:center;padding:20px 0 30px;border-bottom:2px solid var(--gold);margin-bottom:30px}.cover-seal{display:block;width:150px;height:150px;margin:0 auto 20px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cover .svc-name{font-family:var(--serif);font-weight:600;font-size:34px;line-height:1.12;margin:0 0 6px;color:var(--petrol)}.cover .svc-sub{font-size:20px;font-style:italic;color:var(--gold);margin:0 0 18px}.cover .svc-form{font-family:var(--sans);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 26px}.cover .svc-community p{margin:0;font-size:17px}.cover .svc-place{color:var(--ink-soft);font-style:italic}.cover .svc-review{font-family:var(--sans);font-size:11.5px;color:var(--rubric);margin:18px auto 0;max-width:26em;line-height:1.5}.cover .cov-rule{border:0;border-top:1.5px solid var(--gold);width:8rem;margin:22px auto}.cover .cov-date{font-size:16px;color:var(--petrol);margin:0}.cover .cov-tone{font-size:18px;color:var(--gold);letter-spacing:.1em;text-transform:uppercase;margin:8px 0 10px}.cover .cov-feast{font-size:16px;color:var(--ink);line-height:1.5;margin:0}.cover .cov-saints{font-size:13.5px;font-style:italic;color:var(--petrol);line-height:1.6;margin:8px 0 0}.preface{background:rgba(184,146,63,.06);border:1px solid var(--rule);border-radius:4px;padding:18px 22px;margin-bottom:30px}.preface h2{font-family:var(--sans);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0 0 12px}.preface ol,.preface p{margin:0 0 10px;font-size:15px;line-height:1.6}.preface ol{padding-left:22px}.preface li{margin-bottom:6px}.booklet .sec{font-family:var(--serif);font-weight:600;font-size:20px;letter-spacing:0;text-transform:none;color:var(--petrol);margin:30px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--gold-soft)}.booklet .prayer{font-size:16.5px;margin:0 0 10px}.booklet .prayer.response{font-weight:600}.booklet .hlabel{font-family:var(--sans);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--gold);font-weight:600}.rubric-line{color:var(--rubric);font-style:italic;font-size:14.5px;margin:6px 0}.booklet .proper{background:#faf7f0;border:1px dashed var(--rule);border-radius:4px;padding:9px 12px;margin:10px 0;font-size:16px}.booklet .proper.pending{color:var(--rubric);font-style:italic}.booklet .psalm{margin:0 0 12px}.booklet .pslabel{font-family:var(--sans);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--gold);font-weight:600;margin:0 0 6px}.booklet .psline{margin:0 0 4px;font-size:16px;line-height:1.5}.booklet .psline.alt{margin-left:1.8em;color:var(--petrol)}.booklet .who{font-weight:600;color:var(--petrol);margin-right:.4em}.booklet .prayer.response .who{color:var(--gold)}.verify-banner{font-family:var(--sans);font-weight:600;font-size:14px;text-align:center;background:rgba(154,47,34,.09);border:2px solid var(--rubric);color:var(--rubric);padding:12px;margin:12px 0;border-radius:4px}.credits{margin-top:36px;padding-top:18px;border-top:2px solid var(--gold)}.credits h2{font-family:var(--sans);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0 0 12px}.credits ul{margin:0 0 14px;padding-left:20px}.credits li{font-size:13px;color:var(--ink-soft);line-height:1.5;margin-bottom:5px}.credits-note{font-family:var(--sans);font-size:11.5px;color:var(--ink-soft);font-style:italic;line-height:1.55}@media print{body{background:#fff}.banner,.controls,.masthead,.toolbar{display:none!important}.wrap{max-width:none;padding:0}.booklet{border:none;border-radius:0;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cover{min-height:8in;display:flex;flex-direction:column;justify-content:center;page-break-after:always}.cover-seal{width:1.9in;height:1.9in}.credits{page-break-before:auto}.booklet .sec{page-break-after:avoid}.prayer,.preface li,.proper,.rubric-line{page-break-inside:avoid}}.booklet .hymn-head{font-family:var(--serif);font-style:italic;font-weight:400;font-size:15.5px;color:var(--gold);letter-spacing:.03em;margin:14px 0 5px;page-break-after:avoid}.booklet .verse{font-feature-settings:"smcp";font-variant:small-caps;letter-spacing:.03em;color:var(--petrol);font-size:14.5px;margin:9px 0 3px;page-break-inside:avoid}.booklet .verse.keep{page-break-after:avoid}