/* The Dalil Vault — styles (from the vault page) */
:root{box-sizing:border-box}html{scroll-padding-top:env(safe-area-inset-top,0px)}body{margin:0}img{max-width:100%}[hidden]:not([hidden=until-found i]){display:none!important}
:root{
  --bg:#F1F4F2; --surface:#FFFFFF; --sunk:#E7ECE9; --ink:#15221E; --muted:#5A6964; --line:#D5DDD9;
  --accent:#0D5747; --accent-ink:#FFFFFF; --accent-soft:#DCEBE5;
  --hl:#F4DE72; --hl-ink:#15221E;
  --t-quran:#0D5747; --t-hadith:#7A4B12; --t-scholar:#3D4F8A; --t-scripture:#6B3B6E; --t-refute:#9A2F2F; --t-other:#55625E;
  --k-quran:#0D5747; --k-hadith:#8A5A12; --k-tafsir:#5F6A12; --k-scholar:#3D4F8A; --k-bible:#6B3B6E; --k-manuscript:#9A4B2A; --k-academic:#2A6591; --k-graphic:#56625D;
  --danger:#A12B2B; --shadow:0 10px 40px rgba(12,30,25,.18);
  --s-strong:#0D7A5F; --s-support:#9A6412; --s-weak:#A12B2B; --wi:#0D5747; --wi-soft:#E3EFE9;
  --f-ui:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-quote:"Newsreader",Georgia,"Times New Roman",serif;
  --f-ar:"Amiri","Traditional Arabic","Arabic Typesetting",serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  color-scheme:dark;
  --bg:#0E1614; --surface:#15201D; --sunk:#1B2824; --ink:#E4ECE8; --muted:#94A49F; --line:#27352F;
  --accent:#57BE9F; --accent-ink:#0A1411; --accent-soft:#1D3A32;
  --hl:rgba(230,196,74,.30); --hl-ink:#F3EEDB;
  --t-quran:#57BE9F; --t-hadith:#D7A45C; --t-scholar:#93A6E6; --t-scripture:#CB94CE; --t-refute:#E68383; --t-other:#A3B0AC;
  --k-quran:#57BE9F; --k-hadith:#D7A45C; --k-tafsir:#B9C45A; --k-scholar:#93A6E6; --k-bible:#CB94CE; --k-manuscript:#E39A76; --k-academic:#7FB7E0; --k-graphic:#A3B0AC;
  --danger:#E68383; --shadow:0 10px 40px rgba(0,0,0,.5);
  --s-strong:#57BE9F; --s-support:#D7A45C; --s-weak:#E68383; --wi:#57BE9F; --wi-soft:#16302A;
}}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0E1614; --surface:#15201D; --sunk:#1B2824; --ink:#E4ECE8; --muted:#94A49F; --line:#27352F;
  --accent:#57BE9F; --accent-ink:#0A1411; --accent-soft:#1D3A32;
  --hl:rgba(230,196,74,.30); --hl-ink:#F3EEDB;
  --t-quran:#57BE9F; --t-hadith:#D7A45C; --t-scholar:#93A6E6; --t-scripture:#CB94CE; --t-refute:#E68383; --t-other:#A3B0AC;
  --k-quran:#57BE9F; --k-hadith:#D7A45C; --k-tafsir:#B9C45A; --k-scholar:#93A6E6; --k-bible:#CB94CE; --k-manuscript:#E39A76; --k-academic:#7FB7E0; --k-graphic:#A3B0AC;
  --danger:#E68383; --shadow:0 10px 40px rgba(0,0,0,.5);
  --s-strong:#57BE9F; --s-support:#D7A45C; --s-weak:#E68383; --wi:#57BE9F; --wi-soft:#16302A;
}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font:15px/1.55 var(--f-ui);padding-inline:16px;padding-block:0 64px}
.wrap{max-width:980px;margin:0 auto}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* header */
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:22px 18px;flex-wrap:wrap}
.brand{display:flex;align-items:baseline;gap:12px}
.brand h1{margin:0;font:600 26px/1.1 var(--f-quote);letter-spacing:-.01em}
.brand .ar{font:700 24px/1 var(--f-ar);color:var(--accent)}
.brand small{color:var(--muted);font-size:13px}
.btn{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:8px 14px;cursor:pointer;font-weight:500;display:inline-flex;align-items:center;gap:6px}
.btn:hover{border-color:var(--muted)}
.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.btn.primary:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}
.btn.ghost:hover{color:var(--ink);background:var(--sunk)}
.btn.danger{color:var(--danger)}
.btn:disabled{opacity:.5;cursor:not-allowed}

/* search */
.search{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:6px;display:flex;gap:6px;align-items:center;position:sticky;top:env(safe-area-inset-top,0px);z-index:5;box-shadow:0 1px 0 var(--line)}
.search input{flex:1;min-width:0;border:0;background:transparent;padding:12px 10px;font-size:17px;outline:none}
.search kbd{font:500 11px var(--f-mono);color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:1px 5px}
.mode{display:flex;background:var(--sunk);border-radius:9px;padding:3px;flex-shrink:0}
.mode button{border:0;background:transparent;padding:7px 11px;border-radius:7px;cursor:pointer;font-size:13px;font-weight:500;color:var(--muted)}
.mode button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.12)}
.hint{color:var(--muted);font-size:13px;margin:10px 4px 0;min-height:20px}
.hint b{color:var(--ink);font-weight:500}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 6px}
.chip{border:1px solid var(--line);background:transparent;border-radius:999px;padding:4px 12px;font-size:13px;cursor:pointer;color:var(--muted)}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.cats{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:6px 0 10px;font-size:14px}
.cats details{margin-left:14px}.cats>details{margin-left:0}
.cats summary{cursor:pointer;list-style:none;padding:3px 0;display:flex;align-items:center;gap:6px}
.cats summary::-webkit-details-marker{display:none}
.cats summary::before{content:"▸";width:12px;color:var(--muted);flex:none}.cats details[open]>summary::before{content:"▾"}
.cats .leaf{margin-left:18px;padding:3px 0}
.cats button.cat{border:0;background:transparent;color:var(--ink);cursor:pointer;padding:2px 6px;border-radius:6px;text-align:left;font:inherit}
.cats button.cat:hover{background:var(--line)}.cats button.cat[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.cats .n,.crumb .n{color:var(--muted);font-size:12px;margin-left:4px}
.crumb{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ink);border-radius:999px;padding:3px 6px 3px 12px;font-size:13px}
.crumb button{border:0;background:transparent;cursor:pointer;color:var(--ink);font-size:14px;padding:0 4px}
.catpath{color:var(--muted);font-size:12px}
.objbox{border:1px dashed var(--line);border-radius:12px;padding:12px}
.objbox textarea{width:100%;box-sizing:border-box;font:inherit;font-size:15px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);resize:vertical}
.objbox .reps{margin-top:10px}
.chip .n{font-family:var(--f-mono);font-size:11px;opacity:.7;margin-left:4px}

/* answer */
.answer{margin:16px 0 4px;padding:14px 16px;border-radius:12px;background:var(--accent-soft);font-size:14.5px}
.answer .lbl{font:600 11px var(--f-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}

/* cards */
.list{display:grid;gap:12px;margin-top:14px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:14px;text-align:left;width:100%}
.card:hover{border-color:var(--muted)}
.meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}
.type{font:600 11px var(--f-ui);letter-spacing:.07em;text-transform:uppercase;color:var(--tc)}
.type::before{content:"";display:inline-block;width:7px;height:7px;border-radius:2px;background:var(--tc);margin-right:6px;vertical-align:1px}
.card h3{margin:4px 0 2px;font:600 18px/1.3 var(--f-quote);text-wrap:balance}
.claim{color:var(--muted);font-size:14px;margin:0 0 8px}
.quote{font:400 16px/1.6 var(--f-quote);margin:0}
.quote mark,.d-quote mark{background:var(--hl);color:var(--hl-ink);padding:0 2px;border-radius:2px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.clip{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.arabic{font:400 21px/1.9 var(--f-ar);direction:rtl;text-align:right;margin:4px 0}
.ref{font:500 12.5px var(--f-mono);color:var(--ink);margin-top:8px}
.rs-busy{display:inline-block;width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px;margin-right:6px}
@keyframes spin{to{transform:rotate(360deg)}}
.draft-note{background:color-mix(in srgb,var(--t-hadith) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--t-hadith) 35%,var(--line));border-radius:10px;padding:10px 14px;font-size:14px;margin-bottom:12px}
.badge-pq{font:600 10.5px var(--f-ui);letter-spacing:.05em;text-transform:uppercase;border-radius:5px;padding:2px 7px;color:#fff;background:var(--pqc)}
.pq-box{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--bg)}
.pq-line{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pq-step{border-radius:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--line)}
.pq-step b{display:block;font:600 11px var(--f-ui);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.pq-step .yr{font:600 18px var(--f-ui);display:block;margin-bottom:2px}
.pq-step span{font-size:14px;line-height:1.45}
.pq-why{margin-top:10px;font-size:15px;line-height:1.6}
@media (max-width:620px){.pq-line{grid-template-columns:1fr}}
.badge-draft{font:600 10.5px var(--f-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--t-hadith);border:1px solid var(--t-hadith);border-radius:5px;padding:1px 6px}
.why{margin-top:10px;font-size:13.5px;color:var(--accent);border-top:1px dashed var(--line);padding-top:8px}
.thumb{width:92px;height:92px;border-radius:8px;object-fit:cover;border:1px solid var(--line);background:var(--sunk)}
.tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px}
.tag{font-size:11.5px;background:var(--sunk);color:var(--muted);padding:1px 8px;border-radius:5px}
.empty{padding:40px 16px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:12px;margin-top:14px}
.notice{padding:12px 16px;border-radius:10px;background:var(--sunk);color:var(--muted);font-size:14px;margin-top:14px}

/* dialogs */
dialog{border:0;padding:0;border-radius:16px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow);width:min(760px,calc(100vw - 24px));max-height:calc(100vh - 32px)}
dialog::backdrop{background:rgba(8,18,15,.55)}
.dlg{display:flex;flex-direction:column;max-height:calc(100vh - 32px)}
.dlg-h{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line)}
.dlg-h h2{margin:0;font:600 18px var(--f-quote)}
.dlg-b{padding:18px;overflow:auto}
.dlg-f{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;padding:12px 18px;border-top:1px solid var(--line)}
.d-title{font:600 24px/1.25 var(--f-quote);margin:6px 0 4px;text-wrap:balance}
.d-quote{font:400 18px/1.65 var(--f-quote);margin:14px 0;padding-left:14px;border-left:3px solid var(--line)}
.d-arabic{font:400 26px/2 var(--f-ar);direction:rtl;text-align:right;margin:10px 0}
.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;font-size:14px;margin:14px 0}
.kv dt{color:var(--muted)}
.kv dd{margin:0}
.shots{display:grid;gap:10px;margin-top:10px}
.shots img{border-radius:8px;border:1px solid var(--line);width:100%}

/* filing cabinet */
.sharewhy{background:color-mix(in srgb,var(--hl) 38%,var(--surface));border:1px solid color-mix(in srgb,var(--hl) 70%,var(--line));border-radius:12px;padding:12px 16px;max-width:70ch}
.sharewhy .sec-l{color:var(--ink)}
.sharewhy p{margin:0;font-size:15.5px;line-height:1.6}
.kchip{display:inline-flex;align-items:center;font:600 10.5px/1 var(--f-ui);letter-spacing:.07em;text-transform:uppercase;color:var(--kc);background:color-mix(in srgb,var(--kc) 13%,transparent);border:1px solid color-mix(in srgb,var(--kc) 45%,transparent);border-radius:999px;padding:4px 8px;white-space:nowrap}
.findex{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:10px 14px}
.findex summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;list-style:none}
.findex summary::-webkit-details-marker{display:none}
.findex summary::before{content:"▸";color:var(--muted);font-size:12px}
.findex[open] summary::before{content:"▾"}
.kcounts{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.kcount{font:500 12px var(--f-mono);color:var(--muted);margin-left:-4px}
.findex-l{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:2px;counter-reset:fi}
.findex-l a{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:7px 8px;border-radius:8px;color:var(--ink);text-decoration:none}
.findex-l a:hover{background:var(--sunk)}
.fi-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.fi-s{font:500 12px var(--f-mono);color:var(--muted)}
.klegend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}
.fsteps{margin:0;padding:0;list-style:none;display:grid;gap:18px}
.fstep{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:14px 16px;scroll-margin-top:16px}
.fstep-h{display:grid;grid-template-columns:32px 1fr;gap:12px;max-width:70ch}
.fstep-n{width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font:600 15px/30px var(--f-ui);text-align:center}
.fstep-h b{font-size:16px}
.fstep-h p{margin:4px 0 0;line-height:1.6}
.folder{margin-top:12px;border-radius:12px;background:var(--sunk);padding:10px;display:grid;gap:10px}
.folder-tab{font:600 11px var(--f-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:2px 4px}
.fcard{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--kc);border-radius:10px;padding:10px 12px;display:grid;gap:8px;scroll-margin-top:16px}
.fcard-h{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.fno{font:500 12px var(--f-mono);color:var(--muted)}
.ftitle{font-weight:600;font-size:14px;min-width:0}
.fwhy{font-size:14px;line-height:1.55;background:color-mix(in srgb,var(--kc) 8%,transparent);border-radius:8px;padding:8px 10px;max-width:70ch}
.fwhy b{display:block;font:600 10.5px var(--f-ui);letter-spacing:.07em;text-transform:uppercase;color:var(--kc);margin-bottom:2px}
.fimg img{display:block;width:100%;border-radius:8px;border:1px solid var(--line)}
.fcap{font-size:13px;color:var(--muted);line-height:1.5}
.fcap a{color:var(--accent)}
.fdl{padding:3px 9px;font-size:12px;margin-left:6px}
.fcard.flash{outline:3px solid var(--kc);outline-offset:2px}
.drawers{display:grid;gap:10px}
.drawer{border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}
.drawer summary{cursor:pointer;display:flex;gap:10px;align-items:center;padding:10px 12px;list-style:none;border-left:5px solid var(--kc)}
.drawer summary::-webkit-details-marker{display:none}
.drawer-tab{font:600 12px var(--f-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--kc)}
.drawer-d{font-size:13px;color:var(--muted)}
.drawer-b{display:grid;gap:10px;padding:0 10px 10px}
.scan-tr{margin-top:8px;padding:10px 12px;border-radius:8px;background:var(--accent-soft);font-size:15px;line-height:1.6}
.scan-tr b{display:block;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}
.notes{white-space:pre-wrap;font-size:14.5px;background:var(--sunk);padding:12px 14px;border-radius:8px}

.status{font-size:13px;color:var(--muted)}
.confirm{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--danger)}
/* refutation layout */
.card .alleg{font-size:14px;color:var(--muted);margin:0 0 6px}
.card .alleg b,.sec-l{font:600 11px var(--f-ui);letter-spacing:.08em;text-transform:uppercase}
.card .one{font:500 15.5px/1.55 var(--f-ui);margin:0}
.card .one mark,.r-one mark,.r-pts mark,.ev-t mark{background:var(--hl);color:var(--hl-ink);padding:0 2px;border-radius:2px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.sec{margin-top:22px}
.sec-l{color:var(--muted);display:block;margin-bottom:8px}
.r-claim{background:color-mix(in srgb,var(--t-refute) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--t-refute) 30%,var(--line));border-radius:10px;padding:12px 14px;margin-top:14px}
.r-claim .sec-l{color:var(--t-refute);margin-bottom:4px}
.r-one{font:600 19px/1.5 var(--f-ui);margin:0;max-width:62ch}
.r-pts{margin:0;padding:0;list-style:none;display:grid;gap:10px;max-width:64ch}
.r-pts li{position:relative;padding-left:26px;font-size:16.5px;line-height:1.65}
.r-pts li::before{content:"";position:absolute;left:6px;top:.62em;width:8px;height:8px;border-radius:2px;background:var(--accent)}
.ev{display:grid;gap:10px}
.ev-i{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:var(--bg)}
.ev-h{display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap}
.ev-r{font:600 13px var(--f-mono)}
.ev-h a{font-size:13px;color:var(--accent);text-decoration:none;white-space:nowrap}
.ev-h a:hover{text-decoration:underline}
.ev-a{font:400 23px/1.95 var(--f-ar);direction:rtl;text-align:right;margin:6px 0 2px}
.ev-t{font:400 16px/1.65 var(--f-quote);margin:4px 0 0}
.ev-s{font-size:12px;color:var(--muted);margin-top:4px}
.books{margin:0;padding-left:20px;display:grid;gap:6px;font-size:14.5px}
.books a{color:var(--accent);word-break:break-all}
/* steps, example, mistake */
.steps{margin:0;padding:0;list-style:none;display:grid;gap:14px;max-width:66ch;counter-reset:st}
.steps li{display:grid;grid-template-columns:32px 1fr;gap:12px;counter-increment:st}
.steps li::before{content:counter(st);width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font:600 15px/30px var(--f-ui);text-align:center}
.steps b{display:block;font-size:16.5px;margin-bottom:2px}
.steps p{margin:0;font-size:16px;line-height:1.7}
.steps mark,.callout mark,.rep mark,.pg-en mark{background:var(--hl);color:var(--hl-ink);padding:0 2px;border-radius:2px}
.callout{border-radius:10px;padding:12px 16px;font-size:16px;line-height:1.65;max-width:66ch}
.callout .sec-l{margin-bottom:4px}
.c-ex{background:var(--accent-soft)}
.c-ex .sec-l{color:var(--accent)}
.c-mis{background:color-mix(in srgb,var(--t-hadith) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--t-hadith) 30%,var(--line))}
.c-mis .sec-l{color:var(--t-hadith)}
/* diagrams */
.dg{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--bg);overflow-x:auto}
.dg-cap{font-size:13px;color:var(--muted);margin-top:8px}
.blk-row{display:grid;grid-template-columns:repeat(var(--n),minmax(46px,1fr));gap:4px;min-width:320px}
.blk{border-radius:6px;padding:8px 6px;font-size:13px;line-height:1.3;text-align:center;color:#fff;font-weight:500}
.brace{border-top:2px solid var(--muted);margin-top:6px;padding-top:4px;font-size:12.5px;text-align:center;color:var(--ink);font-weight:600}
.total{margin-top:12px;font:600 17px var(--f-ui);text-align:center}
.flow{display:grid;gap:6px}
.flow div{display:flex;gap:10px;align-items:center;font-size:15px}
.flow span{flex:0 0 28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font:600 14px/28px var(--f-ui);text-align:center}
.flow i{font-style:normal;color:var(--muted);padding-left:9px;font-size:14px}
.cmp{border-collapse:collapse;width:100%;min-width:480px;font-size:14.5px}
.cmp th{text-align:left;font:600 11px var(--f-ui);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:6px 10px;border-bottom:2px solid var(--line)}
.cmp td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.5}
.cmp td:first-child{font-weight:600;white-space:nowrap}
/* source pages (highlighted excerpts) */
.pages{display:grid;gap:16px}
.pg{--paper:#FBF8EF;--pink:#2A2216;background:var(--paper);color:var(--pink);border-radius:4px;box-shadow:0 1px 0 rgba(0,0,0,.06),0 6px 22px rgba(20,30,25,.14);padding:18px 20px 16px;position:relative;border:1px solid #E6DFCB}
.pg-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-bottom:1px solid #DDD3BA;padding-bottom:8px;flex-wrap:wrap}
.pg-bk{font:700 20px var(--f-ar);direction:rtl}
.pg-en-bk{font:600 12px var(--f-ui);letter-spacing:.06em;text-transform:uppercase;color:#6E6250}
.pg-ar{font:400 22px/2.05 var(--f-ar);direction:rtl;text-align:justify;margin:12px 0 6px}
.pg-ar mark{background:#F5D65A;color:#231A05;padding:0 3px;border-radius:2px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.pg-en{font:400 16px/1.7 var(--f-quote);margin:8px 0 0;padding-top:10px;border-top:1px dashed #DDD3BA}
.pg-en::before{content:"In plain English";display:block;font:600 11px var(--f-ui);letter-spacing:.08em;text-transform:uppercase;color:#6E6250;margin-bottom:4px}
.pg-en mark{background:#F5D65A;color:#231A05}
.pg-f{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:10px;font-size:12.5px;color:#6E6250}
.pg-f a{color:#0D5747;font-weight:600;text-decoration:none}
.pg-who{margin-top:8px;font-size:13px;color:#4B4232;background:#F1EBDA;border-radius:6px;padding:7px 10px;line-height:1.5}
/* replies */
.reps{display:grid;gap:10px;max-width:68ch}
.rep{border:1px solid var(--line);border-radius:10px;overflow:hidden}
.rep .they{padding:10px 14px;background:var(--sunk);font-size:15px}
.rep .you{padding:10px 14px;font-size:15.5px;line-height:1.65}
.rep b{font:600 11px var(--f-ui);letter-spacing:.08em;text-transform:uppercase;display:block;margin-bottom:2px}
.rep .they b{color:var(--t-refute)}
.rep .you b{color:var(--accent)}
.rep-del{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 14px;border-top:1px dashed var(--line);font-size:13.5px}
.rep-del .btn{padding:4px 10px;font-size:13px}
.rep-del .q{color:var(--danger);font-weight:600}
.easy #vBody .steps p,.easy #vBody .callout,.easy #vBody .rep .you,.easy #vBody .pg-en{font-family:"Lexend",var(--f-ui);font-size:17.5px;line-height:1.85}
.easy #vBody,.easy #vBody .ev-t,.easy #vBody .d-quote,.easy #vBody .d-title,.easy #vBody .r-one{font-family:"Lexend",var(--f-ui);letter-spacing:.01em}
.easy #vBody .r-pts li{font-size:18px;line-height:1.8}
.easy #vBody .ev-t{font-size:17px;line-height:1.8}
.easy #vBody .d-title{font-weight:600}
.easy-t[aria-pressed="true"]{background:var(--accent-soft);color:var(--ink)}
.share-pv{background:var(--sunk);border-radius:10px;padding:10px;display:grid;place-items:center;min-height:200px}
.share-pv img{max-height:62vh;width:auto;max-width:100%;border-radius:6px;box-shadow:0 4px 18px rgba(0,0,0,.25)}
.opts{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;font-size:14px}
.opts label{display:flex;gap:6px;align-items:center;cursor:pointer}
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:9px 16px;border-radius:9px;font-size:14px;z-index:50}
@media (max-width:620px){
  .card{grid-template-columns:1fr}
  .thumb{width:100%;height:140px}
  .form{grid-template-columns:1fr}
  .search{flex-wrap:wrap}
  .search input{flex-basis:100%;order:-1}
  .search kbd{display:none}
}
/* strength badge, 30-second card, home, paths, feedback, health */
.badge-s{font:600 10.5px var(--f-ui);letter-spacing:.05em;text-transform:uppercase;border-radius:5px;padding:2px 7px;border:1.5px solid var(--sc);color:var(--sc)}
.q30{border:2px solid var(--accent);border-radius:14px;padding:14px 16px;background:var(--accent-soft);margin-bottom:16px}
.q30-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px;font-size:12.5px;color:var(--muted)}
.q30 .r-one{margin:0 0 10px}
.q30-ev{font-size:14px;border-left:3px solid var(--accent);padding:4px 0 4px 10px;margin:0 0 12px;background:var(--surface);border-radius:0 8px 8px 0}
.q30-ev b{display:block;font:600 11px var(--f-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.q30-act{display:flex;gap:8px;flex-wrap:wrap}
.adab{font-size:12.5px;color:var(--muted);margin:10px 0 0}
.adab b{color:var(--accent)}
.home{display:grid;gap:14px;margin-top:14px}
.hero{border-radius:16px;padding:18px 20px;background:var(--wi-soft);border:1px solid color-mix(in srgb,var(--wi) 30%,var(--line))}
.hero h2{font:600 22px/1.25 var(--f-quote);margin:0 0 4px;text-wrap:balance}
.hero p{margin:0 0 12px;color:var(--muted);font-size:14px}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.tile{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:12px 14px;text-align:left;cursor:pointer;display:grid;gap:4px;font:inherit;color:inherit}
.tile:hover{border-color:var(--muted)}
.tile b{font-size:15px;line-height:1.3}
.tile small{color:var(--muted);font-size:12.5px;line-height:1.4}
.tile .ic{font-size:20px}
.sec-h{font:600 11px var(--f-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:4px 2px 8px}
.pathv{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:14px 16px;margin-top:14px}
.pathv h2{font:600 20px var(--f-quote);margin:0 0 2px}
.pathv ol{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.pathv li button{width:100%;text-align:left;border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:10px 12px;cursor:pointer;display:grid;grid-template-columns:28px 1fr;gap:10px;font:inherit;color:inherit}
.pathv li button:hover{border-color:var(--muted)}
.pn{width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font:600 13px var(--f-ui)}
.pathv li small{display:block;color:var(--muted);font-size:13px}
.pathbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:var(--sunk);border-radius:10px;padding:8px 12px;margin-bottom:12px;font-size:13.5px}
.pathbar .grow{flex:1;min-width:160px}
.seealso{display:flex;flex-wrap:wrap;gap:8px}
.seealso button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 12px;font:inherit;font-size:13.5px;cursor:pointer;color:inherit;text-align:left}
.seealso button:hover{border-color:var(--muted)}
.fb{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.fb small{color:var(--muted)}
.checked{font-size:12.5px;color:var(--muted);margin:-4px 0 12px}
.quick{display:flex;gap:6px;flex-wrap:wrap;margin:8px 2px 0;font-size:13px;color:var(--muted);align-items:center}
.quick button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:3px 10px;cursor:pointer;font:inherit;font-size:13px;color:var(--ink)}
.langsel{display:flex;gap:6px;align-items:center;font-size:13px}
/* evidence search: one exhibit per result */
.evbar{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:10px 0 4px;font-size:13px}
.evbar .chip[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.evgroup{font:600 11px var(--f-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:16px 2px 0}
.evres{display:grid;gap:14px;margin-top:8px}
.evhit{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:12px 14px}
.evhit-h{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-bottom:8px}
.evhit-h button.ent{border:0;background:none;padding:0;color:var(--accent);font:inherit;font-weight:600;cursor:pointer;text-align:left;text-decoration:underline}
.evhit .fcard{margin:0}
.evhit .fimg img{max-height:560px;width:auto;max-width:100%;object-fit:contain}
.evhit-why{font-size:13.5px;color:var(--accent);margin:0 0 8px}
.evhit-act{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.evjump{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0 0;padding:10px 14px;border-radius:12px;border:1px dashed var(--accent);font-size:14px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.quick .qa-head{width:100%;font-weight:600;color:var(--ink);font-size:13.5px}
.quick .qa-head span{font-weight:400;color:var(--muted)}
.quick .qa{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:10px 12px;display:grid;gap:6px}
.quick .qa-t{font-weight:600;color:var(--ink);font-size:14px}
.quick .qa-they{color:var(--muted);font-size:13.5px}
.quick .qa-you{color:var(--ink);font-size:14.5px;line-height:1.45}
.quick .qa-b{display:flex;gap:6px;flex-wrap:wrap}
.cbar{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}
.cbar button,.slink{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:4px 11px;cursor:pointer;font:inherit;font-size:13px;color:var(--ink)}
.slink{display:inline-block;margin:4px 0 8px;font-size:12.5px}
.cbar .pdfbtn{cursor:pointer;font-family:inherit;border:1px solid var(--accent,#1F6B4A);background:var(--surface);border-radius:999px;padding:4px 11px;font-size:13px;color:var(--ink);text-decoration:none;font-weight:600}


a.pdfbtn{display:inline-block;border:1px solid var(--accent);background:var(--surface);border-radius:999px;padding:4px 11px;font-size:13px;color:var(--ink);text-decoration:none;font-weight:600}
/* forgiving search, codes, recent, A–Z */
.code-b{display:inline-block;font:600 11.5px/1 var(--f-mono);letter-spacing:.03em;color:var(--ink);background:var(--sunk);border:1px solid var(--line);border-radius:5px;padding:3px 6px;white-space:nowrap;vertical-align:1px}
.code-none{color:var(--muted);min-width:44px;text-align:center}
.fixhint{margin:6px 4px 0;font:400 15px/1.5 "Lexend",var(--f-ui);color:var(--ink)}
.fixhint b{background:var(--hl);color:var(--hl-ink);padding:0 4px;border-radius:3px;font-weight:600}
.recent{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:8px 2px 0;font-size:13.5px}
.recent .rc-l{color:var(--muted);font-weight:600}
.recent button{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:3px 10px 3px 4px;cursor:pointer;font:inherit;font-size:13.5px;color:var(--ink);max-width:min(260px,100%)}
.recent button:hover{border-color:var(--muted)}
.recent button>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
#az{width:min(760px,calc(100vw - 16px));height:calc(100vh - 24px)}
#az .dlg{height:100%;max-height:none}
.az-top{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:10px 18px;border-bottom:1px solid var(--line)}
.az-top input{flex:1;min-width:180px;border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:10px 12px;font:400 17px "Lexend",var(--f-ui);color:var(--ink)}
.az-b{position:relative;flex:1;padding:0 12px 18px;font-family:"Lexend",var(--f-ui)}
.az-bar{position:sticky;top:0;z-index:2;background:var(--surface);display:flex;flex-wrap:wrap;gap:4px;padding:10px 2px;border-bottom:1px solid var(--line)}
.az-bar button{min-width:34px;height:34px;border:1px solid var(--line);background:var(--bg);border-radius:8px;font:600 15px "Lexend",var(--f-ui);color:var(--ink);cursor:pointer;padding:0 7px}
.az-bar button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
.az-bar button:disabled{opacity:.3;cursor:default}
.az-h{font:600 20px "Lexend",var(--f-ui);margin:18px 6px 4px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:var(--accent)}
.az-h small{font-size:13px;color:var(--muted);font-weight:400}
.az-note{font-size:14px;color:var(--muted);padding:12px 6px 6px}
.az-note b{background:var(--hl);color:var(--hl-ink);padding:0 4px;border-radius:3px}
.az-row{display:grid;grid-template-columns:auto 1fr auto 22px;gap:12px;align-items:center;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 8px;cursor:pointer;font:400 16.5px/1.45 "Lexend",var(--f-ui);color:var(--ink);letter-spacing:.01em;min-height:50px}
.az-row:hover,.az-row:focus-visible{background:var(--sunk)}
.az-row .code-b{min-width:52px;text-align:center}
.az-ch{font-size:15px;text-align:center}
.sdot{width:11px;height:11px;border-radius:50%;background:var(--sc,transparent);display:inline-block}
@media (max-width:620px){#az{width:100vw;height:100%;max-height:100%;border-radius:0}.az-top{padding:10px 12px}.az-b{padding:0 6px 18px}.az-row{gap:8px;font-size:16px;padding:12px 4px}.az-row .code-b{min-width:44px}.az-bar button{min-width:30px;height:32px;font-size:14px}}
/* Discord reply, debate kits, practice */
.cbar .dc-main{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}
.dcp{border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:12px;background:var(--surface);padding:12px 14px;margin:0 0 14px;display:grid;gap:10px;font-family:"Lexend",var(--f-ui)}
.dcp-h{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.dcp-h b{font-size:16px}
.dcp-n{color:var(--muted);font-size:13px;margin-left:auto}
.dcp-n.over{color:var(--danger);font-weight:600}
.dcp-ta{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);padding:10px 12px;font:400 15px/1.6 "Lexend",var(--f-ui);resize:vertical}
.dcp-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.dcp-row .btn{min-height:44px;font-size:15px}
.dcp-t{display:grid;gap:8px;border-top:1px dashed var(--line);padding-top:10px}
.dcp-t label{font-size:15px;line-height:1.5}
.dcp-warn{display:block;color:var(--danger);margin-top:4px}
.cardx{display:grid;gap:6px}
.dc-row{display:flex;gap:8px;flex-wrap:wrap;padding:0 4px}
.dc-row .btn{min-height:44px;font-size:15px}
.dc-row .dcp-ta{flex-basis:100%}
#kits,#prac{width:100vw;max-width:100vw;height:100%;max-height:100%;border-radius:0;margin:0}
#kits .dlg,#prac .dlg{height:100%;max-height:none}
@media (min-width:900px){#kits{width:min(880px,calc(100vw - 32px));height:calc(100vh - 32px);border-radius:16px;margin:auto}}
.kit-intro{font:400 16px/1.6 "Lexend",var(--f-ui);color:var(--muted);margin:4px 0 14px;max-width:62ch}
.kit-intro b{color:var(--ink)}
.kit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.kit-tile{display:grid;gap:6px;text-align:left;border:1px solid var(--line);border-radius:14px;background:var(--bg);padding:14px 16px;cursor:pointer;font-family:"Lexend",var(--f-ui);color:var(--ink)}
.kit-tile:hover{border-color:var(--accent)}
.kit-e{font-size:28px;line-height:1}
.kit-tile b{font-size:18px;line-height:1.3}
.kit-tile small{font-size:14.5px;line-height:1.5;color:var(--muted)}
.kit-n{font-size:13px;color:var(--accent);font-weight:600}
.kit-top{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.kit-top .btn{min-height:46px;font-size:15.5px}
.kit-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.kit-list li{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:start;border:1px solid var(--line);border-radius:12px;background:var(--bg);padding:12px;font-family:"Lexend",var(--f-ui)}
.kit-no{width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font:600 14px "Lexend",var(--f-ui)}
.kit-t{font-size:16.5px;line-height:1.45}
.kit-one{margin:6px 0 0;font-size:15px;line-height:1.6;color:var(--ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.kit-one mark,.pr-card mark{background:var(--hl);color:var(--hl-ink);padding:0 2px;border-radius:2px}
.kit-list .btn{min-height:44px}
.kit-part{display:grid;gap:6px;margin-top:8px}
.kit-part .btn{justify-self:start;min-height:44px}
.pr-top{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 18px;border-bottom:1px solid var(--line);font:400 15px "Lexend",var(--f-ui)}
.pr-top select{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:10px;padding:10px 12px;font:400 15.5px "Lexend",var(--f-ui);max-width:100%;min-height:44px}
.pr-prog{color:var(--muted)}
.pr-prog b{color:var(--ink)}
.pr-b{flex:1;display:grid;place-items:start center;padding:18px 16px 28px}
.pr-card{width:min(760px,100%);display:grid;gap:16px;font-family:"Lexend",var(--f-ui)}
.pr-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:14px}
.pr-left{margin-left:auto}
.pr-claim{font:600 clamp(22px,4.6vw,30px)/1.4 "Lexend",var(--f-ui);margin:0;letter-spacing:.01em;text-wrap:balance}
.pr-code{color:var(--muted);font-weight:400;white-space:nowrap}
.back .pr-claim{font-size:18px;color:var(--muted);font-weight:400}
.pr-sub{color:var(--muted);font-size:16px;margin:0}
.pr-ans{border:2px solid var(--accent);background:var(--accent-soft);border-radius:14px;padding:14px 16px}
.pr-ans .sec-l{color:var(--accent)}
.pr-one{font:600 19px/1.65 "Lexend",var(--f-ui);margin:0}
.pr-30{font:400 17px/1.75 "Lexend",var(--f-ui);margin:12px 0 0;padding-top:12px;border-top:1px dashed color-mix(in srgb,var(--accent) 40%,transparent)}
.pr-pts{margin:12px 0 0;padding-left:22px;font-size:17px;line-height:1.7}
.pr-btns{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:sticky;bottom:0;background:var(--surface);padding:10px 0 calc(6px + env(safe-area-inset-bottom,0px));z-index:1}
.pr-big{min-height:64px;font-size:19px;font-weight:600;justify-content:center;border-radius:14px;width:100%}
.pr-big kbd{font:500 12px var(--f-mono);border:1px solid currentColor;border-radius:4px;padding:1px 6px;opacity:.65}
.pr-yes{border:2px solid var(--s-strong);color:var(--s-strong)}
.pr-no{border:2px solid var(--danger);color:var(--danger)}
.pr-open{justify-self:start;border:0;background:none;color:var(--accent);font:600 16px "Lexend",var(--f-ui);cursor:pointer;padding:10px 0;text-decoration:underline}
.pr-end{text-align:center;justify-items:center;padding-top:30px}
@media (max-width:620px){.kit-list li{grid-template-columns:30px 1fr}.kit-list li .btn{grid-column:2;justify-self:start}.pr-big kbd{display:none}.pr-top{padding:10px 12px}}
.scanmiss{display:grid;gap:4px;padding:18px 16px;border:1px dashed var(--accent);border-radius:8px;background:var(--accent-soft);color:var(--ink);text-decoration:none;max-width:560px}
.scanmiss b{color:var(--accent);font-size:15px}
.scanmiss small{color:var(--muted);font-size:13px;line-height:1.45}
/* ---------- website additions ---------- */
.rs-busy{flex:none}
.dlg-b{flex:1 1 auto;min-height:0}
.home-note{margin:0 0 14px;padding:12px 16px;border-radius:12px;background:color-mix(in srgb,var(--hl) 28%,var(--surface));border:1px solid color-mix(in srgb,var(--hl) 60%,var(--line));font:400 15px/1.6 "Lexend",var(--f-ui);max-width:78ch}
.home-note b{font-weight:600}
.disc{color:var(--muted);font:400 13.5px/1.5 "Lexend",var(--f-ui);text-align:center;margin:28px 0 0;padding:14px 8px 0;border-top:1px solid var(--line)}
.dlg>.disc{margin:0;padding:8px 18px calc(8px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);font-size:12.5px;text-align:left;flex:none}
.facts{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 0}
button.pdfbtn{cursor:pointer;font-family:inherit;font-weight:600;border:1px solid var(--accent);background:var(--surface);border-radius:999px;padding:4px 11px;font-size:13px;color:var(--ink)}
button.pdfbtn:disabled{opacity:.6;cursor:wait}
.facts .pdfbtn{min-height:34px;display:inline-flex;align-items:center}
.fimg{display:block}
.more{text-align:center;margin-top:14px}
.notes-d summary{cursor:pointer;list-style:none;margin-bottom:8px}
.notes-d summary::-webkit-details-marker{display:none}
.notes-d summary::before{content:"▸ ";color:var(--muted)}
.notes-d[open] summary::before{content:"▾ "}
#chartDlg{width:100vw;max-width:100vw;height:100%;max-height:100%;border-radius:0;margin:0}
#chartDlg .dlg{height:100%;max-height:none}
.chart-acts{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 14px}
.chart-acts .btn{min-height:44px;text-decoration:none;color:var(--ink)}
.chart-acts .btn.primary{color:var(--accent-ink)}
.chart-img{display:block;max-width:100%;height:auto;margin:0 auto;border-radius:8px;border:1px solid var(--line);background:#fff}
#themeBtn{min-width:86px;justify-content:center}
.share-pv img{background:#0F1B18}
@media (max-width:620px){
  .top{padding-block:14px 10px}
  .top>span{width:100%}
  .top>span .btn{padding:7px 10px;font-size:14px}
  .dlg-h{padding:10px 12px}
  .dlg-b{padding:14px 12px}
  .dlg-f{padding:10px 12px}
  dialog{width:calc(100vw - 12px);max-height:calc(100dvh - 12px)}
  .dlg{max-height:calc(100dvh - 12px)}
  #view{width:100vw;max-width:100vw;height:100%;max-height:100%;border-radius:0;margin:0}
  #view .dlg{height:100%;max-height:none}
  .home-note{font-size:14px;line-height:1.5;padding:10px 12px}
}
