:root{--navy:#082e60;--ink:#182f4c;--muted:#536780;--paper:#f3f6fb;--line:#dce4ef;--blue:#c6ddff}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}button,a,input,select{ -webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #a67529;outline-offset:3px}a{color:inherit}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.15}h2{font-size:32px;margin:12px 0}.site-header{max-width:1320px;height:100px;margin:auto;padding:0 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.logo{width:245px;height:auto;display:block}.header-note{font-size:12px;color:var(--muted)}.quiet{background:white;border:1px solid var(--line);border-radius:7px;min-height:44px;padding:9px 16px;color:var(--navy)}.quiet:hover{background:#eaf1fc}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.5px}.accent{color:#b4072b}.welcome{display:grid;grid-template-columns:1.15fr 1fr;max-width:1224px;min-height:580px;margin:48px auto;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 16px 48px #082e6007}.welcome-story{position:relative;overflow:hidden;background:var(--navy);color:white;padding:64px 56px;isolation:isolate}.welcome-story .eyebrow{color:var(--blue)}.welcome h1{font-size:clamp(38px,4vw,56px);letter-spacing:-1px;margin:30px 0}.welcome h1 em{color:var(--blue)}.welcome-story p{color:#d8e5f7;max-width:340px;line-height:1.8}.story-rule{width:40px;height:1px;background:var(--blue);margin:40px 0 16px}.caption{font-size:10px;letter-spacing:1px}.arch{position:absolute;z-index:-1;right:-125px;bottom:-130px;border:1px solid #ffffff20;border-radius:220px 220px 0 0;width:380px;height:480px;transform:rotate(15deg);font:240px Georgia;text-align:center;color:#ffffff08}.login-panel{padding:64px 48px;background:white;display:flex;flex-direction:column;justify-content:center}.login-panel h2{font-size:36px;margin:20px 0 12px}.login-panel>p{color:var(--muted);margin-bottom:30px}label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}.password-wrap{display:flex;border:1px solid #b8c8de;border-radius:7px;overflow:hidden}.password-wrap input{border:0;min-width:0;width:100%;padding:14px;background:#f8faff}.password-wrap button{border:0;background:#f8faff;color:var(--navy);padding:0 16px;font-size:12px}.primary{display:flex;justify-content:space-between;width:100%;border:0;border-radius:7px;padding:14px 20px;background:var(--navy);color:white;margin-top:20px}.login-panel .login-help{font-size:12px;text-align:center;margin:24px 0 0}.error{padding:12px;background:#fff1eb;color:#9d3425;border-radius:6px}.reader{max-width:1224px;margin:32px auto}.hero{display:flex;align-items:center;justify-content:space-between;padding:36px 44px;background:var(--navy);color:white;border-radius:12px}.hero .eyebrow{color:var(--blue)}.hero h1{font-size:42px;margin:12px 0}.hero p{font-size:14px;color:#d8e5f7;margin:0}.hero-cross{font:80px Georgia;color:var(--blue)}.toolbar{display:flex;justify-content:space-between;align-items:center;margin:34px 0 20px;gap:16px}.filters{background:white;border:1px solid var(--line);border-radius:10px;padding:22px}.filter-top{display:grid;grid-template-columns:1fr 1fr auto;gap:20px;align-items:end}.filter-top input,.filter-top select{width:100%;min-height:46px;border:1px solid #b8c8de;border-radius:6px;background:#f8faff;color:var(--ink);padding:10px 12px}.filter-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--line);padding-top:18px;margin-top:20px;font-size:12px;color:var(--muted)}.view-toggle{display:flex;gap:4px}.view-toggle button{font-size:12px}.view-toggle [aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}fieldset{border:0;padding:18px 0 0;margin:0}legend{padding-top:20px;font-size:12px}#date-options{display:flex;flex-wrap:wrap;gap:8px;max-height:200px;overflow:auto;padding:4px}#date-options label{border:1px solid var(--line);padding:8px;border-radius:5px;margin:0;font-weight:400}#date-options input{accent-color:var(--navy);margin-right:8px}.date-nav{display:flex;align-items:center;justify-content:space-between;margin:22px 0;gap:8px}.date-nav span{font-size:12px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:20px}.service-card{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;align-self:start}.card-header{padding:20px 24px;background:#e8f0fc;border-bottom:1px solid var(--line)}.card-header h3{margin:4px 0;font:26px Georgia}.card-header span{font-size:11px;color:var(--muted)}.assignment{padding:16px 24px;border-bottom:1px solid #edf1f7}.assignment:last-child{border:0}.assignment dt{font-size:11px;color:var(--muted);margin-bottom:5px}.assignment dd{margin:0;white-space:pre-line;overflow-wrap:anywhere;font-weight:500}dl{margin:0}mark{background:#dcebc8;color:#233917;border-radius:3px;padding:1px 2px}.table-scroll{overflow:auto;max-height:70vh;background:white;border:1px solid var(--line);border-radius:10px}table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}th,td{padding:16px 20px;min-width:180px;max-width:320px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;white-space:pre-line;overflow-wrap:anywhere}thead th{position:sticky;top:0;background:#e8f0fc;z-index:2;font-size:12px}tbody th{position:sticky;left:0;background:white;z-index:1;font-weight:500;width:220px}thead th:first-child{left:0;z-index:3}tbody tr:nth-child(even) td,tbody tr:nth-child(even) th{background:#f8faff}.empty,.status{padding:30px;text-align:center;color:var(--muted)}.data-note{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);margin-top:20px}.text-button{background:transparent;border:0;color:var(--navy);min-height:44px}footer{max-width:1224px;margin:36px auto;padding:22px 0;border-top:1px solid var(--line);color:var(--muted);font-size:11px;display:flex;justify-content:space-between}footer a{text-decoration:none}.skip{position:fixed;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:12px}
@media(max-width:1280px){.reader,.welcome,footer{margin-left:32px;margin-right:32px}}
@media(max-width:700px){.site-header{height:80px;padding:0 20px}.logo{width:190px}.header-note{display:none}.welcome{grid-template-columns:1fr;margin:20px}.welcome-story,.login-panel{padding:32px}.welcome h1{font-size:38px}.story-rule,.caption{display:none}.reader{margin:20px 16px}.hero{padding:28px}.hero h1{font-size:34px}.hero-cross{display:none}.toolbar{margin-top:26px}.toolbar h2{font-size:27px}.toolbar>.quiet{font-size:12px;padding:8px 12px}.filter-top{grid-template-columns:1fr;gap:14px}.filter-top>#reset{justify-self:start}.filters{padding:18px}.filter-bottom{align-items:flex-start;flex-direction:column}.cards{grid-template-columns:1fr}.date-nav span{display:none}.date-nav .quiet{font-size:12px}.data-note{align-items:flex-start}.login-panel h2{font-size:32px}footer{margin:24px 20px}.table-scroll{max-height:65vh}th,td{min-width:150px;padding:12px}tbody th{min-width:135px;max-width:160px}}
@media print{body{background:white;font-size:11px}.site-header,footer,.filters,.date-nav,.data-note,#print,.skip{display:none!important}.reader{margin:0;max-width:none}.hero{background:white;color:black;padding:0;border-bottom:2px solid black;border-radius:0}.hero p,.hero .eyebrow{color:#444}.hero-cross{display:none}.hero h1{font-size:28px}.toolbar{margin:20px 0}.table-scroll{max-height:none;overflow:visible;border:0}th,td{min-width:0;padding:8px;font-size:10px;position:static!important}.cards{display:block}.service-card{break-inside:avoid;margin-bottom:18px}.assignment{padding:8px 16px}.card-header{padding:12px 16px}mark{font-weight:bold}}

/* Blend away the white JPEG backing while preserving the original church artwork. */
.logo{mix-blend-mode:multiply}
#custom-dates{margin-top:20px}#service-date{display:block;width:100%;max-width:320px;min-height:46px;border:1px solid #b8c8de;border-radius:6px;background:#f8faff;color:var(--ink);padding:10px 12px}#date-help{font-size:12px;color:var(--muted);margin:8px 0 0}

/* Keep text controls above the independently scrolling table. */
.table-panel{--table-font:13px;--header-font:12px;border:1px solid var(--line);border-radius:10px;background:white}
.font-tools{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:8px;padding:10px 14px;background:white;border-bottom:1px solid var(--line);border-radius:10px 10px 0 0;font-size:12px}
.font-tools>span{margin-right:auto}.font-tools .quiet{padding:8px 12px}.font-tools output{min-width:38px;text-align:center;font-variant-numeric:tabular-nums}
.table-panel .table-scroll{border:0;border-radius:0 0 10px 10px;max-height:calc(75dvh - 65px)}
.table-panel table{font-size:var(--table-font)}.table-panel thead th{font-size:var(--header-font)}
.table-panel[data-font-size="85"]{--table-font:11.05px;--header-font:10.2px}
.table-panel[data-font-size="100"]{--table-font:13px;--header-font:12px}
.table-panel[data-font-size="115"]{--table-font:14.95px;--header-font:13.8px}
.table-panel[data-font-size="130"]{--table-font:16.9px;--header-font:15.6px}
.table-panel[data-font-size="150"]{--table-font:19.5px;--header-font:18px}
.table-panel[data-font-size="175"]{--table-font:22.75px;--header-font:21px}
.table-panel[data-font-size="200"]{--table-font:26px;--header-font:24px}
@media(max-width:380px){.font-tools{padding:8px;gap:5px}.font-tools .quiet{padding:8px 10px}.font-tools>span{font-size:11px}}
@media print{.font-tools{display:none!important}.table-panel{border:0}.table-panel .table-scroll{max-height:none;overflow:visible}.table-panel th,.table-panel td{font-size:var(--table-font)}.table-panel thead th{font-size:var(--header-font)}}

#cards-panel{--card-scale:1}#cards-panel>.font-tools{border:1px solid var(--line);border-radius:10px;margin-bottom:16px}#cards-panel .assignment dd,#cards-panel .empty{font-size:calc(15px * var(--card-scale))}#cards-panel .assignment dt,#cards-panel .card-header span{font-size:calc(11px * var(--card-scale))}#cards-panel .card-header h3{font-size:calc(26px * var(--card-scale));overflow-wrap:anywhere}
#cards-panel[data-font-size="85"]{--card-scale:0.85}
#cards-panel[data-font-size="100"]{--card-scale:1}
#cards-panel[data-font-size="115"]{--card-scale:1.15}
#cards-panel[data-font-size="130"]{--card-scale:1.3}
#cards-panel[data-font-size="150"]{--card-scale:1.5}
#cards-panel[data-font-size="175"]{--card-scale:1.75}
#cards-panel[data-font-size="200"]{--card-scale:2}
