/* =====================================================================
   BIBLE TOOLS — shared design system
   One stylesheet for: Cross-References · Atlas · Fulfilled · Twelve Tribes
   Recolor the whole suite from the tokens in :root below.
   ===================================================================== */
:root{
  --bg:#fff; --bg2:#fafafa; --panel:#fff; --panel2:#f1f1f1;
  --fg:#000; --muted:#1a1a1a; --faint:#333;
  --border:rgba(255,255,255,.10); --border2:rgba(255,255,255,.06);
  --accent:#c8a45c; --accent2:#e6c989; --accent-ink:#ff0000;
  --red:#aa0000; --red-bright:#e23b3b;       /* functional accent (map markers, etc.) */
  --ot:#5b8def; --nt:#e0884a;                 /* testament tags */
  --display:'Cormorant Garamond',Georgia,serif;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --maxw:1300px; --radius:12px;
  --bp-md:960px; --bp-sm:640px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;}
body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img{max-width:100%;display:block;}
a{color:var(--accent);text-decoration:none;}
a:hover{color:var(--accent2);}
h1,h2,h3,h4{font-family:var(--display);}

/* page-flow wrapper (document-style tools) */
body.doc{display:flex;flex-direction:column;min-height:100dvh;}
main{max-width:var(--maxw);margin:0 auto;width:100%;padding:32px 22px 72px;}

/* ---------- header + suite nav ---------- */
.site-head{position:sticky;top:0;z-index:60;background:rgba(12,14,19,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);}
.site-head .wrap{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;gap:14px;padding:11px 18px;}
.brand{font-family:var(--display);font-weight:700;font-size:21px;letter-spacing:.01em;display:flex;align-items:center;gap:9px;white-space:nowrap;color:var(--fg);flex:0 0 auto;}
.brand .mark{color:var(--accent);}
.nav{margin-left:auto;display:flex;gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.nav::-webkit-scrollbar{display:none;}
.nav a{font:600 13.5px/1 var(--sans);letter-spacing:.01em;color:var(--muted);padding:9px 11px;border-radius:8px;white-space:nowrap;}
.nav a:hover{background:rgba(255,255,255,.05);color:var(--fg);}
.nav a.active{color:var(--accent);}
.head-extra{margin-left:auto;color:var(--muted);font-size:13px;white-space:nowrap;flex:0 0 auto;}
.head-extra b{color:var(--accent);font-variant-numeric:tabular-nums;}

/* ---------- hero / intro ---------- */
.hero,.intro,.viz-intro{text-align:center;max-width:760px;margin:0 auto;}
.hero{padding:14px 0 22px;}
.hero h1,.intro h1,.viz-intro h1{font-weight:700;font-size:clamp(32px,6vw,54px);line-height:1.05;margin:0 0 12px;letter-spacing:.005em;}
.hero p.lede,.intro p,.viz-intro p{color:var(--muted);font-size:clamp(15px,2.2vw,18px);}
.kbd-count,.intro .count,.intro .countup{color:var(--accent);font-weight:600;font-variant-numeric:tabular-nums;}

/* ---------- buttons / inputs / chips ---------- */
.searchbar{display:flex;gap:10px;max-width:620px;margin:28px auto 6px;}
.searchbar input,.search input,input[type=text]{background:var(--bg2);border:1px solid var(--border);border-radius:11px;color:var(--fg);font:500 16px/1 var(--sans);padding:14px 16px;outline:none;transition:border-color .15s,box-shadow .15s;width:100%;}
.searchbar input::placeholder,.search input::placeholder{color:var(--faint);}
.searchbar input:focus,.search input:focus,input[type=text]:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(200,164,92,.18);}
.searchbar input{flex:1;font-size:17px;}
.searchbar button{background:var(--accent);color:var(--accent-ink);border:0;border-radius:11px;font:700 15px/1 var(--sans);padding:0 22px;cursor:pointer;letter-spacing:.02em;transition:background .15s;}
.searchbar button:hover{background:var(--accent2);}
.hint{text-align:center;color:var(--faint);font-size:13px;margin:0 0 8px;}

.legend{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin:22px 0 6px;}
.lchip{display:inline-flex;align-items:center;gap:8px;background:var(--bg2);border:1px solid var(--border);border-radius:20px;padding:7px 14px;font:600 13px/1 var(--sans);color:var(--fg);cursor:pointer;transition:opacity .15s,border-color .15s;user-select:none;}
.lchip .sw{width:11px;height:11px;border-radius:50%;flex:0 0 auto;}
.lchip.off{opacity:.34;}
.lchip:hover{border-color:var(--accent);}
.legend .sw{display:inline-block;width:13px;height:13px;border-radius:3px;margin-right:6px;vertical-align:middle;}

/* chips (popular verses) */
.chips{display:flex;flex-wrap:wrap;gap:8px;}
.chip{background:var(--bg2);border:1px solid var(--border);border-radius:8px;color:var(--fg);font:500 14px/1 var(--sans);padding:8px 12px;cursor:pointer;transition:border-color .15s,color .15s;}
.chip:hover{border-color:var(--accent);color:var(--accent);}

/* ---------- cards / panels / detail ---------- */
.viz-card,.diagram-wrap,.tree-wrap{background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:14px;margin:18px 0;}
.viz-card h2{font-weight:600;font-size:26px;margin:0 0 4px;}
.viz-card .sub{color:var(--muted);font-size:14px;margin:0 0 14px;}
.diagram-wrap,.tree-wrap{padding:10px;overflow:hidden;}

.detail{min-height:100px;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px 20px;margin:16px 0 0;}
.detail.empty{display:flex;align-items:center;justify-content:center;color:var(--faint);font-size:14px;text-align:center;min-height:96px;}
.detail .top{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;}
.detail h3{font-weight:700;font-size:28px;margin:0;}
.detail .badge{font:600 11px/1 var(--sans);letter-spacing:.05em;text-transform:uppercase;padding:5px 10px;border-radius:6px;color:#fff;align-self:flex-start;}
.detail .meaning{color:var(--accent);font-style:italic;font-family:var(--display);font-size:19px;}
.detail .refs{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:15px;margin-top:8px;}
.detail .refs .arrow{color:var(--faint);}
.detail .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 26px;margin-top:14px;}
.detail .f{font-size:14px;}
.detail .f .k{color:var(--faint);font-size:11px;text-transform:uppercase;letter-spacing:.06em;display:block;margin-bottom:2px;}
.detail .blessing{grid-column:1/-1;font-size:15px;line-height:1.6;border-left:3px solid var(--accent);padding-left:13px;color:#000;}
.detail .read{font-size:12.5px;color:var(--faint);}
.detail .read:hover{color:var(--accent);}

/* ---------- tables ---------- */
.tbl{width:100%;border-collapse:collapse;font-size:14px;}
.tbl th{text-align:left;color:var(--faint);font:600 11px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;padding:9px 10px;border-bottom:1px solid var(--border);}
.tbl td{padding:10px;border-bottom:1px solid var(--border2);}
.tbl tr{cursor:pointer;}
.tbl tbody tr:hover td{background:rgba(255,255,255,.03);}
.tbl tr.active td{background:rgba(200,164,92,.08);}
.tbl .mo{display:inline-flex;align-items:center;gap:7px;}
.tbl .mo .sw{width:9px;height:9px;border-radius:50%;}
.tbl .num{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted);}
.tbl .nm{font-weight:600;}

/* ---------- rows / lists (search results, atlas, prophecy list) ---------- */
.results{margin:26px auto 0;max-width:760px;}
.result-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;border-bottom:1px solid var(--border);padding-bottom:12px;margin-bottom:6px;flex-wrap:wrap;}
.result-head h2{font-weight:600;font-size:30px;margin:0;}
.result-head .meta{color:var(--muted);font-size:14px;}
.ref-row{display:flex;align-items:center;gap:14px;padding:11px 6px;border-bottom:1px solid var(--border2);}
.ref-row:hover{background:rgba(255,255,255,.025);}
.ref-link{flex:0 0 auto;min-width:150px;font:600 16px/1.3 var(--sans);color:var(--fg);cursor:pointer;background:none;border:0;padding:0;text-align:left;}
.ref-link:hover{color:var(--accent);}
.ref-bar-wrap{flex:1 1 auto;height:7px;background:rgba(255,255,255,.06);border-radius:4px;overflow:hidden;}
.ref-bar{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:4px;}
.ref-votes{flex:0 0 auto;width:56px;text-align:right;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums;}
.ref-read{flex:0 0 auto;color:var(--faint);font-size:13px;}
.ref-read:hover{color:var(--accent);}
.tag-ot,.tag-nt{display:inline-block;font-size:11px;font-weight:600;padding:2px 7px;border-radius:5px;margin-left:8px;vertical-align:middle;}
.tag-ot{background:rgba(91,141,239,.16);color:#9bbcff;}
.tag-nt{background:rgba(224,136,74,.16);color:#f0ab78;}
.empty{color:var(--muted);text-align:center;padding:34px;font-size:16px;}

.popular{margin:46px auto 0;max-width:860px;}
.popular h3{font-weight:600;font-size:24px;margin:0 0 4px;text-align:center;}
.pop-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:18px;}
.pop-col h4{font:600 13px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 12px;}

/* prophecy "every thread" list */
.lists{margin:48px 0 0;} .lists h2{font-weight:600;font-size:26px;text-align:center;margin:0 0 6px;}
.cat-block{margin:22px 0;}
.cat-block h4{display:flex;align-items:center;gap:9px;font:600 13px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;margin:0 0 10px;}
.cat-block h4 .sw{width:12px;height:12px;border-radius:50%;}
.rows{display:grid;grid-template-columns:1fr 1fr;gap:6px 22px;}
.prow{display:flex;align-items:center;gap:12px;padding:9px 10px;border-bottom:1px solid var(--border2);cursor:pointer;border-radius:6px;}
.prow:hover{background:rgba(255,255,255,.03);}
.prow.active{background:rgba(200,164,92,.08);}
.prow .ti{flex:1 1 auto;font-weight:600;font-size:14.5px;}
.prow .rf{flex:0 0 auto;color:var(--faint);font-size:12.5px;font-variant-numeric:tabular-nums;}

/* ---------- cross-ref visualization canvases ---------- */
.viz-canvas-wrap{position:relative;width:100%;overflow:hidden;border-radius:10px;background:#070a10;}
canvas{display:block;width:100%;}
.viz-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:14px 0 0;color:var(--muted);font-size:13px;}
.viz-controls input[type=range]{accent-color:var(--accent);}
.viz-progress{height:3px;background:var(--accent);width:0;transition:width .1s;border-radius:2px;}
.tooltip{position:fixed;pointer-events:none;background:#0a0d13;border:1px solid var(--border);border-radius:8px;padding:7px 10px;font:500 13px/1.4 var(--sans);color:var(--fg);z-index:200;opacity:0;transition:opacity .08s;box-shadow:0 8px 24px rgba(0,0,0,.5);max-width:240px;}

/* ---------- SVG diagrams (fulfilled bipartite + tribes tree) ---------- */
#diagram,#tree{display:block;width:100%;height:auto;}
.axis-label{fill:var(--faint);font:600 13px var(--sans);letter-spacing:.08em;text-transform:uppercase;}
.node{cursor:pointer;}
.node text{fill:var(--muted);font:500 11px var(--sans);}
.node:hover text{fill:var(--fg);}
.node .lbl{font:600 13px var(--sans);fill:var(--fg);}
.node .sub{font:500 10.5px var(--sans);fill:var(--muted);}
.jacob circle{fill:var(--accent);}
.jacob .lbl{fill:var(--fg);font-family:var(--display);font-weight:700;font-size:1.75rem;}
.link{fill:none;cursor:pointer;transition:opacity .15s,stroke-width .15s;}
.link:hover{stroke-width:3.2;}
svg.dim .link:not(.hot){opacity:.09;}
svg.dim .node:not(.hot){opacity:.28;}
.link.faded,.node.faded{opacity:.06;pointer-events:none;}

/* ---------- geo app layout ---------- */
body.app{height:100dvh;display:flex;flex-direction:column;overflow:hidden;}
.shell{flex:1 1 auto;display:flex;min-height:0;}
.side{flex:0 0 340px;display:flex;flex-direction:column;min-height:0;background:var(--panel2);border-right:1px solid var(--border);}
.search{padding:14px;border-bottom:1px solid var(--border);}
.search .filters{display:flex;gap:8px;margin-top:10px;}
.search select{flex:1;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--fg);font:500 13px/1 var(--sans);padding:9px 10px;outline:none;cursor:pointer;}
.search .meta{margin-top:9px;color:var(--faint);font-size:12px;}
.list{flex:1 1 auto;overflow-y:auto;min-height:0;}
.item{display:flex;align-items:center;gap:11px;padding:10px 14px;border-bottom:1px solid #1d1f27;cursor:pointer;}
.item:hover{background:rgba(255,255,255,.03);}
.item.active{background:rgba(200,164,92,.08);border-left:3px solid var(--accent);padding-left:11px;}
.item .dot{flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:var(--red);}
.item .nm{flex:1 1 auto;font-weight:600;font-size:14.5px;}
.item .ty{flex:0 0 auto;color:var(--faint);font-size:11.5px;text-transform:capitalize;}
.map-wrap{flex:1 1 auto;position:relative;min-width:0;}
#map{position:absolute;inset:0;background:#050505;}
.legend.map-legend{position:absolute;left:12px;bottom:24px;z-index:500;background:rgba(17,20,27,.92);border:1px solid var(--border);border-radius:9px;padding:10px 13px;font-size:12px;color:var(--muted);display:block;margin:0;text-align:left;}
.legend.map-legend b{color:var(--fg);font-weight:600;display:block;margin-bottom:6px;font-size:12.5px;}
.legend.map-legend .row{display:flex;align-items:center;gap:8px;margin:3px 0;}
.legend.map-legend .mk{width:13px;height:13px;border-radius:50%;}
.side-toggle{display:none;background:var(--accent);color:var(--accent-ink);border:0;border-radius:8px;font:600 13px/1 var(--sans);padding:9px 13px;cursor:pointer;align-items:center;gap:7px;}

/* leaflet dark overrides */
.leaflet-popup-content-wrapper{background:var(--panel);color:var(--fg);border:1px solid var(--border);border-radius:10px;box-shadow:0 14px 40px rgba(0,0,0,.7);}
.leaflet-popup-tip{background:var(--panel);border:1px solid var(--border);}
.leaflet-popup-content{margin:13px 15px;font-family:var(--sans);line-height:1.5;}
.leaflet-container a.leaflet-popup-close-button{color:var(--muted);}
.leaflet-bar a{background:var(--panel);color:var(--fg);border-color:var(--border);}
.leaflet-bar a:hover{background:#262b36;}
.leaflet-control-attribution{background:rgba(0,0,0,.7)!important;color:var(--faint)!important;}
.leaflet-control-attribution a{color:var(--muted)!important;}
.pop h3{font-weight:700;font-size:22px;margin:0 0 2px;color:var(--fg);}
.pop .sub{color:var(--muted);font-size:12.5px;text-transform:capitalize;margin:0 0 9px;}
.pop .conf{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;margin:0 0 10px;}
.pop .cbar{width:84px;height:6px;background:#333;border-radius:3px;overflow:hidden;}
.pop .cbar i{display:block;height:100%;background:linear-gradient(90deg,var(--red),var(--red-bright));}
.pop .vlabel{color:var(--faint);font-size:11px;text-transform:uppercase;letter-spacing:.07em;margin:8px 0 4px;}
.pop .verses{font-size:13px;color:#ccc;max-height:96px;overflow-y:auto;}
.pop .verses span{display:inline-block;margin:0 8px 3px 0;white-space:nowrap;}
.pop .more{color:var(--faint);font-size:12px;}
.pop .ext{display:inline-block;margin-top:10px;font-size:13px;font-weight:600;color:var(--accent);}
.pop .ext2{display:inline-block;margin:6px 0 0 12px;font-size:12px;color:var(--faint);}
.pop .ext2:hover{color:var(--accent);}

/* ---------- per-place detail pages ---------- */
.place{max-width:860px;margin:0 auto;padding:30px 22px 70px;}
.place h1{font-weight:700;font-size:clamp(32px,6vw,52px);margin:0 0 8px;}
.ptypes{color:var(--muted);font-size:14.5px;text-transform:capitalize;margin:0 0 20px;}
.psep{margin:0 9px;color:var(--faint);}
.pback{color:var(--fg);font-weight:600;font-size:13px;margin-right:16px;flex:0 0 auto;}
.pback:hover{color:var(--accent);}
.pmap{height:420px;border-radius:12px;overflow:hidden;border:1px solid var(--border);background:#050505;}
.pcands,.pverses{margin:30px 0 0;}
.pcands h2,.pverses h2{font-weight:600;font-size:22px;margin:0 0 12px;}
.clist{list-style:none;padding:0;margin:0;}
.clist li{display:flex;align-items:center;gap:14px;padding:9px 12px;border:1px solid var(--border);border-radius:8px;margin-bottom:7px;background:var(--panel2);flex-wrap:wrap;}
.clist .cn{flex:1 1 auto;font-weight:600;}
.clist .cs{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px;}
.clist .cc{color:var(--faint);font-size:12.5px;font-variant-numeric:tabular-nums;}
.clist .cbest{background:var(--red);color:#fff;font-size:11px;font-weight:600;padding:3px 8px;border-radius:5px;}
.vlist{display:flex;flex-wrap:wrap;gap:6px 8px;}
.vlist a{background:var(--panel2);border:1px solid var(--border);border-radius:6px;padding:5px 9px;font-size:13px;color:var(--fg);white-space:nowrap;}
.vlist a:hover{border-color:var(--accent);color:var(--accent);}
.pattr{margin:34px 0 0;color:var(--faint);font-size:13px;border-top:1px solid var(--border);padding-top:18px;}

/* ---------- about / footer ---------- */
.about{margin:54px auto 0;max-width:780px;color:var(--muted);font-size:14.5px;line-height:1.7;border-top:1px solid var(--border);padding-top:26px;}
.about h3{color:var(--fg);font-weight:600;font-size:22px;margin:0 0 10px;}
.site-foot,.foot{border-top:1px solid var(--border);color:var(--faint);font-size:13px;text-align:center;padding:24px;}
.site-foot a,.foot a{color:var(--muted);}

/* ---------- hub landing ---------- */
.hub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:34px 0 0;}
.hub-card{display:block;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:24px;transition:border-color .15s,transform .15s,background .15s;}
.hub-card:hover{border-color:var(--accent);transform:translateY(-2px);background:var(--panel);}
.hub-card .hc-mark{font-size:26px;color:var(--accent);}
.hub-card h3{font-weight:700;font-size:25px;margin:10px 0 6px;color:var(--fg);}
.hub-card p{color:var(--muted);font-size:14.5px;margin:0;}
.hub-card .go{display:inline-block;margin-top:14px;color:var(--accent);font-weight:600;font-size:14px;}

/* ---------- loading ---------- */
.loading{position:fixed;inset:0;background:var(--bg);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;z-index:900;}
.loading.hide{display:none;}
.spinner{width:38px;height:38px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;}
.loading p{color:var(--muted);font-size:14px;margin:0;}
@keyframes spin{to{transform:rotate(360deg);}}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width:980px){
  .hub-grid{grid-template-columns:1fr;}
}
@media (max-width:760px){
  main{padding:24px 16px 60px;}
  .pop-cols{grid-template-columns:1fr;gap:22px;}
  .rows{grid-template-columns:1fr;}
  .tbl .hide-sm{display:none;}
  /* geo: collapse sidebar into a slide-over */
  .shell{position:relative;}
  .side{position:absolute;inset:0 auto 0 0;width:86%;max-width:330px;z-index:30;transform:translateX(-100%);transition:transform .2s;box-shadow:0 0 40px rgba(0,0,0,.6);}
  .side.open{transform:translateX(0);}
  .side-toggle{display:inline-flex;}
  .head-extra{display:none;}
  /* wide diagrams: scroll horizontally instead of shrinking to illegibility */
  .diagram-wrap,.tree-wrap{overflow-x:auto;}
  .diagram-wrap>svg{min-width:600px;}
  .tree-wrap>svg{min-width:640px;}
}
@media (max-width:600px){
  body{font-size:15px;}
  .site-head .wrap{padding:10px 14px;gap:10px;}
  .brand{font-size:18px;}
  .nav a{padding:8px 9px;font-size:13px;}
  .searchbar{flex-direction:column;}
  .searchbar button{padding:13px;}
  .detail .grid{grid-template-columns:1fr;}
  .result-head h2{font-size:24px;}
  .pmap{height:320px;}
  .ref-link{min-width:120px;font-size:15px;}
  .clist li{gap:8px;}
}
/* coarse-pointer niceties */
@media (hover:none){
  .hub-card:hover{transform:none;}
}

/* =====================================================================
   WORDPRESS EMBED (shortcodes) — tools rendered inside a themed page
   ===================================================================== */
.bt-embed{position:relative;background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:16px;line-height:1.55;border:1px solid var(--border);border-radius:14px;overflow:hidden;}
.bt-embed *{box-sizing:border-box;}
.bt-embed button{font-family:inherit;}
.bt-embed h1,.bt-embed h2,.bt-embed h3,.bt-embed h4{font-family:var(--display);padding:10px;color:var(--fg);margin:0 auto;}
.bt-embed ul{list-style:none;margin:0;padding:0;}
.bt-embed a{box-shadow:none;}
.bt-embed .loading{position:absolute;}
.bt-doc{padding:26px 22px 36px;}
.bt-doc>.hero,.bt-doc>.intro,.bt-doc>.viz-intro{margin-top:4px;}
.bt-atlas{display:flex;flex-direction:column;height:var(--bt-h,78vh);}
.bt-atlas .bt-atlasbar{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:8px 12px;border-bottom:1px solid var(--border);}
.bt-atlas .shell{flex:1 1 auto;min-height:0;}
.bt-atlas .side-toggle{display:none;}
.bt-atlas .head-extra{margin-left:auto;}
@media(max-width:760px){ .bt-atlas .side-toggle{display:inline-flex;} }

/* =====================================================================
   BIBLE DATA DASHBOARD
   ===================================================================== */
.bt-selector{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px 0 4px;}
.bt-selector select{background:var(--bg2);border:1px solid var(--border);border-radius:9px;color:var(--fg);font:600 14px/1 var(--sans);padding:10px 12px;outline:none;cursor:pointer;}
.bt-selector select:focus{border-color:var(--accent);}
.bt-selector .navbtn{background:var(--bg2);border:1px solid var(--border);border-radius:9px;color:var(--fg);padding:10px 14px;cursor:pointer;font:600 15px/1 var(--sans);}
.bt-selector .navbtn:hover{border-color:var(--accent);color:var(--accent);}
.bt-chaptitle{font-family:var(--display);font-weight:700;font-size:clamp(28px,5vw,42px);margin:8px 0 2px;}
.bt-summary{color:var(--muted);font-size:14px;margin-bottom:14px;}
.bt-dash-map{height:320px;border-radius:12px;overflow:hidden;border:1px solid var(--border);background:#050505;margin-bottom:18px;}
.bt-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.bt-col{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:14px 16px;}
.bt-col h3{font-weight:600;font-size:18px;margin:0 0 10px;display:flex;align-items:baseline;gap:8px;}
.bt-col h3 .cnt{color:var(--faint);font-size:13px;font-weight:500;}
.bt-elist{list-style:none;margin:0;padding:0;max-height:360px;overflow-y:auto;}
.bt-elist li{padding:8px 9px;border-radius:7px;cursor:pointer;display:flex;justify-content:space-between;gap:10px;align-items:baseline;}
.bt-elist li:hover{background:rgba(255,255,255,.05);}
.bt-elist .en{font-weight:600;font-size:14.5px;}
.bt-elist .em{color:var(--faint);font-size:12px;white-space:nowrap;}
.bt-empty{color:var(--faint);font-size:13px;cursor:default;}
.bt-elist .bt-empty:hover{background:none;}
.bt-modal{position:fixed;inset:0;background:rgba(0,0,0,.62);display:none;align-items:center;justify-content:center;z-index:1000;padding:20px;}
.bt-modal.open{display:flex;}
.bt-modal-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;max-width:540px;width:100%;max-height:84vh;overflow-y:auto;padding:24px;position:relative;box-shadow:0 24px 70px rgba(0,0,0,.6);}
.bt-modal-close{position:absolute;top:10px;right:14px;background:none;border:0;color:var(--muted);font-size:24px;cursor:pointer;line-height:1;}
.bt-modal-close:hover{color:var(--accent);}
.bt-modal-card h3{font-weight:700;font-size:26px;margin:0 0 2px;}
.bt-modal-card .sub{color:var(--muted);font-size:13px;text-transform:capitalize;margin:0 0 12px;}
.bt-rel{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;}
.bt-rel .chip2{background:var(--bg2);border:1px solid var(--border);border-radius:7px;padding:4px 9px;font-size:13px;color:var(--fg);cursor:pointer;}
.bt-rel .chip2:hover{border-color:var(--accent);color:var(--accent);}
.bt-field{margin:11px 0;}
.bt-field .k{color:var(--faint);font-size:11px;text-transform:uppercase;letter-spacing:.06em;display:block;margin-bottom:4px;}
.bt-dict{font-size:14px;line-height:1.6;color:#d9d4c7;border-left:3px solid var(--accent);padding-left:12px;}
@media(max-width:820px){ .bt-cols{grid-template-columns:1fr;} }
