/* chinesebiblecourses.org: based on the Approach A demo palette. System fonts only (no web fonts) for speed in Asia. */
:root{--bg:#f4f1ea;--paper:#fffcf6;--ink:#1c1917;--muted:#6b635d;--line:#e7e0d5;--brand:#9a3412;--brand-deep:#7c2d12;--ok:#166534;--bad:#b91c1c;--warn:#a16207;--chip:#fff7ed;--shadow:0 6px 20px rgba(28,25,23,.07);--r:14px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.75 system-ui,-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Noto Sans SC",sans-serif}
html[data-script=tc] body,[lang=zh-Hant]{font-family:system-ui,-apple-system,"PingFang TC","Microsoft JhengHei","Noto Sans CJK TC","Noto Sans TC",sans-serif}
a{color:var(--brand)}
h1{font-size:1.6rem;line-height:1.35;margin:.4em 0 .3em}
h2{font-size:1.15rem;margin:0 0 .5em}
h3{font-size:1.05rem;margin:.2em 0}
small,.small{font-size:.85rem}
.muted{color:var(--muted)}
.banner{background:#fef3c7;color:#713f12;font-size:.85rem;text-align:center;padding:6px 12px}
.top{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 14px;background:var(--paper);border-bottom:1px solid var(--line)}
.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink);margin-right:auto}
.brand b{display:block;font-size:1.02rem;line-height:1.2}.brand small{display:block;color:var(--muted);font-size:.72rem;line-height:1.2}
.mark{width:38px;height:38px;border-radius:11px;background:linear-gradient(145deg,#c2410c,#7c2d12);color:#fff;display:grid;place-items:center;font-weight:700;flex:none}
.mark.big{width:64px;height:64px;font-size:1.8rem;margin:0 auto}
.switch{border:1px solid var(--brand);color:var(--brand);border-radius:999px;padding:4px 14px;text-decoration:none;font-weight:600}
.nav{display:flex;gap:4px;overflow-x:auto;width:100%;scrollbar-width:none}
.nav a{white-space:nowrap;text-decoration:none;color:var(--ink);padding:6px 12px;border-radius:999px}
.nav a[aria-current]{background:var(--brand);color:#fff}
main{max-width:1060px;margin:0 auto;padding:12px 14px 40px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);margin:14px 0}
.pad{padding:16px}
.btn{display:inline-block;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:9px 18px;text-decoration:none;cursor:pointer;font:inherit;margin:3px 0}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-deep)}
.btn.xl{font-size:1.15rem;padding:12px 26px}
.hero{padding:18px 4px 6px}.hero h1{font-size:1.75rem}.hero p{font-size:1.05rem;max-width:40em}
.feats{display:grid;gap:10px;margin:10px 0}.feat{background:var(--chip);border:1px solid #fed7aa;border-radius:var(--r);padding:12px 14px}.feat p{margin:.2em 0 0;color:var(--muted);font-size:.95rem}
.cgrid{display:grid;gap:12px}
.ccard{display:block;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:14px 16px;text-decoration:none;color:var(--ink)}
.ccard:hover{border-color:var(--brand)}
.ccard p{margin:.25em 0}.ccard .ex{font-size:.92rem}.ccard .meta{font-size:.85rem;color:var(--muted)}
.ccard-top,.chead{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.code{font:600 .75rem/1 ui-monospace,monospace;background:#efe9df;border-radius:6px;padding:4px 7px;color:var(--muted)}
.badge{font-size:.75rem;border-radius:999px;padding:2px 9px;border:1px solid}
.badge.final{color:var(--ok);border-color:#86efac;background:#f0fdf4}
.badge.preview{color:var(--warn);border-color:#fde68a;background:#fffbeb}
.badge.conv{color:#475569;border-color:#cbd5e1;background:#f8fafc}
.chips{display:flex;gap:6px;margin:8px 0}
.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 14px;font:inherit;cursor:pointer}.chip.on{background:var(--brand);color:#fff;border-color:var(--brand)}
.more{list-style:none;padding:0;margin:0;display:grid;gap:4px}.more li{display:flex;justify-content:space-between;border-bottom:1px dashed var(--line);padding:4px 0}.tags{color:var(--muted);font-size:.85rem}
.how{margin:0;padding-left:1.4em}
.crumb{margin:.2em 0;font-size:.9rem}.crumb a{text-decoration:none}
.sub{display:block;font-size:.95rem;color:var(--muted);font-weight:400}
.note{background:#f1f5f9;border-left:3px solid #94a3b8;padding:6px 10px;font-size:.9rem;border-radius:6px}
.split{display:grid;gap:0 16px}
.lessons{list-style:none;padding:0;margin:0}
.lesson-row{display:grid;grid-template-columns:34px 1fr 24px;gap:10px;align-items:center;padding:10px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.lesson-row small{display:block;color:var(--muted)}
.ln{width:30px;height:30px;border-radius:50%;background:#efe9df;display:grid;place-items:center;font-weight:600}
.lesson-row.done .ln{background:var(--ok);color:#fff}.lesson-row.done .tick::after{content:"✓";color:var(--ok);font-weight:700}
.mats{padding-left:1.2em;margin:.2em 0}
.tbl{width:100%;border-collapse:collapse;font-size:.92rem}.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:5px 6px;text-align:left}
.plain{padding-left:0;list-style:none;margin:0}.plain li{padding:3px 0;border-bottom:1px dashed var(--line)}.plain b{display:inline-block;min-width:4.2em;color:var(--brand)}
details{border-bottom:1px solid var(--line);padding:6px 0}summary{cursor:pointer;font-weight:600}
.steps{display:flex;gap:6px;margin:6px 0}.steps a{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#efe9df;text-decoration:none;color:var(--ink);font-weight:600}
.steps a.on{outline:2px solid var(--brand)}.steps a.done{background:var(--ok);color:#fff}
.big{font-size:1.25rem;font-weight:600;margin:.2em 0}
.csg{list-style:none;padding:0;margin:0}.csg li{border-bottom:1px solid var(--line);padding:6px 0}
.csg li.h{font-weight:700;color:var(--brand);border-bottom:2px solid #fed7aa;padding-top:14px}
.csg label{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.csg input{margin-top:.45em;width:18px;height:18px;flex:none}
.csg input:checked+span{color:var(--muted);text-decoration:line-through}
.q{border:1px solid var(--line);border-radius:12px;margin:10px 0;padding:10px 12px}
.q legend{font-weight:600;padding:0 4px}
.opt{display:flex;gap:10px;align-items:flex-start;padding:6px 4px;border-radius:8px;cursor:pointer}.opt input{margin-top:.5em;flex:none;width:18px;height:18px}
.opt.inline{display:inline-flex;margin-right:10px}
.q.right{border-color:#86efac;background:#f0fdf4}.q.wrong{border-color:#fca5a5;background:#fef2f2}
.opt.correct span{font-weight:700;color:var(--ok)}
.ref{margin:.3em 0 0;font-size:.88rem;color:var(--muted)}
.result{font-weight:600;margin-top:8px}.result.ok{color:var(--ok)}.result.no{color:var(--bad)}
.pager{display:flex;justify-content:space-between;gap:8px;margin:18px 0}
.lockmsg{font-size:.9rem;color:var(--warn);text-align:right}
.row{display:grid;gap:10px}
label{display:block;font-weight:600;margin:8px 0}
select,input:not([type=checkbox]):not([type=radio]),textarea{display:block;width:100%;margin-top:4px;font:inherit;font-weight:400;padding:9px 10px;border:1px solid #d6cfc4;border-radius:10px;background:#fff}
fieldset{border:1px solid var(--line);border-radius:10px;margin:8px 0}
.form .opt{font-weight:400}
.church{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:8px 0;background:#fff}
.empty{background:var(--chip);border:1px dashed #fdba74;border-radius:12px;padding:12px}
.prose p,.prose li{max-width:42em}
.foot{text-align:center;padding:20px 14px 30px;font-size:.85rem;border-top:1px solid var(--line);background:var(--paper)}.foot p{margin:.3em 0}
.review{color:var(--warn)}
body.pick{display:grid;place-items:center;min-height:100vh;text-align:center}.pickbox{padding:24px}
textarea.copy{font-size:.85rem;height:12em}
@media(min-width:720px){
 body{font-size:16px}
 .nav{width:auto}
 .top{position:sticky;top:0;z-index:5}
 .feats{grid-template-columns:repeat(3,1fr)}
 .cgrid{grid-template-columns:repeat(2,1fr)}
 .split{grid-template-columns:1.25fr 1fr}
 .row{grid-template-columns:1fr 1fr}
 h1{font-size:1.9rem}.hero h1{font-size:2.2rem}
}
@media(min-width:1000px){.cgrid{grid-template-columns:repeat(3,1fr)}}
