:root,html[data-theme='light']{--bg:#fafaf9;--surface:#fff;--surface-2:#f8fafc;--border:#e2e8f0;--text:#0f172a;--text-soft:#334155;--text-muted:#64748b;--text-faint:#94a3b8;
--accent:#2563eb;--accent-soft-bg:#eff6ff;--accent-contrast:#fff;--card-shadow:none;--card-shadow-hover:0 4px 12px rgba(15,23,42,.08);--border-w:1px;--hl:#fffbeb;
--ok-bg:#d1fae5;--ok-fg:#047857;--ok-bd:#6ee7b7;--warn-bg:#fef3c7;--warn-fg:#b45309;--warn-bd:#fcd34d;--bad-bg:#ffe4e6;--bad-fg:#be123c;--bad-bd:#fda4af;
--p-bg:#dcfce7;--p-fg:#15803d;--p-bd:#86efac;--j-bg:#e0f2fe;--j-fg:#0369a1;--j-bd:#7dd3fc;--s-bg:#f3e8ff;--s-fg:#7e22ce;--s-bd:#d8b4fe}
html[data-theme='dark']{--bg:#0b0f19;--surface:#111827;--surface-2:#0f172a;--border:#1e293b;--text:#f8fafc;--text-soft:#e2e8f0;--text-muted:#94a3b8;--text-faint:#64748b;
--accent:#818cf8;--accent-soft-bg:rgba(129,140,248,.12);--accent-contrast:#fff;--card-shadow:none;--card-shadow-hover:0 4px 14px rgba(0,0,0,.4);--border-w:1px;--hl:rgba(245,158,11,.1);
--ok-bg:rgba(16,185,129,.12);--ok-fg:#34d399;--ok-bd:rgba(52,211,153,.35);--warn-bg:rgba(245,158,11,.12);--warn-fg:#fbbf24;--warn-bd:rgba(251,191,36,.35);--bad-bg:rgba(244,63,94,.12);--bad-fg:#fb7185;--bad-bd:rgba(251,113,133,.35);
--p-bg:rgba(34,197,94,.14);--p-fg:#4ade80;--p-bd:rgba(74,222,128,.35);--j-bg:rgba(14,165,233,.14);--j-fg:#38bdf8;--j-bd:rgba(56,189,248,.35);--s-bg:rgba(168,85,247,.16);--s-fg:#c084fc;--s-bd:rgba(192,132,252,.35)}
html[data-theme='bold']{--bg:#fff;--surface:#fff;--surface-2:#f8fafc;--border:#0f172a;--text:#0f172a;--text-soft:#1e293b;--text-muted:#64748b;--text-faint:#94a3b8;
--accent:#c026d3;--accent-soft-bg:#fdf4ff;--accent-contrast:#fff;--card-shadow:4px 4px 0 0 rgba(15,23,42,1);--card-shadow-hover:4px 4px 0 0 rgba(192,38,211,.3);--border-w:2px;--hl:#fffbeb;
--ok-bg:#10b981;--ok-fg:#fff;--ok-bd:transparent;--warn-bg:#f59e0b;--warn-fg:#fff;--warn-bd:transparent;--bad-bg:#e11d48;--bad-fg:#fff;--bad-bd:transparent;
--p-bg:#16a34a;--p-fg:#fff;--p-bd:transparent;--j-bg:#0284c7;--j-fg:#fff;--j-bd:transparent;--s-bg:#9333ea;--s-fg:#fff;--s-bd:transparent}
*{box-sizing:border-box}
[id]{scroll-margin-top:calc(var(--hdr,8rem) + 1rem)}  /* anchor jumps (memory passages, themes, verses) must clear the sticky header */[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 'Inter',system-ui,-apple-system,sans-serif}
a{color:var(--accent)}a:hover{text-decoration:none}
h1{font-size:1.75rem;line-height:1.2;margin:1.4rem 0 .5rem;font-weight:700}h2{font-size:1.2rem;margin:2.2rem 0 .6rem;font-weight:700}h3{font-size:1.02rem;margin:1rem 0 .3rem}
main{max-width:64rem;margin:0 auto;padding:.5rem 1rem 4rem}
.serif,.nkjv,.xrefs p{font-family:'Source Serif 4',Georgia,serif}

/* header: same shape as the app's Layout */
header.top{position:sticky;top:0;z-index:50;background:var(--surface);border-bottom:var(--border-w) solid var(--border)}
body.wide main,body.wide .top-in{max-width:92rem}
.top-in{max-width:64rem;margin:0 auto;padding:.55rem 1rem;display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}
.brand{font-weight:800;text-decoration:none;color:var(--text)}
.mainnav{display:flex;gap:.75rem;flex-wrap:wrap}.mainnav a,.back,.subnav a{color:var(--text-muted);font-size:.875rem;font-weight:600;text-decoration:none}
.mainnav a:hover,.back:hover,.subnav a:hover{text-decoration:underline}.mainnav a[aria-current],.subnav a[aria-current]{color:var(--accent)}
.back{margin-left:auto}
.subnav{padding-top:0;padding-bottom:.45rem;gap:.4rem}
.subnav a{padding:.1rem .65rem;border-radius:999px;background:var(--surface-2);border:var(--border-w) solid var(--border);font-size:.78rem}
.hsearch{position:relative;flex:1;min-width:8rem;max-width:18rem}
.hsearch input,.controls input[type=search],.controls select{width:100%;padding:.45rem .75rem;border:var(--border-w) solid var(--border);border-radius:.6rem;background:var(--surface-2);color:var(--text);font:inherit;font-size:.9rem}
.hsearch input:focus,.controls input:focus,.controls select:focus{outline:2px solid var(--accent);outline-offset:1px}
.sresults{position:absolute;left:0;right:0;top:calc(100% + .35rem);background:var(--surface);border:var(--border-w) solid var(--border);border-radius:.75rem;box-shadow:var(--card-shadow-hover);max-height:70vh;overflow:auto;z-index:60;min-width:min(30rem,92vw)}
.sresults h4{margin:0;padding:.45rem .8rem .2rem;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}
.sresults a.hit{display:block;padding:.4rem .8rem;text-decoration:none;color:var(--text);border-top:var(--border-w) solid var(--border);font-size:.88rem}
.sresults a.hit:hover,.sresults a.hit:focus{background:var(--accent-soft-bg)}.sresults .more{display:block;padding:.5rem .8rem;font-size:.85rem;font-weight:600}
.hit b{font-weight:700}.hit small{display:block;color:var(--text-muted)}mark{background:var(--warn-bg);color:inherit;border-radius:2px;padding:0 1px}

/* theme switcher (copied from the app) */
.theme-switcher{display:flex;gap:.4rem;padding:.3rem;border-radius:999px;background:var(--surface-2);border:var(--border-w) solid var(--border)}
.theme-dot{-webkit-appearance:none;appearance:none;display:block;box-sizing:border-box;width:1.5rem;height:1.5rem;border-radius:999px;overflow:hidden;cursor:pointer;border:none;outline:2px solid transparent;outline-offset:2px;padding:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);transition:transform .1s ease,outline-color .15s ease}
.theme-dot:hover{transform:scale(1.08)}.theme-dot[data-active='true']{outline-color:var(--text)}
.theme-dot-light{background:radial-gradient(circle at 25% 22%,#fef08a 0%,transparent 42%),radial-gradient(circle at 78% 15%,#7dd3fc 0%,transparent 48%),radial-gradient(circle at 85% 80%,#2563eb 0%,transparent 55%),radial-gradient(circle at 15% 78%,#fca5a5 0%,transparent 50%),radial-gradient(circle at 50% 50%,#fafaf9 0%,#f1f5f9 100%)}
.theme-dot-dark{background:radial-gradient(circle at 22% 20%,#a78bfa 0%,transparent 45%),radial-gradient(circle at 80% 25%,#22d3ee 0%,transparent 45%),radial-gradient(circle at 75% 82%,#818cf8 0%,transparent 55%),radial-gradient(circle at 20% 80%,#f472b6 0%,transparent 45%),radial-gradient(circle at 50% 50%,#1e1b4b 0%,#0b0f19 100%)}
.theme-dot-bold{background:radial-gradient(circle at 20% 20%,#fde047 0%,transparent 42%),radial-gradient(circle at 80% 18%,#fb7185 0%,transparent 48%),radial-gradient(circle at 82% 82%,#c026d3 0%,transparent 55%),radial-gradient(circle at 18% 80%,#22d3ee 0%,transparent 48%),radial-gradient(circle at 50% 50%,#fff 0%,#fdf4ff 100%)}

/* surfaces */
.card,article.verse,article.mp,article.xr,details.grp,a.tile{background:var(--surface);border:var(--border-w) solid var(--border);box-shadow:var(--card-shadow);border-radius:.75rem}
article.verse,article.mp{padding:.7rem 1.1rem;margin:.8rem 0}article.verse h3,article.mp h3,article.xr h3{margin:.1rem 0 .3rem}article.xr{padding:.7rem 1.1rem;margin:.7rem 0}article.xr p{margin:.4rem 0}
.meta,.crumb{color:var(--text-muted);font-size:.9rem}.sm{font-size:.85rem}.eyebrow{color:var(--accent);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin:1.2rem 0 0}
.lead{color:var(--text-soft);font-size:1.05rem;max-width:44rem}
blockquote.nkjv{margin:.6rem 0;padding:.8rem 1.1rem;font-size:1.2rem;line-height:1.6;background:var(--surface);border:var(--border-w) solid var(--border);border-left:4px solid var(--accent);border-radius:.75rem;box-shadow:var(--card-shadow)}
.nkjv{font-size:1.05rem;line-height:1.6}.v{color:var(--text-faint);font-size:.7rem;font-weight:600;vertical-align:super;margin-right:.15rem;font-family:'Inter',sans-serif}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.8rem;margin:1.2rem 0}
a.tile{display:flex;flex-direction:column;padding:.9rem 1rem;text-decoration:none;color:var(--text);transition:box-shadow .15s}a.tile:hover{box-shadow:var(--card-shadow-hover)}
a.tile b{font-size:1.05rem}a.tile span{color:var(--text-muted);font-size:.85rem}
.tiles-wide{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}

/* chips: accent for neutral, the app's fixed semantic colours for meaning */
.chip{display:inline-block;background:var(--accent-soft-bg);color:var(--accent);border-radius:999px;padding:.05rem .65rem;margin:0 .3rem .3rem 0;font-size:.76rem;font-weight:600;text-decoration:none;border:1px solid transparent}
a.chip:hover{filter:brightness(.95)}
.chip.mem{background:var(--dv-bg,var(--ok-bg));color:var(--dv-fg,var(--ok-fg));border-color:var(--dv-bd,var(--ok-bd))}
/* division colour coding: primary = green, junior = blue, senior = purple */
.dv-primary{--dv-bg:var(--p-bg);--dv-fg:var(--p-fg);--dv-bd:var(--p-bd)}.dv-junior{--dv-bg:var(--j-bg);--dv-fg:var(--j-fg);--dv-bd:var(--j-bd)}
.dv-senior{--dv-bg:var(--s-bg);--dv-fg:var(--s-fg);--dv-bd:var(--s-bd)}
article.mp[class*=dv-]{border-left:4px solid var(--dv-fg)}a.tile[class*=dv-]{border-left:4px solid var(--dv-fg)}
.dvl{color:var(--dv-fg);font-weight:700}.chip.key{background:var(--warn-bg);color:var(--warn-fg);border-color:var(--warn-bd)}
.chip.st{background:var(--bad-bg);color:var(--bad-fg);border-color:var(--bad-bd)}.chip.fnb{background:var(--surface-2);color:var(--text-muted);border-color:var(--border)}
.count{color:var(--text-muted);font-size:.8rem;font-weight:500}.sec{margin:.4rem 0;font-size:.9rem}

/* tables */
.tablewrap{overflow-x:auto;border:var(--border-w) solid var(--border);border-radius:.75rem;background:var(--surface)}
table.words{border-collapse:collapse;width:100%;font-size:.9rem}.words th,.words td{border-bottom:1px solid var(--border);padding:.4rem .6rem;text-align:left;vertical-align:top}
.words th{background:var(--surface-2);color:var(--text-muted);font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;position:sticky;top:0;white-space:nowrap}
.words tbody tr:last-child td{border-bottom:none}.num{text-align:right!important;white-space:nowrap}
tr.key{background:var(--hl)}tr.fn{opacity:.6}tr.supplied{color:var(--text-muted)}.hidefn tr.fn{display:none}
.orig{font-size:.78rem;font-weight:400;color:var(--text-faint);font-family:'Source Serif 4','SBL Greek','SBL Hebrew','Times New Roman',serif;margin-left:.35rem}
.wl{font-weight:600}.tr{color:var(--text-soft)}.tr.big{font-size:1.7rem;font-weight:700;color:var(--text)}.h1orig{font-size:.9rem}.parse{font-size:.82rem;color:var(--text-muted)}.gloss{max-width:20rem}
.bar{display:inline-block;width:5rem;height:.55rem;background:var(--border);border-radius:99px;vertical-align:middle;margin-left:.3rem}.bar i{display:block;height:100%;background:var(--accent);border-radius:99px}
th.sort{cursor:pointer}th.sort::after{content:" \21C5";opacity:.5;font-size:.7rem}

/* lists, details, controls */
details.grp{margin:.7rem 0;padding:.35rem 1rem}details.grp summary{cursor:pointer;font-weight:600;padding:.2rem 0}
ul.xrefs,ul.occ,ul.plain{list-style:none;padding:0;margin:.4rem 0}.xrefs li{border-top:1px solid var(--border);padding:.5rem 0}.xrefs p{margin:.2rem 0}.rf{margin-right:.4rem}
.occ li{border-top:1px solid var(--border);padding:.4rem 0}.occ p{margin:.2rem 0}ul.plain li{margin:.2rem 0}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.2rem}
.pager{display:flex;justify-content:space-between;margin:.8rem 0;font-weight:600;font-size:.9rem}.pager a{text-decoration:none}
.controls{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:.9rem 0}.controls input[type=search]{flex:1 1 16rem;width:auto}.controls select{width:auto}
.tog{margin-right:.8rem;font-size:.88rem;white-space:nowrap;color:var(--text-soft)}.tog input{accent-color:var(--accent)}
.btn{display:inline-block;padding:.45rem 1rem;border-radius:.6rem;border:var(--border-w) solid var(--border);background:var(--surface);color:var(--text-soft);font:inherit;font-weight:600;font-size:.9rem;cursor:pointer}
.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}
.tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin:.8rem 0}.tabs button{padding:.3rem .9rem;border-radius:999px;border:var(--border-w) solid var(--border);background:var(--surface);color:var(--text-soft);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}
.tabs button[aria-pressed=true]{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}
/* verse-by-verse: narrow original-words column on the left, cross-references on the right */
.vcols{display:grid;grid-template-columns:minmax(17rem,26rem) minmax(0,1fr);gap:1.6rem;align-items:start}.vcols h2{margin-top:1rem}
.vleft table.words{font-size:.86rem}.vleft .words th,.vleft .words td{padding:.3rem .45rem}.vleft .tablewrap{margin-top:.4rem}
.vleft{position:sticky;top:7.2rem;max-height:calc(100vh - 8rem);overflow:auto;padding-right:.2rem}
.pager{align-items:center;gap:.8rem}.pager .hint{color:var(--text-faint);font-weight:500;font-size:.78rem}.pager select{padding:.25rem .5rem;border:var(--border-w) solid var(--border);border-radius:.5rem;background:var(--surface-2);color:var(--text);font:inherit;font-size:.85rem}
kbd{font:inherit;font-size:.75rem;border:1px solid var(--border);border-bottom-width:2px;border-radius:.3rem;padding:0 .3rem;background:var(--surface-2)}
/* original-words table: expandable rows */
button.wtog{all:unset;cursor:pointer;color:var(--accent);font-weight:600}button.wtog::before{content:"\25B8 ";color:var(--text-faint)}button.wtog[aria-expanded=true]::before{content:"\25BE "}
tr.wd td{background:var(--surface-2);font-size:.88rem;padding:.7rem 1rem}tr.wd .occs a{display:inline-block;margin:0 .6rem .15rem 0;white-space:nowrap}tr.wd p{margin:.2rem 0}
/* cross-references: books sidebar */
.withside{display:grid;grid-template-columns:15rem minmax(0,1fr);gap:1.6rem;align-items:start}
.side{position:sticky;top:5.5rem;max-height:calc(100vh - 6.5rem);overflow:auto;background:var(--surface);border:var(--border-w) solid var(--border);border-radius:.75rem;padding:.5rem .3rem}
.side h3{margin:.3rem .6rem .4rem;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}
.side a{display:block;padding:.28rem .6rem;border-radius:.5rem;text-decoration:none;color:var(--text-soft);font-size:.85rem}.side a:hover{background:var(--accent-soft-bg)}
.side a[aria-current]{background:var(--accent);color:var(--accent-contrast)}.side a .n{float:right;color:var(--text-muted);font-size:.78rem}.side a[aria-current] .n{color:inherit}
.side a i{display:block;height:.28rem;margin-top:.2rem;border-radius:99px;background:var(--accent);opacity:.45}.side a[aria-current] i{background:var(--accent-contrast)}
/* flash cards + quiz */
.fc-controls label{display:flex;flex-direction:column;gap:.15rem;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}
.fc-controls select{text-transform:none;letter-spacing:0;font-weight:500;width:auto;max-width:17rem}.fc-controls label[hidden]{display:none}
.fc-bar{display:flex;justify-content:space-between;align-items:center;margin:.4rem 0}
.fc{min-height:17rem;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:.5rem;padding:2rem 1.4rem;cursor:pointer;user-select:none;
background:var(--surface);border:var(--border-w) solid var(--border);border-radius:1rem;box-shadow:var(--card-shadow);outline:none}
.fc:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fc[data-side=back]{background:var(--accent-soft-bg);border-color:var(--accent)}
.fc .big{font-size:2.6rem;font-weight:700;line-height:1.15;word-break:break-word}.fc .orig{font-size:1.5rem;margin:0;color:var(--text-muted)}.fc .sub{color:var(--text-muted);font-size:.9rem}
.fc .answer{font-size:1.6rem;font-weight:700}.fc .nkjv{max-width:42rem;text-align:left}.fc .small{font-size:.9rem;color:var(--text-soft);max-width:40rem}
.fc .label{font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint)}
.fc-actions{display:flex;gap:.6rem;justify-content:center;margin:.9rem 0}.fc-keys{text-align:center}
.qbox .qcard{background:var(--surface);border:var(--border-w) solid var(--border);border-radius:.9rem;box-shadow:var(--card-shadow);padding:1.1rem 1.3rem;margin:.8rem 0}
.qhead{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;justify-content:space-between;margin-bottom:.6rem;font-size:.85rem;color:var(--text-muted)}
.qtext{font-size:1.15rem;font-weight:600;line-height:1.45;margin:.2rem 0 1rem}
.qopt{display:flex;gap:.7rem;width:100%;text-align:left;padding:.65rem .9rem;margin:.45rem 0;border-radius:.65rem;border:var(--border-w) solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer}
.qopt:hover:not([disabled]){border-color:var(--accent);background:var(--accent-soft-bg)}.qopt b{color:var(--text-muted);min-width:1.2rem}
.qopt[disabled]{cursor:default}.qopt.right{background:var(--ok-bg);border-color:var(--ok-bd);color:var(--ok-fg)}.qopt.right b{color:inherit}
.qopt.wrong{background:var(--bad-bg);border-color:var(--bad-bd);color:var(--bad-fg)}.qopt.wrong b{color:inherit}
.qres{margin:.9rem 0 .2rem;padding:.7rem .9rem;border-radius:.65rem;border:var(--border-w) solid var(--border);background:var(--surface-2)}
.qres.ok{background:var(--ok-bg);border-color:var(--ok-bd);color:var(--ok-fg)}.qres.no{background:var(--bad-bg);border-color:var(--bad-bd);color:var(--bad-fg)}
.qres p{margin:.25rem 0 0;color:var(--text-soft)}.qres.ok p,.qres.no p{color:inherit}.qnav{display:flex;gap:.6rem;justify-content:flex-end;margin-top:.8rem}
.qsum h2{margin-top:.4rem}.qsum li{margin:.3rem 0}
.pair{display:inline-block;margin:0 1rem .15rem 0}
/* geography */
.gwrap{display:grid;grid-template-columns:16rem minmax(0,1fr);gap:1rem;align-items:start}.gmap{height:min(70vh,40rem);min-height:20rem;border:var(--border-w) solid var(--border);border-radius:.75rem;z-index:0}
.glist{max-height:min(70vh,40rem);overflow:auto;background:var(--surface);border:var(--border-w) solid var(--border);border-radius:.75rem;padding:.3rem}
.glist button{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:.5rem;width:100%;padding:.28rem .5rem;border-radius:.5rem;cursor:pointer;font-size:.86rem;color:var(--text-soft)}
.glist button:hover{background:var(--accent-soft-bg)}.glist button[aria-current=true]{background:var(--accent);color:var(--accent-contrast)}
.glist button i{width:.65rem;height:.65rem;border-radius:99px;flex:none}.glist button .n{margin-left:auto;font-size:.76rem;opacity:.7}
.gdetail{margin:.8rem 0;padding:.4rem 1rem .7rem;background:var(--surface);border:var(--border-w) solid var(--border);border-radius:.75rem}.gdetail h3{margin:.4rem 0 .2rem}
.gpass li{margin:.35rem 0}.gb{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:0 .4rem;border-radius:.3rem;border:1px solid var(--border)}
.gb.ex{color:var(--ok-fg);background:var(--ok-bg)}.gb.im{color:var(--warn-fg);background:var(--warn-bg)}
.fc-controls label.gq{flex:1 1 12rem}.fc-controls label.gq input{flex:none;width:100%}
.dirwrap{display:grid;grid-template-columns:minmax(18rem,26rem) minmax(0,1fr);gap:1rem;align-items:start}.dirwrap .dmap{margin-top:.6rem;height:min(70vh,36rem)}.fc-controls label.tog{flex-direction:row;align-items:center;text-transform:none;letter-spacing:0;font-weight:500;font-size:.85rem}
.dcard{background:var(--surface);border:var(--border-w) solid var(--border);border-radius:.9rem;box-shadow:var(--card-shadow);padding:1rem 1.3rem;margin:.6rem 0}
.dstate{font-size:1.5rem;font-weight:700;line-height:1.35;min-height:2.2rem}.gdir{color:var(--accent);text-decoration:underline}.ga{color:#2563eb}.gb2{color:#15803d}
.dnav{display:flex;gap:.6rem;margin-top:.7rem;flex-wrap:wrap}.dmap{margin-top:.6rem}
.gpin{position:relative;transform:translate(8px,-22px);white-space:nowrap;font:600 .78rem 'Inter',sans-serif;padding:.1rem .45rem;border-radius:.4rem;color:#fff;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.gpin b{margin-right:.3rem}.gpin.a{background:#2563eb}.gpin.b{background:#15803d}
.garrow{font-size:1.4rem;line-height:1;color:#e11d48;transform-origin:50% 50%;margin:-.7rem 0 0 -.5rem;text-shadow:0 0 3px #fff}
@media(max-width:900px){.gwrap,.dirwrap{grid-template-columns:1fr}.glist{max-height:12rem}}
/* themes (memory page) */
details.theme>summary{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}details.theme .chip{margin:0}details.theme .sec{margin:.5rem 0}
details.theme .sec a.chip{margin:0 .3rem .3rem 0}
.onlymem .xref:not(.has-mem){display:none}.onlystudy .xref:not(.has-study){display:none}
html[data-theme='bold'] .chip{font-weight:800}html[data-theme='bold'] .btn,html[data-theme='bold'] .hsearch input{border-width:2px}
@media(max-width:900px){.vcols,.withside{grid-template-columns:1fr}.vleft,.side{position:static;max-height:none}.side{max-height:14rem}}
@media(max-width:640px){h1{font-size:1.45rem}.back{margin-left:0}.hsearch{order:5;max-width:none;flex-basis:100%}}
