@font-face{font-family:"Source Serif 4";src:url(fonts/source-serif-4-normal-latin.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:"Source Serif 4";src:url(fonts/source-serif-4-normal-latin-ext.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap;unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Serif 4";src:url(fonts/source-serif-4-italic-latin.woff2) format("woff2");font-weight:200 900;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F}
@font-face{font-family:"Source Serif 4";src:url(fonts/source-serif-4-italic-latin-ext.woff2) format("woff2");font-weight:200 900;font-style:italic;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:"IBM Plex Sans";src:url(fonts/IBMPlexSans-latin.woff2) format("woff2");font-weight:100 700;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2212}
@font-face{font-family:"IBM Plex Sans";src:url(fonts/IBMPlexSans-latin-ext.woff2) format("woff2");font-weight:100 700;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF}

:root{
  --bg:#eeece6;--paper:#f6f4ef;--card:#fbfaf7;--text:#15181b;--muted:#4c535a;--soft:#6a7178;--rule:#d3cfc5;--rule-soft:#e2ded5;
  --accent:#a62c6c;--accent-ink:#8c1f59;--focus:#0b57b0;--btn-ink:#fff;
  --micro:#b5761a;--ars:#18797a;--chem:#5d5aa0;--ind:#9aa0a6;--axis:#c9c4b9;--axis-t:#6a7178;--end:#8c1f59;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;--sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--top:46px;color-scheme:light
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#111416;--paper:#171b1e;--card:#1c2124;--text:#e9e6df;--muted:#bab6ad;--soft:#9b978f;--rule:#2f363b;--rule-soft:#262c30;--accent:#e86aa5;--accent-ink:#f08cba;--focus:#8ab8ff;--btn-ink:#1a0711;--micro:#e2a646;--ars:#4fbab4;--chem:#9b98e0;--ind:#6f767c;--axis:#3a4247;--axis-t:#9b978f;--end:#f08cba;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#111416;--paper:#171b1e;--card:#1c2124;--text:#e9e6df;--muted:#bab6ad;--soft:#9b978f;--rule:#2f363b;--rule-soft:#262c30;--accent:#e86aa5;--accent-ink:#f08cba;--focus:#8ab8ff;--btn-ink:#1a0711;--micro:#e2a646;--ars:#4fbab4;--chem:#9b98e0;--ind:#6f767c;--axis:#3a4247;--axis-t:#9b978f;--end:#f08cba;color-scheme:dark}

*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--top) + 14px)}
body{margin:0;background:var(--bg);color:var(--text);font:400 18px/1.62 var(--serif);overflow-x:hidden}
a{color:var(--accent-ink);text-underline-offset:2px}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
strong{font-weight:650}
.skip-link{position:absolute;left:-999px;top:8px;background:var(--card);color:var(--text);padding:8px 12px;z-index:60}.skip-link:focus{left:8px}

/* top bar: slim, page colours */
.topbar{position:sticky;top:0;z-index:40;height:var(--top);display:flex;align-items:center;gap:10px;padding:0 14px;padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));background:color-mix(in srgb,var(--bg) 94%,transparent);border-bottom:1px solid var(--rule-soft);font:500 14px/1 var(--sans)}
.brand{display:flex;align-items:center;gap:9px;color:var(--text);text-decoration:none;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.brand-mark{flex:none;width:8px;height:22px;border-radius:2px;background:var(--card);border:1px solid var(--rule);position:relative;overflow:hidden}
.brand-mark i{position:absolute;left:1px;right:1px;top:2px;height:6px;border-radius:1px;background:var(--accent)}
.topnav{display:flex;gap:16px;margin-left:14px}.topnav a{color:var(--muted);text-decoration:none;white-space:nowrap}.topnav a:hover{color:var(--text)}
.spacer{flex:1}
.chip{color:var(--muted);text-decoration:none;padding:6px 7px;border-radius:6px}.chip[aria-current="page"]{color:var(--text);background:var(--rule-soft)}
.icon-btn{flex:none;border:1px solid var(--rule);background:transparent;color:var(--text);border-radius:8px;width:34px;height:34px;display:grid;place-items:center;cursor:pointer}
:root[data-theme="dark"] .i-moon{display:none}:root[data-theme="light"] .i-sun{display:none}
@media (prefers-color-scheme:light){:root:not([data-theme]) .i-sun{display:none}}
@media (prefers-color-scheme:dark){:root:not([data-theme]) .i-moon{display:none}}
@media (max-width:1040px){.topnav{display:none}}
.progress{position:sticky;top:var(--top);z-index:39;height:2px;margin-bottom:-2px}
.progress i{display:block;height:2px;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#f1c6d9,var(--accent))}

/* rail */
.rail{position:fixed;right:10px;top:50%;transform:translateY(-50%);z-index:30;display:flex;flex-direction:column;gap:9px}
.rail-dot{position:relative;display:block;width:14px;height:14px}
.rail-dot .dot{position:absolute;left:4px;top:4px;width:6px;height:6px;border-radius:50%;background:var(--axis)}
.rail-dot[aria-current] .dot{background:var(--accent);transform:scale(1.4)}
.rail-label{position:absolute;right:20px;top:-3px;white-space:nowrap;font:500 12.5px var(--sans);background:var(--card);color:var(--text);border:1px solid var(--rule);border-radius:6px;padding:2px 7px;opacity:0;pointer-events:none;transition:opacity .15s}
.rail-dot:hover .rail-label,.rail-dot:focus-visible .rail-label{opacity:1}
@media (max-width:1300px){.rail{display:none}}

/* hero */
.hero{max-width:1240px;margin:0 auto;padding:30px 20px 10px;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);grid-template-areas:"text fig" "res fig";column-gap:40px;align-items:start}
.hero-text{grid-area:text}.res{grid-area:res}.hero-fig{grid-area:fig}
.kicker{font:600 12.5px/1.3 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--accent-ink);margin:0 0 10px}
h1{font:700 40px/1.1 var(--serif);margin:0 0 14px;letter-spacing:-.012em;text-wrap:balance}
.deck{font-size:19px;line-height:1.55;color:var(--muted);margin:0 0 18px}
.deck strong{color:var(--text)}
.shared-line{font:500 15px/1.4 var(--sans);background:var(--card);border-left:3px solid var(--accent);padding:8px 10px;border-radius:6px;margin:0 0 12px}
.finder label{display:block;font:600 14px var(--sans);color:var(--text);margin:0 0 6px}
.qrow{display:flex;gap:8px;flex-wrap:wrap;position:relative}
.qbox{flex:1 1 220px;min-width:0;position:relative}
.qbox input{width:100%;font:500 17px var(--sans);padding:11px 12px;border-radius:9px;border:1.5px solid var(--rule);background:var(--card);color:var(--text)}
.qbox input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}
.sug{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);margin:0;padding:4px;list-style:none;background:var(--card);border:1px solid var(--rule);border-radius:10px;box-shadow:0 14px 34px rgba(0,0,0,.14);max-height:min(60vh,380px);overflow:auto}
.sug li{display:grid;grid-template-columns:1fr auto;column-gap:8px;padding:8px 10px;border-radius:7px;cursor:pointer;font:500 15px/1.3 var(--sans)}
.sug li span{grid-column:1;color:var(--soft);font-size:13px}
.sug li .b{grid-column:2;grid-row:1/3;align-self:center;width:9px;height:9px;border-radius:50%}
.sug .b.hit{background:var(--accent)}.sug .b.none{background:transparent;border:1.5px solid var(--axis)}
.sug li[aria-selected],.sug li:hover{background:var(--rule-soft)}
.sug li.none{cursor:default;color:var(--soft)}
.btn{font:600 15px var(--sans);padding:10px 15px;border-radius:9px;border:1px solid var(--rule);background:var(--card);color:var(--text);cursor:pointer;min-height:44px}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--btn-ink)}
.btn.small{min-height:36px;padding:6px 11px;font-size:14px}
@media (pointer:coarse){.btn.small{min-height:44px}}
.find-note{font:400 14px/1.45 var(--sans);color:var(--soft);margin:8px 0 0}
.find-msg{font:500 14px var(--sans);color:var(--accent-ink);margin:4px 0 0}
.find-msg:empty{display:none}
.examples{font:500 14px/2 var(--sans);color:var(--soft);margin:6px 0 0}
.examples button{font:500 14px var(--sans);background:none;border:1px solid var(--rule);color:var(--text);border-radius:20px;padding:3px 11px;margin:0 4px 4px 0;cursor:pointer;min-height:34px}
.linkish{background:none;border:0;padding:0;font:inherit;color:var(--accent-ink);text-decoration:underline;text-underline-offset:2px;cursor:pointer;text-align:left}

/* hero figure: the Dobrogea ledger */
.hero-fig{margin:0;position:sticky;top:calc(var(--top) + 10px)}
.strip{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;margin:0 0 8px}
.strip-pads{display:flex;gap:3px;padding:3px;background:var(--card);border:1px solid var(--rule);border-radius:3px}
.strip-pads span{width:22px;height:14px;border-radius:2px}
.strip-lab{display:flex;gap:3px;grid-column:1;padding:0 3px}
.strip-lab b{width:22px;text-align:center;font:600 10.5px var(--sans);color:var(--soft)}
.strip p{grid-row:1/3;grid-column:2;margin:0;font:500 12.5px/1.35 var(--sans);color:var(--soft)}
.ledger-wrap{background:var(--paper);border:1px solid var(--rule-soft);border-radius:10px;padding:8px 10px 6px}
.ledger{display:block;width:100%;height:auto;font-family:var(--sans)}
.ax-y{stroke:var(--axis);stroke-width:1}.ax-m{stroke:var(--rule-soft);stroke-width:1}
.ax-end{stroke:var(--end);stroke-width:1.2;stroke-dasharray:2 3}
.ax-t{font-size:11px;fill:var(--axis-t)}
.ax-c{font-size:11.5px;font-weight:600;fill:var(--text)}
.lrow{cursor:pointer}.lhit{fill:transparent}
.lrow:hover .lhit{fill:color-mix(in srgb,var(--text) 6%,transparent)}
.lpre{fill:var(--soft)}
.ledger.has-sel .lrow:not(.sel) rect:not(.lhit){opacity:.28}
.lrow.sel .lhit{fill:color-mix(in srgb,var(--accent) 14%,transparent)}
.full-ledger.filtered .lrow:not(.on) rect:not(.lhit),.full-ledger.filtered .lrow:not(.on) circle{opacity:.12}
.hero-fig figcaption,.full-fig figcaption,.map-fig figcaption{font:400 14px/1.5 var(--sans);color:var(--soft);margin:8px 2px 0}
.ledger-wrap.tall{max-height:min(1200px,170vh);overflow:auto}

/* result card */
.res{margin:18px 0 0;outline:none}
.card{background:var(--card);border:1px solid var(--rule);border-radius:14px;padding:16px 18px 10px;box-shadow:0 12px 34px rgba(0,0,0,.08)}
.card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.card h2{font:700 28px/1.12 var(--serif);margin:0 0 8px}
.card .kicker{margin:0 0 4px}
.lines p{font:400 16px/1.5 var(--sans);margin:0 0 8px;color:var(--text)}
.card.st-none .lines p:first-child,.card.st-noinfo .lines p:first-child{border-left:3px solid var(--axis);padding-left:10px}
.card.st-hit .lines p:first-child,.card.st-amb .lines p:first-child,.card.st-commune .lines p:first-child{border-left:3px solid var(--accent);padding-left:10px}
.zone{border-top:1px solid var(--rule);margin-top:12px;padding-top:12px}
.zone.inst{border-top-style:dashed}
.zone header{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:12px}
.zk{flex-basis:100%;font:600 11.5px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--soft);margin:0}
.zone h3{font:700 20px/1.2 var(--serif);margin:2px 0 4px}
.zc{font:500 14px var(--sans);color:var(--muted);margin:0}.zc b{color:var(--text)}
.prows{list-style:none;margin:8px 0 0;padding:0}
.prow{padding:8px 0;border-top:1px solid var(--rule-soft)}
.prow:first-child{border-top:0}
.prow p{margin:0;font:400 15px/1.45 var(--sans)}
.pn{font-weight:600!important;display:flex;align-items:center;gap:7px}
.pn i,.map-pop i{display:inline-block;width:10px;height:10px;border-radius:2px;flex:none;margin-right:2px}
.pv{color:var(--text)}
.pp,.pm,.pc{color:var(--muted);font-size:14px!important}
.pp span,.pm span{color:var(--soft)}
.prow:not(.h) .pn{color:var(--muted)}
.mini{display:block;width:100%;max-width:340px;height:auto;margin:4px 0 2px}
.mini text{font:500 9px var(--sans);fill:var(--axis-t)}.m-ax{stroke:var(--rule)}.m-t{stroke:var(--axis)}.m-end{stroke:var(--end);stroke-dasharray:2 2}
.infant{font:500 14px var(--sans);margin:8px 0 0}
.zsrc{font:400 13px var(--sans);color:var(--soft);margin:8px 0 4px}
.near{border-top:1px solid var(--rule);margin-top:12px;padding-top:8px;font:400 14.5px/1.5 var(--sans)}
.near p{margin:0 0 4px;color:var(--muted)}.near ul{margin:0;padding-left:18px}
.card-share{margin-top:8px}

/* sections */
.sec{max-width:760px;margin:0 auto;padding:44px 20px 6px}
.sec.wide{max-width:1240px}
.sec.wide > p{max-width:760px}
.sec h2{font:700 29px/1.18 var(--serif);margin:0 0 14px;text-wrap:balance}
.sec h3{font:650 19px/1.3 var(--serif);margin:22px 0 6px}
.sec p{margin:0 0 15px}
.anchor{margin-left:8px;font:500 16px var(--sans);color:var(--axis);text-decoration:none;opacity:0}
h2:hover .anchor,.anchor:focus-visible{opacity:1}
.filters{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}
.fbtn{font:500 14px var(--sans);border:1px solid var(--rule);background:var(--card);color:var(--text);border-radius:20px;padding:6px 12px;cursor:pointer;min-height:36px}
.fbtn[aria-pressed="true"]{background:var(--text);color:var(--bg);border-color:var(--text)}
.key{display:flex;flex-wrap:wrap;gap:4px 16px;font:500 13px var(--sans);color:var(--soft);margin:0 0 8px}
.key i{display:inline-block;width:14px;height:6px;border-radius:2px;margin-right:6px;vertical-align:middle}
.full-fig,.map-fig{margin:0}
.map-wrap{position:relative;background:var(--paper);border:1px solid var(--rule-soft);border-radius:10px;padding:8px}
.map{display:block;width:100%;height:auto;touch-action:manipulation}
.cty{fill:var(--card);stroke:var(--rule);stroke-width:.8}
.cty.st-none,.cty.st-noinfo{fill:url(#hatch)}
.cty.st-old{fill:color-mix(in srgb,var(--card) 70%,var(--axis))}
.hatch{stroke:var(--axis);stroke-width:2}
.brd{fill:none;stroke:var(--soft);stroke-width:1.2}
.dot{stroke:var(--card);stroke-width:.8;cursor:pointer}
.map.has-sel .dot:not(.sel){opacity:.35}.dot.sel{stroke:var(--text);stroke-width:2}
.map-pop{position:absolute;z-index:15;background:var(--card);border:1px solid var(--rule);border-radius:10px;box-shadow:0 14px 34px rgba(0,0,0,.18);padding:10px 12px;font:400 14px/1.4 var(--sans)}
.map-pop h4{font:700 16px/1.2 var(--serif);margin:2px 22px 6px 0}.map-pop p{margin:0 0 6px}.map-pop .pp{color:var(--muted)}
.pop-x{position:absolute;right:6px;top:4px;border:0;background:none;font-size:22px;line-height:1;color:var(--soft);cursor:pointer;width:36px;height:36px}
.map-reset{position:absolute;right:12px;top:12px}
.tw{overflow-x:auto;margin:6px 0 8px}
.tbl{border-collapse:collapse;width:100%;font:400 14.5px/1.4 var(--sans)}
.tbl caption{text-align:left;font:500 13px var(--sans);color:var(--soft);padding:0 0 6px}
.tbl th,.tbl td{padding:7px 10px 7px 0;border-bottom:1px solid var(--rule-soft);text-align:left;vertical-align:top}
.tbl thead th{font-weight:600;color:var(--muted);border-bottom:1px solid var(--rule)}
.tbl tbody th{font-weight:500}
.tbl .n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.tbl tr.extra:not(.shown){display:none}
.btn.more{margin:4px 0 0}
ul.how,ul.src{padding-left:20px}ul.how li,ul.src li{margin:0 0 9px}
.share{margin:18px 0 6px}
.share-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.share-label{font:500 14px var(--sans);color:var(--soft);margin-right:4px}
.ic{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--rule-soft);background:transparent;color:var(--text);cursor:pointer;text-decoration:none}
.ic:hover,.ic:focus-visible{color:var(--accent-ink);border-color:var(--accent)}
@media (pointer:coarse){.ic{width:44px;height:44px}}
.share-msg{font:500 13px var(--sans);color:var(--soft);margin:4px 0 0;min-height:1em}
.site-footer{max-width:1240px;margin:50px auto 0;padding:22px 20px 40px;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:8px 22px;font:400 14px var(--sans);color:var(--soft)}
.site-footer a{color:var(--muted)}
.place-page main{max-width:760px;margin:0 auto;padding:30px 20px}.place-page img{max-width:100%;height:auto}

@media (max-width:900px){
  .hero{grid-template-columns:minmax(0,1fr);grid-template-areas:"text" "res" "fig";padding-top:22px}
  .hero-fig{position:static;margin-top:22px}
  h1{font-size:31px}
  .deck{font-size:17.5px}
  .sec h2{font-size:25px}
  .card h2{font-size:24px}
}
@media (max-width:600px){.ax-t{font-size:24px}.ax-c{font-size:24px}.mo1,.mo2,.mo4,.mo5,.mo7,.mo8,.mo10,.mo11{display:none}}
@media (max-width:420px){body{font-size:17px}h1{font-size:28px}.strip-pads span,.strip-lab b{width:18px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.topbar,.rail,.share,.progress,.finder{display:none}}
