/* BPSC Kosh: shared styles for the copy library and its sub-pages (built by kosh/build.py; tokens = the dashboard's). */
:root{
  color-scheme: light;
  --page:#f6f1e6; --surf:#fbf8f1; --surf2:#efe8d8;
  --ink:#241f14; --ink2:#5b5240; --muted:#8a8066;
  --grid:#e2d9c2; --base:#cabf9e; --border:rgba(36,31,20,.14);
  --brass:#9c6b12; --brassglow:rgba(156,107,18,.12);
  --btn-bg:#8a5c0f; --btn-fg:#ffffff;
  --stamp:#a3312b;
  --good:#0ca30c; --warn:#fab219; --serious:#ec835a; --crit:#d03b3b;
  --cat-blue:#2a78d6; --cat-orange:#eb6834; --cat-aqua:#1baf7a; --cat-yellow:#eda100; --cat-magenta:#e87ba4; --cat-violet:#4a3aa7;
  --accent:#2a78d6;
  --mono: ui-monospace,"Cascadia Code","Segoe UI Mono",Consolas,monospace;
  --print: "Source Serif 4", Georgia, "Times New Roman", serif;
  --frame: rgba(36,31,20,.34);
  --pg:#1f5a3f; --pgbg:rgba(31,90,63,.10); --pgline:rgba(31,90,63,.28);
  --shadow: 0 1px 2px rgba(36,31,20,.08), 0 10px 26px rgba(36,31,20,.07);
}
@media (prefers-color-scheme: dark){
  :root:where(:not([data-theme="light"])){
    color-scheme: dark;
    --page:#0f1420; --surf:#171d2c; --surf2:#1f2637;
    --ink:#f2ede0; --ink2:#c9c2ac; --muted:#8b8875;
    --grid:#2b3346; --base:#3a4258; --border:rgba(242,237,224,.12);
    --brass:#e8c158; --brassglow:rgba(232,193,88,.10);
    --btn-bg:#d4a72c; --btn-fg:#1a1200;
    --stamp:#e0655d;
    --cat-blue:#3987e5; --cat-orange:#d95926; --cat-aqua:#199e70; --cat-yellow:#c98500; --cat-magenta:#d55181; --cat-violet:#9085e9;
    --accent:#3987e5; --frame: rgba(242,237,224,.3); --pg:#8fd1ae; --pgbg:rgba(143,209,174,.10); --pgline:rgba(143,209,174,.3);
    --shadow: 0 1px 2px rgba(0,0,0,.4), 0 10px 26px rgba(0,0,0,.35);
  }
}
:root[data-theme="dark"]{
  color-scheme: dark;
  --page:#0f1420; --surf:#171d2c; --surf2:#1f2637;
  --ink:#f2ede0; --ink2:#c9c2ac; --muted:#8b8875;
  --grid:#2b3346; --base:#3a4258; --border:rgba(242,237,224,.12);
  --brass:#e8c158; --brassglow:rgba(232,193,88,.10);
  --btn-bg:#d4a72c; --btn-fg:#1a1200;
  --stamp:#e0655d;
  --cat-blue:#3987e5; --cat-orange:#d95926; --cat-aqua:#199e70; --cat-yellow:#c98500; --cat-magenta:#d55181; --cat-violet:#9085e9;
  --accent:#3987e5; --frame: rgba(242,237,224,.3); --pg:#8fd1ae; --pgbg:rgba(143,209,174,.10); --pgline:rgba(143,209,174,.3);
  --shadow: 0 1px 2px rgba(0,0,0,.4), 0 10px 26px rgba(0,0,0,.35);
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--page);color:var(--ink);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:15px;line-height:1.5;-webkit-text-size-adjust:100%;}
a{color:var(--brass);}
button{font:inherit;color:inherit;}
:focus-visible{outline:2px solid var(--brass);outline-offset:2px;border-radius:6px;}
.btn{display:inline-block;text-decoration:none;border:0;background:var(--btn-bg);color:var(--btn-fg);border-radius:10px;padding:9px 16px;font-weight:700;cursor:pointer;}
.btn.ghost{background:var(--surf);color:var(--ink);border:1px solid var(--border);}
/* ── BPSC Kosh header (public site only) ─────────────────── */
body.pub{--railtop:16px;}
.kosh{border-bottom:1px solid var(--border);background:var(--surf);}
.kin{max-width:1200px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;}
.lock{display:flex;flex-direction:column;gap:3px;min-width:0;}
.lrow{display:flex;align-items:center;gap:9px;}
.kname{font:700 23px/1 var(--print);color:var(--ink);text-decoration:none;letter-spacing:-.01em;}
.kx{font:400 18px/1 var(--print);color:var(--muted);}
.kpg{display:inline-flex;align-items:center;gap:6px;font:800 15px/1 var(--mono);letter-spacing:.06em;color:var(--pg);text-decoration:none;}
.kpg img{width:24px;height:24px;border-radius:6px;}
.kcol{font-size:12.5px;color:var(--ink2);}
.knav{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap;}
.knav a{font-size:13px;font-weight:700;text-decoration:none;border:1px solid var(--border);border-radius:999px;padding:7px 12px;background:var(--page);color:var(--ink);white-space:nowrap;}
.knav a:hover{border-color:var(--brass);}
.knav a.hl{background:var(--btn-bg);color:var(--btn-fg);border-color:transparent;box-shadow:0 2px 10px var(--brassglow);}
@media (max-width:620px){ .knav{margin-left:0;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:6px;} .knav a{text-align:center;padding:8px 6px;font-size:12.5px;} .kname{font-size:21px;} }
/* the Pagewood strip */
.pgwd{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);background:linear-gradient(90deg, var(--pgbg), transparent 75%);
  border:1px solid var(--pgline);border-radius:12px;padding:10px 14px;margin:6px 0 4px;}
.pgwd img{width:34px;height:34px;border-radius:9px;flex:0 0 auto;}
.pgwd span{font-size:13.5px;line-height:1.35;}
.pgwd .go{margin-left:auto;font-weight:700;white-space:nowrap;color:var(--pg);}
@media (max-width:520px){ .pgwd{flex-wrap:wrap;} .pgwd .go{margin-left:46px;} }
/* ── cards and the contact form (sub-pages) ─────────────── */
.fcard{position:relative;background:var(--surf);border:1px solid var(--border);border-radius:14px;padding:16px 18px;scroll-margin-top:70px;}
.fcard.wide{grid-column:1 / -1;}
.fcard h3{font:700 19px/1.25 var(--print);margin:0 0 8px;}
.fcard ul{margin:0;padding-left:18px;color:var(--ink2);font-size:14px;}
.fcard li{margin:5px 0;}
.fcard p{color:var(--ink2);font-size:14px;margin:0 0 10px;}
.fcard label{display:block;font:700 10.5px/1.2 system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:10px 0 4px;}
.fcard input,.fcard textarea,.fcard select{width:100%;border:1px solid var(--frame);background:var(--page);color:var(--ink);border-radius:10px;padding:9px 11px;font:inherit;font-size:14.5px;}
.fcard textarea{min-height:92px;resize:vertical;}
.fcard .two{display:grid;grid-template-columns:1fr 1fr;gap:0 10px;}
@media (max-width:520px){ .fcard .two{grid-template-columns:1fr;} }
.fcard .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.fcard .row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;}
.cstat{font-size:13.5px;font-weight:600;}
.cstat.ok{color:var(--good);} .cstat.err{color:var(--stamp);}
/* ── slim footer (every page) ───────────────────────────── */
.kfoot{border-top:1px solid var(--border);background:var(--surf);margin-top:28px;}
.kfin{max-width:1200px;margin:0 auto;padding:22px 16px 34px;display:grid;grid-template-columns:auto 1fr;gap:12px 32px;align-items:start;}
.kfb{font:700 17px/1.3 var(--print);}
.kfb span{display:block;font:400 13px/1.4 system-ui,sans-serif;color:var(--ink2);margin-top:3px;}
.kfl{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:flex-end;font-size:13.5px;font-weight:600;}
.kfl a{color:var(--ink);text-decoration:none;}
.kfl a:hover{color:var(--brass);text-decoration:underline;}
.kfc{grid-column:1 / -1;font-size:13px;color:var(--ink2);}
.kfoot .legal{grid-column:1 / -1;font-size:12.5px;color:var(--muted);margin:0;border-top:1px dashed var(--border);padding-top:12px;}
@media (max-width:700px){ .kfin{grid-template-columns:1fr;} .kfl{justify-content:flex-start;} }
.knav a[aria-current="page"]{border-color:var(--brass);box-shadow:inset 0 0 0 1px var(--brass);}
.knav a.hl[aria-current="page"]{box-shadow:0 0 0 2px var(--brassglow), inset 0 0 0 1px rgba(255,255,255,.4);}
/* ── document pages (disclaimer, share, contact) ─────────── */
.doc{max-width:780px;margin:0 auto;padding:30px 16px 10px;}
.doc .eyebrow{font:700 11px/1.2 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--brass);}
.doc h1{font:700 34px/1.15 var(--print);margin:6px 0 10px;letter-spacing:-.01em;}
.doc .lede{font:400 18px/1.5 var(--print);color:var(--ink2);margin:0 0 22px;}
.doc h2{font:700 21px/1.25 var(--print);margin:28px 0 8px;}
.doc p,.doc li{color:var(--ink2);font-size:15.5px;}
.doc ul,.doc ol{padding-left:20px;}
.doc li{margin:6px 0;}
.doc .updated{font:600 12px var(--mono);color:var(--muted);margin-top:26px;}
.doc .card{background:var(--surf);border:1px solid var(--border);border-radius:14px;padding:18px 20px;margin:16px 0;}
.doc .ways{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0;}
.doc .way{background:var(--surf);border:1px solid var(--border);border-radius:14px;padding:16px 18px;}
.doc .way h3{font:700 17px/1.3 var(--print);margin:0 0 6px;}
.doc .way p{font-size:14px;margin:0 0 12px;}
@media (max-width:620px){ .doc h1{font-size:28px;} .doc .ways{grid-template-columns:1fr;} }
.kname{display:inline-flex;align-items:center;gap:9px;}
.klogo{width:34px;height:34px;border-radius:9px;flex:0 0 auto;}
@media (max-width:620px){ .klogo{width:30px;height:30px;} }
.faq{border-top:1px solid var(--border);padding:4px 0;}
.faq summary{cursor:pointer;font:700 17px/1.35 var(--print);padding:10px 2px;list-style:none;display:flex;gap:10px;}
.faq summary::before{content:"+";font:700 18px var(--mono);color:var(--brass);width:16px;flex:0 0 auto;}
.faq[open] summary::before{content:"–";}
.faq p{margin:0 0 12px 26px;}
