/* ===== v4: Bitcoin GIS name, no red header rule, glass controls, drill UI, doc nameplates ===== */
.site-header{border-bottom:1px solid var(--line)}
.lg-lnc{background:var(--navy);border-radius:50%;border:1.5px solid #fff;box-shadow:0 0 0 1px var(--line)}

/* breadcrumb */
.crumbs{position:absolute;top:16px;left:50%;transform:translateX(-50%);z-index:7;
  display:flex;align-items:center;gap:2px;padding:6px 12px;border-radius:999px;font-size:13.5px}
.crumbs[hidden]{display:none}
.crumbs button{border:none;background:none;font:inherit;cursor:pointer;color:var(--ink);
  padding:2px 7px;border-radius:999px;white-space:nowrap}
.crumbs button:hover{background:rgba(176,32,42,.10)}
.crumbs button.cur{color:var(--brick);font-weight:700}
.crumbs .sep{color:var(--grey)}

/* city labels at drill level 2 */
.city-label{font-family:var(--sans);font-size:12px;background:rgba(252,250,243,.92);
  border:1px solid rgba(176,32,42,.40);border-radius:999px;padding:2px 9px;color:var(--ink);
  white-space:nowrap;box-shadow:0 3px 10px rgba(38,36,30,.18);pointer-events:auto;cursor:pointer}
.city-label b{color:var(--brick);font-family:var(--mono);font-weight:700}

/* timeline bar redesign */
.timeline{border-radius:16px;padding:10px 16px;gap:12px}
.play-btn{width:37px;height:37px;flex:0 0 37px;background:var(--brick);border:none;color:#fff;
  font-size:14px;box-shadow:0 4px 12px rgba(176,32,42,.35)}
.play-btn:hover{background:#8F1A23;color:#fff}
.tl-year{font-size:22px}
.timeline input[type=range]{-webkit-appearance:none;appearance:none;height:5px;border-radius:3px;
  background:linear-gradient(90deg,#D9822B,#B0202A);outline:none;cursor:pointer}
.timeline input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:17px;height:17px;
  border-radius:50%;background:#FCFAF3;border:2.5px solid var(--brick);
  box-shadow:0 1px 6px rgba(38,36,30,.30);cursor:pointer}
.timeline input[type=range]::-moz-range-thumb{width:15px;height:15px;border-radius:50%;
  background:#FCFAF3;border:2.5px solid var(--brick);box-shadow:0 1px 6px rgba(38,36,30,.30);cursor:pointer}
.timeline input[type=range]::-moz-range-track{height:5px;border-radius:3px;
  background:linear-gradient(90deg,#D9822B,#B0202A)}

/* maplibre controls: same glass language */
.maplibregl-ctrl-group{background:rgba(252,250,243,.82)!important;
  backdrop-filter:blur(12px) saturate(1.3);-webkit-backdrop-filter:blur(12px) saturate(1.3);
  border:1px solid rgba(176,32,42,.18);border-radius:12px!important;
  box-shadow:0 10px 26px rgba(38,36,30,.16)!important;overflow:hidden}
.maplibregl-ctrl-group button{background:transparent!important;width:32px!important;height:32px!important}
.maplibregl-ctrl-group button:hover{background:rgba(176,32,42,.08)!important}
.maplibregl-ctrl-scale{background:rgba(252,250,243,.78);backdrop-filter:blur(10px);
  border:1px solid rgba(138,132,116,.55);border-radius:6px;font-family:var(--mono);
  font-size:10.5px;color:#55503F;line-height:1.6;padding:0 5px}
.maplibregl-ctrl-attrib{background:rgba(252,250,243,.55)!important;backdrop-filter:blur(8px)}

/* dossier: dynamic rows */
.dossier{width:362px}
.dossier-rows dt{white-space:nowrap}
.dossier-rows dd{font-size:14px;text-align:right}

/* doc pages: academic-archive nameplate + rectangular frames */
.atlas-main{padding:16px 26px 6px;gap:12px}
.doc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.doc-title{font-family:var(--serif);font-size:32px;line-height:1.15;margin:0;font-weight:700}
.doc-title-en{font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:var(--grey);margin-top:4px}
.doc-head-note{font-family:var(--serif);font-size:13.5px;color:var(--grey);padding-bottom:4px}
.rule-thick{height:3px;background:var(--brick)}
.rule-thin{height:1px;background:var(--ink);opacity:.5;margin-top:2px}
.frame{background:#FCFAF3;border:1px solid #B7AD93;border-radius:2px;padding:14px 18px 12px;overflow:hidden}
.frame h3{font-family:var(--serif);font-size:18px;margin:0 0 6px}
.frame .fnum{color:var(--brick);margin-right:9px}
.frame p{font-size:13.5px;line-height:1.65;color:#3B382C;margin:0}
.essay-frame h2{font-family:var(--serif);font-size:20px;margin:0 0 8px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.essay-frame p{margin:0 0 8px}
.essay-frame p:last-child{margin-bottom:0}
.frame .method-list{list-style:none;padding:0;margin:0}
.frame .method-list li{border-bottom:1px dotted var(--line);padding:6px 0;margin:0;font-size:13.5px;line-height:1.6}
.frame .method-list li:last-child{border-bottom:none}
.frame .method-list strong{color:var(--brick)}
.about-wrap{width:min(800px,94vw);display:flex;flex-direction:column;gap:14px}
.quote-frame{text-align:center;padding:24px 20px 18px}
.quote-text{font-family:var(--serif);font-size:25px;line-height:1.6;font-weight:700;margin:0}
.quote-text .accent{color:var(--brick)}
.quote-note{color:var(--grey);font-size:12.5px;margin-top:9px}
@media (max-height:820px){
  .doc-title{font-size:26px}
  .frame p,.frame .method-list li{font-size:12.5px}
  .quote-text{font-size:21px}
}
@media (max-width:900px){
  .doc-head-note{display:none}
  .quote-text{font-size:20px}
  .crumbs{max-width:94vw;overflow:hidden}
  .dossier{width:auto}
}

/* v4.1 short-screen doc compaction */
@media (max-height:820px){
  .atlas-main{gap:9px;padding-top:10px}
  .frame{padding:11px 15px 9px}
  .frame .method-list li{padding:4px 0;line-height:1.5;font-size:12px}
  .essay-frame p{font-size:12.5px;line-height:1.55}
  .frame p{line-height:1.55}
  .essay-frame h2{font-size:18px;margin-bottom:6px}
}

/* ---------- v5: doc pages mirrored on bitcoinarche.com/about ---------- */
.doc-page { display: flex; flex-direction: column; }
.bawrap { max-width: 700px; width: 100%; margin: 0 auto; padding: 1.35rem 1.25rem 0; flex: 1 1 auto; min-height: 0; }
.doc-h1 { font-family: var(--serif); font-weight: 700; letter-spacing: .02em; font-size: 2rem; line-height: 1.4; margin: 0 0 .3em; }
.lede { font-size: 1.08rem; color: #6b655a; margin: 0; }
.doc-rule { border: 0; border-top: 1px dotted #b9b2a4; margin: 1.05rem 0; }
.doc-h2 { font-family: var(--serif); font-weight: 700; letter-spacing: .02em; font-size: 1.35rem; line-height: 1.5; margin: 1.05em 0 .45em; }
.bawrap p { font-size: 16px; line-height: 1.74; color: #26231c; margin: 0 0 .8em; }
.bawrap p strong, .bawrap li strong { color: var(--ink); font-weight: 600; }
.lead-ul { list-style: none; margin: 0 0 .4em; padding: 0; }
.lead-ul li { font-size: 16px; line-height: 1.74; color: #26231c; margin: 0 0 .45em; }
.doc-footer { border-top: 1px solid #b9b2a4; margin-top: 1rem; flex: 0 0 auto; }
.doc-footer .inner { max-width: 980px; margin: 0 auto; padding: .95rem 1.25rem; display: flex; justify-content: space-between; flex-wrap: wrap; gap: .4rem 2rem; font-size: .88rem; color: #6b655a; }
.doc-footer .brand-line { color: var(--ink); margin-bottom: .25em; }
.doc-footer ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 1.1rem; flex-wrap: wrap; }
.doc-footer a { color: #6b655a; text-decoration: none; }
.doc-footer a:hover { color: var(--brick); }

/* ---------- v5: smaller map chrome ---------- */
.maplibregl-ctrl-group button { width: 27px !important; height: 27px !important; }
.play-btn { width: 30px !important; height: 30px !important; flex: 0 0 30px !important; font-size: 11px !important; }
.tl-year { font-size: 16.5px !important; }
.timeline { padding: 7px 13px; gap: 10px; }

/* ---------- v5 doc pages: short screens ---------- */
@media (max-height: 880px) {
  .bawrap { padding-top: 1rem; }
  .bawrap p, .lead-ul li { font-size: 15px; line-height: 1.64; }
  .doc-h1 { font-size: 1.72rem; }
  .doc-h2 { font-size: 1.2rem; margin: .85em 0 .4em; }
  .doc-rule { margin: .8rem 0; }
  .lede { font-size: 1rem; }
}
@media (max-height: 740px) {
  .bawrap { padding-top: .7rem; }
  .bawrap p, .lead-ul li { font-size: 14px; line-height: 1.55; margin-bottom: .6em; }
  .doc-h1 { font-size: 1.5rem; }
  .doc-h2 { font-size: 1.1rem; margin: .7em 0 .35em; }
  .doc-footer .inner { padding: .6rem 1.25rem; }
}

/* ---------- v6: doc pages scroll (merged about, bitcoinarche-style) ---------- */
body.doc-page { height: auto; min-height: 100dvh; overflow-y: auto; display: block; }
.doc-page .doc-main { overflow: visible; display: block; }
.doc-page .bawrap { padding-bottom: 2.6rem; }
.doc-page .doc-footer { margin-top: 0; }

