:root{
  --bg:#f6f6f3; --surface:#ffffff; --panel-head:#f7f6f3;
  /* krom = menyer/kolonner/panelhoder (kontrastsystem variant B): farget = struktur, hvitt = innhold */
  --chrome:#efeeea; --chrome-line:#dedcd5; --chrome-grp:#e8e6df; --chrome-hover:rgba(255,255,255,.55);
  --text:#1c1c1a; --muted:#5a5a52; --faint:#70706a;
  --border:#e4e4df; --border-strong:#d3d3cc;
  --accent:#0f8a7e; --accent-soft:#e4f3f0;
  /* GT/NT-farger (Chris Harrison-konvensjon: GT blå, NT rød) — brukt i kryssref-kart og profeti-oversikten */
  --gt:#2f6f9e; --gt-ink:#245780; --gt-soft:#eaf1f7;
  --nt:#a01818; --nt-ink:#7d1212; --nt-soft:#f8eaea;
  /* Louw-Nida semantiske domener: kjølig skifergrå — skilt fra accent (Norsk betydning), note (notater) og krom (menyer) */
  --dom-accent:#5f6a75; --dom-soft:#ebedee;
  --note:#cf7a1f;
  --sel:#e9f1fb; --sel-border:#bcd6f4;
  --rail:#fbfbf9;
  --reading:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --ui:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,system-ui,sans-serif;
  --read-size:17px;
  /* avledede lesestørrelser så oppslags-/referansetekst skalerer med --read-size, men beholder hierarkiet */
  --read-sm:calc(var(--read-size) * 0.84);  /* kompakt innhold (~14px @17): ordbok/leksikon-tekst, kryssref */
  --read-xs:calc(var(--read-size) * 0.74);  /* små/dempete (~12.6px @17): ref-lister, gloss, kilde */
  /* fargemarkering (myke tinter, matchet mot Lyra Ferby) */
  --hl-yellow:#FBE36B; --hl-red:#EF9A9C; --hl-lblue:#BCE4FA; --hl-blue:#8FBCF2;
  --hl-teal:#A6E3D6; --hl-gold:#EDC868; --hl-green:#98D98C; --hl-lgreen:#D6EC9C;
  --hl-purple:#D5BCEE; --hl-brown:#CDAC89; --hl-orange:#FBB572; --hl-pink:#F9CDE4;
}
[data-theme="dark"]{
  --hl-yellow:rgba(251,227,107,.32); --hl-red:rgba(239,154,156,.32); --hl-lblue:rgba(188,228,250,.28);
  --hl-blue:rgba(143,188,242,.38); --hl-teal:rgba(166,227,214,.30); --hl-gold:rgba(237,200,104,.36);
  --hl-green:rgba(152,217,140,.34); --hl-lgreen:rgba(214,236,156,.32); --hl-purple:rgba(213,188,238,.34);
  --hl-brown:rgba(205,172,137,.36); --hl-orange:rgba(251,181,114,.36); --hl-pink:rgba(249,205,228,.34);
  --bg:#16181a; --surface:#1f2225; --panel-head:#23272b;
  --chrome:#131517; --chrome-line:#2b2f33; --chrome-grp:#1d2124; --chrome-hover:rgba(255,255,255,.05);
  --text:#e8e8e4; --muted:#b5b5ab; --faint:#9a9b93;
  --border:#33373b; --border-strong:#3f444a;
  --accent:#3fb9aa; --accent-soft:#173734;
  --dom-accent:#a4aeb8; --dom-soft:#24282c;
  --note:#e0a256; --sel:#1d2c3d; --sel-border:#2c486b; --rail:#1b1e21;
  --gt:#6ba6d0; --gt-ink:#9cc6e4; --gt-soft:#152534;
  --nt:#e07a7a; --nt-ink:#eda0a0; --nt-soft:#301717;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:var(--ui);color:var(--text);background:var(--bg);font-size:14px;
  -webkit-font-smoothing:antialiased;overflow:hidden}
button{font-family:inherit;color:inherit;cursor:pointer}
a{color:inherit}
/* iOS 26+ Liquid Glass: Safari 26 ignorerer theme-color og bruker <body>/<html> sin bakgrunnsfarge som
   statuslinjens farge — og siden appen scroller indre paneler (body overflow:hidden, scrollY alltid 0)
   er det ALLTID den fallback-fargen som gjelder. Med grå body (--bg) mot hvit topplinje tegnet iOS grå
   glass som gled over i hvitt. Målt mot Betel-appen (samme meta-oppsett, flat statuslinje): der er
   body = header = hvit. Så: body/html får topplinjens farge (--surface) på sider MED app-skall, og den
   grå flyttes til .app-skallet — ingenting synlig endres, for .app dekker hele visningen. Sider uten
   skall (landing, login, vilkår) beholder grå body. Et fixed «fyll»-element ble prøvd først og virket
   ikke — sampleren ser ikke fixed-elementer når dokumentet står på scrollY 0. */
html:has(.app),body:has(.app){background:var(--surface)}
.app{display:flex;flex-direction:column;height:100vh;height:100dvh;background:var(--bg)}
/* iOS 26+ kant-effekt («scroll edge effect»): i installert app legger systemet en variabel uskarphet
   over de øverste ~90 pt av web-visningens RULLEINNHOLD, som smører fargede ikoner i topplinjen
   oppover (målt: ikoner på 65–82 pt, dis til ~90 pt). Notat-visningen på mobil er upåvirket — den
   er ett position:fixed-lag over hele skjermen (.themehub.mobile-open .hub-r). Et fast lag som bare
   dekket statuslinjen (v283) hjalp ikke: sonen er høyere enn statuslinjen. Derfor: hele app-skallet
   som fast lag, kun i installert app. Visuelt identisk (.app er alt 100dvh, body overflow:hidden). */
@media (display-mode: standalone){
  .app{position:fixed;inset:0}
}
.icon{width:19px;height:19px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round}
.spacer{flex:1}

/* topbar */
.topbar{height:calc(54px + env(safe-area-inset-top));flex:none;display:flex;align-items:center;gap:12px;
  padding:env(safe-area-inset-top) 16px 0;background:var(--surface);border-bottom:1px solid var(--border)}
.wordmark{display:flex;align-items:center;gap:9px;letter-spacing:.06em;font-weight:800;font-size:14px;text-decoration:none}
.wordmark .wm-logo{width:26px;height:26px;border-radius:6px;flex:none}
.wordmark .wm-accent{color:var(--accent)}
.refbadge{display:inline-flex;align-items:center;gap:7px;font-family:var(--reading);font-weight:600;
  background:var(--accent-soft);color:var(--accent);padding:5px 11px;border-radius:20px;font-size:13px;
  text-decoration:none;border:0;cursor:pointer}
.refbadge:hover{filter:brightness(.97)}
.search{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--border);
  border-radius:8px;padding:7px 11px;width:210px;color:var(--muted);position:relative}
.search input{border:0;background:transparent;outline:0;color:var(--text);width:100%;font-size:13px}
/* hurtigsøk (kun Studie): nedtrekk med treff under topp-søkefeltet */
.qsdrop{position:absolute;top:calc(100% + 7px);right:0;width:380px;max-width:80vw;max-height:62vh;overflow:auto;
  background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;
  box-shadow:0 14px 34px rgba(0,0,0,.30);padding:5px;z-index:80}
.qsrow{display:block;width:100%;text-align:left;background:transparent;border:0;border-radius:7px;
  padding:7px 9px;cursor:pointer;color:var(--text)}
.qsrow:hover,.qsrow:focus-visible{background:var(--accent-soft);outline:0}
.qsref{display:block;font-family:var(--reading);font-weight:700;font-size:13px;color:var(--accent);margin-bottom:1px}
.qssnip{display:block;font-family:var(--reading);font-size:13.5px;line-height:1.5;color:var(--text)}
.qssnip mark{background:var(--accent-soft);color:var(--accent);padding:0 2px;border-radius:3px;font-weight:600}
.qsmsg{padding:9px 10px;font-size:13px;color:var(--muted)}
.qsfull{display:block;width:100%;text-align:left;background:transparent;border:0;border-top:1px solid var(--border);
  margin-top:4px;padding:9px 10px;cursor:pointer;color:var(--accent);font-size:12.5px;font-weight:700}
.qsfull:hover{background:var(--accent-soft);border-radius:0 0 7px 7px}
/* hurtigsøk: direkte skriftsted-treff (tastet referanse) — løftes fram over tekst-treffene */
.qsrefrow{background:var(--accent-soft)}
.qsrefrow .qssnip{font-family:var(--ui);font-size:12px;color:var(--accent)}
/* hurtigsøk: gruppe-overskrift + emne-treff */
.qsgrp{padding:8px 10px 3px;font-family:var(--ui);font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}
.qstopic{display:block;width:100%;text-align:left;background:transparent;border:0;border-radius:7px;padding:7px 10px;cursor:pointer}
.qstopic:hover,.qstopic:focus-visible{background:var(--accent-soft);outline:0}
/* søkeside: emne-treff (chips → Ressurs-siden) */
.searchtopics{margin:2px 0 16px}
.st-head{font-family:var(--ui);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);margin-bottom:7px}
.st-list{display:flex;flex-wrap:wrap;gap:7px}
.st-chip{display:inline-flex;align-items:baseline;gap:6px;padding:5px 12px;border:1px solid var(--border);border-radius:18px;background:var(--surface);text-decoration:none;color:var(--text);font-family:var(--reading);font-size:14px}
.st-chip:hover{border-color:var(--accent);background:var(--accent-soft)}
.st-no{color:var(--muted);font-size:.9em}
.st-src{color:var(--faint);font-size:.72em;font-family:var(--ui);text-transform:uppercase;letter-spacing:.03em}
.tbtn{display:inline-flex;align-items:center;gap:7px;background:transparent;border:1px solid var(--border);
  border-radius:8px;padding:7px 11px;font-size:13px;color:var(--text)}
.tbtn:hover{background:var(--bg)}
.avatar{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px;position:relative}
.avatar .dot{width:26px;height:26px;border-radius:50%;background:var(--accent-soft);color:var(--accent);
  display:grid;place-items:center;font-weight:700}
/* Ulest-varsel-markør på avataren (øverst t.h. av initial-sirkelen) */
.acct-dot{position:absolute;top:1px;left:23px;width:9px;height:9px;border-radius:50%;background:#e5484d;border:2px solid var(--surface);z-index:1}
.acct-dot[hidden]{display:none}

/* body + rail */
.body{flex:1;display:flex;min-height:0}
.rail{width:198px;flex:none;background:var(--rail);border-right:1px solid var(--border);
  display:flex;flex-direction:column;transition:width .16s ease;overflow:hidden}
.rail.collapsed{width:58px}
.railtop{height:46px;display:flex;align-items:center;padding:0 14px}
.burger{background:transparent;border:0;padding:6px;border-radius:7px;color:var(--muted)}
.burger:hover{background:var(--border)}
.nav{flex:1;overflow-y:auto;padding:4px 8px}
.nav a{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:8px;color:var(--text);
  text-decoration:none;font-size:13.5px;white-space:nowrap}
.nav a:hover{background:var(--border)}
.nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}
.nav a .icon{color:var(--muted)}
.nav a.active .icon{color:var(--accent)}
.rail.collapsed .nav a{justify-content:center;padding:9px 0}
.rail.collapsed .label{display:none}
.railfoot{flex:none;padding:10px 14px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--border);font-size:10.5px;line-height:1.55;color:var(--faint)}
.railfoot .rf-dev{font-weight:600;color:var(--muted)}
.railfoot .rf-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rail.collapsed .railfoot{display:none}

/* main / workspace */
.main{flex:1;min-width:0;display:flex;overflow:hidden}
.workspace{flex:1;display:flex;gap:10px;padding:10px;min-width:0;overflow:hidden}
.col{display:flex;flex-direction:column;gap:10px;min-width:0}
.col-left{flex:0 1 320px;max-width:360px}
.col-center{flex:1.3 1 0}
.col-right{flex:1 1 0}
/* egendefinerte kolonnebredder (aktiveres når brukeren drar en splitter) — fast basis fra vars */
.workspace.cols-custom .col-left{flex:0 0 var(--col-l,320px);max-width:none}
.workspace.cols-custom .col-center{flex:1 1 0;min-width:220px}
.workspace.cols-custom .col-right{flex:0 0 var(--col-r,380px)}
/* dra-splittere: tynn strek som lyser opp på peker/fokus; ligger i mellomrommet uten å flytte kolonnene */
.hub-splitter,.col-splitter{position:relative;z-index:5;flex:none;align-self:stretch;cursor:col-resize;touch-action:none;-webkit-user-select:none;user-select:none}
.hub-splitter{width:9px;margin:0 -5px}    /* liten overlapp over hub-l/hub-r-grensen, uten å legge til bredde */
.col-splitter{width:12px;margin:0 -11px}  /* ligger i workspace-mellomrommet (gap:10px) → net 0 */
.col-splitter[hidden]{display:none}
.hub-splitter::before{content:"";position:absolute;top:0;bottom:0;left:3px;width:1px;border-radius:2px;background:var(--border-strong);transition:background .12s,width .12s}
.hub-splitter:hover::before,.hub-splitter.dragging::before,.hub-splitter:focus-visible::before{width:2px}
.col-splitter::before{content:"";position:absolute;top:0;bottom:0;left:5px;width:2px;border-radius:2px;background:transparent;transition:background .12s}
.hub-splitter:hover::before,.col-splitter:hover::before,.hub-splitter.dragging::before,.col-splitter.dragging::before,.hub-splitter:focus-visible::before,.col-splitter:focus-visible::before{background:var(--accent)}
.hub-splitter:focus-visible,.col-splitter:focus-visible{outline:none}
/* rad-splitter (panelhøyder, Studie): ligger i kolonnens mellomrom (gap:10px) → netto 0, som col-splitter */
.row-splitter{position:relative;z-index:5;flex:none;height:12px;margin:-11px 0;cursor:row-resize;touch-action:none;-webkit-user-select:none;user-select:none}
.row-splitter[hidden]{display:none}
.row-splitter::before{content:"";position:absolute;left:0;right:0;top:5px;height:2px;border-radius:2px;background:transparent;transition:background .12s}
.row-splitter:hover::before,.row-splitter.dragging::before,.row-splitter:focus-visible::before{background:var(--accent)}
.row-splitter:focus-visible{outline:none}
/* cursor-låsen under drag følger aksen (wireSplitter setter splitting + splitting-x/-y) */
body.splitting,body.splitting *{user-select:none!important}
body.splitting-x,body.splitting-x *{cursor:col-resize!important}
body.splitting-y,body.splitting-y *{cursor:row-resize!important}
.col.hide,.panel.hide{display:none}
#noteCloseReading{display:none}   /* lukk-knapp kun i notat-skuff (lesemodus) */
/* lesemodus (kun desktop): skjul side-paneler, bred sentrert bibeltekst */
@media (min-width:881px) and (min-height:541px){
  body.reading-mode .col-left,body.reading-mode .col-right{display:none}
  body.reading-mode .col-center{flex:1;max-width:780px;margin:0 auto}
  body.reading-mode .reader{line-height:1.85}
  /* Egendefinerte panelhøyder (aktiveres ved drag i en rad-splitter): --ph er en flex-grow-VEKT
     som JS setter på panelet = målt px ved frys, basis 0 → ingen hopp, og vindus-resize skalerer
     proporsjonalt uten JS. Kollapsede beholder flex:0 0 auto. Uten rows-custom: dagens like
     deling (.panel.grow). OPT-IN her inne — mobil-reglene skal aldri måtte vinne over dette. */
  .col.rows-custom > .panel:not(.collapsed){flex:var(--ph,1) 1 0px}
  /* panel lagt under leseren: leseren får litt mer enn halvparten som standard (regelen har bare
     effekt når midtkolonnen har flere paneler). :not(.rows-custom) er BÆRENDE: regelen har samme
     spesifisitet som rows-custom-regelen over og står etter den — uten vakten vant den, leseren
     beholdt vekt 1,6 mot notatets 600+ og ble 4 px høy ved første drag (målt). */
  .col-center:not(.rows-custom) > .panel.grow[data-panel="bible"]{flex:1.6 1 0}
  /* lesemodus («skjul paneler»): paneler under leseren følger sidepanelene ut */
  body.reading-mode .col-center > .panel.under{display:none}
  /* notat-skuff: blyant i lesemodus viser notatet DER DET BOR — som smal skuff i høyre kolonne
     hvis det er der, ellers under leseren. Høyre kolonne hentes bare tilbake når den faktisk
     inneholder notatet; ellers sto en tom skuff igjen når notatet lå under leseren. */
  body.reading-mode.note-open .col-right:has(> [data-panel="notes"]){display:flex;flex:0 0 min(440px,40vw)}
  body.reading-mode.note-open .col-right [data-panel="comm"],
  body.reading-mode.note-open .col-right [data-panel="ai"]{display:none}
  body.reading-mode.note-open .col-right .panel[data-panel="notes"],
  body.reading-mode.note-open .col-center > .panel.under[data-panel="notes"]{display:flex}   /* vis selv om panelet var av */
  body.reading-mode.note-open #noteCloseReading{display:inline-flex}
  /* verset synlig øverst i skuffen (gjenbruk av mobil-cue-stilen) — kun i høyre kolonne: under
     leseren står verset alt på skjermen */
  body.reading-mode.note-open .col-right:has(> [data-panel="notes"]) [data-panel="notes"] .note-versecue{display:block;font-family:var(--reading);
    font-size:.92em;line-height:1.5;color:var(--muted);background:var(--bg);border:1px solid var(--border);
    border-radius:8px;padding:8px 10px;margin-bottom:10px;max-height:30vh;overflow-y:auto}
}

/* full page view (dedicated menu pages) */
.page{flex:1;overflow-y:auto;padding:22px clamp(16px,4vw,46px)}
.page .head{display:flex;align-items:center;gap:14px;margin-bottom:6px}
.page h1{font-family:var(--reading);font-size:26px;margin:0;font-weight:700}
.page .sub{color:var(--muted);font-size:13px;margin:0 0 20px}
.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px 20px;margin-bottom:14px}
.letters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.letters a,.letters button{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--border);
  border-radius:7px;font-weight:600;text-decoration:none;font-size:13px;background:var(--surface);color:var(--text);font-family:inherit;cursor:pointer}
.letters a:hover,.letters button:hover{background:var(--accent-soft);color:var(--accent)}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.tile{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.tile .ph{height:118px;background:var(--accent-soft);display:grid;place-items:center;color:var(--accent)}
.tile .cap{padding:10px 12px;font-size:13px;font-weight:600}

/* panel */
.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;display:flex;
  flex-direction:column;min-height:0;overflow:hidden}
.panel.grow{flex:1}
.phead{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);
  background:var(--panel-head);flex:none}
.ptitle{font-size:11px;font-weight:700;letter-spacing:.09em;color:var(--muted);text-transform:uppercase;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Panel-headere krymper pent når kolonnen smalner: tittel forkortes, velgeren krymper
   (navnet kuttes) — så knappene til høyre alltid beholdes i stedet for å klippes bort. */
.phead{min-width:0}
.phead .sel{min-width:0}
.phead [data-refshort]{flex:none;white-space:nowrap}
.phead .passage-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.phead .xlate,.phead .pgo,.phead .ntoolwrap{flex:none}
/* Smal KOLONNE (ikke vindu): panelhodene bryter til to rader så knapper aldri klippes —
   treffer både iPad-landskap (tre kolonner på liten skjerm) og kolonner som dras smale.
   Container-query på panelet selv; brede kolonner er uendret (én rad). Samme rolige
   to-rader-oppsett som telefonen bruker (@media ≤540px). Eldre nettlesere: som i dag. */
.workspace .panel{container-type:inline-size}
@container (max-width:560px){
  .phead{flex-wrap:wrap;row-gap:7px}
  [data-panel="bible"] .phead .spacer{display:none}
  [data-panel="bible"] .phead #hlMenu{margin-left:auto}
  [data-panel="bible"] .phead .passage{order:2;flex-basis:100%;justify-content:center;font-size:15px}
  /* Skyv knappegruppen til høyre — på den FØRSTE av dem, ellers sprekker gruppen i to
     når assistent-knappen er synlig (auto-glippe mellom oppsummer og oversett). */
  [data-panel="comm"] .phead #commTranslate{margin-left:auto}
  [data-panel="comm"] .phead #commSummarize:not([hidden]){margin-left:auto}
  [data-panel="comm"] .phead #commSummarize:not([hidden]) ~ #commTranslate{margin-left:0}
  /* bokmerke-knappen (Ray #52) står FØRST i gruppen: er den synlig, er det den som skyves — de etter følger tett */
  [data-panel="comm"] .phead #commBm:not([hidden]){margin-left:auto}
  [data-panel="comm"] .phead #commBm:not([hidden]) ~ #commSummarize,[data-panel="comm"] .phead #commBm:not([hidden]) ~ #commTranslate{margin-left:0}
  [data-panel="notes"] .phead .notestatus{flex:none;min-width:5.6em}
  [data-panel="notes"] .phead .ntoolwrap{order:9;flex-basis:100%;justify-content:flex-end}
}
.sel{appearance:none;background:var(--bg);border:1px solid var(--border);border-radius:7px;
  padding:5px 26px 5px 10px;font-size:12.5px;color:var(--text);font-weight:600;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%236f6f69' stroke-width='3'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat:no-repeat;background-position:right 9px center}
.pclose{margin-left:auto;background:transparent;border:0;color:var(--faint);padding:3px;border-radius:6px;font-size:15px}
.pclose:hover{background:var(--border);color:var(--text)}
.pgo{background:transparent;border:0;color:var(--faint);padding:4px;border-radius:6px;display:inline-flex;cursor:pointer}
.pgo .icon{width:15px;height:15px}
.pgo:hover{background:var(--accent-soft);color:var(--accent)}
.pcollapse,.pplace{background:transparent;border:0;color:var(--faint);padding:3px;margin-right:2px;border-radius:6px;display:inline-flex;align-items:center;cursor:pointer;flex:none}
.pcollapse .icon,.pplace .icon{width:14px;height:14px;transition:transform .15s}
.pcollapse:hover,.pplace:hover{background:var(--accent-soft);color:var(--accent)}
.pplace[aria-pressed="true"]{color:var(--accent)}   /* panelet ligger under leseren */
.panel.collapsed{flex:0 0 auto}
.panel.collapsed .pbody,.panel.collapsed .xref-pop{display:none}
.panel.collapsed .pcollapse .icon{transform:rotate(-90deg)}
.pbody{padding:14px 16px;overflow-y:auto;flex:1}
.pfoot{border-top:1px solid var(--border);padding:8px 12px;display:flex;align-items:center;
  justify-content:space-between;color:var(--muted);font-size:12px;flex:none}

/* reading */
.reader{font-family:var(--reading);font-size:var(--read-size);line-height:1.6}
.verse{display:flex;gap:10px;padding:5px 8px;border-radius:8px;margin:1px -6px;cursor:pointer}
.vfoot{margin:0 8px 7px 26px;font-family:var(--reading);font-style:italic;font-size:.8em;line-height:1.45;color:var(--muted);text-align:right}
.vfoot .vfoot-ref{font-style:normal;font-weight:600;opacity:.75;margin-right:.4em}
.vpar{margin:1px 0 9px 26px;font-family:var(--reading);font-size:.95em;line-height:1.5;color:var(--muted)}
.vpar-lbl{font-family:var(--ui);font-size:.7em;font-weight:700;letter-spacing:.04em;color:var(--accent);margin-right:7px;text-transform:uppercase}
body.parallels-off #reader .vpar{display:none}   /* studie-switch skjuler parallell KUN i leseren — popup-parallell (#popBody) styres separat av hsb_popPar */
#popBody .vpar{font-size:calc(var(--read-size,17px) * .95)}   /* popup-parallell = nøyaktig samme størrelse/font som studie (.vpar av reading-size) */
.note-versecue{display:none}   /* vers-tekst over notat-editoren — kun mobil (se media query) */
.note-versecue .nvc-ref{font-family:var(--ui);font-size:.72em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);margin-right:6px}
/* hoderad i versboksen: ref til venstre, ‹ ›-vers-navigasjon til høyre (pilene vises kun på mobil) */
.note-versecue .nvc-head{display:flex;align-items:center;gap:8px;margin:0 0 2px}
.note-versecue .nvc-nav{display:none;margin-left:auto;gap:6px}
.note-versecue .nvc-nav button{border:0;background:var(--chrome);color:var(--muted);border-radius:8px;font-size:1.05em;line-height:1;min-width:46px;min-height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.note-versecue .nvc-nav button:disabled{opacity:.35;cursor:default}
.verse sup{color:#8a8a8a;font-family:var(--ui);font-weight:700;font-size:.72em;min-width:14px}
.verse:hover{background:var(--bg)}
.verse.active{background:var(--sel);box-shadow:inset 0 0 0 1px var(--sel-border)}
.verse .edit{margin-left:6px;color:var(--faint);opacity:0;font-size:1.02em;padding:3px 5px;margin-top:-3px;margin-bottom:-3px;border-radius:8px}   /* SAMME font-size som .bm — begge glyfer er 1em-kvadrater, så ulik font-size ga ulik ikonstørrelse OG ulik baselinje i flex-raden. 1.08 var kompensasjon for at ✎ var et tegn (sak 49) */
.verse.active .edit,.verse:hover .edit{opacity:.7}
.verse .edit.on{color:var(--note);opacity:1}
/* delemodus: velg vers å dele */
body.share-mode .reader .verse{cursor:pointer}
.verse.vsel{box-shadow:inset 0 0 0 2px var(--accent)}
body.share-mode .reader .verse:hover{background:var(--accent-soft)}
.selbar{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--accent-soft);border-bottom:1px solid var(--border);flex:none}
.selbar[hidden]{display:none}
.selbar .selcount{font-size:13px;font-weight:600;color:var(--text)}
/* treff-navigator (Neste/Forrige fra søk) */
.searchnav{display:flex;align-items:center;gap:8px;padding:7px 12px;background:var(--accent-soft);border-bottom:1px solid var(--border);flex:none}
.searchnav[hidden]{display:none}
/* Dagens vers-kort øverst i bibelteksten (index.html dagensKort) — én gang per dag */
.dv-card{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--accent-soft);border-bottom:1px solid var(--border);flex:none;min-width:0}
.dv-card[hidden]{display:none}
.dv-card-ic{width:18px;height:18px;color:var(--accent);flex:none}
.dv-card-main{flex:1;min-width:0;display:flex;flex-direction:column;text-decoration:none;color:var(--text)}
.dv-card-ref{font-size:12px;font-weight:600;color:var(--accent)}
.dv-card-txt{font-family:var(--reading);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dv-card-read{flex:none;font-size:13px;font-weight:600;color:var(--accent);text-decoration:none;padding:4px 6px}
.dv-card-x{flex:none;background:none;border:0;color:var(--faint);cursor:pointer;font-size:14px;padding:4px 6px;border-radius:6px}
.dv-card-x:hover{color:var(--text);background:var(--chrome-hover)}
body.reading-mode .dv-card{display:none}
/* Gjestemodus (dagens.html — første offentlige side med app-skallet): alt som krever konto skjules;
   lenkene der ville sendt gjesten til landing. Vers-popupens «Gå til vers», bokmerke og liste likeså. */
body.guest .rail,body.guest #mBurger,body.guest #refPick,body.guest .topbar .search,body.guest #bmBtn,body.guest #fsBtn,
body.guest #popGoto,body.guest #popBm,body.guest #popList{display:none!important}
.snav-btn{flex:0 1 auto;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  background:var(--surface);border:1px solid var(--border);border-radius:7px;padding:5px 10px;
  cursor:pointer;color:var(--text);font-size:12.5px;font-weight:600}
.snav-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
.snav-btn:disabled{opacity:.4;cursor:default}
.snav-info{flex:1 1 auto;min-width:0;text-align:center;font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.snav-x{flex:none;background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:14px;line-height:1;padding:3px 5px;border-radius:6px}
.snav-x:hover{color:var(--text);background:var(--border)}
.selbar .btn{padding:6px 13px;font-size:13px}
/* fargemarkering: tint bak verseteksten (følger linjeskift pent) */
.verse .vtext{display:inline}
/* KJV+ ordstudie: ordene leses som vanlig, men hinter klikkbarhet og åpner Strong's-popup */
.strongword{cursor:pointer;border-bottom:1px dotted transparent;transition:color .1s,border-color .1s}
.strongword:hover{color:var(--accent);border-bottom-color:var(--accent)}
.vpar .strongword:hover{color:var(--accent)}
.hl .vtext{border-radius:5px;padding:1px 4px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.hl-yellow .vtext{background:var(--hl-yellow)}
.hl-red .vtext{background:var(--hl-red)}
.hl-lblue .vtext{background:var(--hl-lblue)}
.hl-blue .vtext{background:var(--hl-blue)}
.hl-teal .vtext{background:var(--hl-teal)}
.hl-gold .vtext{background:var(--hl-gold)}
.hl-green .vtext{background:var(--hl-green)}
.hl-lgreen .vtext{background:var(--hl-lgreen)}
.hl-purple .vtext{background:var(--hl-purple)}
.hl-brown .vtext{background:var(--hl-brown)}
.hl-orange .vtext{background:var(--hl-orange)}
.hl-pink .vtext{background:var(--hl-pink)}
/* pensel-modus: tydelig at klikk fargelegger */
body.hl-mode .reader .verse{cursor:crosshair}
body.hl-mode .reader .verse:hover{box-shadow:inset 0 0 0 2px var(--accent)}
/* palett-popover */
.hlmenu{position:relative}
.hlpop{position:absolute;right:0;top:calc(100% + 6px);z-index:50;background:var(--surface);border:1px solid var(--border-strong);
  border-radius:12px;box-shadow:0 16px 44px rgba(0,0,0,.22);padding:12px;width:248px;display:none}
.hlmenu.open .hlpop{display:block}
.hlpop-h{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;margin:0 0 9px}
/* samlet bibelvelger — knapp (én pil, ikke .sel sin innebygde) */
.trbtn{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-weight:600;
  background:var(--bg);border:1px solid var(--border);border-radius:7px;padding:5px 9px;font-size:12.5px;color:var(--text)}
.trbtn:hover{border-color:var(--border-strong)}
.trbtn .caret{width:13px;height:13px;opacity:.65;flex:none}
/* panel */
.trpop{left:0;right:auto;width:360px;max-height:76vh;overflow:auto;padding:0 0 10px}
.trpop>.hlpop-h{margin:0;padding:12px 40px 9px 14px;font-size:13px;text-transform:none;letter-spacing:0;color:var(--text);font-weight:700;border-bottom:1px solid var(--border);position:relative}
.hlpop-close{position:absolute;top:8px;right:8px}
.trpop-legend{display:block;font-weight:400;font-size:11px;color:var(--muted);margin-top:2px}
#trList{padding:8px 12px 12px}
.trhead{display:grid;grid-template-columns:48px 64px 1fr;align-items:center;gap:6px;
  position:sticky;top:0;background:var(--surface);padding:6px 4px;z-index:1;border-bottom:1px solid var(--border);margin-bottom:2px}
.trhead .trcol{font-size:10px;text-transform:uppercase;letter-spacing:.02em;color:var(--muted);font-weight:700;text-align:center}
/* kollapsbar språk-gruppe (knapp) */
.trlang{display:flex;align-items:center;gap:5px;width:100%;background:transparent;border:0;cursor:pointer;
  font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);font-weight:700;
  margin:8px 0 1px;padding:3px 4px;border-radius:6px}
.trlang:hover{background:var(--bg)}
.trlang-c{width:11px;height:11px;flex:none;transition:transform .12s;opacity:.8}
.trlang.open .trlang-c{transform:rotate(90deg)}
.trlang-name{flex:1;text-align:left}
.trlang-n{color:var(--muted);font-weight:600;text-transform:none}
.trrow{display:grid;grid-template-columns:48px 64px 1fr;align-items:center;gap:6px;padding:4px;border-radius:6px}
.trrow:hover{background:var(--bg)}
.trrow.is-main{background:var(--accent-soft)}
.trrow .trradio,.trrow .trcheck{justify-self:center;width:17px;height:17px;accent-color:var(--accent);cursor:pointer;margin:0}
.trrow .trcheck:disabled{opacity:.25;cursor:default}
.trtitle{font-size:13px;line-height:1.25;min-width:0;cursor:pointer}
.trtitle .trabbr{color:var(--muted);font-size:11px;font-weight:600}
.hlswatches{display:flex;flex-direction:column;gap:3px}
.hlsw{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;border-radius:7px;padding:5px 6px;text-align:left;font-size:12.5px;color:var(--text)}
.hlsw:hover{background:var(--bg)}
.hlsw .dot{width:18px;height:18px;border-radius:5px;flex:none;border:1px solid rgba(0,0,0,.12)}
.hlsw .swname{font-weight:600}
.hlsw.active{outline:2px solid var(--accent);outline-offset:-1px}
.hlerase{margin-top:8px;width:100%;border:1px solid var(--border-strong);background:transparent;color:var(--muted);
  border-radius:8px;padding:7px;font-size:12.5px;font-weight:600}
.hlerase:hover{background:var(--bg)}
.hlerase.active{outline:2px solid var(--accent)}
.passage{display:flex;align-items:center;gap:14px;font-family:var(--reading);font-size:16px;font-weight:600}
.passage button{background:transparent;border:0;color:var(--muted);font-size:18px;line-height:1}
.cref{color:var(--accent);text-decoration:none;display:block;padding:3px 0;font-family:var(--reading);font-size:var(--read-sm)}
.cref:hover{text-decoration:underline}
.commentary h3{font-family:var(--reading);font-size:1.15em;margin:0 0 .5em;font-weight:700}
.commentary p{font-family:var(--reading);font-size:var(--read-size);line-height:1.62;margin:0 0 .8em}
.commentary .defn{font-size:var(--read-size)}  /* norske verk i kommentar-panelet = samme størrelse som engelske */
.commentary .contrib-body{font-family:var(--reading);font-size:var(--read-size);line-height:1.62} /* bidrags-verk (9/10): notat-html er <div>-linjer — arver til samme skrift som .commentary p */
.commentary .contrib-body div{margin:0 0 .35em}
.commentary a.lnk{color:var(--accent);text-decoration:none}
/* struktur i kommentar-tekst (mdToHtml v2 + re-importer m/ lister): samme lesefont som p */
.commentary ul,.commentary ol{font-family:var(--reading);font-size:var(--read-size);line-height:1.62;margin:0 0 .8em;padding-left:1.5em}
.commentary li{margin:0 0 .3em}
.commentary h4{font-family:var(--reading);font-size:1.05em;font-weight:700;margin:1em 0 .4em}
.commentary blockquote{font-family:var(--reading);font-size:var(--read-size);line-height:1.62;margin:.6em 0 .8em;padding:.1em 0 .1em .9em;border-left:3px solid var(--border);color:var(--muted)}
.commentary em{font-style:italic}
.commentary p.md-enum{margin:0 0 .25em}  /* Henry/Clarke kapitteloversikt: kompakte rader */
.commentary h3.lft{margin-top:1.3em;padding-top:.7em;border-top:1px solid var(--border);font-size:1.02em}
.commentary a.note{color:var(--note);text-decoration:none}
/* bidrags-verk (Holens Bibelnotater / Sammen om Ordet): byline = kreditering fra metadata */
.comm-byline{margin:8px 0 14px;font-family:var(--ui);font-size:12.5px;color:var(--muted);font-style:italic}
.comm-subtitle{margin:0 0 12px;font-family:var(--ui);font-size:12.5px;color:var(--muted);font-style:italic;border-bottom:1px solid var(--border);padding-bottom:8px}
/* hidden-attributtet må vinne over display-regler (klassisk CSS-felle: author-display > UA-hidden) */
.xlate[hidden]{display:none}
/* bokmerke på kommentaren (Ray #52): lagret = fylt symbol i aksentfarge (som bokmerke-merket på vers) */
.xlate.bmon{color:var(--accent);border-color:var(--accent)}
.xlate.bmon .icon{fill:currentColor}
.contrib-chip[hidden]{display:none}
/* skjermbilde-vedlegg i Feil/Forbedring (Ray #25) */
.fb-attachrow{display:flex;align-items:center;gap:10px;margin:8px 0 0;flex-wrap:wrap}
.fb-imgs{display:inline-flex;gap:12px;flex-wrap:wrap}
.fb-imgwrap{position:relative;display:inline-flex}
.fb-imgwrap[hidden]{display:none}
.fb-imgwrap img{max-height:64px;max-width:130px;border-radius:8px;border:1px solid var(--border)}
.fb-imgwrap .pclose{position:absolute;top:-9px;right:-9px;background:var(--surface);border:1px solid var(--border-strong);border-radius:50%;width:22px;height:22px;line-height:1;padding:0;display:flex;align-items:center;justify-content:center;font-size:12px}
/* «✓ Publisert»-merke i notat-lista */
.pub-badge{font-family:var(--ui);font-size:11px;color:var(--accent,#2f7d6d);border:1px solid currentColor;border-radius:999px;padding:1px 8px;margin-left:8px;white-space:nowrap}
#appConfirm .modal-card{max-width:460px}
#appConfirm .modal-body{white-space:pre-wrap;font-family:var(--ui);font-size:14px;line-height:1.55}
/* status-chip for publisering i notat-panelet */
.contrib-chip{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-family:var(--ui);font-size:12.5px;margin:0 0 8px;color:var(--muted)}
.contrib-chip .chip-ok{color:var(--accent,#2f7d6d);font-weight:600}
.contrib-chip .chip-warn{color:#a66a00;font-weight:600}
.contrib-chip .chipbtn{border:1px solid var(--border);background:var(--panel,transparent);border-radius:999px;padding:3px 10px;font:inherit;cursor:pointer;color:var(--text)}
.contrib-chip .chipbtn:hover{border-color:var(--accent,#2f7d6d)}
.contrib-chip .chipbtn.ghost{opacity:.8}
.contrib-chip .chip-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;width:100%} /* én rad per verk (fase 2) */
.contrib-chip .chip-reason{font-style:italic;color:var(--muted)}
/* publiserings-dialog med verkvalg (fase 2) */
#pubDialog .modal-card{max-width:460px}
#pubDialog .modal-body{font-family:var(--ui);font-size:14px;line-height:1.55}
#pubDialog .pd-work,#pubDialog .pd-review{display:flex;gap:8px;align-items:center;padding:6px 0;cursor:pointer}
#pubDialog .pd-review[hidden]{display:none} /* [hidden] må vinne over display:flex (repo-fellen) */
.res-seg[hidden]{display:none} /* samme felle: segment-toggle (Bidrag-sidens Mine/Alle m.fl.) */
.usertools[hidden]{display:none} /* samme felle: verktøyrader (Bidrag-sidens søk/filter m.fl.) */
/* «Feil/Forbedring»-modalen + flagg-knapp ved bidrags-byline */
#fbModal .modal-card{max-width:480px}
#fbModal .modal-body{font-family:var(--ui);font-size:14px}
#fbModal textarea{width:100%;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font:inherit;padding:9px 11px;resize:vertical}
#fbModal .pd-note{margin:8px 0 0;font-size:12px;color:var(--muted)}
/* Feil/Forbedring: faner + «Mine innmeldinger»-liste */
.fb-tabs{display:flex;gap:4px;padding:0 16px;border-bottom:1px solid var(--border)}
.fb-tab{background:none;border:0;border-bottom:2px solid transparent;padding:9px 4px;margin-bottom:-1px;font:inherit;font-size:13.5px;font-weight:600;color:var(--muted);cursor:pointer}
.fb-tab.on{color:var(--accent);border-bottom-color:var(--accent)}
#fbMinePane{display:flex;flex-direction:column;max-height:52vh;overflow-y:auto}
#fbMinePane[hidden]{display:none}   /* repo-fellen: uten denne «lekker» Mine-innholdet inn under Send inn-fanen */
.modal-foot[hidden]{display:none}   /* samme felle: footer-Send/Avbryt skal bort på Mine innmeldinger */
.fb-mine-item{padding:11px 0;border-top:1px solid var(--border)}
.fb-mine-item:first-child{border-top:0}
.fb-mine-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fb-mine-type{font-size:11px;font-weight:700;border:1px solid;border-radius:999px;padding:1px 8px}
.fb-mine-st{font-size:11px;font-weight:700;border-radius:999px;padding:1px 8px}
.fb-mine-st.st-open{background:var(--accent-soft);color:var(--accent)}
.fb-mine-st.st-done{background:#e3f3ea;color:#2d7a53}
.fb-mine-st.st-dismissed{background:var(--bg);color:var(--muted)}
.fb-mine-id{font-size:12px;color:var(--faint);font-variant-numeric:tabular-nums}   /* saksnummer — så bruker og admin kan vise til samme sak */
.fb-mine-date{font-size:12px;color:var(--muted);margin-left:auto}
.fb-mine-msg{margin:5px 0 0;font-size:14px;line-height:1.45;white-space:pre-wrap}
.fb-mine-act{display:flex;gap:14px;margin-top:7px}
.fb-mine-act .fb-del{color:#c0392b}
/* support-dialog: meldingstråd på en sak (delt av «Mine innmeldinger»-modalen og admin-køen).
   Klassene koder BETRAKTERENS side (chat-konvensjon), ikke forfatterrolle: egne meldinger =
   chrome, høyrestilt; motpartens (.them) = hvitt kort med aksent-kant, venstrestilt */
.fb-thread{margin-top:8px;display:flex;flex-direction:column;gap:6px}
.fb-bubble{background:var(--chrome);border-radius:10px;padding:7px 10px;font-size:13.5px;line-height:1.45;white-space:pre-wrap;max-width:94%}
.fb-bubble.them{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);align-self:flex-start}
.fb-bubble:not(.them){align-self:flex-end}
.fb-bub-meta{font-family:var(--ui);font-size:11px;color:var(--muted);margin-bottom:2px}
.fb-unread{width:9px;height:9px;border-radius:50%;background:var(--accent);flex:none}
/* lukkede saker samlet under sammenleggbar gruppe-overskrift (deles av modal + admin-kø) */
.fb-closed{margin-top:14px}
.fb-closed summary{cursor:pointer;list-style:none;user-select:none;display:flex;align-items:center;gap:8px;
  font-family:var(--ui);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);
  background:var(--chrome-grp);border:1px solid var(--chrome-line);border-radius:8px;padding:7px 12px}
.fb-closed summary::-webkit-details-marker{display:none}
.fb-closed summary::before{content:"▸";color:var(--accent);font-size:13px;line-height:1;transition:transform .15s;flex:0 0 auto}
.fb-closed[open] summary::before{transform:rotate(90deg)}
.fb-replybox{display:flex;gap:8px;margin-top:6px;align-items:flex-start}
.fb-replybox[hidden]{display:none}   /* repo-fella: display:flex overstyrer [hidden]-attributtet */
.fb-replybox textarea{flex:1;font:inherit;font-size:13.5px}
/* #35: panelet scroller (overflow-y:auto) og klipper fokus-ringen (outline-offset:2px stikker
   utenfor kanten) → tegn ringen på innsiden av kontrollene her i stedet */
#fbMinePane :focus-visible{outline-offset:-2px}
.fb-flag{border:0;background:none;padding:0 4px;cursor:pointer;color:var(--muted);font-size:13px;opacity:.7}
.fb-flag:hover{opacity:1;color:var(--accent)}
/* H5: rolig puls på laste-tilstander (kald-start føles levende, ikke død) */
@keyframes hsbPulse{0%,100%{opacity:.55}50%{opacity:1}}
.empty{animation:hsbPulse 1.6s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.empty{animation:none}}
/* kommentar-velgeren (samme stil som Bibelvelgeren, men én valg-kolonne) */
.commrow{grid-template-columns:48px 1fr}
/* Innholds-merking: prikk på verk som HAR kommentar på verset, demp de tomme. */
.comm-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);vertical-align:middle;margin:0 1px}
.commrow.comm-empty{opacity:.5}
.commrow.comm-empty.is-main{opacity:1}   /* det valgte verket dempes aldri, selv om tomt */
.comm-grpcount{color:var(--accent);font-size:11.5px;font-weight:700;letter-spacing:-.02em}
.trlang-name.comm-grp-sel{font-weight:800}   /* aktiv gruppe: fetere navn i stedet for egen valg-prikk */
/* Kommentarvelgeren står i HØYRE panel: høyrejuster popupen til knappen (ikke venstre-
   forankret som bibel-velgeren) så den ikke renner ut over høyre viewport-kant når
   vinduet ikke er i full bredde på pc/Mac. Viewport-klamp som belte og bukseseler. */
.commpop{width:340px;left:auto;right:0;max-width:min(340px,calc(100vw - 24px))}
#commBtnLabel{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}
@media(max-width:540px){ #commBtnLabel{max-width:96px} .commpop{width:min(340px,92vw)} }
/* pakke-låste oversettelser i Bibelvelgeren */
.trrow.tr-locked{opacity:.5}
/* MOBIL/LAV SKJERM: popup-ene forankres til viewporten i stedet for knappen — ellers havner de
   utenfor kanten (stående) eller bak tabbaren nederst (liggende) og bunnen blir unåelig.
   Sentrert m/ maks-bredde (ikke full bredde), safe-area-marger (dynamic island i liggende),
   og høyde ETTER INNHOLD (max-height, ikke bunn-pinning) så korte lister ikke strekkes. */
@media(max-width:540px),(max-height:540px){
  .trpop{position:fixed;left:max(12px, env(safe-area-inset-left, 0px));right:auto;
    top:calc(env(safe-area-inset-top, 0px) + 102px);bottom:auto;
    width:min(360px, calc(100vw - max(12px, env(safe-area-inset-left, 0px)) - max(12px, env(safe-area-inset-right, 0px))));
    max-height:calc(100vh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 182px);
    max-height:calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 182px);
    overflow:auto;z-index:130;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
}
.trrow.tr-locked .trtitle{cursor:default}
/* «Valgt»-seksjonen i bibelvelgeren (Ray #14/#19): krom-flate = struktur, hvite rader = innhold
   (kontrastsystemet); hovedtekst = hvit rad m/ aksent-venstrekant. Scopet .tsel-* så
   kommentarvelgeren (som deler .trrow/.trlang) ikke berøres. */
.tsel{background:var(--chrome);border-bottom:1px solid var(--chrome-line);padding:9px 12px 11px}
.tsel[hidden]{display:none}   /* display-blokk slår ellers [hidden] — repoets kjente felle */
.tsel:focus{outline:none}
.tsel-h{display:flex;align-items:center;gap:6px;font-size:10px;text-transform:uppercase;
  letter-spacing:.06em;color:var(--muted);font-weight:700;margin:0 0 7px}
.tsel-n{color:var(--faint);font-weight:600}
.tsel-row{display:flex;align-items:center;gap:7px;background:var(--surface);border:1px solid var(--border);
  border-left:3px solid transparent;border-radius:7px;padding:5px 7px;margin-bottom:5px;user-select:none}
.tsel-row[hidden]{display:none}
.tsel-row:last-child{margin-bottom:0}
.tsel-row.is-main{border-left-color:var(--accent)}
.tsel-row.dragging{opacity:.6;box-shadow:0 8px 20px rgba(0,0,0,.2)}
.tsel-grip{flex:none;color:var(--faint);cursor:grab;touch-action:none;padding:6px;margin:-6px 0 -6px -4px}
.tsel-grip svg{width:15px;height:15px;display:block}
@media (hover:none){ .tsel-grip{padding:10px;margin:-10px 0 -10px -6px} }   /* touch: ~35px treff-flate uten layout-skift */
@media (hover:hover){ .tsel-row{cursor:grab} .tsel-row .tsel-acts button{cursor:pointer} }
.tsel-row.dragging,.tsel-row.dragging .tsel-grip{cursor:grabbing}
.tsel-actslot{flex:none;width:28px}   /* hovedraden har ingen ✕ — plassholder med knappens bredde holder ↑/↓ på linje */
@media (hover:none){ .tsel-actslot{width:30px} }
.tsel-pos{font-size:11px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums;
  min-width:13px;text-align:right;flex:none}
.tsel-name{flex:1;font-size:12.5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}
.tsel-tag{font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;
  padding:1px 5px;border-radius:4px;background:var(--accent-soft);color:var(--accent);flex:none}
.tsel-tag.part{background:transparent;color:var(--note);border:1px solid var(--note)}
.tsel-acts{display:flex;gap:4px;flex:none}
.tsel-acts button{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:7px;
  border-radius:5px;line-height:1;font-family:inherit}
@media (hover:none){ .tsel-acts button{padding:8px} .tsel-acts{gap:6px} }   /* touch: ≥30px mål (WCAG 2.5.8) */
.tsel-acts button:hover:not(:disabled){background:var(--bg);color:var(--text)}
.tsel-acts button:disabled{opacity:.25;cursor:default}
.tsel-acts button:focus-visible{outline-offset:-2px}   /* ringen klippes ellers av .trpop-scrollen */
.tsel-acts svg{width:14px;height:14px;display:block}
/* hodet i velgeren pinnes: lukkeknappen scrollet ellers ut av syne, og med Valgt-seksjonen
   på toppen er panelet blitt høyere (✕ er eneste synlige lukkevei på mobil) */
.trpop>.hlpop-h{position:sticky;top:0;background:var(--surface);z-index:2}
/* .trhead pinnes UNDER hodet (top:0 ville gjemt den bak) — --pph måles i liftPickerPop */
.trpop .trhead{top:var(--pph, 0px)}
/* visuelt skjult, lesbar for skjermleser (aria-live-annonseringer) */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* badge-teller i brukermenyen (Redaksjonen/Admin) */
.menu-badge{display:inline-block;margin-left:6px;min-width:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:#fff;font-size:11px;line-height:18px;text-align:center;font-weight:700}
.menu-badge[hidden]{display:none}
#pubDialog .pd-state{color:var(--muted);font-size:12px}
#pubDialog .pd-note{margin:10px 0 0;font-size:12.5px;color:var(--muted)}
#appPrompt .modal-card{max-width:460px}
#appPrompt .modal-body{font-family:var(--ui);font-size:14px}
#appPrompt textarea{width:100%;margin-top:8px;border:1px solid var(--border);border-radius:8px;background:var(--panel,transparent);color:var(--text);font:inherit;padding:8px;resize:vertical}
.sample{font-family:var(--ui);font-size:11px;color:var(--faint);font-style:italic}
.searchbox{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--border);
  border-radius:8px;padding:8px 11px;color:var(--muted);margin-bottom:10px}
.searchbox input{border:0;background:transparent;outline:0;width:100%;color:var(--text)}
.searchclear{flex:none;border:0;background:transparent;color:var(--faint);cursor:pointer;font-size:15px;line-height:1;padding:3px 5px;border-radius:6px}
.searchclear:hover{color:var(--text);background:var(--border)}
.searchclear[hidden]{display:none}
.empty{color:var(--faint);text-align:center;padding:30px 0;font-size:13px}
.entry{padding:0;border-bottom:1px solid var(--border)}
.entry b{font-family:var(--reading)}
.entry .gloss{color:var(--muted);font-size:var(--read-xs)}
/* Ordbok-treff som trekkspill: overskrift alltid synlig, brødtekst åpnes (kun én om gangen) */
/* Treff-rader (ordbok m.fl.): tydelig pil i aksentfarge, hover-flate og luftigere rader */
summary.enthead{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;margin:0;padding:12px 8px;user-select:none;border-radius:9px}
summary.enthead:hover{background:var(--bg)}
summary.enthead b{font-size:var(--read-size)}
summary.enthead::-webkit-details-marker{display:none}
summary.enthead::before{content:"▸";font-size:15px;line-height:1;color:var(--accent);width:15px;text-align:center;transition:transform .15s;flex:0 0 auto}
.entry[open]>summary.enthead::before{transform:rotate(90deg)}
.entry .defn{margin:0;padding:0 8px 14px 33px;font-size:var(--read-size);line-height:1.6;white-space:pre-wrap;color:var(--text)} /* samme størrelse som kommentar-panelet (brukerønske 2026-07-04) */
.ent-tools{display:flex;justify-content:flex-end;gap:6px;padding:0 8px 6px 33px}
.entry .strong{font-size:11px;font-weight:700;color:var(--accent);background:var(--accent-soft);padding:1px 7px;border-radius:10px;vertical-align:middle}
/* Dake's Study Notes: en blokk per {x)-note, [stikkord] uthevet, Strong-nr klikkbart, kilde i bunn */
.dake-note{font-family:var(--reading);font-size:var(--read-size);margin:0 0 .85em;line-height:1.6}
.dake-lbl{display:inline-block;min-width:1.3em;font-weight:700;color:var(--accent);font-family:var(--ui);font-size:.82em}
.dake-hw{color:var(--text)}
.dake-src{margin-top:.6em;color:var(--muted);font-size:var(--read-xs);font-style:italic}
/* Ord i Bibelen (konkordanse): «ref  sitat»-rad + samlet ref-liste, som i den trykte boka */
/* «Ord i Bibelen»-konkordanse: ref-kolonne (auto-bredde = lengste ref) + sitat på rett loddrett linje */
.kc-list{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;align-items:baseline}
.kc-row{display:contents}
.kc-ref{font-family:var(--reading);font-weight:600;color:var(--accent);white-space:nowrap}
.kc-snip{font-family:var(--reading);color:var(--text)}
.kc-refs{grid-column:1/-1;white-space:normal;margin:0 0 5px 14px;line-height:1.7;font-size:var(--read-xs);color:var(--muted)}
@media(max-width:520px){.kc-list{grid-template-columns:1fr}.kc-ref{margin-top:6px}.kc-refs{margin-left:0}}
.kc-star{color:var(--accent);font-weight:700;font-size:.7em;margin-left:1px}
/* kryssreferanse-kilde-velger (popover, gjenbrukt på studie-panel + kryssref-side) */
.xref-pop{margin:0 0 12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);padding:10px 12px;box-shadow:0 10px 26px rgba(0,0,0,.14)}
.xref-pop[hidden]{display:none}
.xref-pop-h{font-family:var(--ui);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:0 0 7px}
.xref-opt{display:flex;align-items:center;gap:8px;padding:4px 2px;font-size:13.5px;cursor:pointer}
.xref-opt-sep{margin-top:5px;padding-top:8px;border-top:1px solid var(--border);color:var(--muted)}
.xref-opt input{cursor:pointer;flex:none}
/* DataBibelen-leser (apokryfer/verk): kapittelvelger + pen vers-/fotnote-visning */
.rd-nav{display:flex;align-items:center;gap:8px;margin:0 0 14px}
.rd-sel{flex:1 1 auto;min-width:0;max-width:520px;text-overflow:ellipsis}
.reader-work{font-family:var(--reading);font-size:var(--read-size);line-height:1.7;color:var(--text)}
.reader-work p{margin:0 0 .8em}
.rd-v{text-indent:0}
.rd-head{font-family:var(--reading);font-size:1.05em;font-weight:700;color:var(--accent);margin:18px 0 6px}
.rd-head:first-child{margin-top:0}
.rd-sep{text-align:center;color:var(--muted);letter-spacing:.4em;margin:16px 0}
/* NAVNIBIB fler-bærer-navn → nummerliste (hvert tall på egen linje) */
.rd-numlist{margin:6px 0 0}
.rd-numitem{display:grid;grid-template-columns:30px 1fr;gap:9px;align-items:baseline;padding:8px 0;border-top:1px solid var(--border)}
.rd-numitem:first-child{border-top:0}
.rd-numitem-n{font-family:var(--reading);font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;text-align:right}
.rd-numitem-b{line-height:1.55}
/* Førstegangs-veiviser (onboarding) */
.tour-dim{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1200}
.tour-ring{position:fixed;border:2px solid var(--accent);border-radius:12px;box-shadow:0 0 0 6px var(--accent-soft),0 0 0 9999px rgba(0,0,0,.45);z-index:1201;pointer-events:none;transition:top .25s,left .25s,width .25s,height .25s}
.tour-card{position:fixed;z-index:1202;width:min(330px,calc(100vw - 24px));background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px 18px;box-shadow:0 12px 40px rgba(0,0,0,.35);font-family:var(--ui)}
.tour-head{display:flex;align-items:baseline;gap:9px;margin:0 0 6px}
.tour-step{font-size:11.5px;font-weight:700;color:var(--accent);background:var(--accent-soft);border-radius:8px;padding:1px 7px}
.tour-title{font-family:var(--reading);font-weight:700;font-size:16px}
.tour-body{margin:0 0 12px;font-size:13.5px;line-height:1.55;color:var(--text)}
.tour-btns{display:flex;justify-content:space-between;gap:10px}
.tour-btns .btn{padding:7px 14px;font-size:13px}
@media (max-width:640px){.tour-card{left:12px!important;right:12px;bottom:14px!important;top:auto!important;width:auto}}
.rd-vn{font-weight:700;color:var(--accent);font-size:.72em;vertical-align:super;margin-right:3px;font-family:var(--ui)}
.rd-fnref{color:var(--accent);font-size:.7em;vertical-align:super;font-weight:700;font-family:var(--ui);margin:0 1px}
.rd-xref{color:var(--muted);font-size:.85em}
.rd-fns{margin:18px 0 0;padding:12px 0 0;border-top:1px solid var(--border)}
.rd-fns-h{font-family:var(--ui);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.rd-fns ol{margin:0;padding-left:1.4em;font-size:13.5px;line-height:1.55;color:var(--muted)}
.rd-fns li{margin:0 0 5px}
/* emne-utliste (Hva sier Guds ord?, Viktige bibelord, Naves): undertittel + skriftsteder */
.ol-item{margin:0 0 7px;line-height:1.55;font-family:var(--reading)}
.ol-label{font-weight:600;color:var(--text)}
.ol-label:after{content:" "}
.ol-refs{color:var(--muted);font-size:.92em}
/* Bibel-mix brosjyre-oppsett (sak #42): tema|skriftsted tospalte, bok-oversikt, tidslinje */
.bm-2col,.bm-overview{font-family:var(--reading)}
.bm-intro{font-family:var(--reading);font-size:var(--read-size);line-height:1.55;color:var(--muted);margin:0 0 12px}
.bm-row{display:grid;grid-template-columns:1fr auto;gap:8px 14px;align-items:baseline;padding:6px 0;border-top:1px solid var(--chrome-line);line-height:1.4}
.bm-row:first-child{border-top:0}
.bm-lbl{color:var(--text)}
.bm-rf{text-align:right;color:var(--muted);font-size:.92em}
.bm-rf a{white-space:nowrap}
.bm-row.bm-shead{border-top:0;padding:12px 0 2px}
.bm-row.bm-shead .bm-lbl{font-family:var(--ui);font-size:.8em;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent)}
/* bok-oversikt: bok-overskrift + «kap-intervall beskrivelse» */
.bm-bookhead{font-family:var(--ui);font-size:13px;font-weight:700;color:var(--text);margin:12px 0 4px;padding-top:9px;border-top:1px solid var(--chrome-line)}
.bm-overview .bm-bookhead:first-child{border-top:0;padding-top:0;margin-top:0}
.bm-orow{display:grid;grid-template-columns:58px 1fr;gap:10px;padding:2px 0;line-height:1.4}
.bm-ch{font-family:var(--ui);font-size:.86em;color:var(--accent)}
.bm-ds{color:var(--text)}
.bm-oprose{font-family:var(--reading);font-size:var(--read-size);line-height:1.55;color:var(--text);margin:4px 0 8px}   /* oversikt: prosa-beskrivelse/under-post (samlet, med inline-refs) */
.bm-read{font-family:var(--reading);font-size:var(--read-size);line-height:1.55;color:var(--text);padding:3px 0 3px 14px;position:relative}
.bm-read:before{content:"•";position:absolute;left:2px;color:var(--accent)}
.bm-colophon{font-family:var(--ui);font-size:11.5px;color:var(--faint);margin-top:16px;padding-top:10px;border-top:1px solid var(--chrome-line)}
/* tidslinje: vertikal linje med prikker + valgfritt årstall */
.bm-timeline{position:relative;padding-left:16px;margin:2px 0}
.bm-timeline:before{content:"";position:absolute;left:4px;top:6px;bottom:6px;width:2px;background:var(--chrome-line)}
.bm-tev{position:relative;padding:5px 0;line-height:1.45;color:var(--text)}
.bm-tev:before{content:"";position:absolute;left:-15px;top:12px;width:7px;height:7px;border-radius:50%;background:var(--accent)}
.bm-tyr{font-family:var(--ui);font-size:.82em;font-weight:700;color:var(--muted);margin-right:7px}
/* Bibel-mix arketyper (sak #42, full ombygging) */
.bm-prose{font-family:var(--reading)}
.bm-p{font-family:var(--reading);font-size:var(--read-size);line-height:1.6;color:var(--text);margin:0 0 12px}
.bm-h{font-family:var(--ui);font-weight:700;font-size:15px;color:var(--text);margin:16px 0 3px}
.bm-prose > .bm-h:first-child,.bm-proph > .bm-h:first-child{margin-top:0}
.bm-cap{font-family:var(--reading);font-style:italic;color:var(--muted);margin:0 0 5px}
.bm-refline{font-family:var(--reading);font-size:var(--read-size);line-height:1.6;margin:0 0 8px}
.bm-refline .bm-dsc{color:var(--text)}
.bm-refline a{white-space:nowrap}
.bm-flat{font-family:var(--reading);font-size:var(--read-size);line-height:1.75;color:var(--muted)}
.bm-flat a{white-space:nowrap}
/* nummerert liste */
.bm-numrow{display:grid;grid-template-columns:26px 1fr;gap:2px 8px;align-items:baseline;padding:7px 0;border-top:1px solid var(--chrome-line)}
.bm-numrow:first-child{border-top:0}
.bm-num{font-family:var(--ui);font-weight:700;color:var(--accent);font-size:.95em}
.bm-numbody{font-family:var(--reading);font-size:var(--read-size);line-height:1.45}
.bm-numbody .bm-rf{text-align:left;display:block;margin-top:1px}
/* statistikk */
.bm-stat{display:grid;grid-template-columns:1fr auto;gap:6px 16px;align-items:baseline;padding:7px 0;border-top:1px solid var(--chrome-line);font-family:var(--reading);font-size:var(--read-size)}
.bm-stat > span:last-child{text-align:right;color:var(--muted);font-size:.92em}
.bm-fact{font-family:var(--reading);font-size:var(--read-size);color:var(--text);padding:7px 0;border-top:1px solid var(--chrome-line)}
.bm-statlist .bm-fact:first-child{border-top:0}
/* profeti-tabell */
.bm-proph{font-family:var(--reading)}
.bm-phead,.bm-prow{display:grid;grid-template-columns:1fr auto auto;gap:5px 14px;align-items:baseline}
.bm-phead{padding:0 0 3px}
.bm-prow{padding:8px 0;border-top:1px solid var(--chrome-line)}
.bm-pname{color:var(--text);font-size:var(--read-size)}
.bm-pcol{font-size:.9em;white-space:nowrap}
.bm-pcap{font-family:var(--ui);font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--faint)}
/* kapittel-rutenett (salmer / viktige kapitler) */
.bm-cat{font-family:var(--ui);font-weight:700;font-size:14px;color:var(--text);margin:16px 0 7px}
.bm-grid > .bm-cat:first-child{margin-top:2px}
.bm-subcat{font-family:var(--ui);font-weight:600;font-size:12.5px;color:var(--muted);margin:9px 0 5px 2px}
.bm-chips{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 4px}
a.bm-chip{font-family:var(--reading);font-size:14px;color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:8px;padding:3px 10px;text-decoration:none;white-space:nowrap}
a.bm-chip:hover{filter:brightness(.97)}
@media(max-width:560px){.bm-prow,.bm-phead{grid-template-columns:1fr}.bm-prow .bm-pcol{padding-left:0}}
/* Viktige bibelord: underoverskrift + avsnitt */
.jos-fn{font-size:.68em;color:var(--accent);font-weight:700;padding:2px 3px;margin:0 1px;cursor:pointer;border-radius:4px;line-height:0}   /* Josefus: hevet, klikkbar fotnote-markør (sak #40 C) — diskret, egen trykkflate */
.jos-fn:hover{background:var(--accent-soft)}
.jos-fn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.jos-fns{margin-top:22px;padding-top:14px;border-top:1px solid var(--border)}   /* Josefus: opprydda fotnote-seksjon (sak #40 A) */
.jos-fns-h{font-size:14px;font-weight:700;color:var(--faint);margin:0 0 8px;text-transform:uppercase;letter-spacing:.04em}
.jos-fnlist{margin:0;padding-left:1.6em}
.jos-fnlist li{font-size:.92em;color:var(--muted);margin:0 0 7px;line-height:1.5}
#josFnPop{z-index:59}   /* under standard .modal (60) så en skriftref-popup (#versePop) åpnet FRA fotnoten stabler seg oppå, ikke bak */
.jos-fn-card{max-width:440px}
.jos-fn-text{margin:0;line-height:1.6;color:var(--text)}
.vb-head{font-family:var(--reading);font-weight:700;color:var(--text);margin:14px 0 3px}
.vb-head:first-child{margin-top:0}
.vb-p{margin:0 0 8px;line-height:1.6}
/* Bibelspørsmål (quiz-kort, sak #37): spørsmål + alternativer (riktig markert) + hint + ref */
.quiz-card{font-family:var(--reading)}
.quiz-q{font-size:var(--read-size);font-weight:700;color:var(--text);line-height:1.5;margin:0 0 12px}
.quiz-opts{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:7px}
.quiz-opt{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--border);border-radius:9px;line-height:1.4}
.quiz-opt.correct{border-color:var(--accent);background:var(--accent-soft)}
.quiz-opt-t{flex:1}
.quiz-mark{flex:none;color:var(--accent);font-weight:700}
.quiz-hint{margin:0 0 10px}
.quiz-hint summary{cursor:pointer;color:var(--muted);font-family:var(--ui);font-size:.9em;font-weight:600;list-style:none;display:inline-flex;align-items:center;gap:6px}
.quiz-hint summary::-webkit-details-marker{display:none}
.quiz-hint summary::before{content:"?";display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--chrome-grp);color:var(--muted);font-size:11px;font-weight:700}
.quiz-hint-b{margin-top:6px;color:var(--text);line-height:1.5}
.quiz-ref{font-size:.94em;color:var(--muted)}
.quiz-ref-lbl{font-family:var(--ui);font-size:.82em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-right:6px}
/* Bibelspørsmål interaktiv quiz (sak #37, Fase 2/3): start / spill / resultat */
.quiz-wrap{max-width:640px;margin:0 auto}
.quiz-start,.quiz-play,.quiz-result{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px 18px}
.quiz-title{font-family:var(--reading);font-size:20px;color:var(--accent);margin:0 0 2px}
.quiz-tagline{font-family:var(--ui);font-size:13px;color:var(--muted);margin:0 0 18px}
.quiz-field{font-family:var(--ui);font-size:13px;font-weight:600;color:var(--text);margin:0 0 8px}
.quiz-chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 18px}
.quiz-chip{font-family:var(--ui);font-size:14px;padding:8px 16px;border:1px solid var(--border);border-radius:20px;background:var(--surface);color:var(--text);cursor:pointer}
.quiz-chip.on{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}
.quiz-num{width:74px;font:inherit;font-size:14px;padding:7px 10px;border:1px solid var(--border);border-radius:20px;background:var(--surface);color:var(--text);text-align:center}
.quiz-seg{display:flex;border:1px solid var(--border);border-radius:10px;overflow:hidden;margin:0 0 18px}
.quiz-seg button{flex:1;font:inherit;font-size:13.5px;padding:9px;border:0;background:var(--surface);color:var(--muted);cursor:pointer}
.quiz-seg button.on{background:var(--accent-soft);color:var(--accent);font-weight:600}
.quiz-go{width:100%;padding:13px;font-size:15px}
.quiz-pick{margin:0 0 18px}
.qz-pick-head{display:flex;align-items:center;justify-content:space-between;font-family:var(--ui);font-size:12.5px;color:var(--muted);margin:0 0 8px}
.qz-picklist{max-height:46vh;overflow-y:auto;border:1px solid var(--border);border-radius:10px}
.qz-pickrow{display:flex;gap:10px;align-items:flex-start;padding:9px 12px;border-top:1px solid var(--chrome-line);font-family:var(--reading);font-size:14px;line-height:1.4;cursor:pointer}
.qz-pickrow:first-child{border-top:0}
.qz-pickrow input{margin-top:3px;flex:none}
/* spill */
.quiz-playtop{display:flex;justify-content:space-between;font-family:var(--ui);font-size:12.5px;color:var(--muted);margin:0 0 8px}
.quiz-scorelive{font-weight:600;color:var(--accent)}
.quiz-progbar{height:5px;background:var(--chrome-grp);border-radius:5px;overflow:hidden;margin:0 0 16px}
.quiz-progbar span{display:block;height:100%;background:var(--accent);transition:width .2s}
.quiz-play-q{font-family:var(--reading);font-size:calc(var(--read-size) + 1px);font-weight:700;color:var(--text);line-height:1.45;margin:0 0 14px}
.quiz-play-opts{list-style:none;margin:0 0 4px;padding:0;display:flex;flex-direction:column;gap:9px}
.quiz-play-opt{width:100%;text-align:left;font-family:var(--reading);font-size:15px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);cursor:pointer;transition:background .12s,border-color .12s}
.quiz-play-opt:hover:not(:disabled){border-color:var(--accent)}
.quiz-play-opt:disabled{cursor:default}
.quiz-play-opt.ok{border-color:var(--accent);background:var(--accent-soft);font-weight:600}
.quiz-play-opt.ok::after{content:" ✓";color:var(--accent)}
.quiz-play-opt.no{border-color:#e0a9a0;background:#faece7;color:#993c1d}
.quiz-play-opt.no::after{content:" ✕";color:#993c1d}
[data-theme=dark] .quiz-play-opt.no{background:#3a201e;border-color:#5e302b;color:#e7a59c}   /* rød-feil i mørk modus (samme som .xlate-err) */
/* hint FØR svar (referansen forblir skjult) — knapp med tydelig ½-poeng-kostnad */
.quiz-hintrow{margin:12px 0 0}
.quiz-hintbtn{font-family:var(--ui);font-size:13.5px;font-weight:600;color:var(--accent);background:transparent;border:1px solid var(--border-strong);border-radius:9px;padding:9px 14px;cursor:pointer}
.quiz-hintbtn:hover{background:var(--bg)}
.quiz-hintcost{color:var(--muted);font-weight:400;font-size:.9em}
.quiz-breakdown{text-align:center;font-family:var(--ui);font-size:12.5px;color:var(--muted);margin:0 0 12px}
.quiz-reveal{margin-top:14px}
.quiz-play-hint,.quiz-play-ref{font-family:var(--reading);font-size:14px;line-height:1.5;margin:0 0 8px}
.quiz-play-hint{color:var(--text)}
.quiz-play-ref{color:var(--muted)}
.quiz-next{width:100%;padding:12px;font-size:14.5px;margin-top:6px}
/* resultat */
.quiz-score{text-align:center;font-family:var(--reading);margin:4px 0 16px}
.quiz-score-n{font-size:44px;font-weight:700;color:var(--accent)}
.quiz-score-of{font-size:16px;color:var(--muted)}
.quiz-allright{text-align:center;font-family:var(--reading);font-size:17px;color:var(--accent);margin:0 0 16px}
.quiz-missed-h{font-family:var(--ui);font-size:13px;font-weight:600;margin:0 0 8px}
.quiz-missed-row{font-family:var(--reading);font-size:13.5px;line-height:1.45;padding:9px 11px;border:1px solid var(--border);border-radius:9px;margin:0 0 7px}
.quiz-missed-row b{color:var(--accent)}
.quiz-actions{display:flex;gap:10px;margin:14px 0 0}
.quiz-actions .btn{flex:1}
.quiz-export{margin-top:16px;border:1px dashed var(--border);border-radius:12px;padding:13px 15px}
.quiz-export-h{font-family:var(--ui);font-size:13px;font-weight:600;margin:0 0 9px}
.quiz-export-opt{display:flex;align-items:center;gap:8px;font-family:var(--ui);font-size:13px;color:var(--text);margin:0 0 6px;cursor:pointer}
.quiz-export-btns{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.quiz-export-btns .btn{flex:1;min-width:130px}
.quiz-export-n{color:var(--muted);font-weight:400}
/* eksport-fra-start: sammenleggbar «lag ark uten å spille» */
.quiz-exp-wrap{margin-top:16px;border-top:1px solid var(--border);padding-top:12px}
.quiz-exp-wrap>summary{cursor:pointer;list-style:none;font-family:var(--ui);font-size:13.5px;font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:7px}
.quiz-exp-wrap>summary::-webkit-details-marker{display:none}
.quiz-exp-wrap>summary::before{content:"⎙";font-size:15px}
.quiz-exp-wrap .quiz-export{border:0;padding:12px 0 0;margin:0}
/* start: testament-bryter gjenbruker .quiz-seg; rekord/ros */
.quiz-best{color:var(--muted)}
.quiz-praise{text-align:center;font-family:var(--reading);font-size:15px;color:var(--text);margin:0 0 16px}
.quiz-record{color:var(--accent);font-weight:700}
/* spill: avslutt-kryss, alternativ-nummer, opplesning */
.quiz-quit{margin-left:10px;border:0;background:transparent;color:var(--muted);font-size:16px;line-height:1;cursor:pointer;padding:4px 6px;border-radius:8px}
.quiz-quit:hover{color:var(--text)}
.quiz-optnum{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:6px;background:var(--chrome-grp);color:var(--muted);font-family:var(--ui);font-size:12px;font-weight:700;flex:none;margin-right:2px}
.quiz-play-opt.ok .quiz-optnum,.quiz-play-opt.no .quiz-optnum{opacity:.5}
.quiz-play-opt{display:flex;align-items:center;gap:9px}
.qz-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* velg-fra-liste: søkefelt */
.qz-picksearch{width:100%;font:inherit;font-size:14px;padding:9px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);margin:0 0 8px}
/* touch-trykkflater (a11y) */
@media (hover:none){ .quiz-chip,.quiz-seg button{min-height:44px} .quiz-num,.quiz-hintbtn{min-height:44px} .quiz-quit{min-width:44px;min-height:44px;padding:8px} }
@media (prefers-reduced-motion:reduce){ .quiz-progbar span,.quiz-play-opt{transition:none} }
/* konkordans (trekkspill) */
.conc-label{color:var(--muted);font-size:13px;margin:0 0 12px}
.conc-entry{border:1px solid var(--border);border-radius:10px;margin-bottom:8px;overflow:hidden;scroll-margin-top:14px}
.il-spacer{height:60vh}
.conc-entry.open{border-color:var(--sel-border)}
.conc-head{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:var(--surface);
  border:0;padding:11px 13px;cursor:pointer;flex-wrap:wrap;color:var(--text)}
.conc-head:hover{background:var(--bg)}
.conc-en{font-weight:700;color:var(--text);font-size:15px;margin-right:2px}
/* «Norsk først»: norsk glose-ord som overskrift, engelsk KJV-ord som dempet sekundær */
.conc-no{font-weight:700;color:var(--text);font-size:15px;margin-right:5px}
.conc-en-sec{font-weight:400;color:var(--muted);font-size:.82em}
.conc-orig{font-family:"SBL Hebrew","Times New Roman",var(--reading);font-size:1.25em;font-weight:700}
.conc-translit{color:var(--muted);font-style:italic;font-size:.92em}
.conc-phon{color:var(--faint);font-size:.85em}
.conc-chev{margin-left:auto;color:var(--faint);font-size:1.2em;transition:transform .15s}
.conc-entry.open .conc-chev{transform:rotate(90deg)}
.conc-lex{padding:0 13px 11px}
.conc-entry.open .conc-lex{display:none} /* utvidet kort viser full glose/betydning selv — skjul kompakt-linja */
.conc-def{font-size:var(--read-sm);line-height:1.5;color:var(--text)}
.conc-strongdef{font-size:var(--read-xs);line-height:1.5;color:var(--muted);margin-top:4px}
.conc-deriv{font-size:var(--read-xs);line-height:1.5;color:var(--muted);margin-top:5px}
.conc-root{color:var(--accent);cursor:pointer;border-bottom:1px dotted var(--accent);font-weight:600}
.conc-root:hover{background:var(--accent-soft)}
/* Strukturert Strong's-kort: Opprinnelse (avledning), KJV-gjengivelser, Ordfamilie */
.str-deriv{font-size:var(--read-sm);line-height:1.5;color:var(--text)}
.str-kjvtext{font-size:var(--read-sm);line-height:1.5;color:var(--muted)}
.str-family{margin-top:10px}
/* Samlet «Strong's Exhaustive Concordance»-seksjon: Opprinnelse + Betydning + KJV under én overskrift */
.str-exhaustive .se-row{font-size:var(--read-sm);line-height:1.55;color:var(--text);margin-top:6px}
.str-exhaustive .se-row:first-child{margin-top:0}
.se-lbl{font-family:var(--ui);font-size:11.5px;font-weight:700;color:var(--muted);margin-right:4px}
/* Kort glose (topp KJV-gjengivelser) — egen linje mellom Norsk betydning og Strong's Exhaustive */
.lex-glose{font-family:var(--reading);font-size:var(--read);line-height:1.5;color:var(--text);margin:2px 0 4px}
/* ordstudie: leksikon-seksjoner (BDB / Abbott-Smith / Mounce) + Strong's-hub i Ordbok */
/* Norsk betydning (Gresk-norsk ordliste) — fremhevet boks øverst i ordstudien */
.nlex{margin:0 0 10px;padding:9px 11px;background:var(--accent-soft);border-radius:9px}
.nlex-h{font-family:var(--ui);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}
.nlex-hw{font-family:var(--reading);font-weight:700;text-transform:none;letter-spacing:0;color:var(--text);margin-left:4px}
.nlex-def{font-size:var(--read-sm);line-height:1.5;color:var(--text);margin:2px 0}
.nlex-pos{font-style:italic;color:var(--muted);font-size:13px}
/* Bøyde former (Gresk-norsk ordliste): form + grammatisk parsing + glose */
.gforms{margin:0 0 10px;border:1px solid var(--border);border-radius:9px;overflow:hidden}
.gforms>summary{cursor:pointer;list-style:none;padding:8px 11px;font-family:var(--ui);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent)}
.gforms>summary::-webkit-details-marker{display:none}
.gforms>summary::before{content:"▸ ";color:var(--muted)}
.gforms[open]>summary::before{content:"▾ "}
.gforms-n{color:var(--muted);font-weight:600}
.gforms-list{max-height:280px;overflow:auto;padding:2px 11px 9px;border-top:1px solid var(--border)}
.gform{font-size:13.5px;line-height:1.5;padding:3px 0;border-bottom:1px solid var(--border)}
.gform:last-child{border-bottom:0}
.gform-w{font-family:var(--reading);font-weight:700;color:var(--text)}
.gform-p{font-style:italic;color:var(--muted);font-size:12.5px}
.gform-g{color:var(--text)}
.gform-g::before{content:"— ";color:var(--faint)}
.lex-wrap{margin-top:10px;border-top:1px solid var(--border);padding-top:4px}
.lex-sec{padding:9px 0;border-bottom:1px solid var(--border)}
.lex-sec:last-child{border-bottom:0}
.lex-src{font-family:var(--ui);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);margin-bottom:3px}
.lex-src .lex-more{margin-left:8px;text-transform:none;letter-spacing:0;font-size:11px}
.lex-src .lex-more:hover{text-decoration:underline}
.lex-head{margin-bottom:2px}
.lex-orig{font-family:"SBL Hebrew","Times New Roman",var(--reading);font-size:1.15em}
.lex-pos{color:var(--muted);font-style:italic;font-size:.9em;margin-left:5px}
.lex-occ{color:var(--faint);font-size:.85em;margin-left:5px}
.lex-gloss{font-size:var(--read-sm);line-height:1.5;color:var(--text)}
.lex-full{margin-top:5px}
.lex-full>summary{cursor:pointer;color:var(--accent);font-size:12.5px;font-weight:600;list-style:none}
.lex-full>summary::-webkit-details-marker{display:none}
.lex-full>summary::before{content:"▸ ";font-size:.85em}
.lex-full[open]>summary::before{content:"▾ "}
.lex-body{margin-top:6px;font-size:var(--read-sm);line-height:1.6;color:var(--text)}
.lex-full>.lex-body{margin-left:13px;padding-left:11px;border-left:2px solid var(--border)}
.lex-body .lex-orig,.lex-body .lex-sn{font-weight:700}
.lex-body .lex-sn{color:var(--accent);margin:0 2px}
.lex-body .lex-syn{margin-top:6px;color:var(--muted);font-size:.95em}
/* TFLSJ (LSJ): klikkbare kilde-merker + utvidbar bibliografi + delte oppslag + kildenoter */
.lex-body .lsj-refs{color:var(--accent);border-bottom:1px dotted var(--accent);cursor:pointer}
.lex-body .lsj-tip{display:block;margin:4px 0 6px;padding:5px 9px;background:var(--chrome, #f4f4f2);border-radius:6px;color:var(--muted);font-size:.88em;line-height:1.5}
.lex-body hr.lex-split{border:0;border-top:1px dashed var(--border);margin:8px 0}
.lex-body .lex-note{color:var(--muted);font-size:.92em}
/* Louw-Nida semantiske domener på Strong-kortet — egen fiolett wrapper (som .nlex, men --dom-*) */
.lex-sec.sd-sec{background:var(--dom-soft);border-radius:9px;padding:9px 11px;border-bottom:0;margin:9px 0}
.sd-sec .lex-src{color:var(--dom-accent)}
.sd-sec .sd-words,.sd-sec .sd-occbox{background:var(--surface)}
.sd-row{margin:3px 0}
.sd-btn{background:transparent;border:0;padding:0;color:var(--dom-accent);cursor:pointer;font:inherit;font-size:.95em;border-bottom:1px dotted var(--dom-accent)}
.sd-gloss{color:var(--muted);font-size:.92em;margin-left:6px}
.sd-words{margin:5px 0 7px;padding:6px 9px;background:var(--chrome, #f4f4f2);border-radius:6px;display:flex;flex-wrap:wrap;gap:4px 10px}
.sd-words[hidden],.sd-occbox[hidden]{display:none}
.sd-word{background:transparent;border:0;padding:1px 0;cursor:pointer;font:inherit;font-size:.92em;color:inherit}
.sd-word .sd-lemma{color:var(--dom-accent);font-weight:600}
.sd-occ{background:transparent;border:0;padding:0;margin-left:8px;color:var(--muted);cursor:pointer;font:inherit;font-size:.88em;border-bottom:1px dotted var(--border)}
.sd-occbox{margin:5px 0 7px;padding:6px 9px;background:var(--chrome, #f4f4f2);border-radius:6px;line-height:1.9}
.sd-occbox .vref{color:var(--accent);margin-right:9px;white-space:nowrap;cursor:pointer}
.il-cell .il-dom{font-size:11px;color:var(--dom-accent);line-height:1.25;margin-top:2px;max-width:118px;text-align:center;border-top:1px dotted var(--border-strong);padding-top:2px}
.dom-explorer{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;align-items:start}
.dom-col{border:0.5px solid var(--border);border-radius:8px;overflow:hidden;max-height:60vh;overflow-y:auto}
.dom-colhead{font-size:11px;color:var(--muted);letter-spacing:.02em;padding:7px 10px;background:var(--surface);position:sticky;top:0;text-transform:uppercase}
.dom-item{display:block;width:100%;text-align:left;background:transparent;border:0;border-bottom:0.5px solid var(--border);padding:7px 10px;font:inherit;font-size:13.5px;cursor:pointer;color:inherit}
.dom-item:hover{background:var(--surface)}
.dom-item.on{background:var(--dom-soft, rgba(109,85,163,.1));color:var(--dom-accent)}
.osdom-word{display:block;width:100%;text-align:left;background:transparent;border:0;border-bottom:0.5px solid var(--border);padding:6px 10px;font:inherit;cursor:pointer;color:inherit}
.osdom-word:hover{background:var(--surface)}
.dom-hint{padding:9px 10px}
@media(max-width:640px){.dom-explorer{grid-template-columns:1fr}.dom-col{max-height:38vh}}
/* disposisjons-innrykk i kommentartekst (Pulpit/Biblical Illustrator: I. / 1. / (1) / (a)) */
.commentary p.cm-l1{margin-left:0}
.commentary p.cm-l2{margin-left:1.15em}
.commentary p.cm-l3{margin-left:2.3em}
.commentary p.cm-l4{margin-left:3.45em}
.vref{color:var(--accent);cursor:pointer;border-bottom:1px dotted var(--accent);font-weight:600;white-space:nowrap}
.vref:hover{background:var(--accent-soft)}
.lex-occ-row{display:flex;align-items:center;gap:10px;margin-top:10px;padding-top:9px;border-top:1px solid var(--border);font-size:var(--read-xs);color:var(--muted)}
.lex-more{margin-left:auto;color:var(--accent);font-weight:700;text-decoration:none}
.lex-more:hover{text-decoration:underline}
/* Ordbok-hub (full ordstudie-side) */
.lex-hub-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:6px 0 8px}
.lex-hub-head .conc-orig{font-size:1.5em}
.lex-hub-head .strong{background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:.8em;padding:2px 8px;border-radius:20px}
.lex-link{text-decoration:none;color:inherit}
.lex-link:hover b{color:var(--accent);text-decoration:underline}
.lex-occ-block{margin-top:14px;border-top:1px solid var(--border);padding-top:10px}
/* ordstudie: rot/avledning + beslektede ord (klikkbare chips) + «full ordstudie»-lenke i kortet */
.os-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:3px}
.os-chip{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:4px 11px;cursor:pointer;font-family:var(--reading);font-size:14px;color:var(--text)}
.os-chip:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.os-chipnum{color:var(--accent);font-size:.78em;font-weight:700;font-family:var(--ui)}
/* «Oversatt som» — KJV-gjengivelser som chips (mest brukte uthevet) */
.rend-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}
.rend{display:inline-flex;align-items:baseline;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:3px 10px;font-family:var(--reading);font-size:14px;color:var(--text)}
.rend-n{color:var(--accent);font-size:.78em;font-weight:700;font-family:var(--ui)}
.rend:first-child{border-color:var(--accent);background:var(--accent-soft)}
.lex-related[hidden]{display:none}
.conc-fullstudy{display:block;text-align:right;color:var(--accent);font-weight:700;font-size:var(--read-xs);text-decoration:none;padding:0 0 8px}
.conc-fullstudy:hover{text-decoration:underline}
/* ordstudie-aggregat: to-kolonne (hovedinnhold + høyre sidebar med bokser) */
.os-layout{display:flex;gap:20px;align-items:flex-start}
.os-main{flex:1;min-width:0}
.os-side{width:300px;flex:none;display:flex;flex-direction:column;gap:14px}
.os-box{border:1px solid var(--border);border-radius:10px;padding:11px 13px;background:var(--surface)}
.os-box[hidden]{display:none}
.os-box .lex-wrap{margin-top:0;border-top:0;padding-top:0}
.os-box .lex-sec{padding:7px 0}
.os-boxhead{font-family:var(--ui);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.os-relitem{display:block;width:100%;text-align:left;background:transparent;border:0;border-radius:7px;padding:6px 8px;cursor:pointer;color:var(--text)}
.os-relitem:hover{background:var(--accent-soft)}
.os-relword{font-family:var(--reading);font-weight:700;font-size:15px}
.os-reldef{display:block;font-size:12.5px;color:var(--muted);line-height:1.45;margin-top:1px}
.os-reldef-no{color:var(--text)}  /* norsk betydning = den fremhevede linjen; engelsk glose forblir dempet */
@media (max-width:880px){.os-layout{flex-direction:column}.os-side{width:auto}}
.lex-form{margin:8px 0}
.lex-form-h{font-family:"SBL Hebrew","Times New Roman",var(--reading);font-size:1.05em;font-weight:700;margin-bottom:3px}
.lex-refs{display:flex;flex-wrap:wrap;gap:4px 12px}
.lex-ref{color:var(--accent);text-decoration:none;font-size:13px;white-space:nowrap}
.lex-ref:hover{text-decoration:underline}
.conc-detail{padding:14px 14px 16px;border-top:1px solid var(--border);background:var(--panel-head)}
.conc-occhead{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:10px 0 8px}
/* i kortet (Interlineær/Studie): luft over «Full ordstudie» + tydelig skille/overskrift før forekomstene */
.conc-detail .conc-fullstudy{padding-bottom:12px}
.conc-detail .conc-occ{border-top:1px solid var(--border);margin-top:16px}
.conc-detail .conc-occhead{color:var(--accent)}
.conc-form{margin-bottom:10px}
.conc-formname{font-family:var(--reading);font-weight:700;margin-bottom:2px}
.conc-ref{display:block;text-decoration:none;color:inherit;padding:4px 0;border-radius:6px;cursor:pointer}
.conc-ref:hover .conc-refloc{text-decoration:underline}
.conc-refloc{color:var(--accent);font-weight:600;font-size:13px;white-space:nowrap}
.conc-refx{color:var(--muted);font-size:13px}
/* forekomster: visningsvalg (utdrag ↔ kompakt), eksport, «vis flere» */
.occ-toggle{display:inline-flex;border:1px solid var(--border-strong);border-radius:7px;overflow:hidden}
.occ-toggle button{background:var(--surface);border:0;padding:3px 10px;font-size:11px;font-weight:600;color:var(--muted);cursor:pointer;text-transform:none;letter-spacing:0}
.occ-toggle button.on{background:var(--accent-soft);color:var(--accent)}
.conc-occhead .conc-export{margin-left:auto;text-transform:none;letter-spacing:0;font-weight:600;font-size:12px;background:transparent;border:1px solid var(--border);border-radius:7px;padding:4px 10px;color:var(--accent);cursor:pointer}
.conc-occhead .conc-export:hover{background:var(--accent-soft)}
.conc-reflist.compact{display:flex;flex-wrap:wrap;gap:2px 14px}
.conc-reflist.compact .conc-ref{display:inline-block;padding:1px 0;color:var(--accent);font-weight:400;font-size:13px;white-space:nowrap}
.conc-reflist.compact .conc-ref:hover{text-decoration:underline}
.conc-more{margin:8px 0 2px}
.lex-dicts:empty{display:none}
.occ-foot{flex-wrap:wrap;justify-content:flex-start;gap:8px}
.occ-icon{padding:7px 13px;font-size:17px;line-height:1;min-width:0;display:inline-flex;align-items:center;justify-content:center}   /* flex-sentrering: SVG-ikoner (bokmerke/liste/del) satt på tekst-baselinjen falt lavt når raden ble klemt (sak #36) */
.occ-icon.on{color:var(--note);border-color:var(--note)}
#occPop .modal-body{max-height:50vh;overflow:auto}
.tskgroup{margin-bottom:14px}
.tskword{font-family:var(--reading);font-weight:700;font-size:.95em;margin-bottom:3px}
/* kryssref-seksjoner: kilde-overskrift + tynt skille; TSK samlet i én innrammet blokk */
.xref-src{padding:0 0 11px;margin:0 0 11px;border-bottom:1px solid var(--border)}
.xref-src:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.xref-src-h{font-family:var(--ui);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.xref-src > .tskgroup:last-child{margin-bottom:0}
.xref-tsk{border:1px solid var(--border-strong);border-radius:9px;padding:10px 12px}
/* når TSK-boksen er siste element overstyrer .xref-src:last-child boksens bunnramme — gjenopprett den */
.xref-src.xref-tsk:last-child{border:1px solid var(--border-strong);padding:10px 12px;margin-bottom:0}
.xref-tsk .xref-src-h{color:var(--accent)}
.xref-tsk .tskgroup{margin-bottom:9px}
.xref-tsk .tskgroup:last-child{margin-bottom:0}
.cref.muted{color:var(--muted);cursor:default}
.cref[data-go]{cursor:pointer}

/* notes */
.ntoolbar{display:flex;align-items:center;gap:3px}
.ntoolbar button{background:transparent;border:0;color:var(--muted);width:26px;height:26px;border-radius:6px;font-size:13px;flex:none}
.ntoolbar button:hover{background:var(--border)}
.notearea{font-family:var(--reading);font-size:var(--read-size);line-height:1.55;border:0;outline:0;
  resize:none;width:100%;flex:1;background:transparent;color:var(--text);min-height:120px}
.ntoolwrap{display:flex}
.ntoolwrap[hidden]{display:none}
.ntoolsep{width:1px;height:18px;background:var(--border);margin:0 5px;align-self:center}
.ntoolbar button.on{background:var(--accent-soft);color:var(--accent)}
.ntoolbar button .icon{width:16px;height:16px}
.notearea[contenteditable]{overflow-y:auto;white-space:pre-wrap;word-wrap:break-word}
.notearea[contenteditable]:focus{outline:0}
.notearea[contenteditable]:empty:before{content:attr(data-ph);color:var(--faint);pointer-events:none}
.notearea ul,.notearea ol{margin:6px 0;padding-left:24px}
.notearea li{margin:3px 0}
.notearea p{margin:0 0 8px}
.gloss{color:var(--muted);font-size:13px}
/* notater-side */
.notestatus{font-size:12px;min-width:0;text-align:right;transition:opacity .2s;flex:0 1 auto;overflow:hidden;white-space:nowrap}
.notestatus[data-state="error"]{color:#c0392b}
.notestatus[data-state="saved"]{color:var(--accent)}
/* notat-felter (tittel/tags) + tag-chips */
.note-fields{display:flex;flex-direction:column;gap:8px;margin:0 0 10px}
.nfield{padding:9px 11px;border:1px solid var(--border-strong);border-radius:9px;background:var(--bg);color:var(--text);font-size:14px;font-family:var(--ui)}
#noteTitle{font-family:var(--reading);font-size:16px;font-weight:600}
.note-subtitle{font-family:var(--reading);font-weight:600;margin:0 0 6px}
.note-readbody{font-family:var(--reading);font-size:var(--read-size);line-height:1.62;min-height:60px}
/* verset du kommenterer, som sitat over editoren */
.note-versebox{border-left:3px solid var(--accent);background:var(--bg);border-radius:0 8px 8px 0;padding:9px 12px 9px 14px;margin:2px 0 16px}
.note-versebox .nv-text{font-family:var(--reading);font-size:var(--read-size);line-height:1.62;color:var(--text)}
.note-versebox .nv-src{font-family:var(--ui);font-size:11.5px;color:var(--muted);margin-top:5px;text-transform:uppercase;letter-spacing:.03em}
/* verstekst som kontekst i notat-lista (dempet sitat over ditt eget notat) */
.note-readbody p{margin:0 0 .7em}
.note-readbody ul,.note-readbody ol{margin:6px 0;padding-left:24px}
#previewBox .note-tags{margin-top:10px}
.note-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
.ntag{display:inline-block;background:var(--accent-soft);color:var(--accent);border-radius:20px;padding:2px 10px;font-size:11.5px;font-weight:600;font-family:var(--ui);cursor:pointer}
.ntag.type{background:var(--border);color:var(--muted);cursor:default;text-transform:uppercase;letter-spacing:.05em;font-size:10px}
/* ---- delt etikett-velger (inline chip-input med autocomplete) ---- */
.tag-input{display:flex;flex-wrap:wrap;align-items:center;gap:6px;position:relative}
.tag-pills{display:inline-flex;flex-wrap:wrap;gap:6px}
.tag-chip{display:inline-flex;align-items:center;gap:1px;background:var(--accent-soft);color:var(--accent);border-radius:20px;padding:2px 3px 2px 10px;font-family:var(--ui);font-size:11.5px;font-weight:600}
.tag-chip-x{border:0;background:transparent;color:inherit;cursor:pointer;font-size:15px;line-height:1;padding:0 5px;border-radius:50%;opacity:.6}
.tag-chip-x:hover{opacity:1;background:rgba(0,0,0,.12)}
.tag-add{border:1px dashed var(--border-strong);background:transparent;color:var(--muted);border-radius:20px;padding:3px 11px;font-family:var(--ui);font-size:11.5px;font-weight:600;cursor:pointer}
.tag-add:hover{border-color:var(--accent);color:var(--accent)}
.tag-input.editing .tag-add{display:none}
.tag-edit-wrap{position:relative;display:inline-flex;flex:1;min-width:140px}
.tag-input:not(.editing) .tag-edit-wrap{display:none}
/* rammeløst som resten av skrivefeltene (regel: aldri kant rundt skrivefelt) — kun understrek */
.tag-edit-input{width:100%;border:0;border-bottom:1px solid var(--accent);border-radius:0;padding:5px 4px;font-family:var(--ui);font-size:13px;background:transparent;color:var(--text)}
.tag-edit-input:focus{outline:none}
.tag-suggest{position:absolute;top:calc(100% + 5px);left:0;min-width:200px;max-height:210px;overflow:auto;margin:0;padding:5px;list-style:none;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.18);z-index:60}
.tag-opt{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:7px;font-family:var(--ui);font-size:13px;color:var(--text);cursor:pointer}
.tag-opt.active,.tag-opt:hover{background:var(--accent-soft);color:var(--accent)}
.tag-opt-count{margin-left:auto;color:var(--muted);font-size:11px}
.tag-opt-new{color:var(--accent);font-weight:600}
.tag-grp{padding:7px 10px 3px;font-family:var(--ui);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);list-style:none;pointer-events:none}
.tag-opt-empty{padding:8px 10px;color:var(--muted);font-family:var(--ui);font-size:13px;list-style:none}
.note-tagrow{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}
.bm-tagmount{margin-top:12px}   /* luft mellom versteksten og etikettene i bokmerke-kort/-rad */
/* ---- Mine temaer (tag-hub, to-panel) ---- */
.themehub{display:flex;border:1px solid var(--border);border-radius:14px;overflow:hidden;height:calc(100vh - 158px);min-height:440px;margin-top:14px}
.hub-l{width:var(--hub-w,250px);flex:none;display:flex;flex-direction:column;min-height:0;background:var(--chrome)}   /* skillelinja tegnes av .hub-splitter (dempet i hvile, grønn ved peking) */
.hub-search{padding:12px;border-bottom:1px solid var(--chrome-line);display:flex;flex-direction:column;gap:8px}
.hub-search .searchbox{max-width:none;margin:0;background:var(--surface);border-color:var(--chrome-line)}
.hub-list{flex:1;overflow:auto;min-height:0;padding-bottom:8px}
.hub-r{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0;background:var(--surface)}
.hub-rhead{padding:16px 20px 12px;border-bottom:1px solid var(--chrome-line);background:var(--chrome)}
.hub-items{flex:1;overflow:auto;min-height:0;padding:0 20px 16px}
.hub-grp{padding:7px 14px 5px;font-family:var(--ui);font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:var(--chrome-grp);border-top:1px solid var(--chrome-line);border-bottom:1px solid var(--chrome-line)}
.hub-list .hub-grp:first-child{border-top:0}
.hub-trow{display:flex;align-items:center;gap:9px;padding:8px 12px;cursor:pointer;border-left:3px solid transparent}
.hub-trow:hover{background:var(--chrome-hover)}
.hub-trow.on{background:var(--surface);border-left-color:var(--accent)}
.hub-trow .hub-tname{font-family:var(--ui);font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hub-trow .cnt{margin-left:auto;font-family:var(--ui);font-size:12px;color:var(--muted);background:var(--surface);border-radius:20px;padding:1px 8px}
.hub-nomatch{padding:14px;color:var(--muted);font-size:13px}
.theme-dot{flex:none;width:10px;height:10px;border-radius:50%;display:inline-block;box-shadow:0 0 0 1px rgba(0,0,0,.10)}
.theme-dot-btn{border:0;cursor:pointer;padding:0;width:15px;height:15px}
.hub-dotwrap{position:relative;display:inline-flex}
.hub-pal{position:absolute;top:24px;left:-6px;z-index:20;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.18);padding:9px;display:flex;flex-wrap:wrap;gap:7px;width:132px}
.hub-pal[hidden]{display:none}
.hub-sw{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}
.hub-sw.on{border-color:var(--text)}
.hub-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.theme-name{font-family:var(--reading);font-weight:700;font-size:20px}
.hub-actions{margin-left:auto;display:inline-flex;align-items:center;gap:6px}
.hub-iconbtn{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:4px;border-radius:6px;display:inline-flex;align-items:center}
.hub-iconbtn:hover{background:var(--bg);color:var(--text)}
.hub-iconbtn .icon{width:15px;height:15px}
.hub-rename{font-family:var(--reading);font-size:20px;font-weight:700;border:1px solid var(--accent);border-radius:8px;padding:1px 8px;background:var(--bg);color:var(--text);max-width:230px}
.hub-menuwrap{position:relative;display:inline-flex}
.hub-menu{position:absolute;top:28px;right:0;z-index:20;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.18);padding:5px;min-width:150px}
.hub-menu[hidden]{display:none}
.hub-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;border-radius:7px;padding:8px 10px;font-family:var(--ui);font-size:13px;color:var(--text);cursor:pointer}
.hub-menu button:hover{background:var(--bg)}
.hub-menu button.danger{color:#c0392b}
.hub-seg{display:inline-flex;gap:2px;background:transparent;border:1px solid var(--chrome-line);border-radius:8px;padding:2px}
.hub-seg button{border:0;background:transparent;border-radius:6px;padding:5px 10px;font-family:var(--ui);font-size:12px;color:var(--muted);cursor:pointer}
.hub-seg button.on{background:var(--surface);color:var(--text);font-weight:600}
.hub-tfilter{margin-top:12px}
.hub-back{display:none;align-items:center;gap:2px;border:0;background:transparent;color:var(--accent);font-family:var(--ui);font-size:14px;font-weight:600;cursor:pointer;padding:0 0 10px}
.hub-item{padding:13px 4px;border-bottom:1px solid var(--border);cursor:pointer;position:relative}
.hub-item:hover{background:var(--bg)}
.hub-badge{display:inline-block;font-family:var(--ui);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:3px 9px;border-radius:20px;background:var(--accent-soft);color:var(--accent)}
.hub-badge.free{background:var(--border);color:var(--muted)}
.hub-ref{font-family:var(--reading);font-weight:700;font-size:16px;margin-top:7px}
.hub-txt{font-family:var(--reading);font-size:14.5px;color:var(--muted);line-height:1.55;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hub-go{position:absolute;top:14px;right:2px;color:var(--faint);font-size:20px;font-style:normal;line-height:1}
@media(max-width:880px),(max-height:540px){
  .themehub{display:block;border:0;border-radius:0;height:auto;min-height:0;margin-top:10px;overflow:visible} /* overflow:hidden ville drept position:sticky (verktøylinja) — .page er scroll-container på mobil */
  .hub-l{width:100%;border-right:0}
  .hub-splitter,.col-splitter,.row-splitter,.pplace{display:none}   /* kolonner stables/skjules på mobil → ingen splitter, ingen plassering (kolonnene er display:contents) */
  .hub-list{overflow:visible;flex:none}
  .hub-r{display:none}
  .hub-items{overflow:visible}
  .themehub.mobile-open .hub-l{display:none}
  .themehub.mobile-open .hub-r{display:flex}
  .themehub.mobile-open .hub-back{display:inline-flex}
}

/* Personlige notater — master-detail på .themehub-basen */
.notehub .hub-l{width:var(--hub-w,clamp(280px,26vw,340px))}
.notehub .hub-search{position:relative}
.nhub-srow{display:flex;align-items:center;gap:8px}
.nhub-srow .searchbox{flex:1;min-width:0}
.nhub-plus{flex:none;width:32px;height:32px;border:0;border-radius:9px;background:var(--accent-soft);color:var(--accent);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.nhub-plus .icon{width:16px;height:16px}
.nhub-frow{display:flex;align-items:center;gap:6px}
.nhub-ib{position:relative;flex:none;width:30px;height:30px;border:1px solid var(--chrome-line);border-radius:8px;background:var(--surface);color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.nhub-ib:hover{border-color:var(--border-strong);color:var(--text)}
.nhub-ib .icon{width:15px;height:15px}
.nhub-badge{position:absolute;top:-5px;right:-5px;background:var(--accent);color:#fff;font-family:var(--ui);font-size:10px;font-weight:700;line-height:15px;min-width:15px;text-align:center;border-radius:999px;padding:0 3px}
.nhub-badge[hidden]{display:none}
.nhub-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.nhub-chips[hidden]{display:none}
.nh-chip{border:0;background:var(--accent-soft);color:var(--accent);font-family:var(--ui);font-size:11.5px;font-weight:600;border-radius:20px;padding:3px 9px;cursor:pointer}
.nh-clear{border:0;background:transparent;color:var(--muted);font-family:var(--ui);font-size:11.5px;cursor:pointer;margin-left:auto}
.nhub-pop{position:absolute;top:calc(100% - 6px);left:10px;right:10px;z-index:30;background:var(--surface);border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 8px 28px rgba(0,0,0,.18);padding:12px 14px;max-height:min(60vh,480px);overflow:auto}
.nhub-pop[hidden]{display:none}
.nhub-pop .sf-group{margin-bottom:12px}
.nhub-tags{display:flex;flex-wrap:wrap;gap:8px}
.nhub-tags .ntag{display:inline-flex;align-items:center;gap:6px}
.nhub-tags .ntag.on{outline:2px solid var(--accent);outline-offset:1px}
.nhub-tags .tcount{background:var(--bg);color:var(--accent);border-radius:10px;padding:0 6px;font-size:10.5px;font-weight:700}
.nhub-cur{display:flex;align-items:center;gap:7px;width:100%;text-align:left;border:0;border-bottom:1px solid var(--chrome-line);background:var(--accent-soft);color:var(--accent);font-family:var(--ui);font-size:12.5px;font-weight:600;padding:9px 14px;cursor:pointer}
.nhub-cur b{font-family:var(--reading);font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nhub-cur .icon{width:13px;height:13px;flex:none}
.nhub-cur .nhc-arrow{margin-left:auto;font-size:16px;line-height:1}
.nh-grp{position:sticky;top:0;z-index:2;background:var(--chrome-grp);padding:6px 14px 4px;font-family:var(--ui);font-size:10.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border-top:1px solid var(--chrome-line);border-bottom:1px solid var(--chrome-line)}
.hub-list .nh-grp:first-child{border-top:0}
.nh-row{padding:10px 14px;border-bottom:1px solid var(--chrome-line);border-left:3px solid transparent;cursor:pointer}
.nh-row:hover{background:var(--chrome-hover)}
.nh-row.on{background:var(--surface);border-left-color:var(--accent)}
.nh-top{display:flex;align-items:baseline;gap:7px;min-width:0}
.nh-ref{font-family:var(--reading);font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nh-pub{color:var(--accent);font-size:12px;flex:none}
.nh-date{margin-left:auto;flex:none;font-family:var(--ui);font-size:11px;color:var(--muted)}
.nh-work{font-family:var(--ui);font-size:12px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} /* kommentar-bokmerke: verkets navn under stedet */
.bm-kind{margin-bottom:8px}
.bm-comm{margin-top:4px}
.nh-row .note-del{border:0;background:transparent;color:var(--faint);cursor:pointer;font-size:13px;padding:0 2px;flex:none;opacity:0;transition:opacity .12s}
.nh-row:hover .note-del,.nh-row.on .note-del{opacity:.7}
.nh-title{font-family:var(--reading);font-weight:600;font-size:13px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nh-vline{font-family:var(--reading);font-size:12.5px;font-style:italic;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nh-ex{font-family:var(--reading);font-size:13px;line-height:1.5;color:var(--text);margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nh-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.nh-tags .ntag{font-size:10.5px;padding:1px 8px}
.notehub .hub-r{position:relative}
.nhub-rhead{display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid var(--chrome-line);background:var(--chrome)}
.nhub-rhead #curRef{font-family:var(--reading);font-size:19px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nhub-rhead .hub-back{padding:0;flex:none}
.nhub-body{flex:1;overflow:auto;min-height:0;padding:20px 24px 28px}
.nhub-paper{max-width:700px;margin:0 auto}
.nhub-paper .contrib-chip{margin-bottom:12px}
.nhub-paper .nfield{width:100%;box-sizing:border-box;border:0;background:transparent;border-radius:0;border-bottom:1px solid transparent;font-family:var(--reading);font-size:18px;font-weight:700;padding:4px 0;margin:0 0 8px}
.nhub-paper .nfield:focus{outline:0;border-bottom-color:var(--accent)}
.nhub-paper .notearea{min-height:38vh}
.nhub-tagsrow{margin:16px 0 0;border-top:1px solid var(--border);padding-top:10px}
/* bokmerke-detalj: verset som lesekort */
.bm-versetext{font-family:var(--reading);font-size:calc(var(--read-size) * 1.06);line-height:1.68;color:var(--text)}
.bm-src{font-family:var(--ui);font-size:11px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-top:8px}
.bm-actions2{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
/* verslister: lesedokument (samme grammatikk som eksporten) + ordne-modus */
.vl-ttl{font-family:var(--reading);font-size:19px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.vl-cnt{margin-left:auto;flex:none;font-family:var(--ui);font-size:11px;color:var(--muted);background:var(--surface);border-radius:20px;padding:1px 8px}
.vl-chk{accent-color:var(--accent);flex:none}
.vld-ch{font-family:var(--reading);font-weight:700;font-size:15.5px;color:var(--accent);margin:16px 0 4px;cursor:pointer}
#vlDoc .vld-ch:first-child{margin-top:0}
.vld-v{position:relative;padding:3px 96px 3px 32px;border-radius:8px;margin:0 -8px 4px}
.vld-v:hover{background:var(--bg)}
.vld-n{position:absolute;left:8px;top:6px;font-family:var(--ui);font-size:11px;font-weight:700;color:var(--accent)}
.vld-t{font-family:var(--reading);font-size:var(--read-size);line-height:1.62;color:var(--text)}
.vld-rail{position:absolute;right:8px;top:4px;display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .12s}
.vld-v:hover .vld-rail{opacity:1}
.vld-rail button{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:3px;border-radius:6px;display:inline-flex}
.vld-rail button:hover:not(:disabled){background:var(--border);color:var(--text)}
.vld-rail button:disabled{opacity:.3;cursor:default}
.vld-rail .icon{width:14px;height:14px}
.vld-paste{border:0;border-top:1px dashed var(--border-strong);margin-top:18px;padding:10px 0 0;color:var(--muted);font-family:var(--ui);font-size:12.5px;background:transparent;cursor:pointer;display:flex;gap:7px;align-items:center;width:100%;text-align:left}
.vld-paste .icon{width:14px;height:14px}
.vld-paste:hover{color:var(--accent)}
.vlo-row{display:flex;align-items:center;gap:9px;padding:7px 4px;border-bottom:1px solid var(--border)}
.vlo-row b{font-family:var(--reading);font-size:14px;flex:none}
.vlo-snip{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--reading);font-size:13px}
.vl-ord2{display:inline-flex;gap:2px;flex:none}
.vl-ord2 button,.vlo-x{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:4px;border-radius:6px;display:inline-flex}
.vl-ord2 button:hover:not(:disabled),.vlo-x:hover{background:var(--bg);color:var(--text)}
.vl-ord2 button:disabled{opacity:.3;cursor:default}
.vl-ord2 .icon,.vlo-x .icon{width:14px;height:14px}
@media(max-width:880px),(max-height:540px){
  .vld-v{padding-right:32px}
  .vld-rail{display:none} /* touch: omordning/fjerning skjer i Ordne-modus */
}
#pvEmpty{cursor:pointer}
.nhub-toolrow{display:flex;align-items:center;padding:7px 18px;border-bottom:1px solid var(--border);background:var(--panel-head)}
.nhub-toolrow[hidden]{display:none}
@media(max-width:880px),(max-height:540px){
  .notehub .hub-l{width:100%}
  .nh-grp{position:static}
  .nhub-body{overflow:visible;padding:16px 4px 40px}
  .nhub-rhead{padding:10px 4px}
  .nhub-pop{position:fixed;left:12px;right:12px;top:auto;bottom:calc(70px + env(safe-area-inset-bottom));max-height:60vh}
  /* detalj-panelet = fullskjerm-ark på mobil (som eksportens .ex-sheet): hodet og
     verktøylinja står fast, KUN innholdet scroller — sticky trengs ikke lenger */
  .themehub.mobile-open .hub-r{position:fixed;inset:0;z-index:55;background:var(--surface)}
  .themehub.mobile-open .nhub-rhead{padding:calc(10px + env(safe-area-inset-top)) 14px 10px}
  .themehub.mobile-open .nhub-body{overflow:auto;flex:1;min-height:0;padding:16px 14px calc(26px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}
  .themehub.mobile-open .hub-rhead{padding:calc(12px + env(safe-area-inset-top)) 16px 12px}
  .themehub.mobile-open .hub-items{overflow:auto;flex:1;min-height:0;padding:0 16px calc(26px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}
  .nhub-toolrow{padding:7px 10px}
}

/* panels menu */
.menu{position:relative}
.menu .pop{position:absolute;right:0;top:42px;background:var(--surface);border:1px solid var(--border);
  border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.12);padding:8px;min-width:180px;display:none;z-index:30}
.menu.open .pop{display:block}
/* Liggende telefon / lave vinduer (≤540px høyde): konto-menyen (14 punkter) rant utenfor og gjemte seg
   bak notch/buede hjørner. Forankre til viewporten under topplinja, gjør scrollbar + safe-area-innrykk.
   KUN korte viewporter → rører ikke desktop/portrait/nettbrett. */
@media (max-height:540px){
  .menu .pop{position:fixed;top:calc(54px + env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));left:auto;
    max-height:calc(100dvh - 54px - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 14px);
    overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:130;box-shadow:0 12px 34px rgba(0,0,0,.22)}
}
.menu .pop label{display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:7px;font-size:13px}
.menu .pop label:hover{background:var(--bg)}
.menu .pop input{accent-color:var(--accent);width:15px;height:15px}

/* bok/kapittel/vers-velger */
[data-panel="bible"]{position:relative}
.passage-label{background:transparent;border:0;font:inherit;color:inherit;cursor:pointer;padding:3px 10px;border-radius:7px}
.passage-label:hover{background:var(--bg)}
.navpick{position:fixed;top:calc(58px + env(safe-area-inset-top));left:16px;width:min(680px,calc(100vw - 32px));z-index:50;
  background:var(--surface);border:1px solid var(--border-strong);border-radius:11px;box-shadow:0 16px 40px rgba(0,0,0,.22);
  padding:8px;max-height:74vh;display:flex;flex-direction:column}
.navgrid .navsec{grid-column:1/-1;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  color:var(--muted);padding:11px 4px 4px}
.navgrid .navsec:first-child{padding-top:2px}
.navpick[hidden]{display:none}
.navtabs{display:flex;gap:4px;background:var(--bg);border-radius:8px;padding:3px;margin-bottom:8px;flex:none}
.navtabs button{flex:1;border:0;background:transparent;padding:8px;border-radius:6px;font-size:13px;
  font-weight:600;color:var(--muted)}
.navtabs button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.navgrid{overflow-y:auto;display:grid;gap:6px;padding:2px;flex:1;min-height:0;align-content:start}
.navgrid.books{grid-template-columns:repeat(auto-fill,minmax(116px,1fr))}
.navgrid.nums{grid-template-columns:repeat(auto-fill,minmax(42px,1fr))}
.navgrid button{border:1px solid var(--border);background:var(--surface);border-radius:7px;padding:9px 7px;
  font-size:13px;line-height:1.2;color:var(--text);cursor:pointer;min-width:0;
  display:flex;align-items:center;justify-content:center;text-align:center}
.navgrid button>span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.navgrid.nums button{font-variant-numeric:tabular-nums}
.navgrid button:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-soft)}
.navgrid button.sel{background:var(--accent-soft);color:var(--accent);border-color:var(--accent);font-weight:700}
.vhead{font-family:var(--reading);font-weight:700;font-size:1.04em;margin:16px 2px 4px;color:var(--text)}
.reader .vhead:first-child{margin-top:2px}

/* vers-forhåndsvisning (modal) */
.modal{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.42);display:flex;align-items:center;
  justify-content:center;padding:20px}
.modal[hidden]{display:none}
.modal-card{background:var(--surface);border:1px solid var(--border-strong);border-radius:14px;max-width:520px;
  width:100%;box-shadow:0 24px 60px rgba(0,0,0,.32);display:flex;flex-direction:column;max-height:80vh}
.modal-head{display:flex;align-items:center;padding:13px 16px;border-bottom:1px solid var(--border)}
.modal-ref{font-family:var(--reading);font-weight:700;font-size:16px;color:var(--accent)}
.modal-head .pclose{margin-left:auto}
.modal-body{padding:18px;overflow-y:auto}
.pop-verse{font-family:var(--reading);font-size:var(--read-size);line-height:1.6;margin:0;display:flex;gap:10px}   /* hengende innrykk som studie (.verse): tall i venstremarg, tekst innrykket */
.pop-verse sup{color:var(--accent);font-family:var(--ui);font-weight:700;font-size:.7em;min-width:14px}
.modal-foot{padding:12px 16px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px}
/* Lim inn tekst-footer (sak #38): «Lukk» venstre, «Finn referanser» + «Legg til i liste» høyre; bryter pent på smal skjerm */
.vl-paste-foot{flex-wrap:wrap}
.vl-paste-foot #vlPasteCancel{margin-right:auto}
.vl-paste-foot #vlPasteAdd[hidden]{display:none}   /* repo-fella: eksplisitt vakt så flex-footeren respekterer [hidden] */
.btn{background:var(--accent);color:#fff;border:0;border-radius:8px;padding:9px 18px;font-size:14px;font-weight:600;cursor:pointer}
/* diskret sekundær-knapp: transparent m/ dempet kant, tydelig først ved hover */
.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--border-strong);border-radius:8px;padding:7px 14px;font-size:13px;cursor:pointer}
.btn-ghost:hover{color:var(--accent);border-color:var(--accent)}
.os-domentry{text-align:center;margin-top:2px;padding-bottom:24px}
.btn:hover{filter:brightness(1.06)}
.btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--border-strong)}
.btn.ghost:hover{filter:none;background:var(--bg)}
/* toast */
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translateX(-50%) translateY(8px);
  background:var(--text);color:var(--surface);padding:10px 16px;border-radius:10px;font-size:13.5px;font-weight:600;
  box-shadow:0 8px 28px rgba(0,0,0,.28);opacity:0;pointer-events:none;z-index:90;transition:opacity .18s,transform .18s}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
/* Flytende bunnkort (personvern-varsel + onboarding) — løftes over mobil-fanelinja */
.fab-card{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:9999;max-width:560px;margin:0 auto;background:var(--surface);border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 8px 30px rgba(20,40,30,.18);padding:13px 16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-family:var(--ui)}
@media(max-width:880px),(max-height:540px){ .fab-card{bottom:calc(64px + env(safe-area-inset-bottom))} }

/* mobile */
.tabbar{display:none}
.hide-sm{display:inline}
/* Mobil-modus: smal skjerm ELLER lav høyde (telefon i landskap, f.eks. iPhone) */
@media(max-width:880px),(max-height:540px){
  .search{display:none}.hide-sm{display:none}
  .rail{position:fixed;z-index:40;top:calc(54px + env(safe-area-inset-top));bottom:0;box-shadow:2px 0 16px rgba(0,0,0,.18);left:-210px;transition:left .18s}
  .rail.show{left:0}
  .workspace{flex-direction:column;gap:0;padding:0;overflow:hidden}
  .col,.panel{border-radius:0;max-width:none}
  .workspace .col{display:contents}     /* kolonner forsvinner som layout → ett panel om gangen */
  .workspace .panel{display:none}
  .workspace .panel.mactive{display:flex;flex:1;min-height:0}
  .tabbar{display:flex;flex:none;background:var(--surface);border-top:1px solid var(--border);
    overflow-x:auto;padding-bottom:env(safe-area-inset-bottom)}
  .tabbar button{flex:1 0 auto;min-width:62px;border:0;background:transparent;padding:8px 6px;display:flex;
    flex-direction:column;align-items:center;gap:3px;color:var(--muted);font-size:10.5px;cursor:pointer}
  .tabbar button .icon{width:20px;height:20px}
  .tabbar .tlabel{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .tabbar button.on{color:var(--accent)}
  .tabbar button.locked{opacity:.45}
  .topbar{gap:8px;padding:env(safe-area-inset-top) 10px 0}
  .tbtn{padding:7px 9px}
  /* hindre iOS-zoom på fokus: skjema-felt ≥16px */
  /* hindre iOS-zoom ved fokus: alle skjemafelt ≥16px (slår klasse-regler med !important) */
  input,select,textarea,.search input,.navsearch input,.searchbox input,.nfield,.sel,
  .login-card input,.field input,.field select,.exfield select{font-size:16px!important}
  /* <select> åpner native plukker (ingen zoom) → panel-velgere kan være mindre */
  .phead .sel{font-size:13px!important}
  .page{padding:18px clamp(14px,4vw,22px) calc(20px + env(safe-area-inset-bottom))}
  .page .head{flex-wrap:wrap;gap:10px}
  .navpick{left:8px;width:calc(100vw - 16px);max-height:calc(100dvh - 72px - env(safe-area-inset-top))}
  .navgrid.books{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}
  /* eksport: sticky/indre-scroll er skrudd på KUN for romslige vinduer (se eksport-
     seksjonen) — her trengs ingen motregel. De gamle static/visible-overstyringene som
     sto her var DØDE: grunnreglene kom senere i kildeorden og vant med lik spesifisitet. */
  .export-controls .savebar .btn{flex:1 1 calc(50% - 7px)}
  #readMode{display:none}   /* lesemodus er en desktop-funksjon */
  /* vers-tekst over notat-editoren OG kommentaren: kun mobil (der bibel-panelet er skjult). Ray #20 + #27 */
  .panel[data-panel="notes"] .note-versecue,
  .panel[data-panel="comm"] .note-versecue{display:block;font-family:var(--reading);font-size:var(--read-size);line-height:1.6;
    color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin-bottom:10px;
    max-height:30vh;overflow-y:auto}   /* sak #33: samme lesestørrelse som studie-leseren (skalerer med tekststørrelse-innstillingen) */
  .panel[data-panel="notes"] .note-versecue .nvc-nav,
  .panel[data-panel="comm"] .note-versecue .nvc-nav{display:flex}
  /* comm-utgaven ligger MELLOM panelhodet og scroll-innholdet (utenfor .pbody) → verset står fast mens kommentaren scroller */
  .panel[data-panel="comm"] .note-versecue{margin:10px 12px 4px;flex:none}
}
/* liten telefon i stående */
@media(max-width:430px){
  .topbar{gap:6px;padding:env(safe-area-inset-top) 8px 0;height:calc(50px + env(safe-area-inset-top))}
  .rail{top:calc(50px + env(safe-area-inset-top))}   /* skuffen starter der topplinja slutter (var 54 → 4 px glipe) */
  .wordmark{font-size:12px}
  .refbadge{font-size:12px;padding:4px 9px}
  .modal{padding:12px}
  .panel .phead{flex-wrap:wrap;row-gap:6px}
}
/* Bibel-header på smal skjerm: 2 ryddige rader — passasje på egen linje, så
   parallell/marker/del ikke forskyves av boknavn-lengden. */
@media(max-width:540px){
  .wordmark .wm-accent{display:none}   /* telefon: logo + «Studiebibel» (skjul «.app» for plass) */
  [data-panel="bible"] .phead{flex-wrap:wrap;row-gap:8px}
  [data-panel="bible"] .phead .spacer{display:none}
  [data-panel="bible"] .phead #hlMenu{margin-left:auto}
  [data-panel="bible"] .phead .passage{order:2;flex-basis:100%;justify-content:center;font-size:15px}
  /* Notat-header på smal skjerm: to ROLIGE rader som ikke hopper når «Lagret» dukker opp.
     - Status får RESERVERT plass → tekst inn/ut flytter ingenting (dreper hoppingen).
     - Verktøylinja (B/I/U/viskelær) legges alltid på egen, fast rad, HØYRESTILT. */
  [data-panel="notes"] .phead{flex-wrap:wrap;row-gap:6px}
  [data-panel="notes"] .phead .notestatus{flex:none;min-width:5.6em}
  [data-panel="notes"] .phead .ntoolwrap{order:9;flex-basis:100%;justify-content:flex-end}
}

/* brukermeny */
.usermenu .avatar{background:transparent;border:0;padding:4px 6px;border-radius:8px;cursor:pointer}
.usermenu .avatar:hover{background:var(--bg)}
.menu .pop a,.menu .pop button{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border-radius:7px;
  font-size:13px;color:var(--text);text-decoration:none;background:transparent;border:0;text-align:left;cursor:pointer}
.menu .pop a:hover,.menu .pop button:hover{background:var(--bg)}
/* [hidden] må vinne over display-reglene i denne popupen — REPO-FELLEN: en author-regel
   (.menu .pop label{display:flex} m.fl.) slår UA-arkets [hidden]{display:none}. Gjelder
   label like mye som a/button: panel-avkryssingen for AI-assistenten var synlig for alle
   uten denne, komplett med «🔒 Tillegg»-merke som røpet både funksjon og prisnivå. */
.menu .pop a[hidden],.menu .pop button[hidden],.menu .pop label[hidden]{display:none}
.menu .pop .icon{width:17px;height:17px;color:var(--muted)}

/* login */
.login-wrap{height:100vh;height:100dvh;display:grid;place-items:center;padding:20px}
.login-card{width:min(380px,100%);background:var(--surface);border:1px solid var(--border);border-radius:16px;
  padding:30px 28px;box-shadow:0 12px 40px rgba(0,0,0,.10);display:flex;flex-direction:column;gap:14px}
.login-mark{letter-spacing:.06em;font-weight:800;font-size:14px;display:inline-flex;align-items:center} /* flex: logo-bildet og teksten sentreres vertikalt (som topplinjens wordmark) */
.login-mark span{color:var(--accent)}
.login-card h1{font-family:var(--reading);font-size:24px;margin:2px 0 6px}
.login-card label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}
.login-card input{padding:11px 12px;border:1px solid var(--border-strong);border-radius:9px;background:var(--bg);
  color:var(--text);font-size:15px;outline:0}
.login-card input:focus{border-color:var(--accent)}
.login-error{color:#c0392b;font-size:13px;background:#fdecea;border-radius:8px;padding:9px 11px}
[data-theme=dark] .login-error{background:#3a201e;color:#f1a9a0}

/* skjema (innstillinger/admin) */
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;font-size:13px;color:var(--muted);max-width:380px}
.field select,.field input{padding:10px 11px;border:1px solid var(--border-strong);border-radius:9px;
  background:var(--bg);color:var(--text);font-size:14px;outline:0}
.field select:focus,.field input:focus{border-color:var(--accent)}
.checks{display:flex;flex-direction:column;gap:9px;margin:4px 0 16px}
.checks label{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--text)}
.checks input{accent-color:var(--accent);width:16px;height:16px}
.savebar{display:flex;align-items:center;gap:14px}
.ok-msg{color:var(--accent);font-size:13px;font-weight:600}
.ok-msg[hidden]{display:none}
.userwrap{margin-bottom:8px}
.useredit{margin:6px 0 4px}
.userrow{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--border);
  border-radius:10px;margin-bottom:8px;background:var(--surface)}
.userrow .who{flex:1;min-width:0}
.userrow .who .gloss{margin-top:2px}
.userrow .badge{font-size:11px;font-weight:700;color:var(--accent);background:var(--accent-soft);
  padding:2px 8px;border-radius:10px;margin-left:6px}
.ustat{font-size:12.5px;color:var(--muted);margin-top:5px}
.miss{display:inline-block;font-size:11px;font-weight:700;color:#b26a00;background:#fff3e0;padding:2px 8px;border-radius:10px;margin-left:6px}
.miss.req{color:#c0392b;background:#fdecea}
[data-theme=dark] .miss{background:#3a2f1e}[data-theme=dark] .miss.req{background:#3a201e}
/* admin global statistikk */
.statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}
.stattile{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:11px 13px;text-align:center}
.statnum{font-family:var(--reading);font-size:23px;font-weight:700;color:var(--accent);line-height:1.1}
.statlbl{font-size:11.5px;font-weight:600;color:var(--muted);margin-top:3px}
.usertools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 14px}
.usertools select{padding:8px 10px}
/* flytende lagre-knapp (Innstillinger) */
.float-save{position:fixed;right:20px;bottom:20px;z-index:60;display:inline-flex;align-items:center;gap:8px;
  background:var(--accent);color:#fff;border:0;border-radius:24px;padding:12px 20px;font-size:14px;font-weight:600;
  cursor:pointer;box-shadow:0 6px 22px rgba(20,40,30,.22)}
.float-save:hover{filter:brightness(.96)}
.float-save .icon{width:18px;height:18px;stroke:#fff}
@media(max-width:760px){.float-save{right:14px;bottom:14px;padding:11px 18px}}
.btn.danger{background:transparent;border:1px solid var(--border-strong);color:#c0392b;padding:7px 12px;font-weight:600}
.btn.danger:hover{filter:none;background:#fdecea}
[data-theme=dark] .btn.danger:hover{background:#3a201e}
/* slett-notat: ✕ pr rad + søppel-ikon i editoren */
.note-del{margin-left:8px;background:transparent;border:0;color:var(--faint);cursor:pointer;font-size:15px;line-height:1;padding:2px 6px;border-radius:5px;flex:none}
.note-del:hover{color:#c0392b;background:#fdecea}
[data-theme=dark] .note-del:hover{background:#3a201e}
.note-delcur{color:var(--faint)}
.note-delcur:hover{color:#c0392b}
/* bokmerke-ikon fylt når aktivt (occPop/versePop) + «legg til i liste»-popover */
.bmicon.on .icon{fill:var(--accent);stroke:var(--accent)}
.bmicon.on{color:var(--accent)}
.listmenu{position:fixed;z-index:120;min-width:210px;max-width:280px;max-height:min(60vh,420px);overflow:auto;overscroll-behavior:contain;background:var(--surface);border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 12px 34px rgba(0,0,0,.22);padding:6px;font-family:var(--ui)}
.listmenu[hidden]{display:none}
.lm-head{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--faint);padding:6px 8px 4px}
.lm-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:transparent;border:0;border-radius:7px;padding:7px 8px;cursor:pointer;color:var(--text);font-size:14px}
.lm-item:hover{background:var(--accent-soft)}
.lm-check{width:14px;color:var(--accent);font-weight:700;flex:none}
.lm-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lm-n{color:var(--faint);font-size:12px;flex:none}
.lm-empty{padding:6px 8px;color:var(--muted);font-size:13px}
.lm-new{display:block;width:100%;text-align:left;background:transparent;border:0;border-top:1px solid var(--border);margin-top:4px;padding:9px 8px;cursor:pointer;color:var(--accent);font-weight:700;font-size:13px}
.lm-new:hover{background:var(--accent-soft);border-radius:0 0 9px 9px}
/* verslister-side */
/* Lim inn tekst → finn referanser */
.vl-paste{width:100%;box-sizing:border-box;min-height:160px;resize:vertical;font-family:var(--ui);font-size:14px;line-height:1.5;padding:10px 12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);color:var(--text)}
.vl-refhead{font-size:13px;font-weight:700;color:var(--muted);margin:16px 0 8px}
.vl-reflist{display:flex;flex-direction:column;gap:2px;max-height:42vh;overflow:auto}
.vl-refrow{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:8px;cursor:pointer}
.vl-refrow:hover{background:var(--accent-soft)}
.vl-refchk{width:17px;height:17px;accent-color:var(--accent);flex:none;cursor:pointer}
.vl-reflabel{flex:1;font-family:var(--reading);font-size:15px}
/* Last ned for offline (Innstillinger) */
.offgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.offcol-h{font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--faint);margin-bottom:8px}
.offrow{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}
.offrow:last-child{border-bottom:0}
.offname{flex:1;min-width:0;font-size:14px}
.offstatus{flex:none;min-width:52px;text-align:right;font-size:12px}
.offbtn{flex:none;padding:6px 12px;font-size:13px}
.offfoot{display:flex;align-items:center;gap:12px;margin-top:14px}
.offfoot .btn{margin-left:auto}
@media (max-width:620px){.offgrid{grid-template-columns:1fr;gap:18px}}
/* diskret frakoblet-indikator */
.offline-dot{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:130;background:var(--text);color:var(--surface);font-family:var(--ui);font-size:12px;font-weight:600;padding:6px 14px;border-radius:999px;box-shadow:0 6px 20px rgba(0,0,0,.28);opacity:.92}
.offline-dot[hidden]{display:none}
/* venstremeny: skille mellom gruppene */
.navsep{height:1px;background:var(--border);margin:8px 14px}
/* diskret «Oppgrader»-lenke på låst-kort/paneler → pakke-fanen i profil */
.pkg-upgrade{display:inline-block;font-family:var(--ui);font-size:12.5px;font-weight:600;color:var(--accent);text-decoration:none;white-space:nowrap}
.pkg-upgrade:hover{text-decoration:underline}
/* gruppe-overskrift på et skille (f.eks. «Grunntekst») */
.navsep-h{height:auto;background:none;margin:12px 14px 2px;display:flex;align-items:center;gap:8px}
.navsep-h::after{content:"";flex:1;height:1px;background:var(--border)}
.navsep-label{font-family:var(--ui);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);white-space:nowrap}
/* minimert meny: overskriften blir en ren strek (teksten ville blitt avkuttet/rar) */
.rail.collapsed .navsep-h{height:1px;background:var(--border);margin:8px 14px}
.rail.collapsed .navsep-h::after{content:none}
.rail.collapsed .navsep-label{display:none}
/* minimer/utvid-pil: peker mot venstre (skjul) når åpen, snus når minimert (utvid) */
#railBurger .icon{transition:transform .18s}
.rail.collapsed #railBurger .icon{transform:rotate(180deg)}
/* «+ liste»-knapp på bokmerke-rad */
.bm-listbtn{background:transparent;border:0;color:var(--faint);cursor:pointer;padding:4px;border-radius:6px;flex:none}
.bm-listbtn:hover{color:var(--accent);background:var(--accent-soft)}
/* «Eksporter utvalg»: liten knapp til høyre */
.bm-actions{display:flex;justify-content:flex-end}
.bm-actions .btn{font-size:13px;padding:7px 14px}
.btn:disabled{opacity:.6;cursor:default}
.seth{font-family:var(--reading);font-size:18px;margin:0 0 14px}
.toglist{display:flex;flex-direction:column}
.togrow{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 2px;
  border-bottom:1px solid var(--border);font-size:14px;color:var(--text)}
.togrow:last-child{border-bottom:0}
.switch{position:relative;display:inline-block;width:42px;height:24px;flex:none}
.switch input{opacity:0;width:0;height:0;position:absolute}
.switch .track{position:absolute;inset:0;background:var(--border-strong);border-radius:20px;transition:.15s;cursor:pointer}
.switch .track:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;
  border-radius:50%;transition:.15s;box-shadow:0 1px 2px rgba(0,0,0,.25)}
.switch input:checked + .track{background:var(--accent)}
.switch input:checked + .track:before{transform:translateX(18px)}

/* ressurser */
.rescards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.rescard{display:flex;align-items:center;gap:14px;text-align:left;background:var(--surface);
  border:1px solid var(--border);border-radius:12px;padding:16px;cursor:pointer;position:relative}
@media (hover:hover){ .rescard:hover{border-color:var(--accent-soft);background:var(--accent-soft)} }   /* kun ekte peker: unngår «klebrig hover» på touch etter at forsiden re-rendres */
.rescard:active{border-color:var(--accent-soft);background:var(--accent-soft)}   /* touch: kort trykk-tilbakemelding (kleber ikke) */
.rescard.soon{opacity:.62;cursor:default}
.rescard.soon:hover{border-color:var(--border);background:var(--surface)}
/* låst ressurs-kort (høyere pakke): grået ut, hengelås-pille (teaser — klikk gir oppgraderingskort) */
.rescard.reslocked{opacity:.6}
.rescard.reslocked .resicon{background:var(--bg);color:var(--muted)}
.rescard .badge.reslock-badge{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-soft)}
.resicon{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;
  background:var(--accent-soft);color:var(--accent);flex:none}
.resmeta{display:flex;flex-direction:column;gap:3px}
.resmeta b{font-size:15.5px;font-weight:700;font-family:var(--reading)}
.rescard .badge{position:absolute;top:10px;right:10px;font-size:10.5px;font-weight:700;color:var(--muted);
  background:var(--bg);border:1px solid var(--border);padding:2px 7px;border-radius:10px}
/* Verk-/bok-kort (har .rescard-name): tittel framhevet øverst, antall som diskret pille, mykt løft */
.rescard:has(.rescard-name){flex-direction:column;align-items:flex-start;justify-content:center;gap:9px;
  padding:16px 18px;min-height:76px;transition:border-color .15s,box-shadow .15s,transform .15s}
.rescard:has(.rescard-name):hover{border-color:var(--accent);background:var(--surface);
  box-shadow:0 6px 18px rgba(20,40,30,.10);transform:translateY(-2px)}
.rescard-name{font-family:var(--reading);font-size:16px;font-weight:700;color:var(--text);line-height:1.3}
.rescard-desc{font-size:11px;font-weight:600;color:var(--muted);background:var(--bg);
  border:1px solid var(--border);padding:2px 9px;border-radius:999px;white-space:nowrap}
.rescard:has(.rescard-name).active{border-color:var(--accent);background:var(--accent-soft)}
.rescard:has(.rescard-name).active .rescard-desc{background:var(--surface);border-color:var(--accent-soft);color:var(--accent)}
/* Hjem-kategorikort (ikon + tittel): samme myke løft ved hover */
.rescard:has(.resmeta){transition:border-color .15s,box-shadow .15s,transform .15s}
.rescard:has(.resmeta):hover{box-shadow:0 6px 18px rgba(20,40,30,.09);transform:translateY(-2px)}
.restabs{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin-bottom:14px;min-height:0}
/* språk-bryter (norsk/engelsk) + kilde-velger i emne-/oppslag-kategorier */
.res-seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}
.res-seg-b{background:transparent;border:0;padding:5px 13px;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer}
.res-seg-b.on{background:var(--accent);color:#fff}
.res-srcsel{font-size:13px;max-width:230px}
/* Samlet oppslag: kilde-filter-chips, kilde-merker, stablet detalj */
.src-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
#tblBody .src-chips{margin-top:18px}   /* avstand fra tabell-kortene over til filter-knappene */
.src-chip{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:4px 12px;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer}
.src-chip:hover{border-color:var(--accent-soft);color:var(--accent)}
.src-chip.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.src-badges{display:inline-flex;flex-wrap:wrap;gap:4px;vertical-align:middle}
.src-badge{font-family:var(--ui);font-size:10.5px;font-weight:600;letter-spacing:.02em;color:var(--muted);background:var(--accent-soft);border-radius:5px;padding:1px 6px}
.merge-src{margin:0 0 18px}
.merge-src:not(:first-child){border-top:1px solid var(--border);padding-top:14px}
.merge-src-h{font-family:var(--ui);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin:0 0 8px}
.res-about{margin:16px 0 0}
.linklike{background:none;border:0;padding:0;color:var(--accent);font-size:13px;cursor:pointer;text-decoration:underline}
.about-src{margin:0 0 12px}
/* Bibelkommentarer: kort med type-merke, bok/del-velger, nettbok-leser */
.comm-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.comm-tag{font-family:var(--ui);font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:5px;padding:2px 7px}
.comm-tag.book{color:#7a5b00;background:#fbeec3}
.comm-tag.muted{color:var(--muted);background:var(--surface);border:1px solid var(--border)}
.comm-group + .comm-group{margin-top:22px}
.comm-group-h{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 11px;padding-bottom:7px;border-bottom:1px solid var(--border)}

/* Apokryf-kort: språket er hovedskillet → stort flagg + språk-navn, utgave som undertekst */
.apo-card{flex-direction:row !important;align-items:center !important;justify-content:flex-start !important;gap:16px !important}
.apo-flag{font-size:30px;line-height:1;flex:0 0 auto}
.apo-main{display:flex;flex-direction:column;gap:3px;min-width:0}
.apo-ed{font-size:12.5px;color:var(--muted);line-height:1.35}
.cm-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px}
.cm-lbl{font-family:var(--ui);font-size:12px;font-weight:600;color:var(--muted)}
.cm-partsel{max-width:340px}
.cm-nav{display:inline-flex;gap:6px;margin-left:4px}
/* pene, runde bla-piler (kommentar-leser + nettbok) */
.cm-nav .snav-btn,.nb-nav .snav-btn,.ap-botnav .snav-btn{max-width:none;width:34px;height:34px;padding:0;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1;font-weight:400}
.cm-nav .snav-btn:hover:not(:disabled),.nb-nav .snav-btn:hover:not(:disabled),.ap-botnav .snav-btn:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff}
.ap-botnav{display:flex;align-items:center;justify-content:center;gap:14px;margin:18px 0 4px;padding-top:14px;border-top:1px solid var(--border)}
.ap-botnav .nb-pos{font-family:var(--ui);font-size:12px;color:var(--muted);min-width:120px;text-align:center}
.cm-sec{margin:0 0 22px;scroll-margin-top:10px}
.cm-sech{font-family:var(--ui);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--accent);margin:0 0 8px;padding:0 0 5px;border-bottom:1px solid var(--border)}
.nb-jumph{font-family:var(--ui);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:4px 9px 8px}
.nettbok{display:grid;grid-template-columns:268px 1fr;gap:18px;align-items:start}
.nb-toc{position:sticky;top:8px;max-height:calc(100vh - 120px);overflow:auto;border:1px solid var(--border);border-radius:12px;padding:8px;background:var(--surface)}
.nb-list{list-style:none;margin:0;padding:0}
.nb-link{display:block;width:100%;text-align:left;background:none;border:0;border-radius:7px;padding:6px 9px;font-size:13px;line-height:1.35;color:var(--text);cursor:pointer}
.nb-link:hover{background:var(--accent-soft);color:var(--accent)}
.nb-link.on{background:var(--accent);color:#fff}
.nb-det{margin:0 0 2px}
.nb-det>.nb-list{padding-left:8px;border-left:2px solid var(--border);margin-left:6px}
.nb-grp{font-family:var(--ui);font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--text);padding:7px 9px;cursor:pointer;border-radius:7px;list-style:none}
.nb-grp::-webkit-details-marker{display:none}
.nb-grp::before{content:'▸';display:inline-block;width:1em;color:var(--muted);transition:transform .15s}
details[open]>.nb-grp::before{transform:rotate(90deg)}
/* verk-søk (Josefus o.l.): søkeboks i innholdslista + treff-visning + treff-highlight */
.nb-search{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border-strong);border-radius:9px;padding:7px 9px;margin:0 0 8px}
.nb-search .icon{width:15px;height:15px;color:var(--faint);flex:none}
.nb-search input{border:0;background:transparent;outline:0;font-family:var(--ui);font-size:14px;color:var(--text);width:100%;min-width:0}
.nb-search-x{border:0;background:transparent;color:var(--faint);cursor:pointer;font-size:14px;padding:0 3px;flex:none;border-radius:5px;line-height:1}
.nb-search-x:hover{color:var(--accent)}
.nb-reshead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--chrome-line);padding-bottom:10px;margin:0 0 4px}
.nb-reshead b{font-family:var(--reading);font-size:17px;font-weight:700}
.nb-rescnt{color:var(--faint);font-size:13px;font-family:var(--ui);white-space:nowrap}
.nb-hit{display:block;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--chrome-line);padding:11px 4px;cursor:pointer;font-family:inherit}
.nb-hit:hover{background:var(--rail)}
.nb-hit-ch{display:block;font-family:var(--ui);font-size:12.5px;font-weight:700;color:var(--accent);margin-bottom:3px}
.nb-hit-snip{display:block;font-family:var(--reading);font-size:14.5px;line-height:1.5;color:var(--muted)}
.nb-hit-snip mark{background:var(--accent-soft);color:var(--text);border-radius:3px;padding:0 2px;font-weight:700}
.nb-mark{background:#fdf3c4;color:var(--text);border-radius:3px;padding:0 1px;box-shadow:0 0 0 1px #efe0a0}
.nb-grp:hover{background:var(--accent-soft);color:var(--accent)}
.nb-grp.on{color:var(--accent)}
.nb-nav{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.nb-pos{font-family:var(--ui);font-size:12px;color:var(--muted)}
@media(max-width:760px){.nettbok{grid-template-columns:1fr}.nb-toc{position:static;max-height:300px}}
/* Bibeltabeller: beskrivelse | referanser */
.tbl-list{margin-top:14px}
.tbl-item{display:grid;grid-template-columns:minmax(190px,1fr) 1.5fr;gap:16px;padding:10px 2px;border-bottom:1px solid var(--border);align-items:baseline}
.tbl-desc{font-family:var(--reading);font-weight:600;color:var(--text)}
.tbl-refs,.tbl-refs p{margin:0;color:var(--muted);font-size:14px}
/* Bibeltabeller: kategori-seksjoner + ren to-kolonne-tabell */
.tbl-cat{font-family:var(--ui);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);
  margin:20px 0 6px;padding:0 0 5px;border-bottom:2px solid var(--accent-soft)}
.tbl-cat:first-child{margin-top:6px}
table.tbl{width:100%;border-collapse:collapse;margin:0 0 4px}
table.tbl td{padding:9px 12px 9px 0;border-bottom:1px solid var(--border);vertical-align:baseline}
table.tbl tr:hover td{background:var(--accent-soft)}
.tbl-c-desc{font-family:var(--reading);font-weight:600;color:var(--text);width:46%}
.tbl-c-ref,.tbl-c-ref p{margin:0;color:var(--muted);font-size:14px}
.src-chip .chip-n{opacity:.6;font-size:11px}
@media(max-width:760px){table.tbl td{display:block;border:0;padding:2px 0}.tbl-c-desc{width:auto}table.tbl tr{display:block;border-bottom:1px solid var(--border);padding:8px 0}}
/* Evangeliesynopse */
.syn-item{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:9px 13px;margin-bottom:6px;cursor:pointer}
.syn-item:hover{border-color:var(--accent);background:var(--accent-soft)}
.syn-it-t{font-family:var(--reading);font-weight:600;font-size:15.5px}
.syn-it-g{font-size:11px;font-weight:700;color:var(--accent);letter-spacing:.12em}
.syn-sec{font-family:var(--ui);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--border);padding-bottom:5px;margin:18px 0 9px}
.syn-sec:first-child{margin-top:4px}
/* Synopse-siden v2: sted · tid i raden, fire faste MMLJ-prikker, sticky seksjoner,
   fane-chips på mobil (fraværende nedtonet men synlige — sammenligningen skal ses),
   sticky tommelnav i bunnen av detaljen. Krønike-harmonien deler .syn-cols/.syn-col. */
/* «Fortsett der du slapp»-kortet (trinn 3) */
.syn-fortsett{display:flex;flex-direction:column;gap:1px;width:100%;text-align:left;background:var(--accent-soft);border:1px solid var(--accent);border-radius:10px;padding:9px 13px;margin:0 0 12px;font:inherit;font-size:11px;color:var(--muted);cursor:pointer;letter-spacing:.04em;text-transform:uppercase}
.syn-fortsett b{font-family:var(--reading);font-weight:600;font-size:14.5px;color:var(--text);letter-spacing:0;text-transform:none}
.syn-it-m{display:block;font-family:var(--ui);font-weight:400;font-size:11.5px;color:var(--faint);margin-top:1px}
.syn-dots{display:inline-flex;gap:4px;align-items:center;flex:none}
.syn-dots i{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--faint)}
.syn-dots i.on{background:var(--accent);border-color:var(--accent)}
.syn-sec-st{position:sticky;top:0;background:var(--bg);z-index:3;padding-top:6px}
.syn-kick{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--accent);margin:0 0 3px}
.syn-alene{font-size:11px;color:var(--muted);background:var(--chrome-grp,rgba(0,0,0,.04));border-radius:999px;padding:2px 11px;display:inline-block;margin:0 0 10px}
.syn-col-r{font-weight:400;letter-spacing:0;text-transform:none;color:var(--muted);float:right}
.syn-tema{color:var(--accent);cursor:pointer}
.syn-fchips{display:none;gap:6px;margin:0 0 10px;flex-wrap:wrap}
.syn-fc{font:inherit;font-size:12.5px;border:1px solid var(--border-strong);border-radius:999px;padding:4px 13px;background:var(--surface);color:var(--muted);cursor:pointer}
.syn-fc.on{background:var(--accent);border-color:var(--accent);color:#fff}
.syn-fc.tom{opacity:.4;cursor:default}
/* Bunn-navigasjon: står der teksten slutter, ikke flytende. Den sticky varianten dekket
   teksten mens man leste, og fordi bakgrunnen var kortets egen så knappene ut til å ligge
   MIDT I teksten i stedet for over den. Denne erstatter samtidig den nederste
   §-tellerdubletten — detaljen hadde tre navigasjoner på mobil. */
.syn-bnav{display:flex;gap:8px;border-top:1px solid var(--border);margin:16px 0 0;padding:12px 0 2px}
.syn-bbtn{flex:1;display:flex;flex-direction:column;gap:1px;background:transparent;border:1px solid var(--border);border-radius:10px;padding:7px 11px;font:inherit;font-size:10.5px;color:var(--muted);cursor:pointer;text-align:left;min-height:46px;overflow:hidden}
.syn-bbtn b{font-weight:500;font-size:12.5px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.syn-bbtn.h{text-align:right;border-color:var(--accent);background:var(--accent-soft)}
.syn-bbtn:hover{border-color:var(--accent)}
/* SPALTENE GIR ETTER FOR SKRIFTEN, ALDRI OMVENDT.
   Delt av Evangeliesynopsen (#synCols) og Historiens gang (#kpCols).

   Flex, ikke grid, og det er den bærende beslutningen: auto-fit er MONOTON — får tre spor
   plass, gjør to det også — så et rutenett kan aldri gi trappen 4→2→1, bare 4→3+hull.

   flex-basis er en max() av to gulv, og den er hele mekanikken:

     50% − 6px  (6 = halve gapet) gjør at NØYAKTIG to kort får plass på en rad. Tre ville
                kreve 3(0,5B − 6) + 24 = 1,5B + 6, altså mer enn full bredde, uansett
                skjerm. Uten dette leddet ble fire evangelier til 3 + 1 mellom 1440 og
                1680 px: tre trange spalter og Johannes alene på rad to.
     20 × --read-size  er lesegulvet. Når det blir STØRRE enn halve bredden, får bare ett
                kort plass per rad, og spaltene stabler seg. Uttrykt i lesestørrelsen
                nettopp fordi bruddpunktet da flytter seg SELV når brukeren skrur opp;
                en px-terskel ville blitt utdatert, og en JS-måling måtte kjørt på nytt
                ved hver render OG ved applyReadSize.

   Resultatet er binært og forutsigbart: alltid to i bredden, eller stablet — aldri en
   ujevn rad. På bred skjerm holder to spalter lenger opp i skalaen, som seg hør og bør.

   max-width 32 × --read-size er taket: uten det får de 91 synopse-hendelsene med bare ett
   vitne (47 %) altfor lange linjer på bred skjerm.
   min-width:0 er ikke pynt — flex-elementer har min-width:auto = min-content, så uten den
   kan et langt sammensatt ord presse fram sidelengs rulling ved 30px. */
.syn-cols{display:flex;flex-wrap:wrap;gap:12px}
.syn-col{flex-grow:1;flex-shrink:1;flex-basis:max(calc(50% - 6px),calc(var(--read-size) * 20));
  min-width:0;max-width:calc(var(--read-size) * 32);
  border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface)}
.syn-col-h{font-family:var(--ui);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);padding:8px 11px;border-bottom:1px solid var(--border);background:var(--bg)}
/* bibelteksten = leserens tekst. break-word/hyphens er sikkerhetsnettet: .syn-col har
   overflow:hidden, så uten dem ville lange ord blitt klippet STUMT ved stor skrift. */
.syn-col-b{padding:10px 11px;font-family:var(--reading);font-size:var(--read-size);line-height:1.6;
  overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}
.syn-ref{font-family:var(--ui);font-size:var(--read-xs);font-weight:600;margin:.25em 0 .12em}
.syn-reflink{color:var(--accent);cursor:pointer}
.syn-reflink:hover{text-decoration:underline}
.syn-text{margin:0 0 .55em;color:var(--text)}
.syn-v{margin:0 0 .18em}                                  /* hvert vers på egen linje */
.syn-text sup{color:var(--accent);font-weight:700;font-size:.7em;margin-right:1px}
.syn-seg{margin:0 0 14px}
.syn-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 12px}
.syn-nav:last-child{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--border)}
.syn-nav .snav-btn{max-width:none;width:34px;height:34px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1;font-weight:400}
.syn-nav .snav-btn:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff}
.syn-empty{color:var(--faint);text-align:center;padding:10px}
@media(max-width:760px){
  .tbl-item{grid-template-columns:1fr;gap:3px}
  /* synopse-detaljen: faner i stedet for stablede kolonner — men KUN på synopse-siden
     (#synCols). Historiens gang (#kpCols) stabler, og beholder kortkrommet: der er begge
     spaltene synlige samtidig, så rammen er det eneste som skiller Samuel/Kongene fra
     Krønikene. I fane-modus finnes det ingen nabo å skille seg fra. */
  .syn-cols{flex-direction:column}
  /* flex-basis måles langs HOVEDAKSEN, og den er loddrett her — så basisen fra desktop
     ville blitt en HØYDE på 20 × lesestørrelsen. Sammen med overflow:hidden på .syn-col
     klipper det bibelteksten stumt: ingen rullefelt, ingen antydning om at noe mangler
     (målt: 288 px tapt ved 17 px, 1238 px ved 30 px). Basis auto = kortet blir så høyt
     som teksten trenger. max-width:none fordi bredden nå er tverraksen, ikke hovedaksen. */
  .syn-col{flex:0 0 auto;max-width:none}
  #synCols{display:block}
  /* fane-modus viser ÉN spalte — kortkrommet rundt den er tapt lesebredde */
  #synCols .syn-col{border:0;background:transparent;border-radius:0}
  #synCols .syn-col-b{padding:10px 0}
  #synCols .syn-col-h{padding-left:0;padding-right:0}
  #synCols .syn-col{display:none}
  #synCols .syn-col.on{display:block}
  .syn-fchips{display:flex}
}
.restab{background:transparent;border:0;color:var(--accent);font-weight:600;font-size:13px;padding:6px 0;cursor:pointer}
/* bildegalleri (brukes når lagring er valgt) */
.resgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.restile{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;cursor:pointer}
.restile{margin:0}
.restile img{width:100%;height:150px;object-fit:cover;display:block;background:var(--bg)}
.restile .cap{padding:9px 11px;font-size:13px}
.restile .tile-cap{padding:7px 9px;font-size:12px;line-height:1.3;color:var(--text-soft);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.db-src{margin:16px 2px 0;font-size:12px;color:var(--text-faint)}

/* ressurs-lightbox */
.lightbox-card{background:var(--surface);border:1px solid var(--border-strong);border-radius:14px;
  max-width:min(1100px,94vw);max-height:92vh;display:flex;flex-direction:column;overflow:hidden}
.lightbox-body{overflow:auto;padding:10px;display:flex;justify-content:center;align-items:flex-start;background:var(--bg)}
.lightbox-body img{max-width:100%;height:auto;border-radius:6px}
.lightbox-cap{padding:10px 14px;font-size:13.5px;line-height:1.5;border-top:1px solid var(--border);
  display:flex;flex-direction:column;gap:3px}
.lightbox-cap .lb-reflbl{color:var(--text-faint);font-size:12px;margin-right:4px}
.lightbox-cap .lb-src{color:var(--text-faint);font-size:12px;white-space:nowrap;align-self:flex-end}

/* eksport */
.export-wrap{display:grid;grid-template-columns:340px 1fr;gap:14px;align-items:start}
/* Mobil: forhåndsvisningen LEVER I ARKET (.ex-sheet) — kortet under skjules helt. Å la det
   stå ga to feil på iPhone: et 62vh «tomt» kort midt i siden, og (verre) et kompositt-lag
   som kunne bli hengende og male innholdet sitt over skjemaet. Sticky-en fjernes også:
   å klistre et 2800 px høyt kontrollkort i én kolonne gjør ingen nytte, og WebKit har
   historisk regnet sticky-rammen i grid annerledes enn Blink — lag-rotet Kjetil så
   (2026-08) hadde nettopp denne siden som åsted. */
@media (max-width:820px){.export-wrap{grid-template-columns:1fr}.export-preview{display:none}}
/* STICKY OG INDRE SCROLL ER OPT-IN, ikke opt-out. Første forsøk la «position:static» i
   mobil-blokken OVER — den var død ved fødselen: grunnregelen sto senere i kildeorden og
   vant med lik spesifisitet (samme felle drepte 880-blokkens gamle static/visible-par, som
   aldri har virket). En media-query gir INGEN kaskade-prioritet. Derfor bor sticky og
   82vh-scrollen nå INNE i vilkåret der de skal gjelde — det kan ikke tape kaskaden. */
@media (min-width:881px) and (min-height:541px){
  .export-controls{position:sticky;top:0}
  .export-preview .doc{min-height:62vh;max-height:82vh;overflow:auto}
}
.exrow{display:flex;gap:10px}
.exfield{flex:1;display:flex;flex-direction:column;gap:6px;margin-bottom:12px;font-size:13px;color:var(--muted)}
.exfield select{padding:9px 10px;border:1px solid var(--border-strong);border-radius:9px;background:var(--bg);color:var(--text);font-size:14px}
/* Dokumentet er BRØDTEKST og følger leserens størrelse — samme invariant som resten av
   appen (lesestørrelse-runden). Regelen deles av skjerm-forhåndsvisningen OG mobil-arket;
   uten .ex-sheet-body-delen sto arket i UI-font mens kortet sto i lesefont. */
.export-preview .doc,.ex-sheet-body.doc{font-family:var(--reading);font-size:var(--read-size);line-height:1.6}
.export-preview .doc{padding:4px 2px}
/* Puls er forbeholdt LASTING (samme regel som .aiKort): hvile-plakaten «Velg innhold …»
   og feilmeldinger skal stå i ro. «Genererer …» får pulsen tilbake via .aiPuls. */
.doc .empty:not(.aiPuls){animation:none}
/* mobil: fullskjerm-ark for eksport-forhåndsvisning (ingen scrolling/rotering) */
.ex-sheet{position:fixed;inset:0;z-index:200;background:var(--bg);display:flex;flex-direction:column}
.ex-sheet[hidden]{display:none}
.ex-sheet-head{display:flex;align-items:center;gap:10px;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;border-bottom:1px solid var(--border);background:var(--surface)}
.ex-sheet-title{font-family:var(--reading);font-weight:700;font-size:17px}
/* INGEN -webkit-overflow-scrolling:touch her: momentum-rulling er standard på moderne
   iOS, og egenskapen tvinger fram et eget kompositt-lag som kunne bli stående og male
   ark-innholdet over siden ETTER lukking (Kjetils skjermbilde 3, 2026-08). */
.ex-sheet-body{flex:1;overflow:auto;padding:16px 18px}
.ex-sheet-foot{display:flex;gap:8px;flex-wrap:wrap;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface)}
.ex-sheet-foot .btn{flex:1 1 calc(50% - 6px)}
@media(min-width:821px){.ex-sheet,.ex-sheet[hidden]{display:none!important}}
/* Overskriftene skalerer MED brødteksten (1.3× / 1.06× = 22 og 18 px ved standard 17):
   faste px her inverterte hierarkiet — ved lesestørrelse 22 sto verset i 22 px under en
   18 px kapittel-overskrift. «.doc .doc-title» er nødvendig, ikke pynt: tittelen er en
   h1 inne i .page, og .page h1 (26 px, 0-1-1) slo den gamle .doc-title (0-1-0) — 22-
   pikselen som sto her har aldri virket. To klasser (0-2-0) vinner. */
.doc .doc-title{font-size:calc(var(--read-size) * 1.3);margin:0 0 2px}
.doc-meta{color:var(--muted);font-size:12px;font-family:var(--ui);margin-bottom:18px;border-bottom:1px solid var(--border);padding-bottom:10px}
.doc-v{display:flex;gap:10px;margin:0 0 12px}
.doc-n{color:var(--accent);font-weight:700;font-family:var(--ui);min-width:22px;text-align:right}
.doc-vbody{flex:1;min-width:0}
.doc-t{margin:0 0 4px}
.doc-vg{position:relative;padding-left:30px;margin-top:10px}
.doc .doc-ch + .doc-vg{margin-top:0}
.doc-vn{position:absolute;left:0;top:1px;color:var(--accent);font-family:var(--ui);font-weight:700;font-size:.72em}
.doc-main{margin:0 0 3px}
.doc-par{margin:5px 0 0;padding-left:12px;border-left:2px solid var(--border);color:var(--muted);font-size:var(--read-sm);line-height:1.5}
.doc-parlbl{font-family:var(--ui);font-size:.72em;font-weight:700;letter-spacing:.03em;color:var(--muted);text-transform:uppercase;margin-right:3px}
/* Kommentarer og notater: ETT nivå under hovedverset (--read-sm), uansett verk. Uten
   inherit-vaktene under vant Dakes egne klasser (.dake-note = --read-size, fra kommentar-
   panelet) over denne regelen — Dake sto i 17 px lesefont mens Living sto i 13,5 px, i
   samme dokument (Kjetils funn 2026-08). */
.doc-c,.doc-note{font-size:var(--read-sm);margin:6px 0;padding:8px 12px;border-left:3px solid var(--border);background:var(--bg);border-radius:0 8px 8px 0}
.doc-c .dake-note{font-size:inherit;line-height:inherit}
.doc-note{border-left-color:var(--note)}
.doc-c h3,.doc-c h4,.doc-note h4,.doc-c h5{font-family:var(--ui);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 5px}
.doc-c a{color:var(--accent);text-decoration:none}
.doc-cc{margin-top:14px}

.cm-part{font-family:var(--reading);font-size:1.05em;font-weight:700;margin:0 0 10px;color:var(--text)}
/* interlineær */
/* Norsk lese-linje: verseteksten i valgt hovedbibel over rutenettet */
.il-versetext{font-family:var(--reading);font-size:1.05em;line-height:1.6;color:var(--text);margin:0 0 12px;padding:0 0 12px;border-bottom:1px solid var(--border)}
.il-versetext:empty{display:none}
.il-vt-tag{font-family:var(--ui);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);vertical-align:2px;margin-right:6px}
/* Ordstudie-leser — «Lese»: flytende, tall sentrert over ordet (lett utheving) */
.il-read{font-family:var(--reading)}
.il-read .il-text{margin:0;font-size:1.15em;line-height:2.4}
.il-tok{display:inline-block;text-align:center;vertical-align:bottom;margin:0 3px;cursor:pointer}
.il-tok .il-num{display:block;font-size:.5em;font-weight:700;color:var(--accent);line-height:1.4}
.il-tok .il-w{display:block;color:var(--text)}
.il-tok:hover .il-w,.il-tok.sel .il-w{color:var(--accent)}
.il-tok:hover .il-num,.il-tok.sel .il-num{text-decoration:underline}
.il-tok.il-empty .il-w{color:var(--faint)}
/* Interlineær: piler ved overskrift, bok/kap/vers-velgere, gresk grunntekst */
.il-arrows{display:inline-flex;align-items:center;gap:4px;margin-left:10px}
.il-arrows button{display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;border:1px solid var(--border);color:var(--muted);font-size:16px;line-height:1;width:30px;height:30px;border-radius:7px;cursor:pointer}
.il-arrows button:hover{border-color:var(--accent);color:var(--accent)}
@media (max-width:640px){.il-arrows button{width:44px;height:44px;font-size:18px}}  /* WCAG: ≥44px touch-mål på telefon */
.il-navsel{display:flex;gap:8px;margin:0 0 12px;flex-wrap:wrap}
.il-navsel .sel{min-width:0}
.il-navsel #ilBook{flex:1 1 150px;max-width:220px}
.il-srcsel{font-weight:700;border-color:var(--accent);color:var(--accent)}
/* «Om denne teksten»: info-knapp + popover-boks under kilde-velgeren */
.il-info-btn{flex:0 0 auto;width:28px;height:28px;border-radius:50%;border:1px solid var(--border-strong);background:var(--surface);color:var(--muted);font-style:italic;font-family:Georgia,serif;font-weight:700;cursor:pointer;line-height:1}
.il-info-btn:hover{border-color:var(--accent);color:var(--accent)}
.il-dom-info{width:20px;height:20px;font-size:11px;margin-left:5px}
.il-domrow{display:flex;justify-content:flex-end;align-items:center;margin:0 0 6px}
.il-domrow .il-bare{color:var(--dom-accent)}
.il-srcnow{display:flex;align-items:center;gap:6px;margin:-6px 0 12px;font-family:var(--ui);font-size:12.5px;color:var(--muted)}
.il-srcnow b{color:var(--accent);font-weight:700}
.il-srcnow .il-srcnow-ic{opacity:.75;font-size:1.05em}
.il-info{margin:0 0 12px;padding:11px 13px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:8px;background:var(--rail);font-size:var(--read-sm)}
.il-info-h{font-weight:700;color:var(--accent);margin-bottom:5px;font-family:var(--ui)}
.il-info-row{line-height:1.5;color:var(--text);margin:2px 0}
.il-info-row b{color:var(--muted);font-weight:600}
.il-bare{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);cursor:pointer;white-space:nowrap}
.il-bare input{cursor:pointer}
/* «Interlineær»: grunntekst + translitterasjon, engelsk som hovedstjerne */
.il-inter .il-grid{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:flex-start}
/* Hebraisk (WLC): høyre-til-venstre ordflyt + større hebraisk skrift med vokaler/aksenter */
.il-grid.il-rtl{direction:rtl}
.il-grid.il-rtl .il-cell .il-orig{font-family:"SBL Hebrew","Times New Roman",var(--reading);font-size:22px;color:var(--text);direction:rtl}
.il-grid.il-rtl .il-cell .il-tr,.il-grid.il-rtl .il-cell .il-no,.il-grid.il-rtl .il-cell .il-parse{direction:ltr}
.il-grid.il-rtl .il-cell{max-width:170px}                 /* hindre at en lang glose sprenger cellen */
.il-grid.il-rtl .il-cell .il-no{max-width:160px;font-weight:600;font-size:13px}
.il-cell{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:46px;padding:5px 4px;border-radius:8px;cursor:pointer}
.il-cell:hover,.il-cell.sel{background:var(--accent-soft)}
.il-cell:focus-visible,.il-tok:focus-visible{outline:2px solid var(--accent);outline-offset:1px;background:var(--accent-soft)}
/* Synlig tastatur-fokus i dialoger (batch 2 a11y) */
.modal-card :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
/* A11y batch 3: synlig tastatur-fokus på ALLE interaktive kontroller (mus-klikk viser ingen ring pga :focus-visible) */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,
summary:focus-visible,[tabindex]:focus-visible,[role="button"]:focus-visible,[contenteditable]:focus-visible{
  outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
/* Lokale kontrast-fikser (feiltekst + varselchips var for lyse mot tonet bakgrunn) */
.login-error{color:#a3160b}
.miss,.miss.req{color:#8a4b00}
/* Dialog-kortet fokuseres programmatisk ved åpning → ingen ring rundt selve kortet (kontrollene inni beholder ringen) */
.modal-card:focus,.modal-card:focus-visible{outline:none}
/* Hindre dobbelt-trykk-zoom på knapper/piler på mobil — pinch-zoom beholdes */
button,[role="button"],.pgo,a.btn,summary{touch-action:manipulation}
.il-cell .il-num{font-size:11px;font-weight:700;color:var(--accent)}
.il-cell .il-tr{font-size:11px;font-style:italic;color:var(--muted)}
.il-cell .il-orig{font-family:var(--reading);font-size:15px;color:var(--muted);line-height:1.3}
.il-cell .il-en{font-size:16.5px;font-weight:700;color:var(--text);margin-top:2px}
.il-cell .il-no{font-size:15px;font-weight:700;color:var(--text);margin-top:2px;min-height:1.2em}
.il-cell .il-parse{font-size:10.5px;font-style:italic;color:var(--faint);line-height:1.3;margin-top:2px;max-width:130px;border-bottom:1px dotted var(--border-strong);cursor:help}
.il-cell .il-parse:hover{color:var(--muted)}
.il-cell.il-empty .il-en{color:var(--faint)}
#ilPrev,#ilNext{font-size:26px;padding:2px 14px;border-radius:8px;color:var(--accent)}
#ilPrev:hover,#ilNext:hover{background:var(--accent-soft)}

/* tydeligere vers-velger */
.navcrumb{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-bottom:8px;font-family:var(--reading);font-size:15px}
.navcrumb button{background:transparent;border:0;color:var(--muted);font:inherit;cursor:pointer;padding:2px 7px;border-radius:6px}
.navcrumb button:hover{background:var(--bg);color:var(--text)}
.navcrumb button.on{color:var(--accent);font-weight:700}
.navcrumb .sep{color:var(--faint)}
.navcrumb .cur{color:var(--faint);font-size:13px;font-family:var(--ui)}
.navsearch{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--border);
  border-radius:8px;padding:8px 11px;margin-bottom:8px;color:var(--muted)}
.navsearch input{border:0;background:transparent;outline:0;width:100%;color:var(--text);font-size:14px}
.navsearch .icon{width:17px;height:17px}
.navgrid.nums{grid-template-columns:repeat(auto-fill,minmax(48px,1fr))}
.navgrid.nums button{padding:12px 7px;font-size:15px}
.navgrid.books button{padding:12px 10px;font-size:14.5px}
/* «Nylig» — snarveier tilbake til sist studerte steder (piller, skiller seg fra rutenettet under) */
.navrecent{flex:none;margin-bottom:8px}
.navrec-h{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;font-weight:700;
  letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:2px 4px 6px}
.navrec-h button{background:transparent;border:0;color:var(--muted);font:inherit;letter-spacing:inherit;
  cursor:pointer;padding:2px 6px;border-radius:6px}
.navrec-h button:hover{background:var(--bg);color:var(--text)}
.navrec-row{display:flex;flex-wrap:wrap;gap:6px}
.navrec-row button{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:6px 12px;
  font-family:var(--reading);font-size:13.5px;color:var(--text);cursor:pointer;white-space:nowrap;font-variant-numeric:tabular-nums}
.navrec-row button:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-soft)}

/* oppslagsverk-visning (Easton o.l.) */
.dict-term{display:inline-block;background:var(--surface);border:1px solid var(--border);border-radius:8px;
  padding:7px 12px;margin:0 6px 6px 0;font-size:14px;color:var(--text);cursor:pointer;font-family:var(--reading)}
.dict-term:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-soft)}
.letters a.on,.letters button.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.defn{font-family:var(--reading);line-height:1.6}
.defn p{margin:0 0 .7em}

/* bilde-popup (Studie-panel «Relevante bilder») */
.img-pop{margin:0}
.img-pop img{display:block;max-width:100%;height:auto;border-radius:8px;background:var(--bg)}
.img-pop figcaption{margin-top:8px;font-size:13.5px;line-height:1.5;color:var(--text)}
.img-pop-refs{margin-top:8px;font-size:13px;line-height:1.6}

/* ressurs-detaljer (personer/steder/temaer) */
.ref-list{font-family:var(--reading)}
.ref-list .cref{display:inline;padding:0}
.ref-grp{margin:0 0 5px;line-height:1.9}
.ref-bk{font-weight:700;color:var(--text);margin-right:7px}
.ent-rel{margin:12px 0;font-size:14px;line-height:1.85}
.ent-rel b{font-family:var(--ui);font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.ent-h{font-family:var(--ui);font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:16px 0 6px}
.rel-tree{margin:0 0 12px}
.rel-row{font-family:var(--reading);font-size:var(--read-sm);line-height:1.9;margin:2px 0}
.rel-lbl{font-family:var(--ui);font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-right:4px}
.rel-name{color:var(--muted)}
.ent-link{display:inline-block;background:var(--accent-soft);color:var(--accent);border:0;border-radius:14px;padding:2px 10px;margin:0 5px 5px 0;font:inherit;font-size:.92em;line-height:1.5;cursor:pointer}
.ent-link:hover{background:var(--accent);color:#fff}
.ent-rel div{margin:6px 0}
.ent-rel b{display:inline-block;min-width:84px;color:var(--muted);font-weight:600;font-size:.9em}
/* Leaflet-minikart på steds-kort (erstatter det gamle OSM-innbygget .map-embed): satellitt std + lag-velger */
.place-map{height:200px;margin:0 0 12px;border:1px solid var(--border);border-radius:10px;overflow:hidden;z-index:0}
.reschips + .place-map{margin-top:10px}   /* luft mellom sted-brikken og kartet i ressurs-gruppa (sak #39) */
.ev-chips + .place-map{margin-top:12px}   /* samme luft i person-kortets sted-brikker → minikart */
/* Ressurser: seksjoner med diskré overskrift + innebygd video (16:9) */
.res-section{margin:0 0 26px}
.res-section:last-child{margin-bottom:0}
.res-section-h{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;padding-bottom:7px;border-bottom:1px solid var(--border)}
.video-embed{width:100%;max-width:820px;aspect-ratio:16/9;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#000;margin:0 0 16px}
.video-embed iframe{display:block;width:100%;height:100%;border:0}
/* Videoandakt-kort: 16:9-miniatyr med play-overlegg */
.ytcard{cursor:pointer}
.yt-thumb{position:relative;line-height:0}
.yt-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff;background:rgba(0,0,0,.15);transition:background .15s;line-height:1}
.ytcard:hover .yt-play{background:rgba(0,0,0,.4)}
.ytcard .tile-cap{color:var(--text);font-weight:800;font-size:14px;line-height:1.3;padding:8px 9px 6px}
.yt-refs{display:flex;flex-wrap:wrap;gap:5px;padding:0 9px 10px;cursor:default}
.yt-refs .reflink{font-size:11px;font-weight:600;background:var(--accent-soft);color:var(--accent);padding:2px 8px;border-radius:20px;text-decoration:none;white-space:nowrap}
.yt-refs .reflink:hover{filter:brightness(.96)}
.yt-refs .reflink{font-size:12px;font-weight:700;padding:3px 10px;border:1px solid color-mix(in srgb, var(--accent) 30%, transparent)}
/* Egen video-spiller (lightbox, kun play/pause + søk) */
.vplayer-ov{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.86);display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}
.vplayer{width:min(920px,100%);background:#000;border-radius:14px;overflow:hidden;position:relative;box-shadow:0 24px 70px rgba(0,0,0,.55)}
.vplayer-x{position:absolute;top:8px;right:8px;z-index:3;width:36px;height:36px;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:15px;cursor:pointer}
.vplayer-stage{position:relative;aspect-ratio:16/9;background:#000}
/* Stående videoer (Shorts): 9:16-scene, bredde styrt av høyden → ingen svarte sidefelt */
/* Stående (Shorts): reserver plass til kontroll-linje + tittel/refs UNDER videoen, så scrubberen
   aldri havner utenfor skjermen på lave vinduer (Ray #9) — 210px ≈ bar + meta + overlay-padding */
.vplayer.portrait{width:min(94vw,calc((100vh - 210px) * 9 / 16))}
.vplayer.portrait .vplayer-stage{aspect-ratio:9/16}
.vplayer-stage>div,.vplayer-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vplayer-tap{position:absolute;inset:0;background:transparent;border:0;cursor:pointer}
.vplayer-bar{display:flex;align-items:center;gap:10px;padding:9px 14px;background:#111;color:#fff}
.vplayer-pp,.vplayer-fs{background:transparent;border:0;color:#fff;font-size:15px;cursor:pointer;flex:none;width:30px;height:30px;border-radius:6px}
.vplayer-pp:hover,.vplayer-fs:hover{background:rgba(255,255,255,.12)}
.vplayer-t{font-size:12px;color:#bbb;flex:none;font-variant-numeric:tabular-nums;min-width:34px;text-align:center}
.vplayer-seek{flex:1;min-width:60px;accent-color:var(--accent);cursor:pointer;height:4px}
.vplayer-bar button svg{width:17px;height:17px;display:block;margin:auto}
.vplayer-yt{flex:none;display:grid;place-items:center;width:32px;height:22px;border-radius:6px;background:#f00;color:#fff;text-decoration:none}
.vplayer-yt svg{width:12px;height:12px;display:block}
.vplayer-yt:hover{background:#c00}
.vplayer-meta{padding:10px 14px;background:#111;border-top:1px solid #222}
.vplayer-title{color:#fff;font-size:16px;font-weight:800;line-height:1.3}
.vplayer-refs{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.vplayer-refs .reflink{font-size:12.5px;font-weight:700;background:rgba(63,185,170,.2);color:#7fe0d0;border:1px solid rgba(63,185,170,.55);padding:3px 11px;border-radius:20px;text-decoration:none;white-space:nowrap}
.vplayer-refs .reflink:hover{background:rgba(63,185,170,.34)}
.vplayer-nav{background:transparent;border:0;color:#fff;font-size:15px;cursor:pointer;flex:none;width:30px;height:30px;border-radius:6px;opacity:.85}
.vplayer-nav:hover{background:rgba(255,255,255,.12);opacity:1}
/* YouTube-videokort i notater/bidrag */
.notevid{display:block;width:min(360px,100%);margin:10px 0;cursor:pointer;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface)}
.notevid-thumb{position:relative;aspect-ratio:16/9;background:#000}
.notevid-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.notevid:hover .yt-play{background:rgba(0,0,0,.4)}
.notevid-t{padding:8px 11px;font-size:13px;line-height:1.35;color:var(--text)}
/* «Relatert Videoandakt» i studie-panelet: kompakt rad (miniatyr + tittel) */
.resvid-grp .resvids{display:flex;flex-direction:column;gap:8px}
.resvid{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:6px;cursor:pointer}
.resvid:hover{border-color:var(--accent);background:var(--accent-soft)}
.resvid-thumb{position:relative;flex:none;width:74px;aspect-ratio:16/9;border-radius:6px;overflow:hidden;background:#000}
.resvid-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.resvid-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;background:rgba(0,0,0,.22)}
.resvid-t{font-size:13px;font-weight:600;line-height:1.3;color:var(--text)}
/* Ressurs-visnings-toggle (Tidslinje/Kart ↔ Liste) — segmentert kontroll */
.ent-viewtoggle{display:inline-flex;margin:0 0 16px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:3px}
.ent-viewtoggle .restab{border:0;background:transparent;color:var(--muted);padding:6px 18px;border-radius:7px;font-weight:600;font-size:13px;cursor:pointer;transition:background .12s,color .12s}
.ent-viewtoggle .restab:hover{color:var(--text)}
.ent-viewtoggle .restab.on{background:var(--accent);color:#fff}
/* Visuell tidslinje (Hendelser): era-bånd + varighets-bar */
.ev-era{margin-bottom:20px}
.ev-rows{display:flex;flex-direction:column;max-width:920px}
.ev-row{display:grid;grid-template-columns:82px 1fr 84px;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--border);padding:8px 4px;cursor:pointer;font:inherit}
/* Strøm-raden (Hendelser): året står i overskriften over, så ingen årkolonne — og ingen
   kantlinje: 450 hårstreker leser som et regneark, ikke som en kronologi. Luft skiller. */
.ev-row.flow{grid-template-columns:1fr auto;border-bottom:0;padding:5px 6px 5px 4px;border-radius:7px}
.ev-row.flow .ev-title{font-family:var(--reading);font-size:15.5px;line-height:1.45}
.ev-row:hover{background:var(--accent-soft)}
.ev-year{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.ev-title{font-size:14px;color:var(--text);line-height:1.3}
.ev-dur{font-size:11.5px;color:var(--muted);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
/* Rik oppslags-rad (Personer/Steder/Folkeslag/UBS/Emner): navn + info RETT ETTER navnet (venstrestilt —
   kort øye-avstand på brede skjermer; info-kolonnen lå før helt til høyre). Lista bredde-begrenses av samme grunn. */
.res-rows{display:flex;flex-direction:column;max-width:920px}
.res-row{display:grid;grid-template-columns:fit-content(60%) minmax(0,1fr) 14px;align-items:baseline;gap:12px;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--border);padding:9px 4px;cursor:pointer;font:inherit}
.res-row:hover{background:var(--accent-soft)}
.res-row:hover .res-row-more{color:var(--accent)}
.res-row-n{font-size:14.5px;color:var(--text);font-weight:600;line-height:1.35;min-width:0}
.res-row-i{font-size:12px;color:var(--muted);text-align:left;line-height:1.35;min-width:0;display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;flex-wrap:wrap}
.res-row-mean{font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:42vw}
.res-row-more{color:var(--border);font-size:16px;line-height:1;align-self:center}
/* Hendelser → Epoker: sammentrekkbare era-bånd (<details>) + Åpne/Lukk alle */
.ev-era-ctl{display:flex;gap:8px;margin:0 0 12px;max-width:920px}
.ev-era-d{border-bottom:1px solid var(--border);max-width:920px}
.ev-era-sum{cursor:pointer;list-style:none;font-family:var(--reading);font-size:16px;font-weight:600;color:var(--text);padding:9px 4px;display:flex;align-items:center;gap:8px}
.ev-era-sum::-webkit-details-marker{display:none}
.ev-era-sum::before{content:'▸';color:var(--muted);font-size:11px;transition:transform .15s}
.ev-era-d[open]>.ev-era-sum::before{transform:rotate(90deg)}
.ev-era-sum .gloss{font-family:var(--ui);font-weight:400;font-size:12.5px}
.ev-era-d .ev-rows{padding-bottom:6px}
/* Tidslinje-oppgradering (mockup 2026-07-17): epokefarget dott i overskriften, vertikal
   tidslinje-strek med dotter per hendelse, epoke-chips (hurtignav) og ref/person/sted-chips */
.ev-era-dot{width:11px;height:11px;border-radius:50%;flex:none}
/* Oversiktsstripen (Hendelser): hele tidsrommet på 44 px, ekte lineær. Sticky, så den er
   der uansett hvor langt man har rullet — den er svaret på «hvor er jeg», ikke pynt.
   Trykkbar, aldri dragbar: to gester ville slåss om samme finger på mobil. */
.ev-stripe{position:sticky;top:0;z-index:5;background:var(--surface);border:1px solid var(--border);border-radius:11px;padding:9px 11px 5px;margin:0 0 14px;max-width:920px}
.ev-stripe svg{display:block;width:100%;height:34px;color:var(--text);cursor:pointer}
/* Tikk-etikettene ligger UTENFOR SVG-en: der ble de strukket ulikt i X og Y av
   preserveAspectRatio="none", og på mobil sto «4000» som sammenklemte streker.
   Som HTML har de ekte font-size og kan forankres mot kanten. */
.ev-stripe-tikk{position:relative;height:14px;margin-top:1px;font-size:10.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.ev-stripe-tikk span{position:absolute;top:0;white-space:nowrap}
.ev-stripe-win{fill:var(--text);fill-opacity:.09;stroke:var(--text);stroke-opacity:.3;stroke-width:1.5;vector-effect:non-scaling-stroke;transition:x .12s linear,width .12s linear;pointer-events:none}
.ev-stripe-nu{display:flex;align-items:baseline;gap:8px;padding:7px 2px 0;font-size:12.5px;min-height:19px}
.ev-stripe-nu b{font-weight:500}
.ev-stripe-nu .dot{width:8px;height:8px;border-radius:50%;flex:none;align-self:center}
.ev-stripe-nu .sep{color:var(--faint)}
.ev-stripe-nu .n{margin-left:auto;color:var(--muted);font-size:11.5px;white-space:nowrap}
@media (max-width:560px){ .ev-stripe{padding:8px 9px 5px;border-radius:9px} .ev-stripe svg{height:38px} .ev-stripe-tikk{font-size:11px;height:15px} .ev-stripe-nu{font-size:12.5px} .ev-stripe-nu .sep,.ev-stripe-nu span:not(.dot):not(.n){display:none} .ev-stripe-nu b{display:inline} }
@media (prefers-reduced-motion:reduce){ .ev-stripe-win{transition:none} }
.ev-era-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;max-width:920px}
.ev-era-chip{display:inline-flex;align-items:center;gap:7px;background:var(--surface);border:1px solid var(--border-strong);border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer}
.ev-era-chip:hover{border-color:currentColor}
.ev-era-chip .dot{width:9px;height:9px;border-radius:50%;flex:none}
.ev-era-d .ev-rows{position:relative;padding-left:16px}
/* Skinnen: samme geometri som før (left:4px treffer prikkene på .ev-item::before), men
   nå i epokens egen farge, sterkt dempet — da leser båndet som ÉN tråd, ikke som en
   nøytral strek med fargede prikker på. */
.ev-era-d .ev-rows::before{content:"";position:absolute;left:4px;top:8px;bottom:10px;width:2px;background:var(--era-c,var(--chrome-line));opacity:.3;border-radius:2px}
/* Skinnen blir stående per epokebånd — der den ER korrekt justert mot prikkene. Et forsøk
   på én ubrutt skinne på .ev-flow bommet 17 px på prikkene OG skar tvers gjennom
   epoke-prikken i hver overskrift. Epokefargen gjør uansett tråden lesbar som én. */
.ev-flow{position:relative;max-width:920px}
/* Årstallet: stort og stille, og BARE når det skifter. 450 gjentatte tall blir 191 milepæler. */
.ev-yr{display:flex;align-items:baseline;gap:10px;margin:20px 0 2px;font-family:var(--reading);font-size:23px;color:var(--text);font-variant-numeric:tabular-nums}
/* Synopse-gruppen skiller seg ut i et tett panel: egen aksentramme og svak bunn, så den
   leses som ETT element og ikke som fire løse deler. Sammenleggbar med husket tilstand,
   men ÅPEN som standard — «hvor er jeg» er det man vil se, i motsetning til «Dette
   kapitlet», som er et oppslagsverk man åpner ved behov. */
.syn-grp{border:1px solid var(--accent);border-left-width:3px;border-radius:0 11px 11px 0;
  background:color-mix(in srgb,var(--accent) 4%,transparent);padding:0;margin:0 0 14px;overflow:hidden}
.syn-grp-sum{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;
  font-family:var(--ui);font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  color:var(--accent);padding:9px 12px}
.syn-grp-sum::-webkit-details-marker{display:none}
.syn-grp-sum::before{content:"▾";font-size:9px;transition:transform .15s;opacity:.8}
.syn-grp:not([open])>.syn-grp-sum::before{transform:rotate(-90deg)}
.syn-grp-nr{margin-left:auto;font-family:var(--reading);font-size:12.5px;font-weight:600;
  letter-spacing:0;text-transform:none;color:var(--faint)}
.syn-grp-body{padding:0 12px 11px}
.syn-grp-h{font-family:var(--reading);font-size:15.5px;line-height:1.3;margin:0 0 3px}
.syn-grp-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px}
/* «Samtidig i Israel: Jeroboam → Akab (7 konger)» og «Samtidig forkynte: Elia · Elisja».
   Vi kjenner spennet, ikke punktet — derfor pil, ikke ett navn. */
.kron-sim{font-size:12px;color:var(--muted);line-height:1.5;margin:0 0 2px}
.kron-sim b{font-weight:500;color:var(--text)}
.syn-grp-foot a{font-size:11px;color:var(--accent);text-decoration:none;white-space:nowrap}
.syn-grp-foot .synprev{width:auto;text-align:left;padding:0;margin:0;flex:1;overflow:hidden;
  white-space:nowrap;text-overflow:ellipsis}
/* lukket: bare hodet, men hendelsesnavnet følger med som forhåndsvisning */
.syn-grp:not([open])>.syn-grp-sum{padding-bottom:9px}

/* Synopse-gruppen i ressurs-panelet: Neste-knappen bærer alltid målreferansen — hoppet
   kan gå bakover i boka eller til et annet evangelium, og det skal ses FØR trykket. */
.synnext{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;background:var(--accent-soft);border:1px solid var(--accent);border-radius:10px;padding:8px 12px;font:inherit;font-size:12.5px;color:var(--text);cursor:pointer;text-align:left;min-height:40px}
.synnext b{font-weight:500}
.synnext .ref{color:var(--accent);font-size:11.5px;white-space:nowrap;flex:none}
.synnext:hover{border-color:var(--accent);filter:brightness(1.03)}
.synprev{display:block;width:100%;background:transparent;border:0;padding:6px 4px 2px;font:inherit;font-size:11.5px;color:var(--muted);cursor:pointer;text-align:center}
.synprev:hover{color:var(--text)}
/* De to regnemåtene (Abraham 2008/1948): gull = Ussher, blå = Seder Olam. Samme farger i
   gaffelgrafikken på kortet og i tolinjes-årsoverskriften i strømmen. */
.ev-yr,.ev-graf{--am-ussher:#b8860b;--am-jode:#2f6f9e}
@media (prefers-color-scheme:dark){ .ev-yr,.ev-graf{--am-ussher:#d4a83a;--am-jode:#5b9bd0} }
.ev-graf{overflow-x:auto;margin:12px 0 4px;color:var(--text)}
.ev-graf svg{width:100%;min-width:640px;height:auto;display:block}
.ev-am2{display:flex;flex-direction:column;gap:1px;font-size:11.5px;line-height:1.5;color:var(--muted);font-variant-numeric:tabular-nums}
.ev-am2 span{display:flex;align-items:center;gap:6px}
.ev-am2 b{font-weight:500;color:var(--faint)}
.ev-am2 .d{width:7px;height:7px;border-radius:50%;flex:none}
.ev-am2 .du{background:var(--am-ussher)}
.ev-am2 .dj{background:var(--am-jode)}
@media (max-width:400px){ .ev-am2{display:none} }
/* Kronologi-merknad på hendelseskortet (events.json «merk») — f.eks. de to regnemåtene
   for Abrahams fødselsår (Ussher 2008 / Seder Olam 1948). Dempet og med aksentkant:
   det er en fagnote, ikke en del av fortellingen. linkifyRefs gjør skriftstedene klikkbare. */
.ev-merknote{margin:10px 0 4px;padding:9px 13px;border-left:3px solid var(--accent);background:var(--accent-soft,rgba(15,138,126,.06));border-radius:0 9px 9px 0;font-size:13.5px;line-height:1.6;color:var(--muted)}
/* «år etter Adam» og hendelsestallet står som dempede biroller ved siden av årstallet.
   Anno Mundi er en ANNEN lesning av samme punkt, ikke et konkurrerende årstall — derfor
   liten, grå og uten egen linje. Skjules under 400 px, der årstallet trenger plassen. */
.ev-yr em{font-family:var(--ui);font-style:normal;font-size:11.5px;color:var(--muted);letter-spacing:.02em}
.ev-yr .ev-am{color:var(--faint)}
.ev-yr .ev-ant{margin-left:auto;padding-left:10px}
@media (max-width:400px){ .ev-yr .ev-am{display:none} }
/* Stillheten mellom to årstall — de 341 tause årene som et BILDE, ikke som et hull.
   Størrelsen skalerer med spranget (log-aktig), fargen er epokens egen, sterkt dempet. */
/* Stillheten mellom to årstall. Et STORT tall alene ble lest som et årstall — det sto
   større enn «6 f.Kr.» rett under, og øyet tar det største tallet for å være året.
   Nå bærer GRAFIKKEN stillheten: skinnen går fra heltrukket til stiplet gjennom gapet,
   og tallet står i en setning som ikke kan forveksles med en datering. */
.ev-gap{display:flex;align-items:baseline;gap:7px;margin:13px 0 11px;padding:9px 0 9px 0;position:relative}
.ev-gap::before{content:"";position:absolute;left:-12px;top:0;bottom:0;width:2px;background:repeating-linear-gradient(180deg,var(--era-c,var(--muted)) 0 3px,transparent 3px 8px);opacity:.5}
.ev-gap-n{font-family:var(--reading);font-size:var(--gsz,30px);color:var(--era-c,var(--muted));opacity:.55;letter-spacing:-.01em;line-height:1}
.ev-gap-u{font-size:12px;color:var(--muted);letter-spacing:.01em}
@media (prefers-color-scheme:dark){ .ev-gap-n{opacity:.8;filter:brightness(1.6) saturate(.9)} .ev-gap::before{opacity:.65} }
@media (max-width:560px){ .ev-gap-u{font-size:11px} }
.ev-item{position:relative}
/* dotter kun i epoke-visningen (flat søkeliste har ingen strek å feste dem på) */
.ev-era-d .ev-item::before{content:"";position:absolute;left:-16.5px;top:12px;width:9px;height:9px;border-radius:50%;background:var(--era-c,var(--accent));border:2px solid var(--bg);z-index:1}
.ev-item .ev-row{border-bottom:0}
.ev-item{border-bottom:1px solid var(--border)}
/* Strømmen: 450 hårstreker leser som et regneark. Luft skiller i stedet. Kantlinjen
   ligger på WRAPPEREN, ikke på raden — derfor må den slås av her, ikke på .ev-row. */
.ev-flow .ev-item{border-bottom:0}
/* Brikkene arvet 96px = gammel årkolonne (82) + gap (10) + polstring (4). Strøm-raden
   har ingen årkolonne, så de hang 92 px til høyre for tittelen sin. */
.ev-flow .ev-chips{padding-left:4px;padding-bottom:10px}
.ev-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 4px 8px 96px}
.evchip{font-size:11.5px;border:1px solid var(--border-strong);border-radius:999px;padding:1.5px 9px;background:var(--surface);color:var(--muted);cursor:pointer;line-height:1.5}
.evchip.ref{color:var(--accent);border-color:#bfe0da}
.evchip.pers{color:#7c4dbe;border-color:#ddd0f0}
.evchip.sted{color:#d43d3d;border-color:#f2cccc}
.evchip:hover{border-color:currentColor}

/* «Oversikter»-hub + «Profetier om Kristus»-infografikk (P4) */
.rescard-body{display:flex;flex-direction:column;gap:4px;min-width:0}
/* ── «Oversikter»-hub: register-modell ────────────────────────────────────────
   Gruppen er beholderen (hvitt ark + farget krom-bånd = kontrastsystemet), og hver
   oversikt er en RAD med fast høyde. Kort med beskrivelse ga 4 ulike radhøyder
   (94–129px) fordi teksten var 1–4 linjer; nå kan ingen tittellengde røre rytmen.
   Tittelen klemmes til 2 linjer — rumensk har titler på 40 tegn der norsk har 32,
   så én-linjes løsning er utelukket. Skillet er border-top på RADEN (ikke gradient
   på lista), så det følger faktiske rader og tåler at noen legger til en badge. */
.ovhub-sec{--ovhub-row:52px;background:var(--surface);border:1px solid var(--border);
  border-radius:12px;overflow:hidden;margin:0 0 14px}
.ovhub-sec:last-child{margin-bottom:0}
.ovhub-sec-h{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 10px;padding:9px 14px 10px;background:var(--chrome-grp)}
[data-theme="dark"] .ovhub-sec-h{background:var(--chrome)}   /* --chrome-grp ≈ --surface i mørk → båndet ville forsvunnet */
.ovhub-sec-t{margin:0;font-family:var(--reading);font-size:15.5px;font-weight:700;color:var(--text);letter-spacing:.01em}
.ovhub-sec-n{margin-left:auto;font-family:var(--ui);font-size:11.5px;font-weight:700;color:var(--faint);font-variant-numeric:tabular-nums}
.ovhub-sec-d{flex:1 0 100%;margin:0;font-family:var(--ui);font-size:12.5px;line-height:1.35;color:var(--muted)}
.ovhub-list{display:grid;grid-auto-rows:var(--ovhub-row);grid-template-columns:repeat(auto-fill,minmax(min(100%,226px),1fr))}
.ovhub-item{display:flex;align-items:center;gap:11px;min-width:0;height:100%;padding:0 13px;margin:0;
  border:0;border-top:1px solid var(--border);background:transparent;color:var(--text);font:inherit;
  text-align:left;cursor:pointer;-webkit-appearance:none;appearance:none;transition:background-color .13s ease}
.ovhub-ic{flex:none;display:grid;place-items:center;color:var(--accent)}
/* flex:1 1 0 er nødvendig: -webkit-box (som line-clamp krever) gir elementet en innholdsbasert
   basisbredde som ikke krymper, og lange titler rant da inn i nabocellen. */
.ovhub-t{flex:1 1 0;min-width:0;font-family:var(--reading);font-size:15px;font-weight:600;line-height:1.25;
  overflow-wrap:break-word;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
@media (hover:hover){ .ovhub-item:hover{background:var(--accent-soft)} }
.ovhub-item:active{background:var(--accent-soft)}
.ovhub-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-soft)}   /* negativ offset: panelet har overflow:hidden */
@media (prefers-reduced-motion:reduce){ .ovhub-item{transition:none} }
/* full beskrivelse beholdes for skjermleser — ikke som title="" (nås aldri på touch) */
/* ── Fullstendige lister i huben (Bibeltabeller) ───────────────────────────────────────
   Fire signaler, null ny brødtekst: grå glyf der de 58 emnene har --accent, høyrestilt
   antall, innrykk på de tre—fire som har en søster rett over seg, og navnemønsteret
   «i hele Bibelen». BEVISST utelatt: loddrett strek. .ovhub-list er auto-fill, så på 2–3
   kolonner kan registerraden havne under et ANNET emne — en strek ville da påstått et
   slektskap som ikke finnes. Innrykket alene leser som «underordnet», ikke som «barn av». */
.ovhub-item.ovhub-kat-p{padding-left:31px}
.ovhub-kat .ovhub-ic{color:var(--muted)}
/* flex:none er nødvendig: .ovhub-t er flex:1 1 0 med line-clamp, og uten dette ville tallet
   blitt klemt bort før tittelen. */
.ovhub-n{flex:none;min-width:36px;text-align:right;font-family:var(--ui);font-size:11.5px;
  font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}   /* --faint falt til 4,36:1 mot --accent-soft ved fokus */
.ovhub-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
/* ── Inne i en oversikt: emneregister-rader (navn til venstre, skriftsteder høyre) ──
   Erstatter .tit-grid/.tit-card, som hadde samme sprik: navn på to linjer eller 4+
   ref-brikker gjorde kortet høyere enn naboen. 92 % av punktene har 1–2 henvisninger. */
.oa-sec{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin:0 0 14px}
.oa-sec-h{display:flex;align-items:center;gap:10px;padding:9px 15px 10px;background:var(--chrome-grp)}
[data-theme="dark"] .oa-sec-h{background:var(--chrome)}
.oa-num{flex:none;width:21px;height:21px;border-radius:50%;background:var(--accent);color:#fff;
  font-family:var(--ui);font-size:11.5px;font-weight:700;display:grid;place-items:center}
.oa-sec-t{margin:0;font-family:var(--reading);font-size:15.5px;font-weight:700;color:var(--text)}
.oa-sec-n{margin-left:auto;font-family:var(--ui);font-size:11.5px;font-weight:700;color:var(--faint);font-variant-numeric:tabular-nums}
/* Skriftstedene følger teksten med en prikk imellom — de var før høyrestilt til panelkanten,
   og på bred skjerm ble avstanden fra tekstslutt til referanse over 1200px å lese seg gjennom. */
.oa-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 0;padding:9px 15px;border-top:1px solid var(--border)}
.oa-t{flex:0 1 auto;min-width:0;font-family:var(--reading);font-size:15px;line-height:1.35;color:var(--text)}
.oa-t::after{content:"·";margin:0 9px;color:var(--faint);font-weight:700}
.oa-r{flex:0 1 auto;display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-start;max-width:100%}
/* Smal skjerm: prikken tas bort, for på de radene der brikkene ikke får plass og brytes til egen
   linje ville den blitt hengende alene sist på tekstlinja. MEN da må kolonne-gapet inn i stedet —
   uten det sto teksten og første brikke helt inntil hverandre på 488 av 574 rader (85 %), siden de
   fleste radene faktisk IKKE brytes. Rad-gap 5px gjelder de øvrige 15 %. */
@media (max-width:560px){ .oa-t::after{display:none} .oa-row{gap:5px 11px} }
.prof-legend{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;font-size:13px;color:var(--muted);margin:0 0 12px}
.prof-lk{display:inline-flex;align-items:center;gap:7px}
.prof-sw{width:12px;height:12px;border-radius:3px;display:inline-block}
.prof-sw.gt{background:var(--gt)} .prof-sw.nt{background:var(--nt)}
.prof-count{margin-left:auto;font-weight:600;color:var(--faint);font-variant-numeric:tabular-nums}
/* Seksjons-nav (deles av profeti/bro/titler/tidslinje/steg). Tre ting var uferdige:
   (1) den malte en HVIT gradient over den beige siden, så det klebrede feltet matchet ingenting
   og innhold syntes bevege seg i overgangen; (2) chipsene var beige på det hvite = utvasket;
   (3) ingen aktiv markering.
   top/padding/margin henger sammen: -32px = .page sin egen toppolstring (22) + 10px som stripen
   skyves OPP under topplinja. Uten de 22 kleber stripen seg 22px for lavt og innholdet scroller
   synlig i mellomrommet. De 10 ekstra er heller ikke pynt: da stripens overkant lå på nøyaktig
   samme piksel som klippekanten til .page, kunne en halvpiksel-avrunding under scrolling slippe
   gjennom en linje av innholdet bak. Padding og negativ margin nuller hverandre ut, så chipsene
   står nøyaktig der de sto — bare bakgrunnen strekker seg lenger opp enn det som vises. */
.prof-nav{display:flex;flex-wrap:wrap;gap:6px;margin:-10px 0 16px;position:sticky;top:-32px;z-index:5;
  padding:20px 0 10px;background:var(--bg);border-bottom:1px solid var(--border)}
.prof-navchip{font-size:12.5px;text-decoration:none;color:var(--muted);background:var(--surface);
  border:1px solid var(--border);border-radius:8px;padding:6px 12px;display:inline-flex;align-items:center;gap:6px;
  transition:background-color .12s,border-color .12s,color .12s}
.prof-navchip .prof-navn{font-weight:700;font-size:11px;color:var(--faint);background:var(--bg);
  border-radius:4px;padding:1px 5px;font-variant-numeric:tabular-nums;transition:background-color .12s,color .12s}
.prof-navchip:hover{border-color:var(--border-strong);color:var(--text)}
.prof-navchip.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}
.prof-navchip.on .prof-navn{background:rgba(255,255,255,.22);color:#fff}
@media (prefers-reduced-motion:reduce){ .prof-navchip,.prof-navchip .prof-navn{transition:none} }
.prof-phase{margin:26px 0 6px;scroll-margin-top:56px}
.prof-ph-h{display:flex;align-items:center;gap:10px;margin:0 0 2px}
.prof-badge{font-family:var(--reading);font-weight:700;font-size:14px;color:#fff;background:var(--accent);width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.prof-ph-h h3{font-family:var(--reading);font-weight:600;font-size:20px;margin:0}
.prof-ph-sub{color:var(--faint);font-size:12.5px;margin:0 0 12px 36px}
.prof-row{background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:12px 14px 14px;margin-bottom:10px}
.prof-thm{font-family:var(--reading);font-weight:600;font-size:16.5px;line-height:1.25;margin:0 0 10px;color:var(--text)}
.prof-gloss{font-size:13px;color:var(--muted);line-height:1.45;margin:-4px 0 10px}
.prof-bridge{display:grid;grid-template-columns:1fr 32px 1fr;align-items:stretch;gap:0}
.prof-panel{padding:9px 11px;border-radius:10px;min-width:0}
.prof-panel.gt{background:var(--gt-soft);border:1px solid color-mix(in srgb,var(--gt) 22%,transparent)}
.prof-panel.nt{background:var(--nt-soft);border:1px solid color-mix(in srgb,var(--nt) 22%,transparent)}
.prof-lab{display:block;font-size:10px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;margin:0 0 7px}
.prof-panel.gt .prof-lab{color:var(--gt-ink)} .prof-panel.nt .prof-lab{color:var(--nt-ink)}
.prof-chips{display:flex;flex-wrap:wrap;gap:5px}
.prof-chip{font-size:12px;font-weight:600;border-radius:7px;padding:3px 8px;cursor:pointer;white-space:nowrap;font-variant-numeric:tabular-nums;background:var(--surface);line-height:1.5}
.prof-chip.gt{color:var(--gt-ink);border:1px solid color-mix(in srgb,var(--gt) 40%,transparent)}
.prof-chip.nt{color:var(--nt-ink);border:1px solid color-mix(in srgb,var(--nt) 40%,transparent)}
@media (hover:hover){ .prof-chip.gt:hover{background:var(--gt);color:#fff;border-color:var(--gt)} .prof-chip.nt:hover{background:var(--nt);color:#fff;border-color:var(--nt)} }
.prof-chip.nolink{cursor:default;opacity:.75}
.prof-arrow{display:flex;align-items:center;justify-content:center;color:var(--faint)}
.prof-arrow svg{width:19px;height:19px}
@media(max-width:600px){ .prof-bridge{grid-template-columns:1fr} .prof-arrow{padding:5px 0;transform:rotate(90deg)} }
.prof-chip.acc{color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent)}
@media (hover:hover){ .prof-chip.acc:hover{background:var(--accent);color:#fff;border-color:var(--accent)} }
/* Nummerert «steg»-oversikt (7 ord på korset, 7 blodsutgytelser) */
.steg-intro{font-size:15px;color:var(--muted);max-width:64ch;line-height:1.55;margin:0 0 12px}
.steg-introrefs{margin:-4px 0 6px}
.steg-prayer{white-space:pre-line;font-family:var(--reading);font-size:17px;line-height:1.7;color:var(--text);background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:0 10px 10px 0;padding:14px 17px;margin:0 0 14px;max-width:60ch}
.steg-list{list-style:none;margin:10px 0 0;padding:0}
.steg-item{display:flex;gap:14px;padding:0 0 18px;position:relative}
.steg-item:not(:last-child)::before{content:"";position:absolute;left:15px;top:34px;bottom:0;width:2px;background:var(--border-strong)}
.steg-num{flex:0 0 auto;width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;font-family:var(--reading);font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}
.steg-body{flex:1;min-width:0;padding-top:3px}
.steg-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:var(--accent);margin:0 0 3px}
.steg-text{font-family:var(--reading);font-size:17px;line-height:1.35;margin:0 0 8px;color:var(--text)}
.steg-text.quote{font-style:italic}
.steg-refs{display:flex;flex-wrap:wrap;gap:5px}
/* Livslengder-tidslinje */
.ll-legend{display:flex;flex-wrap:wrap;gap:8px 15px;align-items:center;font-size:12.5px;color:var(--muted);margin:0 0 12px}
.ll-lk{display:inline-flex;align-items:center;gap:6px}
.ll-sw{width:12px;height:12px;border-radius:3px;display:inline-block}
.ll-flood{color:#9a6a2f;font-weight:600}
.ll-board{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:8px 10px;overflow:hidden}
.ll-board svg text{font-family:var(--ui)}
.ll-bar rect{transition:opacity .1s}
@media (hover:hover){ .ll-bar:hover rect{opacity:1} }
/* Mest siterte — søylediagram (gjenbruker ll-board-rammen) */
.ms-board{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:10px 12px;overflow:hidden}
.ms-board svg text{font-family:var(--ui)}
.ms-bar rect{transition:opacity .1s}
@media (hover:hover){ .ms-bar:hover rect{opacity:1} }
/* Kort-rutenett (disipler, stammer) */
.kl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:11px}
.kl-card{display:flex;gap:11px;background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:12px 14px}
.kl-num{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}
.kl-body{flex:1;min-width:0}
.kl-name{font-family:var(--reading);font-weight:600;font-size:16.5px;color:var(--text);background:none;border:0;padding:0;cursor:pointer;text-align:left;line-height:1.2}
.kl-name[data-id]:hover{color:var(--accent);text-decoration:underline}
.kl-sub{font-size:13px;color:var(--muted);line-height:1.4;margin:4px 0 8px}
.kl-rg{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px;margin-top:5px}
.kl-rglabel{font-size:10px;letter-spacing:.05em;text-transform:uppercase;font-weight:700;color:var(--faint)}
.kl-chips{display:inline-flex;flex-wrap:wrap;gap:5px}
/* Tittel-rutenett (navn og titler) */
/* .tit-grid/.tit-card/.tit-name er erstattet av .oa-*-registeret; .tit-chips lever videre i openKontrast */
.tit-chips{display:flex;flex-wrap:wrap;gap:4px}
/* Fase-tidslinje (Jesu liv) */
.tl-list{list-style:none;margin:8px 0 0;padding:0}
.tl-item{display:flex;gap:13px;padding:0 0 14px;position:relative}
.tl-item:not(:last-child)::before{content:"";position:absolute;left:5px;top:15px;bottom:0;width:2px;background:var(--border-strong)}
.tl-dot{flex:0 0 auto;width:12px;height:12px;border-radius:50%;background:var(--accent);margin-top:3px;position:relative;z-index:1;box-shadow:0 0 0 3px var(--surface)}
.tl-body{flex:1;min-width:0}
.tl-title{font-family:var(--reading);font-weight:600;font-size:15.5px;color:var(--text);line-height:1.3;margin-bottom:5px}
.tl-refs{display:flex;flex-wrap:wrap;gap:4px}
/* To-kolonne kontrast */
.kt-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
@media(max-width:640px){.kt-grid{grid-template-columns:1fr;gap:22px}}
.kt-col-h{font-family:var(--reading);font-weight:600;font-size:18px;margin:0 0 10px;padding-bottom:7px;border-bottom:2px solid var(--accent);display:flex;align-items:baseline;justify-content:space-between}
.kt-col1 .kt-col-h{border-bottom-color:var(--nt)}
.kt-count{font-size:12px;font-weight:600;color:var(--faint);font-variant-numeric:tabular-nums}
.kt-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:9px 11px;margin-bottom:8px}
.kt-name{font-family:var(--reading);font-weight:600;font-size:14.5px;color:var(--text);line-height:1.25;margin-bottom:5px}
@media (max-width:560px){ .ev-chips{padding-left:4px} }
/* Bibelatlas-kart (Leaflet) */
.atlas-map{height:70vh;min-height:340px;border:1px solid var(--border);border-radius:12px;overflow:hidden;z-index:0}
.atlas-map .atlas-open{background:var(--accent);color:#fff;border:0;border-radius:6px;padding:4px 9px;cursor:pointer;font:inherit}
/* Hendelse-chip i studie-panelet: årstall-prefiks (kobler til tidslinjen) */
.reschip.resev .resev-yr{color:var(--accent);font-weight:700;font-variant-numeric:tabular-nums}
.grp-graph{height:440px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.graph-wrap{margin:0 0 10px}
/* «Større visning» på grafer (wireGrow): samme faste overlegg som kartenes map-big */
.graph-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px}
.graph-grow svg,#ggrow svg{vertical-align:middle}
.graph-wrap.map-big,.gen-graph.map-big{position:fixed;inset:12px;z-index:4000;background:var(--surface);border-radius:14px;box-shadow:0 18px 60px rgba(0,0,0,.45);margin:0;overflow:auto}
.graph-wrap.map-big{padding:12px}
.graph-wrap.map-big .grp-graph{height:calc(100vh - 150px)}
.gen-graph.map-big{height:auto;min-height:0}
/* flytende «Mindre visning»-knapp inne i grow-overlegget (fixed → synlig uansett scroll) */
.grow-float{position:fixed;top:24px;right:24px;z-index:30;display:inline-flex;align-items:center;gap:7px;
  background:var(--surface);border:1px solid var(--border-strong);border-radius:9px;padding:7px 12px;
  font:inherit;font-size:13px;color:var(--text);cursor:pointer;box-shadow:0 3px 14px rgba(0,0,0,.18)}
.grow-float:hover{border-color:var(--accent);color:var(--accent)}
.grow-float svg{vertical-align:middle}
/* «Slekt og folk»: faner + hurtigknapper for kjente slektslinjer */
.sf-tabs{margin:0 0 14px}
.gen-quick{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
/* hurtigknappene som PILLER (Kjetils funn: restab-tekststilen fløt sammen til én tekstmasse) */
.gen-q{border:1px solid var(--border-strong);background:var(--surface);border-radius:999px;padding:6px 13px;color:var(--text);font-weight:500}
.gen-q:hover{border-color:var(--accent);color:var(--accent)}
.gen-q.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
/* Kryssreferanser «Kart»-fane: vers-nivå kryssref-kart (Stjerne/Nettverk/Buer) */
.tsk-tabs{margin:0 0 12px}
.krt-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 8px}
.krt-count{font-size:12.5px;color:var(--faint)}
.krt-board{border:1px solid var(--border);border-radius:14px;background:var(--surface);overflow-x:auto;overflow-y:hidden}
.krt-board svg{width:100%;display:block}
.krt-board svg text{font-family:var(--ui)}
.krt-board svg .krt-ctr{font-family:var(--reading);font-weight:700}
.krt-node:hover rect{stroke-width:2.4}
.krt-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12.5px;color:var(--muted);margin:8px 2px 0}
.krt-sw{display:inline-block;width:11px;height:11px;border-radius:50%;vertical-align:middle;margin-right:5px}
.krt-hint{flex-basis:100%;color:var(--faint)}
.krt-biglink{flex-basis:100%;color:var(--accent);font-weight:600;text-decoration:none}
.krt-biglink:hover{text-decoration:underline}
/* hub øverst: hovedvers + valgt referanse — lesing uten scrolling, hovedverset alltid synlig */
.krt-hub{display:flex;flex-direction:column;gap:8px;margin:0 0 12px}
.krt-hub-row{background:var(--surface);border:1px solid var(--border);border-radius:11px;padding:9px 13px;border-left:3px solid var(--accent)}
.krt-hub-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 3px}
.krt-hub-tag{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--faint)}
.krt-hub-main .krt-hub-tag{color:var(--accent)}
.krt-hub-ref{font-family:var(--reading);font-weight:600;font-size:15.5px;cursor:pointer;color:var(--text);display:inline-block;padding:0}
.krt-hub-right{margin-left:auto;display:inline-flex;align-items:center;gap:8px}
.krt-hub-nav{display:inline-flex;align-items:center;gap:5px}
.krt-nav{border:1px solid var(--border-strong);background:var(--surface);border-radius:7px;width:26px;height:26px;line-height:1;cursor:pointer;color:var(--text);font-size:16px;padding:0}
.krt-nav:disabled{opacity:.4;cursor:default}
.krt-hub-pos{font-size:11.5px;color:var(--faint);font-variant-numeric:tabular-nums}
.krt-hub-x{border:0;background:transparent;color:var(--faint);cursor:pointer;font-size:15px;line-height:1;padding:2px 4px}
.krt-hub-x:hover{color:var(--text)}
.krt-hub-text{font-family:var(--reading);font-size:15px;line-height:1.5;color:var(--text)}
.krt-hub-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
/* Kryssreferanse-kartet (P2): buediagram-canvas */
.krv-ctl{display:flex;gap:8px;align-items:center;margin:0 0 10px}
.krv-ctl select{border:1px solid var(--border-strong);background:var(--surface);border-radius:9px;padding:7px 10px;font:inherit;font-size:13.5px;color:var(--text)}
.krv-ctl .restab{border:1px solid var(--border-strong);border-radius:9px;padding:5px 12px;font-size:15px}
.krv-legend{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 13px;margin:0 0 12px;font-size:13px;color:var(--muted);display:flex;flex-direction:column;gap:6px}
.krv-leg-row{line-height:1.45}
.krv-grad{display:inline-block;width:64px;height:9px;border-radius:5px;vertical-align:middle;margin-right:3px;background:linear-gradient(90deg,hsl(250,68%,45%),hsl(160,68%,45%),hsl(60,68%,45%),hsl(0,68%,45%))}
.krv-nb{display:inline-flex;align-items:baseline;gap:5px}
.krv-acts{margin:10px 0 0;font-size:13.5px}
.krv-acts .linklike{font-size:13.5px}
.krv-wrap{border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden}
.krv-wrap canvas{width:100%;display:block;cursor:crosshair}
.krv-info{margin-top:12px}
/* Tjenestene i helligdommen (fane 3): sammenleggbare tjeneste-kort */
.tj-d{border:1px solid var(--border-strong);border-radius:12px;background:var(--surface);margin:0 0 10px;overflow:hidden}
.tj-sum{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;padding:12px 14px;font-family:var(--reading);font-size:16px;font-weight:600}
.tj-sum::-webkit-details-marker{display:none}
.tj-ik{width:34px;height:34px;border-radius:9px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;font-size:16px;flex:none}
.tj-hint{margin-left:auto;font-family:var(--ui);font-weight:400;font-size:11.5px;color:var(--faint);text-align:right}
.tj-inn{padding:0 14px 13px 58px}
.tj-inn p{margin:0 0 8px;font-size:13.5px}
@media (max-width:560px){ .tj-inn{padding-left:14px} .tj-hint{display:none} }
/* [hidden]-fella: .graph-modes{display:flex} slår UA-stilens display:none — Nivåer-kontrollen
   ble stående synlig i forfedre-modus uten denne vakten */
.gen-depth[hidden]{display:none}
/* Slektslinjer-redesign (godkjent mockup 2): fokusperson-hode + oppgavebaserte faner */
.fokus{background:var(--surface);border:1px solid var(--border-strong);border-radius:14px;padding:13px 15px;display:flex;gap:13px;align-items:center;margin:0 0 6px;flex-wrap:wrap}
.fokus .init{width:44px;height:44px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-family:var(--reading);font-size:19px;font-weight:700;flex:none}
.fokus .fx{min-width:0}
.fokus .nm{font-family:var(--reading);font-size:20px;font-weight:600}
.fokus .ds{color:var(--muted);font-size:12.5px}
.fokus .knapper{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.kn{border:1px solid var(--border-strong);background:var(--surface);border-radius:9px;padding:7px 12px;font:inherit;font-size:13px;color:var(--text);cursor:pointer}
.kn:hover{border-color:var(--accent);color:var(--accent)}
.kn.prim{background:var(--accent);border-color:var(--accent);color:#fff}
.kn.prim:hover{color:#fff;opacity:.92}
.gsok{margin:0 0 6px}
/* fane-raden må aldri gi sideveis side-scroll på telefon: egen intern scroll (skjult
   rullefelt, vanlig fane-konvensjon) + strammere polstring på smale skjermer */
.gviews{margin:6px 0 8px;display:flex;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.gviews::-webkit-scrollbar{display:none}
.gviews .restab{white-space:nowrap;flex:none}
@media (max-width:560px){ .gviews .restab{padding:6px 11px;font-size:12.5px} }
.gctl{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 6px}
.gsub{font-family:var(--reading);font-weight:600;font-size:15px;margin:0 0 8px;color:var(--muted)}
/* Ættetavle: én tydelig kolonne m/ gjennomgående linje, epokefarget dott, skriftsted og hover-verktøy */
.gen-graph.tavle-host,.gen-graph.hub-host{height:auto;min-height:0;border:0;background:transparent;overflow:visible}
.gen-graph.tavle-host.map-big,.gen-graph.hub-host.map-big{background:var(--surface);padding:18px;overflow:auto}
.tavle{max-width:440px;position:relative;padding-left:14px}
.tavle::before{content:"";position:absolute;left:24px;top:8px;bottom:8px;width:2px;background:var(--chrome-line)}
.tavle .era{position:sticky;top:0;background:var(--bg);z-index:3;display:flex;align-items:center;gap:8px;font-family:var(--reading);font-weight:600;font-size:13.5px;color:var(--muted);padding:8px 0 6px;margin-left:-14px;padding-left:14px}
.gen-graph.map-big .tavle .era{background:var(--surface)}
.tavle .era .dot{width:10px;height:10px;border-radius:50%;flex:none}
.tavle .rad{position:relative;display:flex;align-items:center;gap:9px;padding:3.5px 0}
.tavle .rad::before{content:"";position:absolute;left:6px;top:50%;width:11px;height:11px;border-radius:50%;transform:translate(0,-50%);background:var(--era,#b8860b);border:2.5px solid var(--bg);z-index:2}
.tavle .nr{min-width:24px;text-align:right;font-size:11px;color:var(--faint);font-variant-numeric:tabular-nums;margin-left:14px}
.tavle .kort{flex:1;display:flex;align-items:baseline;gap:8px;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;padding:7px 12px;cursor:pointer;font:inherit;font-size:14px;text-align:left;color:var(--text);min-width:0}
.tavle .kort:hover{border-color:var(--accent)}
.tavle .kort em{font-style:normal;color:var(--muted);font-size:12px}
.tavle .kort .ref{margin-left:auto;color:var(--accent);font-size:11.5px;white-space:nowrap;cursor:pointer}
.tavle .rad.seed .kort{background:var(--accent-soft);border-color:var(--accent);font-weight:600}
.tavle .verkt{display:none;gap:2px}
.tavle .rad:hover .verkt{display:inline-flex}
@media (hover:none){ .tavle .verkt{display:inline-flex} }
.vknapp{border:0;background:transparent;color:var(--faint);cursor:pointer;font-size:15px;padding:2px 5px}
.vknapp:hover{color:var(--accent)}
/* Familie-hub: nærfamilien rundt navet; klikk på navn = nytt nav */
.hub{max-width:560px;display:flex;flex-direction:column;gap:10px}
.hub-center{background:var(--surface);border:1.5px solid var(--accent);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.hub-name{font-family:var(--reading);font-size:20px;font-weight:600}
.hub-grp{display:flex;align-items:baseline;gap:10px}
.hub-lbl{min-width:76px;font-size:12px;color:var(--faint);text-align:right}
.hub-chips{display:flex;flex-wrap:wrap;gap:6px}
.hub-chip{border:1px solid var(--border-strong);background:var(--surface);border-radius:999px;padding:4px 11px;font:inherit;font-size:13px;color:var(--text);cursor:pointer}
.hub-chip:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
.hub-chip:disabled{opacity:.5;cursor:default}
.graph-modes{display:inline-flex;margin:0 0 8px;border:1px solid var(--border);border-radius:8px;overflow:hidden}
.graph-modes button{background:var(--surface);border:0;padding:5px 13px;font:inherit;font-size:13px;color:var(--muted);cursor:pointer}
.graph-modes button.on{background:var(--accent-soft);color:var(--accent);font-weight:600}
.gen-depth{align-items:center}
.gen-depth .gd-lbl{font-size:12px;color:var(--muted);padding:0 9px;border-right:1px solid var(--border)}
.gen-depth button{padding:5px 12px;font-size:15px;line-height:1;font-weight:700;color:var(--accent)}
.gen-depth .gd-val{font-size:13px;font-weight:700;color:var(--text);min-width:16px;text-align:center;font-variant-numeric:tabular-nums}
.gen-graph{height:72vh;min-height:460px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.graph-legend{font-size:11.5px;color:var(--muted);margin-top:6px;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center}
.lg-sw{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px;vertical-align:middle}
.lg-ln{display:inline-block;width:16px;border-top:2px solid var(--accent);margin-right:4px;vertical-align:middle}
.lg-ln.dash{border-top-style:dashed;border-top-color:var(--muted)}
.src-attr{font-size:11.5px;color:var(--faint);font-style:italic;line-height:1.45;margin:6px 0 12px}
.theme-sub{margin-bottom:14px}
.theme-sub h4{margin:0 0 4px}

/* søk: fane-velger (Bibeltekst/Kommentarer) */
.seg{display:inline-flex;border:1px solid var(--border-strong);border-radius:9px;overflow:hidden;margin:0 0 12px}
.seg button{background:var(--surface);border:0;padding:7px 16px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer}
.seg button.on{background:var(--accent-soft);color:var(--accent)}
.seg button+button{border-left:1px solid var(--border)}
/* kommentar-søk: filter-rad + kort */
.cfilters{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;margin:0 0 14px}
.cfilters[hidden]{display:none}
.cfilters #commFilter{flex:1 1 auto}
.commsort{display:flex;align-items:center;gap:6px;white-space:nowrap}
.cresult{flex-direction:column;align-items:stretch;gap:5px;width:100%;margin-bottom:8px}
.cresult-top{display:flex;align-items:baseline;gap:10px}
.cresult-top .sref{min-width:0;font-size:16.5px}
.cresult-comm{margin-left:auto;background:var(--accent-soft);color:var(--accent);font-family:var(--ui);font-size:11px;font-weight:700;letter-spacing:.02em;padding:2px 10px;border-radius:20px;white-space:nowrap}
.commmore{display:block;margin:10px auto 4px}
/* bok-introduksjon */
.bi-src{font-family:var(--ui);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin:18px 0 6px}
.bi-body{margin-bottom:6px}
#biBody .bi-src:first-child{margin-top:0}
/* «Om denne boken»: hver intro som utvid/kollaps-blokk */
.bi-item{border-top:1px solid var(--border)}
.bi-item:first-child{border-top:0}
summary.bi-src{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;margin:0;padding:12px 2px;user-select:none}
summary.bi-src::-webkit-details-marker{display:none}
summary.bi-src::before{content:"▸";font-size:10px;color:var(--muted);transition:transform .15s}
.bi-item[open] > summary.bi-src::before{transform:rotate(90deg)}
.bi-content{padding:0 2px 14px}
.bi-content > :first-child{margin-top:0}
.bi-h{font-family:var(--reading);font-size:19px;margin:0 0 8px;font-weight:700}
.bi-sec{font-family:var(--reading);font-size:16px;color:var(--accent);font-weight:700;margin:16px 0 4px}
.bi-body .bi-enum{margin:6px 0 6px 26px;text-indent:-18px}
.bi-body .bi-enum2{margin:6px 0 6px 48px;text-indent:-18px}
/* søkefelt i siden */
.searchbox-lg{margin:0 0 14px}
.searchbox-lg input{font-size:16px;padding:11px 8px}
/* søkeresultater */
.sresult-row{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}
.sresult-row .schk{margin-top:16px;width:17px;height:17px;accent-color:var(--accent);flex:none;cursor:pointer}
.sresult-row.on .sresult{border-color:var(--accent);background:var(--accent-soft)}
.sresult{display:flex;gap:14px;align-items:baseline;flex:1;min-width:0;text-align:left;background:var(--surface);
  border:1px solid var(--border);border-radius:10px;padding:12px 14px;cursor:pointer}
.sresult:hover{border-color:var(--accent-soft);background:var(--accent-soft)}
.sref{flex:none;min-width:118px;font-family:var(--reading);font-weight:700;color:var(--accent);font-size:16.5px}
.ssnip{font-family:var(--reading);color:var(--text);line-height:1.55;font-size:16.5px;min-width:0;overflow-wrap:break-word}
.ssnip mark{background:var(--accent-soft);color:var(--accent);padding:0 2px;border-radius:3px;font-weight:600}
/* Ordstudie-treff: like brede (full bredde), jevn avstand */
.lexresult{width:100%;box-sizing:border-box;margin-bottom:10px;align-items:flex-start}
.lexresult:last-child{margin-bottom:0}
/* Overskrift i treff: grunntekst (hovedord) → transliterasjon */
.sref.lexr{display:flex;flex-direction:column;gap:1px;font-weight:400}
.lexr-orig{font-weight:700;color:var(--accent);font-size:16.5px;font-family:var(--reading)}
.lexr-tr{font-weight:400;font-style:italic;color:var(--muted);font-size:13px}
/* Norsk betydning som egen linje (egen stil) i treff-snutten */
.lexr-no{display:block;margin-top:3px;font-size:14.5px;color:var(--text)}
.lexr-no-lbl{color:var(--accent);font-weight:600}
/* utvalgslinje for treff */
.sresbar{display:flex;align-items:center;gap:12px;background:var(--accent-soft);border:1px solid var(--border);
  border-radius:10px;padding:9px 14px;margin:0 0 12px}
.sresbar[hidden]{display:none}
.sresbar .sres-all{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;cursor:pointer}
.sresbar .sres-all input{accent-color:var(--accent);width:16px;height:16px}
.sresbar .selcount{font-size:13px;color:var(--muted)}
.sresbar .btn{padding:6px 13px;font-size:13px}
/* leseoversikt-modal */
.ov-card{max-width:680px;width:100%;max-height:86vh}
.ov-item{padding:11px 0;border-bottom:1px solid var(--border)}
.ov-item:last-child{border-bottom:0}
.ov-head{display:flex;align-items:center;gap:10px;margin-bottom:4px}
.ov-ref{font-family:var(--reading);font-weight:700;color:var(--accent);cursor:pointer}
.ov-ctx{margin-left:auto;background:transparent;border:1px solid var(--border-strong);border-radius:7px;
  padding:3px 9px;font-size:11.5px;color:var(--muted);font-weight:600}
.ov-ctx:hover{background:var(--bg)}
.ov-x{background:transparent;border:0;color:var(--faint);font-size:15px;padding:2px 4px}
.ov-x:hover{color:#c0392b}
.ov-text{font-family:var(--reading);font-size:16.5px;line-height:1.6}
.ov-ctxbody{position:relative;margin-top:8px;padding:10px 12px;background:var(--bg);border-radius:8px;font-family:var(--reading);
  line-height:1.65;max-height:300px;overflow:auto}
.ov-ctxbody[hidden]{display:none}
.ovc-v sup{color:var(--accent);font-family:var(--ui);font-weight:700;font-size:.7em;margin-right:2px}
.ovc-v.on{background:var(--sel);box-shadow:inset 0 0 0 1px var(--sel-border);border-radius:4px;padding:0 2px}
/* vers-popup: «Vis kontekst» (hele kapitlet, målverset uthevet+sentrert) + parallell-oversettelser */
/* «Vis kontekst» er den ANDRE visningsmodusen i samme popup som .pop-verse — samme
   bibeltekst, bare hele kapitlet. Den må følge lesestørrelsen av samme grunn, ellers
   faller teksten fra 30 til 16 px i det brukeren trykker knappen. Trygt å la vokse:
   boksen ruller selv (max-height + overflow-y). */
.pop-ctx{position:relative;max-height:46vh;overflow-y:auto;font-family:var(--reading);line-height:1.7;font-size:var(--read-size)}
.pop-par-wrap{margin-top:2px}
.pop-par-block{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}
.pop-par-lbl{font-family:var(--ui);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);margin-bottom:5px}
/* «Vis kontekst»-pille i popup-topplinja (som .ov-ctx på søk) + parallell-ikon-toggle */
.pop-pill{margin-left:8px;background:transparent;border:1px solid var(--border-strong);border-radius:999px;
  padding:3px 11px;font-family:var(--ui);font-size:11.5px;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap}
.pop-pill:hover{background:var(--bg)}
.pop-pill.on{border-color:var(--accent);color:var(--accent)}
.ptoggle{margin-left:6px;background:transparent;border:0;color:var(--faint);padding:3px;border-radius:6px;display:inline-flex;align-items:center;cursor:pointer}
.ptoggle[hidden]{display:none}
.ptoggle:hover{background:var(--border);color:var(--text)}
.ptoggle.on{color:var(--accent)}
#versePop .modal-head .pclose{margin-left:14px}  /* luft mellom parallell og ✕ */

/* eksport-knapper (vers-lister) + kapittel-overskrift i forhåndsvisning */
.conc-occhead{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.conc-export{margin-left:auto;background:var(--accent-soft);color:var(--accent);border:0;border-radius:7px;
  padding:4px 10px;font-size:12px;font-weight:600;cursor:pointer}
.conc-export:hover{filter:brightness(.97)}
.export-btn{font-size:13px}
.doc .doc-ch{font-family:var(--reading);font-size:calc(var(--read-size) * 1.06);color:var(--accent);margin:18px 0 8px}
.doc .doc-ch:first-child{margin-top:0}

/* bokmerker */
.verse .bm{margin-left:auto;color:var(--faint);opacity:0;font-size:1.02em;padding:3px 5px;margin-top:-3px;margin-bottom:-3px;border-radius:8px;cursor:pointer}   /* litt større + trykkflate */
/* tastaturfokus på fabrikk-lenkene/-ordene (href-løse <a> og spans som nå er fokuserbare) +
   leser-knappene, som ellers er opacity:0 og må BLI synlige når de får fokus */
.reflink:focus-visible,.cref:focus-visible,.conc-ref:focus-visible,.strongword:focus-visible,.conc-root:focus-visible,.vref:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:3px}
.verse .bm:focus-visible,.verse .edit:focus-visible{opacity:1;outline:2px solid var(--accent)}
/* bokmerke-glyf (samme båndsymbol som topbar bmBtn — aldri stjerne): kontur av, fylt når på */
.verse .bm .bmglyph{width:1em;height:1em;display:inline-block;vertical-align:-2px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.verse .bm.on{color:var(--note);opacity:1}
.verse .bm.on .bmglyph{fill:currentColor}
/* notat-glyf (ark med linjer — IKKE blyant: den betyr «marker vers», se sak 49). Følger
   .bmglyph-mønsteret så begge margikonene skalerer med font-size. «Har notat» vises med
   farge + tykkere strek; fyll ville skjult linjene, og font-weight/text-shadow virket bare
   da ikonet var tegnet ✎. */
.verse .edit .editglyph{width:1em;height:1em;display:inline-block;vertical-align:-2px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.verse .edit.on .editglyph{stroke-width:2.2}
.verse:hover .bm,.verse.active .bm{opacity:1}
/* Touch-enheter (pad/telefon) har ingen hover → vis ikonene svakt OG gi tydelig større trykkflate.
   Kompakt kolonne: samme glyffstørrelse, mindre sideluft (~104px → ~84px); 10px flex-gap mellom
   bokmerke-båndet og notat-arket er nøytral sone (bom der velger verset, ikke feil ikon) */
@media (hover:none){ .verse .edit, .verse .bm{opacity:.5;font-size:1.2em;padding:6px 5px;margin-top:-6px;margin-bottom:-6px} .verse .edit{margin-left:0} }
/* Telefon (<881px = ingen kolonne-splittere): notat-ikonet får usynlig trykkflate ut i panelets egen padding */
@media (hover:none) and (max-width:880px){ .verse .edit{padding-right:17px;margin-right:-12px} }
.bm-item:hover{border-color:var(--border-strong)}
.bm-head{display:flex;align-items:center;gap:10px}
.bm-open{background:transparent;border:0;padding:0;font-family:var(--reading);font-size:16px;font-weight:700;color:var(--text);cursor:pointer}
.bm-open:hover{color:var(--accent)}
.bm-head .bm-del{margin-left:auto}
.bm-tags{margin:9px 0 0}
.bm-tagedit{margin-top:9px;width:100%;box-sizing:border-box}
/* popover-overskrift (Paneler m.fl.) */
.pop-h{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;padding:3px 10px 7px}
/* universell bokmerke-modal */
.bm-modal{max-width:680px;width:100%;max-height:86vh}
.bm-filterwrap{margin:0;padding:12px 16px 2px}
.bmrow{padding:12px 0;border-bottom:1px solid var(--border)}
.bmrow:last-child{border-bottom:0}
.bm-prev{font-family:var(--reading);color:var(--muted);font-size:14.5px;line-height:1.5;margin:6px 0 0;cursor:pointer}
.bm-prev:hover{color:var(--text)}
.bm-full{display:inline-flex;align-items:center;color:var(--muted);padding:3px;border-radius:6px;margin-right:4px}
.bm-full:hover{background:var(--bg);color:var(--accent)}
.bm-full .icon{width:17px;height:17px}

/* oversett-toggle */
.xlate{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);
  border-radius:7px;width:30px;height:28px;padding:0;color:var(--muted);cursor:pointer;flex:none}
.xlate .icon{width:17px;height:17px}
.xlate:hover{background:var(--bg);color:var(--text)}
.xlate.on{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-soft)}
.xlate.busy{opacity:.6}
.xlate:disabled{opacity:.6;cursor:default}
.xlate.xlate-text{width:auto;height:auto;padding:5px 10px;font-size:12px;font-weight:600;gap:6px;
  background:var(--accent-soft);color:var(--accent);border-color:var(--accent-soft);white-space:nowrap}
.xlate.xlate-text:hover{filter:brightness(.97)}
/* UBS-leksika (Dyr/Planter/Gjenstander) – artikkel-styling */
.thlex{font-size:14.5px;line-height:1.55}
.thlex .thlex-key{color:var(--faint);font-size:.85em;font-weight:400;margin-right:.4em}
.thlex .thlex-section{margin:.7em 0}
.thlex h2.thlex-heading{font-family:var(--reading);font-size:1.02em;margin:.7em 0 .25em}
.thlex h3.thlex-subheading{font-size:.95em;font-weight:400;font-style:italic;color:var(--muted);margin:.3em 0}
.thlex .thlex-language-sets{margin:.3em 0 .3em 1em}
.thlex .thlex-language-set{margin:.45em 0;padding-left:.75em;border-left:3px solid var(--border)}
.thlex .thlex-language{font-size:.8em;color:var(--muted);margin-right:.4em}
.thlex .thlex-lemma{font-weight:700}
.thlex .thlex-translit{color:var(--muted);font-style:italic;font-size:.9em;margin-left:.3em}
.thlex .thlex-refs{font-size:.9em;margin-top:.2em}
.thlex .thlex-paragraphs p,.thlex p{margin:.45em 0;line-height:1.55}
.thlex nav.thlex-index{margin:.4em 0 .8em}
.thlex nav.thlex-index ul,.thlex ul.thlex-index-list{margin:.3em 0;padding-left:1.3em}
.thlex .thlex-abbr{border-bottom:1px dotted var(--faint);cursor:help}
.thlex table.thlex-table{border-collapse:collapse;font-size:.9em;margin:.6em 0}
.thlex table.thlex-table td{padding:.2em .6em;vertical-align:top;border:1px solid var(--border)}
.thlex table.thlex-table tr:first-child td{font-weight:700;background:var(--bg)}
/* Ressurser-panel på Studie: grupper + klikkbare chips */
.resgrp{margin:0 0 12px}
.resgrp-h{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.reschips{display:flex;flex-wrap:wrap;gap:6px}
.reschip{background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-soft);border-radius:20px;
  padding:4px 12px;font-size:13px;font-weight:600;font-family:var(--reading);cursor:pointer}
.reschip:hover{filter:brightness(.97)}
/* «Dette kapitlet»-bånd (P1 «Se kapitlet»): sammenleggbar kapittel-oversikt øverst i Ressurser-panelet.
   Kun eksisterende tokens → virker i begge tema; krom-tokens kun på summary (kontrastsystem variant B). */
/* båndet «bor» i en lys, myk flate — noen hakk lysere enn krom, men fortsatt skille mot hvitt innhold */
.chv{margin:0 0 14px;background:var(--panel-head);border:1px solid var(--border);border-radius:10px;padding:6px 9px}
.chv-sum{list-style:none;cursor:pointer;display:flex;align-items:center;gap:7px;background:transparent;
  border:0;border-radius:6px;padding:3px 2px;font-size:10.5px;font-weight:700;
  letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.chv-sum::-webkit-details-marker{display:none}
.chv-sum::before{content:"▸";transition:transform .15s;font-size:10px}
.chv[open]>.chv-sum::before{transform:rotate(90deg)}
.chv-sum .chv-ref{margin-left:auto;font-family:var(--reading);text-transform:none;letter-spacing:0;font-size:12.5px;font-weight:600;color:var(--faint)}
.chv-body{padding:10px 2px 2px}
/* navne-etikett under kart-nålene (Leaflet-tooltip): hvit pille, hører til kartet — ikke UI-temaet */
.chpin-tip{background:rgba(255,255,255,.88);color:#1c1c1a;border:0;border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.35);
  padding:1px 6px;font-family:var(--ui);font-size:11px;font-weight:600;white-space:nowrap}
.chpin-tip::before{display:none}
.chv-grp{margin:0 0 12px}
/* statisk mini-kart: inline-SVG, null nettverk; hele flaten åpner det store kartet */
.chv-map{display:block;width:100%;height:auto;border:1px solid var(--border);border-radius:10px;cursor:pointer;margin:0 0 4px}
.chv-sea{fill:var(--accent-soft)}
.chv-coast{fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linecap:round;opacity:.35}
.chv-river{fill:none;stroke:var(--accent);stroke-width:1.2;stroke-linecap:round;opacity:.28}
.chv-water{fill:var(--accent);opacity:.16;stroke:none}
.chv-dot{fill:var(--accent);stroke:var(--surface);stroke-width:1.4;cursor:pointer}
.chv-lbl{font-family:var(--ui);font-size:9.5px;fill:var(--text);paint-order:stroke;stroke:var(--surface);stroke-width:2.6px;stroke-linejoin:round;pointer-events:none}
.chv-openmap{display:inline-flex;align-items:center;gap:5px;background:transparent;border:0;color:var(--accent);
  font-size:12px;font-weight:600;cursor:pointer;padding:2px 0;margin:0 12px 8px 0;text-decoration:none}
.chv-openmap:hover{text-decoration:underline}
/* reise-lenke i «Dette kapitlet»: pille i reisens farge (farge/kant settes inline) */
.chv-jrn{background:var(--surface);text-decoration:none}
.chv-jrn:hover{filter:brightness(.97)}
/* kapittel-kart-popup (Leaflet): z-index:0 på kartflaten er OBLIGATORISK (fliser over modal-lag ellers) */
.chapmap-card{max-width:860px;width:96%}
.chapmap{height:min(62vh,520px);border-radius:10px;overflow:hidden;z-index:0;border:1px solid var(--border);position:relative}
.chapmap .cmrefs{margin:4px 0 8px}
.chapmap .cmref{color:var(--accent);margin-right:6px}
.chapmap .cmopen{padding:5px 12px;font-size:12.5px}
/* tema Leaflet-popupen med tokens — ellers får mørk modus mørk-aksent på Leaflets hvite popup (dårlig kontrast) */
.chapmap .leaflet-popup-content-wrapper,.chapmap .leaflet-popup-tip,
.chctx-map .leaflet-popup-content-wrapper,.chctx-map .leaflet-popup-tip{background:var(--surface);color:var(--text)}
/* «Se kapitlet» på Ressurser-siden (P1 fase 3): bok-/kapittelvelger + kapittel-artikkel */
.chctx-cur{margin:0 0 6px}
.chctx-sec{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:16px 0 8px}
.chctx-books{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:6px}
.chctx-book{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 6px;font-size:13px;cursor:pointer;font-family:var(--reading);color:var(--text)}
.chctx-book:hover{border-color:var(--accent);color:var(--accent)}
.chctx-chaps{display:grid;grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:6px;margin-top:6px}
.chctx-ch{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:9px 0;font-size:14px;cursor:pointer;color:var(--text);font-variant-numeric:tabular-nums}
.chctx-ch:hover{border-color:var(--accent);color:var(--accent)}
.chctx-nav{display:flex;gap:10px;align-items:center;margin:0 0 14px;flex-wrap:wrap}
/* position:relative i basen er VIKTIG: uten den setter Leaflet inline position:relative
   på containeren (slår alle klasseregler) — og .map-big{position:fixed} ville aldri vinne */
.chctx-map{position:relative;height:min(56vh,460px);border:1px solid var(--border);border-radius:12px;overflow:hidden;z-index:0;margin:0 0 6px}
/* «Større kart»-modus (addExpandCtl): kartflaten løftes til et fast overlegg med luft rundt */
.chctx-map.map-big{position:fixed;inset:12px;height:auto;z-index:4000;border-radius:14px;box-shadow:0 18px 60px rgba(0,0,0,.45)}
html.map-big-lock,html.map-big-lock body{overflow:hidden}
/* modaler (vers-/stedskort) må ligge OVER storkart-overlegget (z 4000) — ellers åpner de seg bak */
html.map-big-lock .modal{z-index:4100}
.map-grow svg{vertical-align:middle}
.chctx-map .cmrefs{margin:4px 0 8px}
.chctx-map .cmref{color:var(--accent);margin-right:6px}
.chctx-map .cmopen{padding:5px 12px;font-size:12.5px}
.chctx-h{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:18px 0 8px}
.chctx-ev{border:1px solid var(--border);border-radius:10px;margin:0 0 8px;background:var(--surface)}
.chctx-ev summary{list-style:none;cursor:pointer;display:flex;gap:9px;align-items:baseline;padding:9px 12px;font-family:var(--reading);font-size:14.5px}
.chctx-ev summary::-webkit-details-marker{display:none}
.chctx-ev summary::before{content:"▸";font-size:10px;color:var(--faint);transition:transform .15s;align-self:center}
.chctx-ev[open]>summary::before{transform:rotate(90deg)}
.chctx-ev .yr{font-size:11.5px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap}
.chctx-ev .dur{margin-left:auto;font-size:11.5px;color:var(--faint);white-space:nowrap}
.chctx-ev-body{padding:0 12px 12px;font-size:14px}
.chctx-ev-ent{margin:8px 0;font-size:13.5px}
.chctx-imgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.chctx-img{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface);cursor:pointer;padding:0;text-align:left}
.chctx-img img{width:100%;height:96px;object-fit:cover;display:block}
.chctx-img .cap{font-size:11.5px;color:var(--muted);padding:6px 8px;display:block}
.chctx-img:hover{border-color:var(--accent)}
/* «Bibelske reiser» (P1 fase 4): reise-velger + rute-kart + stoppliste */
.jrn-pick{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.jrn-btn{display:inline-flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);
  border-radius:10px;padding:8px 14px;font-size:13.5px;font-weight:600;cursor:pointer;color:var(--text)}
.jrn-btn .dot,.jrn-info .dot{width:11px;height:11px;border-radius:50%;flex:none}
.jrn-btn.on{box-shadow:0 1px 4px rgba(0,0,0,.10);font-weight:700}   /* border-color settes inline til reisens farge */
.jrn-ic{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;color:#fff;font-size:11.5px;
  font-weight:700;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.4);font-family:var(--ui)}
.jrn-info{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin:14px 0 0}
.jrn-info h2{font-family:var(--reading);font-size:18px;margin:0 0 2px;display:flex;align-items:center;gap:9px}
.jrn-yrs{font-family:var(--ui);font-size:12px;color:var(--faint);font-weight:400}
.jrn-ref{color:var(--faint);font-size:12.5px;margin:0 0 8px}
.jrn-desc{font-family:var(--reading);font-size:14.5px;line-height:1.55;margin:0 0 12px;max-width:75ch}
.jrn-stops{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:6px}
.jrn-stop{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;
  background:var(--surface);cursor:pointer;font-size:13px;text-align:left;color:var(--text)}
.jrn-stop:hover{border-color:var(--accent)}
.jrn-stop .n{flex:none;min-width:20px;height:20px;border-radius:10px;background:var(--surface);border:2px solid var(--border);
  display:grid;place-items:center;font-size:10.5px;font-weight:700;padding:0 3px;font-variant-numeric:tabular-nums}   /* farge/omriss settes inline (hvit-på-farge feiler kontrast) */
.jrn-ret{flex:none;display:inline-flex;color:var(--faint);margin:0 -2px}   /* gjenbesøk: egen ren retur-pil, ute av tall-sirkelen */
.jrn-ret svg{width:15px;height:15px}
/* DARE-berikelse på steds-kort: oldtidsnavn + lenke, lagt til async nederst */
.dare-line{margin:8px 0 0;padding-top:8px;border-top:1px dashed var(--border);font-size:12.5px}
.jrn-stop .nm{font-family:var(--reading);font-weight:600}
.jrn-stop .rf{margin-left:auto;color:var(--accent);font-size:11.5px;white-space:nowrap}
/* klikkbar skriftreferanse i tekst (notater/kommentar) */
.reflink{color:var(--accent);cursor:pointer;text-decoration:none;border-bottom:1px dotted var(--accent)}
.reflink:hover{background:var(--accent-soft)}
/* Statistikk-kort */
.stat-h{font-family:var(--reading);margin:0 0 12px;font-size:18px}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}
.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px 18px;text-align:center}
.stat-card.stat-nav{cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .05s}
.stat-card.stat-nav:hover{border-color:var(--accent);box-shadow:0 2px 10px rgba(0,0,0,.08)}
.stat-card.stat-nav:active{transform:translateY(1px)}
.stat-card.stat-nav:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.stat-num{font-family:var(--reading);font-size:34px;font-weight:700;color:var(--accent);line-height:1.1}
.stat-label{font-weight:600;margin-top:6px}
.stat-sub{font-size:12px;margin-top:3px}
/* Kryssreferanser: to kolonner (referanser venstre, åpnede vers høyre) */
.btn.ghost{background:transparent;border:1px solid var(--border-strong);color:var(--accent)}
.btn.ghost:hover{filter:none;background:var(--accent-soft)}
.tsk-cols{display:flex;gap:16px;align-items:flex-start}
.tsk-main{flex:1;min-width:0}
.tsk-side{flex:1;min-width:0;position:sticky;top:16px;max-height:calc(100vh - 96px);overflow:auto}
@media(max-width:780px){.tsk-cols{flex-direction:column}.tsk-side{position:static;max-height:none;width:100%}}
.tsk-actions{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
/* Referanselisten: forhåndsvisning av verset ved siden av referansen (#46). Teksten kuttes på
   én linje — hele verset får man ved å klikke, eller samlet via «Åpne alle». */
.xref-row{display:flex;gap:9px;align-items:baseline;border-radius:5px}
.xref-row:hover{background:var(--accent-soft)}
.xref-row .cref{display:inline;padding:3px 0;white-space:nowrap;flex:0 0 auto}
.xref-prev{font-family:var(--reading);font-size:var(--read-sm);color:var(--faint);line-height:1.45;
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:560px){ .xref-prev{display:none} }   /* smal skjerm: referansen alene, som før */
.tsk-side-head{display:flex;align-items:center;gap:10px;margin:0 0 12px}
.tsk-side-head h3{margin:0;font-family:var(--reading);font-size:1.12em}
.tsk-vlist{display:flex;flex-direction:column;gap:16px}
.tsk-vrow{font-family:var(--reading);font-size:var(--read-size);line-height:1.55}
.tsk-vrow .cref{display:inline;font-weight:700;margin-right:7px;white-space:nowrap}
.tsk-vtext{color:var(--text)}
/* «Åpnede vers»: referanse som overskrift, versene under m/ nummer i margen (som eksport-dokumentet) */
.tsk-vgrp{font-family:var(--reading);font-size:var(--read-size);line-height:1.55}
.tsk-vgrp .tsk-vref{display:block;font-weight:700;margin:0 0 4px;white-space:nowrap}
.tsk-vline{display:flex;gap:8px;margin:0 0 2px;color:var(--text)}
.tsk-vn{flex:0 0 auto;min-width:1.5em;text-align:right;color:var(--muted);font-size:.8em;
  font-variant-numeric:tabular-nums;padding-top:.25em;cursor:pointer;text-decoration:none}
.tsk-vn:hover{color:var(--accent);text-decoration:underline}
/* Søk: filterlinje (GT/NT/bøker) */
.sfilters{margin:0 0 14px}
.sfbtns{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sfbtns button{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:6px 12px;
  font-size:13px;font-weight:600;color:var(--muted);cursor:pointer}
.sfbtns button:hover{border-color:var(--border-strong)}
.sfbtns button.on{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-soft)}
.sfbtns .sf-toggle{margin-left:6px;font-weight:500}
.sf-count{margin-left:auto}
.sfbooks{margin-top:12px;border:1px solid var(--border);border-radius:10px;padding:12px 14px;background:var(--surface)}
.sf-group{margin-bottom:10px}
.sf-group:last-child{margin-bottom:0}
.sf-gtitle{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0 0 7px}
.sf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:4px 10px}
.sf-chk{display:flex;align-items:center;gap:7px;font-size:13px;cursor:pointer;padding:2px 0}
.sf-chk input{accent-color:var(--accent)}
.detail-head{display:flex;align-items:center;gap:8px;justify-content:flex-start;margin-bottom:6px}
.detail-head h2{margin-right:auto !important}
/* Oversettelse: norsk-blokk (stablet over original på Studie) / kolonner (Ordbok/Ressurser) */
.xlate-out{background:var(--accent-soft);border:1px solid var(--accent-soft);border-left:3px solid var(--accent);
  border-radius:0 10px 10px 0;padding:10px 14px;margin:0 0 14px}
.xlate-lbl{display:flex;align-items:center;gap:6px;color:var(--accent);font-family:var(--ui);
  font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;margin:0 0 6px}
.xlate-lbl .icon{width:13px;height:13px}
.xlate-cols{display:flex;gap:16px;align-items:flex-start}
.xlate-cols>.xlate-orig,.xlate-cols>.xlate-out{flex:1;min-width:0;margin:0}
.xlate-err{background:#fcebea;border:1px solid #e7b9b4;color:#b23b30;border-radius:8px;
  padding:8px 11px;margin:0 0 12px;font-family:var(--ui);font-size:12.5px}
[data-theme="dark"] .xlate-err{background:#3a201e;border-color:#5e302b;color:#e7a59c}
/* Laste-boks for KI-arbeid (oversettelse + sammendrag). Bevisst SAMME form som .xlate-out
   der svaret lander — accent-flate, venstre stripe, samme radius — så boksen «blir til»
   resultatet i stedet for å forsvinne og bli erstattet. Snurrehjul fordi en pulserende
   tekstlinje alene var for lett å overse. */
.ai-busy{display:flex;align-items:center;gap:10px;background:var(--accent-soft);
  border:1px solid var(--accent-soft);border-left:3px solid var(--accent);
  border-radius:0 10px 10px 0;padding:11px 14px;margin:0 0 14px;color:var(--accent);
  font-family:var(--ui);font-size:12.5px;font-weight:600;letter-spacing:.02em}
.ai-busy-spin{width:15px;height:15px;flex:none;border-radius:50%;
  border:2px solid var(--accent);border-top-color:transparent;
  animation:hsbSpin .8s linear infinite}
@keyframes hsbSpin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.ai-busy-spin{animation:none;border-top-color:var(--accent);opacity:.45}}
@media(max-width:640px){.xlate-cols{flex-direction:column;gap:12px}}
/* Dokumenter-lista (Ressurser): nedlastbare rader */
.doc-row{display:flex;align-items:center;gap:12px;padding:13px 10px;border-bottom:1px solid var(--border);text-decoration:none;color:var(--text);border-radius:9px}
.doc-row:hover{background:var(--bg)}
.doc-ic{color:var(--accent);flex:0 0 auto;display:flex}
.doc-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.doc-meta b{font-family:var(--reading);font-size:15.5px}
.doc-size{flex:0 0 auto;font-size:12px;white-space:nowrap}
/* Admin → Medier: bilde-rutenett med valg + rediger */
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.mtile{position:relative;margin:0;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface)}
.mtile.on{outline:2px solid var(--accent)}
.mtile img{width:100%;height:110px;object-fit:cover;display:block;background:var(--bg)}
.mtile figcaption{font-size:11.5px;padding:5px 7px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mtile .mchk{position:absolute;top:6px;left:6px;width:18px;height:18px;cursor:pointer}
.mtile .medit{position:absolute;top:4px;right:4px;border:0;background:rgba(255,255,255,.92);border-radius:7px;padding:3px 8px;cursor:pointer;font-size:13px}

/* Studieassistenten: modellens EGNE ord, utenfor kildene dine (systemregel 7 i /api/ai).
   Dempet og punktert understrek — leseren skal se skillet mellom «dette står i verket ditt»
   og «dette vet assistenten selv» uten at teksten brekker opp. */
.aiAllmenn{color:var(--muted);border-bottom:1px dotted var(--border-strong)}
/* Assistentens kort: samme rolige uttrykk som .empty, men UTEN hsbPulse — pulsen er
   forbeholdt laste-tilstander, og et krisekort som blinker er det motsatte av ro. */
/* Assistentens SVAR er brødtekst — samme font og størrelse som leseren. Linjehøyden er
   .commentary p sin 1.62, ikke .reader sin 1.6: nøyaktig samme funksjon (aiSkrivTekst)
   rendrer også inn i kommentarpanelet, og de to gjengivelsene av ETT svar skal være like.
   Alt appen skriver RUNDT svaret (dock, chips, oppgaveliste) forblir 14px UI — de er
   søsken av .aiSvar, ikke barn, så de trenger ingen :not()-vakter. */
.aiSvar{font-family:var(--reading);font-size:var(--read-size);line-height:1.62}
/* .aiKort er hylsteret rundt status-, feil- og krisekort — KROM, ikke brødtekst, og
   beholder derfor fast størrelse. Å la det følge --read-xs så riktig ut, men gjorde to
   ting galt: ved 16 og 17 px ble kortet MINDRE enn de 13 px det var (0,74 × 16 = 11,8),
   og barna inne i kortet (.gloss, detaljlinjer) er faste px, så ved 30 px sto 22 px tekst
   rett over 13 px tekst i samme kort. Krisekortets egne lesetekster settes i stedet
   eksplisitt til --read-size der de bygges, siden DE er innholdet brukeren skal lese. */
.aiKort{color:var(--faint);padding:30px 0;font-size:13px}
/* Klikkbart kildekort (åpner verket i kommentar-panelet). Aksentfarge + pil er den
   PERMANENTE affordansen — hover alene er usynlig på mobil, og radene så ut som ren
   tekst til man tilfeldigvis pekte på dem. Ikke-klikkbare kilder forblir dempet tekst. */
.aiKilde{display:block;width:100%;text-align:left;padding:2px 0;border:0;background:transparent;color:var(--accent);font:inherit;cursor:pointer}
.aiKilde::after{content:" ›"}
.aiKilde:hover,.aiKilde:focus-visible{text-decoration:underline}
/* Emne-chips i assistenten (forslag fra verseTopics) */
.aiEmne{font-size:11.5px;padding:3px 9px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--muted);cursor:pointer}
.aiEmne:hover,.aiEmne:focus-visible{color:var(--text);border-color:var(--border-strong)}
/* Kun «Tenker …»-kortet pulserer — det er panelets ene laste-tilstand */
.aiPuls{animation:hsbPulse 1.6s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.aiPuls{animation:none}}

/* ── Studieassistenten: kommando-mønsteret ──────────────────────────────────
   Ett felt er hovedinngangen, oppgavene er en liste under det. Etter et svar
   dokkes feltet i bunnen og listen legger seg bak «⋯» — svaret er hovedsaken,
   kontrollene trekker seg tilbake. */
.aiCmdWrap{position:relative;display:flex;align-items:center;margin:0 0 9px}
/* Hvilekant er --border-strong, ikke accent: husets regel er at accent på et skrivefelt
   BETYR fokus. Et felt som alltid ser aktivt ut, sier ingenting når det faktisk er det. */
.aiCmd{flex:1;width:100%;font:inherit;font-size:13px;padding:9px 34px 9px 12px;
  border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);color:inherit}
.aiCmd:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}
.aiCmdKey{position:absolute;right:11px;font-size:11px;color:var(--faint);pointer-events:none}
.aiListe{display:flex;flex-direction:column}
.aiRad{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:8px 4px;
  border:0;border-bottom:1px solid var(--border);background:transparent;color:inherit;
  font:inherit;font-size:13px;cursor:pointer}
.aiRad:last-child{border-bottom:0}
.aiRad:hover,.aiRad:focus-visible{background:var(--accent-soft)}
.aiRad.pri .aiRadNavn{color:var(--accent);font-weight:600}
.aiRadIk{flex:none;width:21px;height:21px;border-radius:6px;background:var(--accent-soft);
  color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:11px}
.aiRadNavn{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aiRadSub{flex:0 1 auto;min-width:0;margin-left:auto;padding-left:8px;color:var(--faint);
  font-size:11px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aiRadTom{color:var(--faint);font-size:12.5px;padding:9px 4px}
.aiEmnerLbl{font-size:11.5px;color:var(--faint);margin:9px 0 5px}
/* merkelapp over svaret — hvilken oppgave ga dette */
.aiMerke{display:inline-flex;align-items:center;gap:5px;background:var(--accent-soft);
  color:var(--accent);border-radius:7px;padding:3px 9px;font-size:11px;font-weight:600;
  letter-spacing:.02em;margin:0 0 10px}
/* dokket felt i bunnen av svaret */
/* Docken må være LAV: et sticky-element høyere enn scrollporten kan ikke rulles fram, og
   med menyen inni ble toppraden uoppnåelig i et lavt panel. Menyen er derfor en popover
   som åpner OPPOVER, utenfor docken sin egen høyde. */
/* BUNN-LUFTEN GIS BORT TIL DOCKEN — den skal ikke dekkes.
   En sticky dock parkerer på forelderens INNHOLDSBOKS, ikke padding-boksen. Med
   .pbody{padding:14px 16px} ble docken derfor stående 14 px for høyt, og de pikslene
   var ikke tomme: de var et levende vindu ned på svarteksten som scrollet forbi under
   feltet. På mobil så det ut som en avkuttet tekstlinje klemt mellom skrivefeltet og
   fanelinja.
   margin-bottom:-14px sto her som et forsøk på å trekke docken ned i paddingen. Det
   virker ikke — negativ margin flytter ikke sticky-linja, den fjerner bare rullehøyde.
   Gjeninnfør den ikke.
   Løsningen er å fjerne luften der docken står, i stedet for å male over den eller nå
   ned i den med en negativ inset: da finnes stripen ikke, og ingen verdi her må holdes
   i takt med .pbody sin padding. Docken bærer selv de 14 pikslene som luft under feltet.
   :has(> .aiDock) er bærende: uten dock — startskjermen, krisekort, feilkort — skal
   .pbody beholde sin egen bunn-luft som før. */
[data-panel="ai"] .pbody:has(> .aiDock){padding-bottom:0}
.aiDock{position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--border);
  padding:9px 0 14px;margin:14px 0 0}
.aiDockRad{display:flex;align-items:center;gap:7px}
.aiDockRad .aiCmd{padding-right:12px}
.aiDockMer,.aiDockSend{flex:none;width:32px;height:32px;border:1px solid var(--border-strong);
  border-radius:9px;background:transparent;color:var(--accent);cursor:pointer;font-size:14px;
  display:flex;align-items:center;justify-content:center}
.aiDockMer:hover,.aiDockSend:hover{background:var(--bg)}
.aiDockMeny{position:absolute;left:0;right:0;bottom:100%;margin:0 0 6px;
  border:1px solid var(--border-strong);border-radius:10px;padding:2px 9px;
  background:var(--surface);box-shadow:0 -4px 14px rgba(0,0,0,.09);z-index:3}
[data-theme="dark"] .aiDockMeny{box-shadow:0 -4px 14px rgba(0,0,0,.4)}
.aiDockMeny[hidden]{display:none}
/* knappene skal nå 44 px touch-mål; feltet blir 16px/≈40px høyt på mobil */
.aiDockMer,.aiDockSend{min-height:36px}
@media(max-width:880px){.aiDockMer,.aiDockSend{width:38px;height:40px}}
/* Krysset i assistent-panelet er en DESKTOP-affordans (lukk kolonnen). På mobil ER panelet
   en fane i tabbaren — der lukker det ingenting brukeren har bedt om, og leses som «lukk
   dialogen». Samme grunn som at de andre panelene ikke har den på mobil. */
@media(max-width:880px),(max-height:540px){[data-panel="ai"] .phead #aiClose{display:none}}
/* Notat-utkastets forbehold til forfatteren — leses før lagring, følger aldri med i notatet */
.aiForbehold{margin:12px 0 0;padding:9px 12px;border-left:3px solid var(--accent);
  background:var(--accent-soft);border-radius:0 8px 8px 0;font-size:12px;color:var(--text)}

/* ---- flervers-notat (Ray #29): spenn-tone i leseren + dempet penn + panelets binde-rad ---- */
/* Flervers-notat: KUN ikonet markerer spennet (ingen versbakgrunn — Kjetils valg).
   .verse .edit.span må slå .verse .edit.on i spesifisitet, ellers dempes aldri dekkede vers. */
.verse .edit.span{opacity:.45}
.note-spanrow{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:4px 0 2px;font-size:12.5px;color:var(--muted)}
.note-spanrow[hidden]{display:none}   /* display:flex slår ellers [hidden] — repoets kjente felle */
.nbind-chip{border:1px solid var(--border);background:var(--surface);color:var(--muted);font:inherit;font-size:12px;font-weight:600;padding:3px 10px;border-radius:12px;cursor:pointer}
.nbind-chip.on{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}
/* arvet spenn-notat (dekket vers): stille lesekort over editoren — chip åpner ankerverset */
.note-inherit{margin:2px 0 8px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.note-inherit .ninh-body{margin-top:6px;font-size:13.5px;color:var(--text);max-height:45vh;overflow-y:auto;overflow-wrap:break-word}
.note-inherit .ninh-body:focus-visible{outline:2px solid var(--accent)}
.note-inherit .ninh-body:empty{display:none}
.note-inherit .ninh-body p{margin:.3em 0}
.nspan-ctl{display:inline-flex;align-items:center;gap:6px}
.nspan-ctl select{font:inherit;font-size:12.5px;padding:2px 6px;min-width:52px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text)}
