/* Self-hosted fonts (SIL OFL 1.1, unmodified; licenses in /churches/fonts/*-OFL.txt) */
@font-face{font-family:Andika;src:url(/churches/fonts/Andika-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Andika;src:url(/churches/fonts/Andika-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Fredoka;src:url(/churches/fonts/Fredoka-Variable.ttf) format("truetype");font-weight:300 700;font-style:normal;font-display:swap}
/* For Churches section */
.ch-main{max-width:1000px}
.ch-hero{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow);margin-bottom:8px}
.ch-hero h1,.ch-main>h1{margin:.1em 0 .3em;font-size:clamp(1.5rem,4.5vw,2.1rem);letter-spacing:-.02em}
.ch-kicker,.ws-kicker{margin:0;color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem}
.ch-start{margin:14px 0 0}.ch-h2{margin:28px 0 12px;font-size:1.25rem}.small{font-size:.85rem}
.crumbs{font-size:.88rem;color:var(--muted);margin:0 0 8px}.crumbs a{color:var(--accent);font-weight:600}
.book-grid,.chap-grid,.lvl-grid{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.book-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.book-grid a,.lvl-grid a{display:flex;flex-direction:column;gap:2px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow);min-height:44px;transition:transform .15s}
.book-grid a:hover,.lvl-grid a:hover{transform:translateY(-2px);border-color:var(--accent)}
.book-grid .muted{font-size:.85rem}.ready{align-self:flex-start;margin-top:4px;font-size:.72rem;font-weight:700;background:var(--accent);color:#fff;border-radius:999px;padding:2px 8px}
[data-theme=dark] .ready{color:#042f2e}
.chap-grid{grid-template-columns:repeat(auto-fill,minmax(52px,1fr))}
.chap-grid a{display:grid;place-items:center;height:48px;border-radius:10px;border:1px solid var(--line);background:var(--card);font-weight:700}
.chap-grid a.on{background:var(--accent);border-color:var(--accent);color:#fff}[data-theme=dark] .chap-grid a.on{color:#042f2e}
.chap-grid a.soon{color:var(--muted)}
.lvl-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.lvl-grid .go{margin-top:6px;color:var(--accent);font-weight:700;font-size:.9rem}
.key-verse{margin:16px 0;padding:12px 16px;border-left:4px solid var(--accent);background:var(--card);border-radius:8px;font-size:1.05rem}
.vref{font-style:normal;font-size:.85em;font-weight:700;color:var(--muted)}
.soon-box{background:var(--card);border:1px dashed var(--line);border-radius:12px;padding:18px;margin:16px 0}
.pn{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.pn a{color:var(--accent);font-weight:700}
.tr-switch{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;margin:10px 0;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--chip)}
.tr-lbl{font-size:.85rem;font-weight:700;padding:0 6px 0 8px;color:var(--muted)}
.tr-switch button{border:0;background:transparent;color:var(--text);font-weight:700;font-size:.9rem;padding:8px 14px;border-radius:999px;cursor:pointer;min-height:36px}
.tr-switch button[aria-pressed=true]{background:var(--accent);color:#fff}[data-theme=dark] .tr-switch button[aria-pressed=true]{color:#042f2e}
.ws-tools{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:14px}.print-btn{border:0;cursor:pointer;font:inherit}
/* ===== Worksheet (student sheets + answer key). Paper look in every theme: white, black ink, B&W-printer friendly.
   Fonts: Andika (built for early readers: single-story a and g) for text, Fredoka for friendly headings. ===== */
.sheet{word-break:normal;overflow-wrap:normal;--ink:#1a1a1a;--soft:#f3f1ec;--rule:#9a9a9a;background:#fff;color:var(--ink);max-width:8.5in;margin:0 auto 24px;padding:.55in .6in;border-radius:14px;box-shadow:var(--shadow);border:1px solid var(--line);font:16px/1.6 Andika,"Atkinson Hyperlegible","Avenir Next",system-ui,sans-serif}
.sheet h1,.sheet h2,.ws-kicker,.ws-name,.mword,.glabel,.num{font-family:Fredoka,"Baloo 2","Avenir Next Rounded","Arial Rounded MT Bold",system-ui,sans-serif}
.sheet .vref{color:#444;font-family:Andika,system-ui,sans-serif}
.ws-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap;padding:14px 18px;border:2.5px solid var(--ink);border-radius:18px;margin-bottom:10px}
.ws-head h1{margin:2px 0 0;font-weight:600;font-size:2rem;line-height:1.15;letter-spacing:0}
.sheet .ws-kicker{color:var(--ink);font-weight:600;letter-spacing:.08em;font-size:.8rem}
.ws-name{font-weight:500;font-size:1.05rem;display:flex;gap:8px;align-items:flex-end;min-width:240px}.ws-name i{flex:1;border-bottom:2px solid var(--ink);height:1.3em}
.ws-hello{margin:10px 2px 14px;font-size:1.1rem;padding:8px 14px;background:var(--soft);border-radius:12px}
.ws-sec{display:flex;align-items:center;gap:10px;font-weight:600;font-size:1.3rem;margin:22px 0 6px}
.num{display:inline-grid;place-items:center;width:1.6em;height:1.6em;border:2.5px solid var(--ink);border-radius:50%;font-size:.85em;flex:none}
.ws-instr{margin:2px 0 10px;font-size:1.05rem}
.ws-verse{font-size:1.15rem;margin:16px 0;padding:12px 18px;border:2px dashed var(--ink);border-radius:14px;line-height:1.55}.ws-verse.big{font-size:1.4rem;text-align:center}
.ws-note{font-size:.95rem;margin:10px 0 0}.sheet .ws-foot{word-break:normal;font-family:Andika,system-ui,sans-serif;margin:20px 0 0;font-size:.78rem;color:#555;border-top:1px solid #bbb;padding-top:6px}
.scene-wrap svg{width:100%;height:auto;max-height:6.6in;display:block;margin:auto}
.lines i{display:block;height:34px;border-bottom:1.5px solid var(--rule)}
.qs{padding-left:1.5em;margin:0}.qs li{margin:0 0 14px}.qs p{margin:0;font-weight:700}.reading p{margin:0 0 10px;font-size:1.1rem;line-height:1.65}
.lvl-2 .reading p,.lvl-3 .reading p{font-size:1.2rem;line-height:1.7}
.lvl-k,.lvl-1,.lvl-preschool{font-size:18px}
/* tracing: dotted-look outlined letters on handwriting lines */
.trace-words{display:flex;flex-wrap:wrap;gap:8px 28px}
.trace,.trace-verse{font:600 52px/1.3 Andika,"Arial Rounded MT Bold",system-ui,sans-serif;color:#fff;-webkit-text-stroke:1.4px #666;letter-spacing:.1em;border-bottom:2px solid var(--ink);background:linear-gradient(transparent 47%,#c8c8c8 47%,#c8c8c8 48.5%,transparent 48.5%)}
.trace-verse{font-size:32px;line-height:1.8;letter-spacing:.05em;margin-top:12px;background:repeating-linear-gradient(transparent 0 calc(1.8em - 2px),#000 calc(1.8em - 2px) 1.8em);border:0}
.lvl-1 .trace{font-size:44px}
.match{display:flex;flex-direction:column;gap:8px;margin-top:6px;padding:4px 10px}
.mrow{display:flex;justify-content:space-between;align-items:center}
.mword{display:flex;align-items:center;gap:14px;font-weight:600;font-size:1.5rem}
.mpic{display:flex;align-items:center;gap:16px}.dot{display:inline-block;width:14px;height:14px;border-radius:50%;background:#000}
.lvl-1 .mword{font-size:1.25rem}.sheet .ico{width:78px;height:78px}.lvl-1 .ico{width:68px;height:68px}
/* K-5 add-on: coloring box + Talk About It */
.ws-extra{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:18px;align-items:start;break-inside:avoid}
.mini-scene{border:2px solid var(--ink);border-radius:14px;padding:6px;background:#fff}
.mini-scene svg{width:100%;height:auto;max-height:2.9in;display:block;margin:auto}
.talk-q{margin:0;padding-left:1.2em}.talk-q li{margin:0 0 12px;font-size:1.05rem;line-height:1.45}
/* answer key document */
.keydoc .kgrade{margin:0 0 14px;padding:10px 16px;border:1.5px solid #888;border-radius:14px;break-inside:avoid}
.keydoc .ws-sec{margin:2px 0 6px;font-size:1.15rem}.glabel{border:2px solid var(--ink);border-radius:999px;padding:1px 12px;font-size:.85rem;font-weight:600}
.keydoc ol{margin:0;padding-left:1.4em}.keydoc li{margin:0 0 6px}.kq{display:block;color:#555;font-size:.92rem}
/* page UI around the sheets */
.tool-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.alt-link{font-weight:700;color:var(--accent);padding:10px 4px;min-height:44px;display:inline-flex;align-items:center}
.print-box{margin:22px 0}.print-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.popt{display:flex;flex-direction:column;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:var(--shadow)}
.plinks{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:4px}.dl{font-weight:700;color:var(--accent)}
.book-grid a.is-soon{opacity:.72;border-style:dashed}.soon-tag{align-self:flex-start;margin-top:4px;font-size:.72rem;font-weight:700;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:1px 8px}
.print-btn{border:0;cursor:pointer;font:inherit;background:var(--accent);color:#fff;border-radius:999px;padding:10px 20px;font-weight:700;min-height:44px}[data-theme=dark] .print-btn{color:#042f2e}
@media(max-width:640px){.sheet{padding:18px 14px;font-size:16px;border-radius:10px}.ws-head{padding:10px 12px}.ws-head h1{font-size:1.5rem}.trace{font-size:36px}.trace-verse{font-size:22px}.mword{font-size:1.1rem}.sheet .ico{width:60px;height:60px}.ws-name{min-width:100%}.ws-extra{grid-template-columns:1fr}}
@page{size:letter;margin:.45in}
@media print{
 html,body{background:#fff!important;color:#000!important}
 .top,.foot,.ws-tools,.tr-switch{display:none!important}
 main.ch-main{padding:0;max-width:none}
 .sheet{box-shadow:none;border:0;padding:0;margin:0;max-width:none;border-radius:0}
 .sheet+.sheet{break-before:page}
 .ws-sec{break-after:avoid}.qs li,.mrow,.memory,.ws-verse,.ws-extra,.kgrade{break-inside:avoid}
 .scene-wrap svg{max-height:5.5in}
 .lvl-preschool .scene-wrap svg{max-height:5in}.lvl-preschool .scene-wrap.long svg{max-height:4.1in}.lvl-preschool{font-size:15px}.lvl-preschool .ws-hello{margin:6px 2px 8px}.lvl-preschool .ws-verse.big{font-size:1.2rem;margin:10px 0;padding:8px 14px}.lvl-preschool .ws-foot{margin-top:8px}.lvl-preschool .ws-head{padding:8px 14px}
 *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
 /* K-3 fit on page 1-2 with room to write */
 .lvl-k .ws-sec,.lvl-1 .ws-sec,.lvl-2 .ws-sec,.lvl-3 .ws-sec{margin-top:14px}
 .lvl-2 .reading p,.lvl-3 .reading p{font-size:1.1rem;line-height:1.6}
 .mini-scene svg{max-height:2.6in}
}
/* Chapter page: grade pills (reuse main-site .chips/.chip look) + inline worksheet panels */
.grade-pills{max-width:none;margin:4px -16px 12px;padding:2px 16px 10px;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;overscroll-behavior-x:contain}
.grade-pills .chip{scroll-snap-align:start;min-height:44px}
.gpanels{margin-top:14px}.gp-link{margin:0 0 8px;text-align:right}.gp-link a{color:var(--accent);font-weight:600}
.gpanel[hidden]{display:none!important}
@media print{
 .ch-main:has(.gpanels)>:not(.gpanels){display:none!important}
 .gp-link{display:none!important}
}
/* Feed layout: book/chapter cards reuse the main site's .grid/.card/.thumb/.body/.tags styles */
.ch-main{max-width:1200px}
.ch-thumb{display:grid;place-items:center;background:#fff;padding:10px;border-bottom:1px solid var(--line)}
.ch-thumb svg{width:auto;height:100%;max-width:100%;display:block}
.ch-card .stretch{color:inherit;text-decoration:none}.ch-card .stretch::after{content:"";position:absolute;inset:0;z-index:1}
.ch-card .ch-pills{position:relative;z-index:2;margin:4px 0 0}.ch-card .ch-pills .chip{text-decoration:none}
.ch-card p{-webkit-line-clamp:1}
.ch-card.is-soon{opacity:.6;box-shadow:none}.ch-card.is-soon .thumb{background:var(--chip)}.ch-card.is-soon:hover{transform:none}
.ch-num{font:700 2.6rem/1 system-ui,sans-serif;color:var(--muted)}
.ch-feed{margin-bottom:12px}.ch-terms{margin:4px 0 10px}
[data-theme=dark] .ch-card:not(.is-soon) .ch-thumb{background:#fff}
.ch-thumb{aspect-ratio:16/7!important;height:auto}.ch-pills .chip.sm{padding:4px 10px;font-size:.8rem}
/* Full chapter reading card (main-site card look, readable type) */
.read-ch{margin:14px 0 22px}.read-ch .body{padding:18px 20px}
.read-h{margin:0 0 2px;font-size:1.35rem}.read-meta{margin:0 0 10px}
.read-text{list-style:none;margin:0;padding:0;font-size:1.08rem;line-height:1.75;max-width:72ch}
.read-text li{display:inline}.read-text .vn{font-size:.68em;font-weight:700;color:var(--accent);margin-left:.25em;vertical-align:super;line-height:0}
.fv-note{display:none;font-style:italic}.fvl.blank .fv-note{display:inline}
.read-more{display:none;margin-top:12px}.read-credit{margin:12px 0 0}
.read-ch.collapsible:not(.open) .fvl:nth-child(n+7){display:none}.read-ch.collapsible .read-more{display:inline-flex}
@media print{.read-ch .fvl{display:inline!important}.read-more{display:none!important}}
.text-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:8px 0}
@media print{.read-ch.full{box-shadow:none;border:0}.read-ch.full .read-text{font-size:12pt;max-width:none}.no-print,.text-tools{display:none!important}.read-ch.full .fvl{display:inline!important}}
.t-filter{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0 4px;padding:4px 0}
.t-pills{margin:0;padding:0;border:0}.t-search{flex:1 1 220px;max-width:360px}.t-search input{width:100%}
.t-help{margin:-6px 0 12px}.ch-card[hidden],.tsec[hidden]{display:none}
/* ===== Premium v2 sheet template (sheets only; black-and-white friendly) ===== */
.sheet.v2{border:3px solid var(--ink);border-radius:18px;outline:1.5px solid var(--ink);outline-offset:-9px;padding:22px 30px 18px}
.v2-top svg.motif,.v2-foot svg.motif{width:100%;height:18px;display:block}
.v2-top{margin:0 0 4px}.v2-ribbon{position:relative;max-width:640px;margin:6px auto 0;container-type:inline-size}
.v2-ribbon>svg{width:100%;height:auto;display:block}
/* Fit-to-box ribbon title: build.py sizes + line-breaks each title (fit_title) and sets the ribbon height; text scales with the ribbon width (cqi) so it stays inside the dashed rules at every size and in print. */
.v2-rtext{position:absolute;left:10.3%;right:10.3%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;--u:calc(100cqi/640)}
.v2-rtext .ws-kicker{margin:0;font:600 10.5px/1.2 Andika,system-ui,sans-serif;font-size:calc(10.5 * var(--u));letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.v2-rtext h1{margin:calc(1 * var(--u)) 0 0;font:600 24px/1.05 Fredoka,system-ui,sans-serif;font-size:calc(var(--fs) * var(--u));white-space:nowrap;letter-spacing:0;max-width:100%}
.v2-name{display:flex;gap:24px;margin:8px 0 6px;font:600 .95rem Andika,system-ui,sans-serif}.v2-name span{display:flex;flex:1;align-items:flex-end;gap:8px}.v2-name span:last-child{flex:.45}.v2-name i{flex:1;border-bottom:1.5px solid var(--ink);height:1.1em}
.v2-sec{display:flex;align-items:center;gap:10px;font:600 1.18rem/1.2 Fredoka,system-ui,sans-serif;margin:16px 0 6px;padding:3px 14px 3px 4px;border:2px solid var(--ink);border-radius:999px;width:max-content;max-width:100%;background:#fff}
.v2-sec .sico{flex:none;border:2px solid var(--ink);border-radius:50%;background:#fff;padding:2px}
.center{text-align:center}
.v2-scene{border:2.5px solid var(--ink);border-radius:16px;padding:4px;margin:4px 0 8px}
.findrow{border:2px dashed var(--ink);border-radius:14px;padding:6px 12px;margin:6px 0}.fr-k{margin:0 0 4px;font-weight:600;display:flex;gap:8px;align-items:center}
.fr-icons{display:flex;justify-content:space-around;flex-wrap:wrap;gap:6px}.fr-i{display:flex;flex-direction:column;align-items:center}.fr-i i{width:18px;height:18px;border:2px solid var(--ink);border-radius:4px;margin-top:2px}
.p-bottom{display:grid;grid-template-columns:1.15fr 1fr;gap:12px;align-items:stretch}.p-side{display:grid;gap:8px}
.mini .v2-sec{margin:0 0 4px;font-size:1rem}.mini p{margin:0;font-size:.92rem;line-height:1.4}
.vcard{position:relative;border:2.5px dashed var(--ink);border-radius:14px;padding:12px 16px 10px;background:#fff;break-inside:avoid;text-align:center}
.vcard .cut{position:absolute;top:-14px;left:14px;background:#fff;padding:0 4px;line-height:0}
.vc-k{margin:0;font:600 .8rem Fredoka,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.vc-v{margin:6px 0;font:500 1.12rem/1.5 Andika,system-ui,sans-serif}.vc-r{margin:0;font-weight:700}
.hw-words{display:flex;flex-wrap:wrap;gap:6px 22px}
.hw-word,.hw i{display:block;background:linear-gradient(#000,#000) top/100% 1.5px no-repeat,repeating-linear-gradient(90deg,#999 0 8px,transparent 8px 14px) 0 50%/100% 1.5px no-repeat,linear-gradient(#000,#000) bottom/100% 2px no-repeat}
.hw-word{padding:0 10px}.hw-word span{display:block;font:600 52px/64px Andika,"Arial Rounded MT Bold",system-ui,sans-serif;color:#fff;-webkit-text-stroke:1.4px #555;letter-spacing:.1em}
.lvl-1 .hw-word span{font-size:44px;line-height:56px}
.hw i{height:46px;margin:4px 0}
.v2tv{background:repeating-linear-gradient(transparent 0 calc(1.8em - 2px),#000 calc(1.8em - 2px) 1.8em),repeating-linear-gradient(transparent 0 .85em,#bbb .85em calc(.85em + 1px),transparent calc(.85em + 1px) 1.8em)!important}
.vref-line{margin:2px 0 0;text-align:right}
.picbox{display:inline-grid;place-items:center;border:2px solid var(--ink);border-radius:12px;padding:2px;background:#fff}.v2m .ico{width:64px;height:64px}
.v2-two{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;margin-top:10px;break-inside:avoid}
.mazebox{border:2px solid var(--ink);border-radius:12px;padding:6px}.mazebox svg{width:100%;height:auto;display:block}
.drawbox{border:2.5px solid var(--ink);border-radius:14px;min-height:2.3in;padding:8px 12px;background:#fff}.db-k{margin:0;display:flex;gap:8px;align-items:center;font-weight:600}
.v2-two .drawbox{min-height:2.1in}
.seq{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;break-inside:avoid}.seq.n7 .sq:nth-child(5){grid-column:auto}
.sq{border:2px solid var(--ink);border-radius:12px;padding:6px;text-align:center;position:relative;background:#fff}.sq p{margin:2px 0 0;font-size:.9rem;font-weight:600}
.sq-n{position:absolute;top:4px;left:4px;width:26px;height:26px;border:2px solid var(--ink);border-radius:50%}
.seq.write .sq{text-align:left}.seq.write .sq b{font-family:Fredoka,system-ui,sans-serif}.seq.write .ico{float:right;width:40px;height:40px}.seq.write .sq i{display:block;clear:both;border-bottom:1.5px solid var(--rule);height:26px}
.storybox{border:2px solid var(--ink);border-radius:14px;padding:10px 16px;background:#fff}.storybox p{margin:0 0 8px;font-size:1.12rem;line-height:1.6}.storybox p:last-child{margin:0}
.storybox.study p{font-size:1rem;line-height:1.55}
.v2q li{break-inside:avoid}
.bub{display:flex;flex-wrap:wrap;gap:10px 16px;margin:4px 0 0}.bub span{border:2px solid var(--ink);border-radius:999px;padding:3px 14px;font-size:1rem}
.wsgrid,.cwgrid{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;break-inside:avoid}.wsgrid svg{width:3.3in;height:auto}.cwgrid svg{width:3.6in;height:auto}
.v2-ws,.v2-cw,.v2-cloze{break-inside:avoid}
.wbank{list-style:none;padding:8px 12px;margin:0;border:2px solid var(--ink);border-radius:12px;columns:2;font:600 1rem Andika,system-ui,sans-serif}.wbank li{margin:0 0 4px}.wbank li::before{content:"\25A2  "}
.clues{font-size:.9rem}.clues p{margin:0 0 2px}.clues ol{margin:0 0 8px;padding-left:1.6em}.clues li{margin:0 0 3px}
.bank{display:flex;flex-wrap:wrap;gap:8px;border:2px solid var(--ink);border-radius:12px;padding:8px 12px;margin:0 0 6px}.bank span{border:1.5px dashed var(--ink);border-radius:8px;padding:1px 10px;font-weight:700}
.v2-cloze ol{margin:0;padding-left:1.5em}.v2-cloze li{margin:0 0 8px;line-height:1.7}
.blank{display:inline-block;min-width:1.4in;border-bottom:1.5px solid var(--ink);margin:0 4px}
.v2-bottom{display:grid;grid-template-columns:1fr 1.25fr;gap:14px;margin-top:12px;break-inside:avoid}
.v2-pray,.v2-home{border:2px solid var(--ink);border-radius:14px;padding:6px 12px 8px}.v2-pray .v2-sec,.v2-home .v2-sec{margin:0 0 4px;border:0;padding-left:0}
.v2-home ul{margin:0;padding-left:1.2em}.v2-home li{margin:0 0 4px;font-size:.95rem}.hm-k{margin:0 0 4px}.pr{line-height:1.8}
.v2-foot{margin-top:10px}.sheet.v2 .ws-foot{margin-top:4px}
.kthumbs,.kmatch,.kseq{display:flex;flex-wrap:wrap;gap:6px 14px;margin:6px 0}.kt{display:inline-flex;align-items:center;gap:4px;border:1px solid #999;border-radius:8px;padding:2px 6px}.kt .ico{width:34px;height:34px}
.kmaze svg{width:2.6in;height:auto}.kws svg,.kcw svg{width:2.4in;height:auto;margin-top:6px}
@media print{
 .sheet.v2{border:3px solid #000!important;border-radius:16px!important;padding:.2in .26in .12in!important;box-decoration-break:clone;-webkit-box-decoration-break:clone}
 .lvl-preschool.v2 .v2-scene svg{max-height:4.55in}.lvl-preschool.v2 .v2-scene.long svg{max-height:3.9in}
 .lvl-preschool.v2 .ws-foot{margin-top:2px}.lvl-preschool.v2 .v2-sec{font-size:1rem}
 .lvl-preschool.v2 .fr-i .ico{width:44px;height:44px}
}
/* v2 fit tuning */
.wsgrid svg{width:2.55in}.cwgrid svg{width:3.1in}
.lvl-1 .hw-word span{font-size:38px;line-height:50px}.lvl-k .hw-word span{font-size:46px;line-height:58px}
.v2-two .drawbox{min-height:1.55in}.v2m .ico{width:52px;height:52px}.v2m{gap:4px}
.seq .ico{width:44px;height:44px}.seq.write .ico{width:34px;height:34px}.seq.write .sq i{height:22px}
@media print{
 .lvl-preschool.v2 .v2-scene svg{max-height:3.95in}.lvl-preschool.v2 .v2-scene.long svg{max-height:3.4in}
 .lvl-preschool.v2 .v2-name{margin:4px 0 2px}.lvl-preschool.v2 .ws-instr{margin:2px 0 4px}
 .sheet.v2 .v2-sec{margin-top:10px}
 .sheet.v2 .lines i{height:30px}
}
@media print{.lvl-preschool.v2 .v2-scene svg{max-height:3.3in}.lvl-preschool.v2 .v2-scene.long svg{max-height:2.9in}.lvl-preschool.v2 .findrow{padding:4px 10px;margin:4px 0}}
.seq.write.n7{grid-template-columns:repeat(7,1fr);gap:5px}.seq.write.n7 .sq{padding:4px}.seq.write.n7 .ico{float:none;display:block;margin:2px auto}.seq.write.n7 .sq i{height:40px;border:0;background:repeating-linear-gradient(transparent 0 19px,#999 19px 20px)}
.wsgrid.one{grid-template-columns:1fr}.wsgrid.one svg{width:100%;max-width:2.7in}.wsgrid.one .wbank{columns:4;font-size:.85rem;padding:4px 8px}
.v2-bottom.stack{grid-template-columns:1fr;margin-top:10px}
.wsgrid.g3 svg{width:2.15in}
@media print{.lvl-3.v2 .storybox p{font-size:1.02rem;line-height:1.5;margin-bottom:5px}.lvl-3.v2 .lines i{height:27px}.lvl-3.v2 .qs li{margin-bottom:8px}.lvl-3.v2 .vcard{padding:8px 14px 6px}.lvl-3.v2 .vc-v{margin:3px 0}}
@media print{.lvl-3.v2 .v2-sec{margin:6px 0 4px}.lvl-3.v2 .ws-instr{margin:0 0 4px}.lvl-3.v2 .v2-bottom{margin-top:6px}.lvl-3.v2 .lines i{height:25px}.sheet.v2 .v2-foot{margin-top:6px}}
@media print{
 .lvl-preschool.v2{height:9.95in;display:flex!important;flex-direction:column;overflow:hidden;box-sizing:border-box}
 .lvl-preschool.v2 .v2-scene,.lvl-preschool.v2 .v2-scene.long{flex:1 1 0;min-height:1.6in;display:flex;align-items:center;justify-content:center}
 .lvl-preschool.v2 .v2-scene svg,.lvl-preschool.v2 .v2-scene.long svg{height:100%;max-height:none;width:auto;max-width:100%}
 .lvl-preschool.v2>*:not(.v2-scene){flex:none}
}
.p-mid{display:grid;grid-template-columns:1fr 1.25in;gap:10px;align-items:stretch}
.findrow.fcol{margin:4px 0 8px;display:flex;flex-direction:column}.fcol .fr-k{font-size:.82rem;flex-direction:column;text-align:center;gap:2px}.fcol .fr-icons{display:grid;grid-template-columns:1fr 1fr;gap:4px;flex:1;align-content:space-around}.fcol .ico{width:40px;height:40px}
@media print{
 .lvl-preschool.v2 .p-mid{flex:1 1 0;min-height:2in}
 .lvl-preschool.v2 .p-mid .v2-scene{height:auto;min-height:0;margin:4px 0 8px}
 .lvl-preschool.v2 .fcol .ico{width:38px;height:38px}
}
/* ===== Navigation & usability pass ===== */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;font-size:.92rem;margin:4px 0 10px}
.crumbs a{display:inline-flex;align-items:center;min-height:36px;text-decoration:none}.crumbs a:hover{text-decoration:underline}
.crumbs .sep{color:var(--muted)}.crumbs [aria-current]{color:var(--text);font-weight:600}
.howto-wrap{margin:6px 0 14px}.howto-k{margin:0 0 6px;font-weight:800;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.howto{list-style:none;margin:8px 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.howto li{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px 14px 6px 6px;font-size:.92rem;font-weight:600}
.hn{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;font-size:.82rem;font-weight:800;flex:none}[data-theme=dark] .hn{color:#042f2e}
.chap-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px 0 10px}
.chap-nav.at-bottom{margin:28px 0 8px;padding-top:16px;border-top:1px solid var(--line)}
.pn-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--accent);font-weight:700;text-decoration:none;white-space:nowrap;flex:none}
.pn-btn:hover{border-color:var(--accent)}.pn-btn.off{color:var(--muted);opacity:.45;cursor:default}
.chap-pick{flex:1 1 auto;display:flex;justify-content:center;min-width:0}
.chap-select{font:inherit;font-weight:700;min-height:44px;max-width:100%;padding:0 34px 0 14px;border:1px solid var(--line);border-radius:999px;background:var(--chip);color:var(--text);cursor:pointer}
.skip{margin:8px 0 0}.skip .chip{display:inline-flex;align-items:center;min-height:40px;text-decoration:none;color:var(--accent);font-weight:700}
#worksheets,#print-more,#books{scroll-margin-top:84px}
.grade-bar{position:sticky;top:var(--hdr,60px);z-index:5;margin:0 -16px;padding:8px 16px 4px;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.gb-k{margin:0 0 4px;font-weight:800;font-size:.85rem}
.grade-bar .grade-pills{margin:0 -16px;padding:2px 16px 8px}
.grade-pills .chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 40%,transparent)}
[data-theme=dark] .grade-pills .chip[aria-pressed=true]{color:#042f2e}
.grade-pills .chip[aria-pressed=true]::before{content:"✓ ";font-weight:800}
.act-bar{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin:14px 0 4px;padding:12px 14px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.act-bar .print-btn{font-size:1rem}.ab-key,.ab-more{font-weight:700;color:var(--accent);min-height:44px;display:inline-flex;align-items:center}.ab-more{font-weight:600;color:var(--muted)}
.jump{margin:4px 0 8px}.jump-h{margin-top:8px}
.chap-grid{grid-template-columns:repeat(auto-fill,minmax(54px,1fr));margin-top:8px}
.chap-grid a{text-decoration:none;color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.chap-grid a:hover{background:var(--accent);color:#fff}
.chap-grid a.soon{border-style:dashed;border-color:var(--line);opacity:.6;font-weight:500}.chap-grid a.soon:hover{background:var(--chip);color:var(--muted)}
.back-books{margin:18px 0 6px;font-weight:600}.back-books a{color:var(--accent)}
.tool-row .back-ch{color:var(--muted)}
.t-search input{min-height:44px;font-size:16px}
.t-pills .chip{min-height:44px}
.t-pills .chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}[data-theme=dark] .t-pills .chip[aria-pressed=true]{color:#042f2e}
.ch-main{overflow-wrap:break-word}
@media(max-width:640px){
 .pn-btn span{display:none}.pn-btn{padding:0 14px}
 .howto li{font-size:.86rem}
 .act-bar{flex-direction:column;align-items:stretch}.act-bar .print-btn{width:100%}.ab-key,.ab-more{justify-content:center}
 .tool-row{width:100%}.tool-row .print-btn{flex:1 1 100%}
 .t-search{max-width:none}
}
@media print{.chap-nav,.howto,.howto-wrap,.grade-bar,.act-bar,.back-books,.skip,.crumbs{display:none!important}}
/* ===== Fit + tap targets (all devices) ===== */
@media screen{
.ch-main{box-sizing:border-box;max-width:min(1200px,100%);overflow-wrap:anywhere}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;column-gap:2px}
.crumbs a,.crumbs [aria-current]{display:inline-flex;align-items:center;min-height:44px;padding:0 6px}
.crumbs a{min-width:44px;justify-content:center}
.tr-switch button{min-height:44px;min-width:48px}
.ch-main .chip,.ch-pills .chip.sm,.skip .chip,.pn a,.pn-btn,.gp-link a,.chap-grid a,.jump a,.dl,.read-more{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}
.ch-pills{flex-wrap:wrap;gap:6px}
.sheet{box-sizing:border-box;max-width:min(8.5in,100%)}
.sheet svg{max-width:100%}
.plinks a,.about-cta{min-height:44px;display:inline-flex;align-items:center;box-sizing:border-box}
}
@media screen and (max-width:700px){
 .sheet.v2{padding:14px 12px}
 .p-mid,.p-bottom,.v2-two,.v2-bottom,.wsgrid,.cwgrid,.ws-extra{grid-template-columns:minmax(0,1fr)!important}
 .wsgrid svg,.cwgrid svg,.wsgrid.g3 svg{width:100%;max-width:3.3in;margin:auto;display:block}
 .seq,.seq.write.n7{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .v2-sec{width:auto;flex-wrap:wrap}.v2-sec>span{min-width:0}
 .fcol .fr-icons{grid-template-columns:repeat(4,1fr)}
 .wbank{columns:2}.blank{min-width:5em}
 .hw-word span{font-size:34px!important;line-height:46px!important}
 .mrow{gap:8px}.mword{min-width:0;font-size:1.05rem}
 .chap-nav{flex-wrap:wrap}
}
@media screen and (max-width:380px){.v2-name{flex-direction:column;gap:6px}.wbank{columns:1}}
@media screen{
/* Section pills + story search */
.s-pills{margin:0;padding:2px 0 4px;flex-wrap:wrap;max-width:none}.s-pills .chip[hidden]{display:none}
.story-search{margin:14px 0}.story-search .ch-h2{margin:6px 0 8px}.story-search .search{max-width:560px}
.story-search input{min-height:48px;box-sizing:border-box}
.story-res:empty{display:none}.story-res{margin-top:10px}
.sr-k{margin:12px 0 6px;font-weight:800;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}
.sr-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}
.sr-list a{display:flex;flex-direction:column;gap:2px;min-height:44px;box-sizing:border-box;padding:10px 14px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);color:var(--text);text-decoration:none}
.sr-list a:hover{border-color:var(--accent)}.sr-list b{color:var(--accent)}.sr-list em{font-style:normal}
}

/* ===================================================================
   Premium polish layer (screen UI only; never touches .sheet worksheets).
   Tokens reuse the main site's palette (--accent, --card, --line, --chip, --muted).
   =================================================================== */
@media screen{
.ch-page{--r:16px;--r-sm:12px;--ease:cubic-bezier(.2,.7,.2,1);--sh-1:0 1px 2px rgba(15,23,42,.05),0 4px 14px rgba(15,23,42,.05);--sh-2:0 2px 4px rgba(15,23,42,.06),0 14px 34px rgba(15,23,42,.10);--ring:0 0 0 3px color-mix(in srgb,var(--accent) 35%,transparent)}
[data-theme=dark] .ch-page,[data-theme=dark].ch-page{--sh-1:0 1px 2px rgba(0,0,0,.4),0 6px 18px rgba(0,0,0,.3);--sh-2:0 4px 10px rgba(0,0,0,.45),0 18px 40px rgba(0,0,0,.4)}
.ch-main{max-width:1080px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));box-sizing:border-box}
.ch-main>*{min-width:0}
/* Typography hierarchy */
.ch-main>h1,.ch-main .head h1,.read-ch.full .read-h{font-size:clamp(1.75rem,1.2rem + 2.4vw,2.6rem);line-height:1.12;letter-spacing:-.025em;font-weight:800;text-wrap:balance;overflow-wrap:anywhere}
.ch-main .head{margin:clamp(12px,3vw,28px) 0 8px}
.ch-main .head p{max-width:62ch;line-height:1.6}
.ch-h2{font-size:clamp(1.12rem,1rem + .6vw,1.38rem);letter-spacing:-.015em;line-height:1.25;margin:clamp(26px,4vw,40px) 0 12px;text-wrap:balance}
.ch-h2 .muted{font-weight:600}
.ch-eyebrow{margin:0 0 8px;display:inline-flex;align-items:center;gap:8px;font-size:.74rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}
.ch-eyebrow::before{content:"";width:18px;height:2px;border-radius:2px;background:currentColor}
.ch-lede{font-size:clamp(1rem,.95rem + .3vw,1.12rem)}
.ch-stats{list-style:none;margin:18px 0 6px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:640px}
.ch-stats li{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);box-shadow:var(--sh-1)}
.ch-stats b{font-size:1.25rem;letter-spacing:-.02em;color:var(--text);line-height:1.1}
.ch-stats span{font-size:.78rem;color:var(--muted);font-weight:600}
@media (max-width:560px){.ch-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.crumbs{margin:clamp(12px,2.5vw,22px) 0 8px;display:flex;flex-wrap:wrap;align-items:center;gap:2px 4px}
.crumbs a{border-radius:6px;padding:2px 4px;margin:0 -4px}.crumbs a:hover{text-decoration:underline;text-underline-offset:3px}
/* Focus + transitions */
.ch-page a:focus-visible,.ch-page button:focus-visible,.ch-page select:focus-visible,.ch-page input:focus-visible,.ch-page summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:var(--ring)}
.ch-page .chip,.ch-page .pn-btn,.ch-page .about-cta,.ch-page .dl,.ch-page .chap-grid a,.ch-page .tr-switch button{transition:background-color .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease),box-shadow .18s var(--ease),transform .18s var(--ease)}
.ch-page .chip:hover:not([aria-pressed=true]):not([aria-selected=true]){border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--chip))}
.ch-page .chip:active{transform:scale(.97)}
@media (prefers-reduced-motion:reduce){.ch-page *{transition:none!important;animation:none!important}}
/* Verse of the Day */
.ch-main .votd{margin:18px 0 8px;padding:clamp(16px,3vw,24px) clamp(16px,3.5vw,28px);border-radius:var(--r);box-shadow:var(--sh-1);border-left:4px solid #b45309;overflow:hidden}
.ch-main .votd-k{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;background:color-mix(in srgb,#b45309 12%,transparent)}
.ch-main .votd blockquote{font-size:clamp(1.05rem,1rem + .35vw,1.22rem);line-height:1.6;margin:10px 0 12px;max-width:70ch;overflow-wrap:anywhere}
.ch-main .votd-f{row-gap:4px}.ch-main .votd .pw{margin-left:0}
@media (min-width:720px){.ch-main .votd .pw{margin-left:auto}}
/* How it works */
.howto-wrap{margin:22px 0 4px}
.howto{counter-reset:none;gap:10px}
.howto li{box-shadow:var(--sh-1);padding:7px 16px 7px 7px}
/* Story search + book finder panel */
.story-search,.book-finder{margin:24px 0 8px;padding:clamp(16px,3vw,24px);background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-1)}
.story-search .ch-h2,.book-finder .ch-h2{margin:0 0 4px}
.bf-head p{margin:0 0 12px}
.story-search .search,.t-search{max-width:none}
.ch-main .search input{min-height:48px;padding:12px 16px 12px 42px;background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23556274' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='8' cy='8' r='6'/%3E%3Cpath d='m13 13 4 4'/%3E%3C/svg%3E") no-repeat 15px 50%;transition:border-color .18s,box-shadow .18s}
.ch-main .search input:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}
.t-filter{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:0;padding:0}
.t-pills{display:inline-flex;justify-self:start;flex-wrap:wrap;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--chip);max-width:100%}
.t-pills .chip{border-color:transparent;background:transparent;padding:8px 16px}
.t-pills .chip[aria-pressed=true]{background:var(--card);color:var(--accent);border-color:var(--line);box-shadow:var(--sh-1)}
[data-theme=dark] .t-pills .chip[aria-pressed=true]{color:var(--accent)}
.s-pills{display:flex;gap:8px}
.s-pills .chip{font-size:.86rem}.s-pills .chip:not([aria-pressed=true]){background:var(--card)}
@media (max-width:640px){.s-pills{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;margin:0 calc(-1 * clamp(16px,3vw,24px));padding:2px clamp(16px,3vw,24px) 6px;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12px,#000 calc(100% - 24px),transparent)}.s-pills::-webkit-scrollbar{display:none}.s-pills .chip{scroll-snap-align:start}}
.tsec>.ch-h2{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.ch-terms{margin:18px 0 0;max-width:80ch}
/* Cards */
.ch-feed{gap:clamp(14px,2vw,20px);grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}
.ch-card{border-radius:var(--r);box-shadow:var(--sh-1);position:relative;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.ch-card:hover{transform:translateY(-3px);box-shadow:var(--sh-2);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}
.ch-card:focus-within{border-color:var(--accent);box-shadow:var(--sh-2),var(--ring)}
.ch-card .stretch:focus-visible{outline:none;box-shadow:none}
.ch-card .thumb.ch-thumb{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 6%,var(--card)),var(--card));border-bottom:1px solid var(--line);display:grid;place-items:center}
.ch-card .thumb svg{transition:transform .35s var(--ease)}
.ch-card:hover .thumb svg{transform:scale(1.04)}
.ch-card .body{padding:16px 18px 18px;gap:8px}
.ch-card h2{font-size:1.04rem;letter-spacing:-.01em;overflow-wrap:anywhere}
.ch-card .tags{flex-wrap:wrap;row-gap:2px}
.ch-card .src{display:inline-flex;align-items:center;gap:4px;padding-top:4px}
.ch-card:hover .src{text-decoration:underline;text-underline-offset:3px}
.ch-card.is-soon{box-shadow:none;background:color-mix(in srgb,var(--card) 70%,var(--bg))}
.ch-card.is-soon:hover{transform:none;box-shadow:var(--sh-1)}
.soon-tag{align-self:flex-start;margin-top:auto;font-size:.74rem;font-weight:700;color:var(--muted);border:1px dashed var(--line);border-radius:999px;padding:3px 10px}
/* Grade pills inside chapter cards: one tidy row, wraps cleanly */
.ch-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;position:relative;z-index:2}
.ch-pills .chip.sm{padding:4px 10px;font-size:.78rem;min-width:44px}
.ch-pills .chip.sm:hover{background:var(--accent);border-color:var(--accent);color:#fff}
[data-theme=dark] .ch-pills .chip.sm:hover{color:#042f2e}
/* Chapter picker grid */
.jump{margin-top:6px;padding:clamp(16px,3vw,22px);background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-1)}
.jump .jump-h{margin:0 0 4px}.jump p{margin:0 0 14px}
.chap-grid{grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:8px}
.chap-grid a{border-radius:var(--r-sm);background:var(--bg);color:var(--accent)}
.chap-grid a:not(.soon):hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:translateY(-1px);box-shadow:var(--sh-1)}
[data-theme=dark] .chap-grid a:not(.soon):hover{color:#042f2e}
.chap-grid a.soon{background:transparent;border-style:dashed;opacity:.75}
/* Chapter page */
.chap-nav{gap:10px}
.pn-btn{border-radius:999px;box-shadow:var(--sh-1)}
.pn-btn:not(.off):hover{border-color:var(--accent);color:var(--accent)}
.chap-select{min-height:44px;border-radius:999px;padding:0 36px 0 16px}
.read-ch{border-radius:var(--r);box-shadow:var(--sh-1);overflow:hidden}
.read-ch .body{padding:clamp(18px,3.4vw,28px) clamp(16px,3.6vw,32px)}
.read-h{font-size:clamp(1.15rem,1rem + .6vw,1.4rem);letter-spacing:-.015em;margin:0}
.read-meta{margin:2px 0 14px}
.read-text{font:1.08rem/1.85 Georgia,"Iowan Old Style","Times New Roman",serif;max-width:68ch;margin:0;padding:0;overflow-wrap:break-word}
.read-ch.collapsible:not(.open) .read-text{position:relative;-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent)}
.read-more{margin-top:14px;padding:10px 18px;background:var(--card);border-color:color-mix(in srgb,var(--accent) 40%,var(--line));color:var(--accent);font-weight:700;gap:6px}
.read-more::after{content:"";width:7px;height:7px;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-2px) rotate(45deg);transition:transform .2s var(--ease)}
.read-more[aria-expanded=true]::after{transform:translateY(2px) rotate(-135deg)}
.read-more:hover{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}
[data-theme=dark] .read-more:hover{color:#042f2e!important}
.read-credit{border-top:1px solid var(--line);padding-top:12px;margin-top:16px}
.tr-switch{box-shadow:inset 0 1px 2px rgba(15,23,42,.05)}
.tr-switch button:hover:not([aria-pressed=true]){background:color-mix(in srgb,var(--accent) 10%,transparent)}
.tr-switch button[aria-pressed=true]{box-shadow:var(--sh-1)}
/* Grade tabs (sticky) */
.grade-bar{border-bottom:1px solid var(--line);box-shadow:0 8px 16px -14px rgba(15,23,42,.35)}
.gb-k{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.grade-pills .chip{font-weight:700}.grade-pills .chip:not([aria-pressed=true]):not([aria-selected=true]){background:var(--card)}
.grade-pills .chip[aria-selected=true],.grade-pills .chip[aria-pressed=true]{box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 35%,transparent)}
.act-bar{border-radius:var(--r);box-shadow:var(--sh-1);padding:12px 16px}
.act-bar .print-btn{border-radius:999px;box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 30%,transparent);transition:transform .18s var(--ease),box-shadow .18s var(--ease)}
.act-bar .print-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 35%,transparent)}
.gpanel{animation:chFade .28s var(--ease) both}
@keyframes chFade{from{opacity:0;transform:translateY(6px)}}
.gpanel .sheet{box-shadow:var(--sh-2);border-color:var(--line)}
.gp-link{text-align:right;margin:10px 0}
/* Print options */
.print-box{margin-top:clamp(28px,4vw,44px)}
.print-opts{gap:14px}
.popt{border-radius:var(--r);box-shadow:var(--sh-1);transition:box-shadow .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}
.popt:hover{box-shadow:var(--sh-2);border-color:color-mix(in srgb,var(--accent) 35%,var(--line));transform:translateY(-2px)}
.ch-main .about-cta{border-radius:999px}
/* Guard rails: nothing may push the page sideways */
.ch-card svg,.ch-main>img{max-width:100%}
.ch-main pre,.ch-main table{max-width:100%;overflow-x:auto}
}
@media screen and (max-width:560px){.t-pills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-self:stretch;border-radius:16px}.t-pills .chip{padding:8px 6px;font-size:.82rem;white-space:normal;line-height:1.2;text-align:center;border-radius:12px}.ch-eyebrow{font-size:.68rem;letter-spacing:.07em}}
/* Keep the shared header on one row on the smallest phones (churches pages only) */
@media screen and (max-width:400px){.ch-page .bar{flex-wrap:nowrap;gap:2px;padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}.ch-page .bar .nav-link{padding:6px 5px;font-size:.84rem}.ch-page .brand .htxt{font-size:.95rem}.ch-page .bar .icon-btn{width:44px;height:44px;flex:none}}

@media print{.v2-ribbon[data-lines="2"],.v2-ribbon[data-lines="3"]{margin-top:0}.v2-top:has(.v2-ribbon[data-lines="2"]),.v2-top:has(.v2-ribbon[data-lines="3"]){margin-bottom:0}.v2-top:has(.v2-ribbon[data-lines="2"]) svg.motif,.v2-top:has(.v2-ribbon[data-lines="3"]) svg.motif{height:8px}}
@media print{.v2-top{margin-bottom:2px}}
@media print{.v2-ribbon{margin-top:3px}}
/* Book-list covers (art_book_covers.py): one line scene + a 2-line summary */
.tsec .ch-card p{-webkit-line-clamp:2;line-clamp:2}
.tsec .ch-thumb svg.bc{height:100%;width:auto;max-width:100%}
/* Full-color book covers (hand-coded SVG): full-bleed fill, no white mat */
@font-face{font-family:Cinzel;src:url(/churches/fonts/Cinzel-Variable.woff2) format("woff2");font-weight:400 900;font-style:normal;font-display:swap}
.tsec .ch-card .thumb.ch-thumb,[data-theme=dark] .tsec .ch-card:not(.is-soon) .ch-thumb{padding:0;background:#1a1020;overflow:hidden}
.tsec .ch-thumb svg.bc-color{width:100%;height:100%;max-width:none;display:block}
