/* ---- Bundled fonts (Latin: Source Sans/Serif · Devanagari: Noto) ---- */
@font-face{font-family:'Source Sans 3';src:url('../fonts/source-sans-3.woff2') format('woff2');font-weight:200 900;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url('../fonts/source-serif-4.woff2') format('woff2');font-weight:200 900;font-display:swap}
@font-face{font-family:'Noto Sans Devanagari';src:url('../fonts/noto-sans-deva-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Noto Sans Devanagari';src:url('../fonts/noto-sans-deva-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Noto Serif Devanagari';src:url('../fonts/noto-serif-deva-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Noto Serif Devanagari';src:url('../fonts/noto-serif-deva-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Annapurna SIL';src:url('../fonts/annapurna-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Annapurna SIL';src:url('../fonts/annapurna-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Asar';src:url('../fonts/asar-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Gotu';src:url('../fonts/gotu-400.woff2') format('woff2');font-weight:400;font-display:swap}

:root{
  --bg:#ffffff; --surface:#ffffff; --surface-2:#f3f3f1;
  --text:#33312e; --text-soft:#6f6c68; --line:#e8e7e3;
  --accent:#8a5a2b; --accent-soft:#f5efe6; --mark:#ffe9a3;
  --shadow:0 6px 24px rgba(30,25,15,.10);
  --fs:1.2rem; --maxw:44rem;
  --font-read:'Source Sans 3','Noto Sans Devanagari','Kohinoor Devanagari','Mukta',system-ui,-apple-system,'Segoe UI',sans-serif;
  --hl-yellow:#ffe9a3; --hl-green:#c7ecc0; --hl-blue:#bfe0f5; --hl-pink:#f7c9dd; --hl-orange:#ffd6a8;
  --safe-t:env(safe-area-inset-top,0px); --safe-b:env(safe-area-inset-bottom,0px);
}
:root[data-theme="dark"]{
  --bg:#15130f; --surface:#1e1b16; --surface-2:#2a2620;
  --text:#ece6da; --text-soft:#a49a88; --line:#332e26;
  --accent:#d7a86a; --accent-soft:#2c241a; --mark:#6b5518;
  --shadow:0 6px 24px rgba(0,0,0,.4);
  --hl-yellow:#5c4a1e; --hl-green:#274a2a; --hl-blue:#1f3b52; --hl-pink:#4e2739; --hl-orange:#5a3a1c;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#15130f; --surface:#1e1b16; --surface-2:#2a2620;
    --text:#ece6da; --text-soft:#a49a88; --line:#332e26;
    --accent:#d7a86a; --accent-soft:#2c241a; --mark:#6b5518;
    --shadow:0 6px 24px rgba(0,0,0,.4);
    --hl-yellow:#5c4a1e; --hl-green:#274a2a; --hl-blue:#1f3b52; --hl-pink:#4e2739; --hl-orange:#5a3a1c;
  }
}

*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--bg); color:var(--text);
  font-family:var(--font-read); line-height:1.85; min-height:100dvh;
  padding-top:calc(3.4rem + var(--safe-t));
  overscroll-behavior-y:none;
}
:root[data-font="serif"]{--font-read:'Source Serif 4','Noto Serif Devanagari','Kohinoor Devanagari',Georgia,serif}
:root[data-font="annapurna"]{--font-read:'Annapurna SIL','Noto Serif Devanagari',Georgia,serif}
:root[data-font="asar"]{--font-read:'Asar','Noto Serif Devanagari',Georgia,serif}
:root[data-font="gotu"]{--font-read:'Gotu','Noto Sans Devanagari',system-ui,sans-serif}
svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:block}
button{font-family:inherit}

/* ---------- Top bar ---------- */
.topbar{
  position:fixed;top:0;left:0;right:0;z-index:40;
  display:flex;align-items:center;gap:.15rem;
  padding:.35rem .5rem;padding-top:calc(.35rem + var(--safe-t));
  height:calc(3.4rem + var(--safe-t));
  background:color-mix(in srgb,var(--surface) 88%,transparent);
  backdrop-filter:saturate(1.4) blur(10px);
  border-bottom:1px solid var(--line);
}
.spacer{flex:1}
.icon-btn{display:grid;place-items:center;width:2.6rem;height:2.6rem;border:none;border-radius:.7rem;background:transparent;color:var(--text);cursor:pointer;transition:background .15s}
.icon-btn:hover{background:var(--surface-2)}
.icon-btn:active{transform:scale(.94)}
.ref-btn{display:flex;align-items:center;gap:.3rem;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:2rem;padding:.4rem .75rem;font:inherit;font-weight:600;font-size:1rem;cursor:pointer;max-width:42vw;min-width:0}
.ref-btn #refLabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ref-btn .chev,.ver-btn .chev{width:16px;height:16px;color:var(--text-soft);flex:none}
.ver-btn{display:flex;align-items:center;gap:.2rem;border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent);border-radius:2rem;padding:.4rem .6rem;font:inherit;font-weight:700;font-size:.82rem;cursor:pointer;flex:none}
.ver-btn .chev{color:var(--accent)}
.ico-sun{display:none}
:root[data-theme="dark"] .ico-moon{display:none}
:root[data-theme="dark"] .ico-sun{display:block}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ico-moon{display:none}:root:not([data-theme="light"]) .ico-sun{display:block}}

/* ---------- Reader ---------- */
.reader{max-width:var(--maxw);margin:0 auto;padding:1.5rem 1.15rem 7rem;outline:none}
.reader .loading{text-align:center;color:var(--text-soft);padding:4rem 0}
.book-title{text-align:center;font-size:1.9rem;font-weight:700;color:var(--accent);margin:.5rem 0 .15rem}
.chap-title{text-align:center;color:var(--text-soft);font-size:1rem;margin-bottom:1.6rem;letter-spacing:.02em}
.verses{font-size:var(--fs)}
.v{display:block;margin:0 0 .55rem;scroll-margin-top:5rem;border-radius:.4rem;padding:.08rem .25rem;transition:background .4s;cursor:pointer;position:relative}
.v .vn{font-size:.72em;font-weight:700;color:var(--accent);vertical-align:.32em;margin-right:.35em;font-family:system-ui,sans-serif}
.v.flash{background:var(--accent-soft)}
.v.sel{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}
.v.hl-yellow{background:var(--hl-yellow)}.v.hl-green{background:var(--hl-green)}.v.hl-blue{background:var(--hl-blue)}.v.hl-pink{background:var(--hl-pink)}.v.hl-orange{background:var(--hl-orange)}
.v .badge{display:inline-flex;gap:.15rem;vertical-align:.15em;margin-left:.25em}
.v .badge svg{width:.72em;height:.72em;stroke-width:2.4;color:var(--accent);opacity:.85}
mark{background:var(--mark);color:inherit;border-radius:.2rem;padding:0 .1em}

.chap-foot{display:flex;justify-content:space-between;gap:1rem;margin-top:2.5rem;padding-top:1.2rem;border-top:1px solid var(--line)}
.chap-foot button{flex:1;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:.7rem;padding:.7rem;font:inherit;cursor:pointer;font-size:.95rem;display:flex;flex-direction:column;gap:.1rem}
.chap-foot button:disabled{opacity:.35;cursor:default}
.chap-foot .cf-next{align-items:flex-end;text-align:right}
.chap-foot small{color:var(--text-soft);font-size:.72rem}

.chapnav{display:none}
@media (min-width:56rem){
  .chapnav{display:flex;position:fixed;top:50%;transform:translateY(-50%);left:0;right:0;justify-content:space-between;pointer-events:none;padding:0 .6rem;z-index:20}
  .chapnav .navbtn{pointer-events:auto;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);width:3rem;height:3rem;border-radius:50%}
}

/* ---------- Home screen ---------- */
.home{max-width:var(--maxw);margin:0 auto}
.home-hero{text-align:center;padding:1.2rem 0 .4rem}
.home-hero img{width:60px;height:60px}
.home-hero h1{font-size:1.5rem;color:var(--accent);margin-top:.4rem}
.home-hero p{color:var(--text-soft);font-size:.9rem}
.votd{background:linear-gradient(160deg,var(--accent-soft),var(--surface));border:1px solid var(--line);border-radius:1rem;padding:1.3rem 1.2rem;margin:1rem 0;box-shadow:var(--shadow)}
.votd .lbl{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-weight:700;font-family:system-ui}
.votd .vtext{font-size:1.25rem;line-height:1.7;margin:.6rem 0 .5rem}
.votd .vref{color:var(--accent);font-weight:700}
.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:1rem}
.home-card{display:flex;flex-direction:column;gap:.35rem;align-items:flex-start;text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:.9rem;padding:1rem;font:inherit;cursor:pointer}
.home-card:hover{border-color:var(--accent);background:var(--accent-soft)}
.home-card svg{width:26px;height:26px;color:var(--accent)}
.home-card b{font-size:1.05rem}
.home-card small{color:var(--text-soft);font-size:.8rem;line-height:1.4}
.home-card.wide{grid-column:1/-1;flex-direction:row;align-items:center;gap:.8rem}
.home-card.wide div{display:flex;flex-direction:column}
.home-card b,.home-card small{display:block}

/* ---------- Verse action bar ---------- */
.actionbar{position:fixed;left:0;right:0;bottom:0;z-index:45;background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -6px 24px rgba(0,0,0,.14);padding:.5rem .6rem calc(.5rem + var(--safe-b));transform:translateY(120%);transition:transform .22s cubic-bezier(.2,.8,.2,1)}
.actionbar.open{transform:translateY(0)}
.ab-sel{text-align:center;font-size:.85rem;color:var(--text-soft);margin-bottom:.35rem;font-family:system-ui}
.ab-colors{display:flex;justify-content:center;gap:.6rem;margin-bottom:.5rem}
.ab-colors .sw{width:1.9rem;height:1.9rem;border-radius:50%;border:2px solid var(--line);cursor:pointer}
.ab-colors .sw[data-c="yellow"]{background:var(--hl-yellow)}.ab-colors .sw[data-c="green"]{background:var(--hl-green)}.ab-colors .sw[data-c="blue"]{background:var(--hl-blue)}.ab-colors .sw[data-c="pink"]{background:var(--hl-pink)}.ab-colors .sw[data-c="orange"]{background:var(--hl-orange)}
.ab-colors .sw[data-c="none"]{background:var(--surface-2);position:relative}
.ab-colors .sw[data-c="none"]::after{content:"";position:absolute;inset:40% 12%;border-top:2px solid var(--text-soft);transform:rotate(-45deg)}
.ab-colors .sw.on{border-color:var(--accent);transform:scale(1.12)}
.ab-btns{display:flex;justify-content:space-around;max-width:34rem;margin:0 auto}
.ab-btns button{display:flex;flex-direction:column;align-items:center;gap:.15rem;background:none;border:none;color:var(--text);cursor:pointer;padding:.4rem .5rem;border-radius:.6rem;font-size:.72rem}
.ab-btns button:hover{background:var(--surface-2)}
.ab-btns button svg{width:22px;height:22px;color:var(--accent)}

/* ---------- Drawer ---------- */
.drawer{position:fixed;top:0;bottom:0;left:0;width:min(20rem,86vw);z-index:70;background:var(--surface);box-shadow:var(--shadow);transform:translateX(-105%);transition:transform .24s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;padding-top:var(--safe-t)}
.drawer.open{transform:translateX(0)}
.drawer-head{display:flex;align-items:center;padding:1rem;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:.6rem;flex:1}
.brand strong{display:block;color:var(--accent);font-size:1.05rem}
.brand small{color:var(--text-soft);font-size:.72rem;font-family:system-ui}
.drawer-body{overflow-y:auto;padding:.5rem .5rem calc(1rem + var(--safe-b));flex:1}
.dl-item{display:flex;align-items:center;gap:.75rem;width:100%;text-align:left;background:none;border:none;color:var(--text);font:inherit;font-size:1.02rem;padding:.7rem .7rem;border-radius:.6rem;cursor:pointer}
.dl-item:hover{background:var(--surface-2)}
.dl-item svg{width:21px;height:21px;color:var(--accent);flex:none}
.dl-item .dl-sub{margin-left:auto;font-size:.75rem;color:var(--text-soft);font-family:system-ui}
.dl-div{height:1px;background:var(--line);margin:.5rem .3rem}
.dl-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-soft);padding:.4rem .7rem .2rem;font-family:system-ui}
.dl-setting{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .7rem;font-size:.95rem}
.segset{display:inline-flex;border:1px solid var(--line);border-radius:.6rem;overflow:hidden}
.segset button{background:var(--surface);border:none;color:var(--text);padding:.35rem .6rem;font-size:.85rem;cursor:pointer;border-left:1px solid var(--line);font-family:system-ui}
.segset button:first-child{border-left:none}
.segset button.on{background:var(--accent);color:#fff}
.segset b{padding:.35rem .5rem;font-size:.85rem;min-width:3rem;text-align:center;border-left:1px solid var(--line);font-family:system-ui;font-weight:600}

/* ---------- Overlays / sheets ---------- */
.scrim{position:fixed;inset:0;background:rgba(20,15,8,.45);z-index:50;animation:fade .2s}
@keyframes fade{from{opacity:0}to{opacity:1}}
.overlay{position:fixed;inset:0;z-index:60;display:none}
.overlay.open{display:block}
.sheet{position:absolute;left:0;right:0;bottom:0;margin:0 auto;max-width:36rem;background:var(--surface);border-radius:1.1rem 1.1rem 0 0;max-height:88dvh;display:flex;flex-direction:column;box-shadow:var(--shadow);animation:slideup .24s cubic-bezier(.2,.8,.2,1);padding-bottom:var(--safe-b)}
@keyframes slideup{from{transform:translateY(100%)}to{transform:translateY(0)}}
@media (min-width:40rem){
  .sheet{top:3.5rem;bottom:3.5rem;border-radius:1.1rem;max-height:none;animation:pop .2s}
  @keyframes pop{from{transform:scale(.97);opacity:0}to{transform:scale(1);opacity:1}}
}
.sheet-head{display:flex;align-items:center;gap:.5rem;padding:.8rem 1rem;border-bottom:1px solid var(--line)}
.sheet-head strong{font-size:1.1rem}
.sheet-head .icon-btn{margin-left:auto}
.sheet-body{overflow-y:auto;padding:.8rem 1rem 1.4rem;-webkit-overflow-scrolling:touch;flex:1}

.book-group-h{grid-column:1/-1;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-soft);margin:1rem .3rem .5rem}
.book-group-h:first-child{margin-top:.2rem}
.booklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.4rem}
.book-item{text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:.6rem;padding:.6rem .7rem;font:inherit;font-size:1.02rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:.4rem}
.book-item:hover{border-color:var(--accent);background:var(--accent-soft)}
.book-item.active{border-color:var(--accent);background:var(--accent-soft);font-weight:700}
.book-item small{color:var(--text-soft);font-size:.72rem;font-family:system-ui}
.chapgrid-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.9rem}
.chapgrid-head button{background:none;border:none;color:var(--accent);font:inherit;cursor:pointer;display:flex;align-items:center;gap:.2rem;font-weight:600}
.chapgrid-head strong{font-size:1.15rem}
.chapgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(3.2rem,1fr));gap:.45rem}
.chap-cell{aspect-ratio:1;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:.55rem;font:inherit;font-size:1.05rem;cursor:pointer;font-family:system-ui;font-weight:600}
.chap-cell:hover{border-color:var(--accent);background:var(--accent-soft)}
.chap-cell.active{background:var(--accent);color:#fff;border-color:var(--accent)}

/* search + goto */
.search-sheet .sheet-head,.goto-sheet .sheet-head{gap:.4rem}
.searchbox{flex:1;display:flex;align-items:center;gap:.5rem;background:var(--surface-2);border-radius:.7rem;padding:.15rem .7rem}
.searchbox svg{width:18px;height:18px;color:var(--text-soft);flex:none}
.searchbox input{flex:1;border:none;background:none;color:var(--text);font:inherit;font-size:1.05rem;padding:.6rem 0;outline:none}
.search-status{color:var(--text-soft);font-size:.9rem;padding:.4rem .2rem;text-align:center}
.results{display:flex;flex-direction:column}
.result{text-align:left;border:none;border-bottom:1px solid var(--line);background:none;color:var(--text);padding:.75rem .3rem;font:inherit;cursor:pointer;width:100%}
.result:hover{background:var(--surface-2)}
.result .r-ref{color:var(--accent);font-weight:700;font-size:.92rem;margin-bottom:.15rem;font-family:system-ui}
.result .r-text{font-size:1rem;line-height:1.6}

/* library */
.tabbar{display:flex;border-bottom:1px solid var(--line);overflow-x:auto}
.tabbar button{flex:1;min-width:5rem;background:none;border:none;color:var(--text-soft);padding:.7rem .4rem;font:inherit;font-size:.9rem;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}
.tabbar button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:700}
.libbody .empty,.plansbody .empty{text-align:center;color:var(--text-soft);padding:3rem 1rem}
.lib-item{display:flex;gap:.6rem;align-items:flex-start;border-bottom:1px solid var(--line);padding:.75rem .2rem}
.lib-item .li-main{flex:1;text-align:left;background:none;border:none;color:var(--text);font:inherit;cursor:pointer}
.lib-item .li-ref{color:var(--accent);font-weight:700;font-size:.9rem;font-family:system-ui;margin-bottom:.15rem;display:flex;align-items:center;gap:.4rem}
.lib-item .li-dot{width:.7rem;height:.7rem;border-radius:50%;display:inline-block}
.li-dot.yellow{background:var(--hl-yellow)}.li-dot.green{background:var(--hl-green)}.li-dot.blue{background:var(--hl-blue)}.li-dot.pink{background:var(--hl-pink)}.li-dot.orange{background:var(--hl-orange)}
.lib-item .li-text{font-size:.95rem;line-height:1.5;color:var(--text)}
.lib-item .li-note{font-size:.9rem;color:var(--text-soft);margin-top:.2rem;white-space:pre-wrap}
.lib-item .li-del{background:none;border:none;color:var(--text-soft);cursor:pointer;padding:.3rem}
.lib-item .li-del:hover{color:#c0392b}

/* plans */
.plan-card{border:1px solid var(--line);border-radius:.9rem;padding:1rem;margin-bottom:.8rem;background:var(--surface)}
.plan-card h3{font-size:1.1rem;margin-bottom:.2rem}
.plan-card p{color:var(--text-soft);font-size:.85rem;margin-bottom:.7rem}
.plan-bar{height:.5rem;background:var(--surface-2);border-radius:1rem;overflow:hidden;margin:.5rem 0}
.plan-bar i{display:block;height:100%;background:var(--accent)}
.plan-meta{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-soft);font-family:system-ui;margin-bottom:.6rem}
.plan-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.btn-primary{background:var(--accent);color:#fff;border:none;border-radius:.6rem;padding:.55rem .9rem;font:inherit;font-size:.9rem;cursor:pointer;font-weight:600}
.btn-ghost{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:.6rem;padding:.55rem .9rem;font:inherit;font-size:.9rem;cursor:pointer}
.btn-ghost.danger:hover{border-color:#c0392b;color:#c0392b}
.plan-today{margin-top:.6rem;border-top:1px dashed var(--line);padding-top:.6rem}
.plan-today .pt-h{font-size:.8rem;color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-family:system-ui;margin-bottom:.4rem}
.pt-chapters{display:flex;flex-direction:column;gap:.3rem}
.pt-ch{display:flex;align-items:center;gap:.6rem;background:var(--surface-2);border:none;border-radius:.5rem;padding:.5rem .7rem;font:inherit;color:var(--text);cursor:pointer;text-align:left}
.pt-ch.done{opacity:.55}
.pt-ch .ck{width:1.2rem;height:1.2rem;border:2px solid var(--accent);border-radius:.3rem;flex:none;display:grid;place-items:center}
.pt-ch.done .ck{background:var(--accent)}
.pt-ch .ck svg{width:.9rem;height:.9rem;color:#fff;stroke-width:3}
.pt-ch span{flex:1}

/* note editor */
.note-sheet .sheet-body{gap:.8rem;display:flex;flex-direction:column}
.note-verse{background:var(--surface-2);border-radius:.6rem;padding:.7rem;font-size:.95rem;line-height:1.6;color:var(--text-soft)}
#noteText{width:100%;border:1px solid var(--line);border-radius:.6rem;background:var(--surface);color:var(--text);font:inherit;font-size:1.05rem;padding:.7rem;resize:vertical;line-height:1.7}
.note-actions{display:flex;justify-content:space-between;gap:.5rem}

/* toast */
.toast{position:fixed;left:50%;bottom:calc(1.5rem + var(--safe-b));transform:translateX(-50%) translateY(2rem);background:#2a2620;color:#fff;padding:.7rem 1.1rem;border-radius:2rem;font-size:.9rem;z-index:90;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:var(--shadow);max-width:90vw;text-align:center}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* copyright line under API chapters */
.copyright{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--line);color:var(--text-soft);font-size:.78rem;line-height:1.5;font-family:system-ui;text-align:center}

/* version picker */
.verlist{display:flex;flex-direction:column;gap:.5rem}
.ver-item{display:flex;align-items:center;justify-content:space-between;gap:.6rem;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:.7rem;padding:.8rem .9rem;font:inherit;cursor:pointer;text-align:left}
.ver-item:hover{border-color:var(--accent);background:var(--accent-soft)}
.ver-item.active{border-color:var(--accent);background:var(--accent-soft)}
.ver-item b{font-size:1.05rem;display:block}
.ver-item small{color:var(--text-soft);font-size:.82rem}
.ver-badge{font-size:.68rem;font-family:system-ui;color:#2e7d32;background:color-mix(in srgb,#2e7d32 14%,transparent);padding:.2rem .5rem;border-radius:1rem;white-space:nowrap;flex:none}
.ver-badge.net{color:#8a5a2b;background:var(--accent-soft)}
:root[data-theme="dark"] .ver-badge{color:#7dcf82}

/* unified search: nav suggestions + section headers */
.searchnav{display:flex;flex-direction:column}
.sec-h{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-soft);font-family:system-ui;padding:.7rem .2rem .3rem}
.navsug{display:flex;align-items:center;gap:.5rem;width:100%;text-align:left;border:none;background:none;color:var(--text);font:inherit;font-size:1.05rem;padding:.6rem .3rem;cursor:pointer;border-bottom:1px solid var(--line)}
.navsug:hover{background:var(--surface-2)}
.navsug svg{width:18px;height:18px;color:var(--accent);flex:none}

/* text-size + font popover (Aa) */
.fontpop{position:fixed;top:calc(3.6rem + var(--safe-t));right:.6rem;z-index:80;background:var(--surface);border:1px solid var(--line);border-radius:.9rem;box-shadow:var(--shadow);padding:.8rem;display:none;flex-direction:column;gap:.6rem;width:15rem;max-width:92vw}
.fontpop .fp-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.fontpop .fp-btn{flex:1;height:2.4rem;border-radius:.6rem;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-size:1.1rem;cursor:pointer;font-family:system-ui}
.fontpop #fLabel{min-width:3.2rem;text-align:center;color:var(--text-soft);font-size:.9rem;font-family:system-ui}
.fp-flabel{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-soft);font-family:system-ui}
.fp-fonts{display:flex;flex-direction:column;gap:.35rem;max-height:50vh;overflow-y:auto}
.fp-font{text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:.6rem;padding:.55rem .75rem;font-size:1.12rem;cursor:pointer}
.fp-font:hover{border-color:var(--accent);background:var(--accent-soft)}
.fp-font.on{border-color:var(--accent);background:var(--accent-soft);font-weight:600}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
