/* Borders lab (human-geography/assets/tools/borders-lab.js). OWNED BY THIS TOOL ONLY (builder T4).
   Drawn at the page's pixel size so words stay 12 to 14 px. The border is
   always the darkest line; a relict border turns grey and dashed. Ardic and
   Bessan towns differ in color AND shape of fill (solid and ringed), and every
   color is named in the legend. */
.bl-svg,.bl-qfig,.bl-leg{--bl-land:#F3EEE2;--bl-edge:#9C9488;--bl-river:#6FA8C7;--bl-border:#7A3310;--bl-relict:#8A8478;--bl-town:#0B4F5A;--bl-ar:#0B4F5A;--bl-be:#C24E00;
  --bl-people:rgba(194,78,0,.10);--bl-ink:#1B1B1B;--bl-tag:#FFFFFF;--bl-sea:#DCEAF4;--bl-z1:#B9D7E8;--bl-z2:#CDE3EF;--bl-z3:#E3EFF6;--bl-z4:#F3F8FB;--bl-on:#0B4F5A;--bl-in:#0B6E4F;--bl-out:#C24E00;--bl-hot:#F8DCC8;
  --bl-hill:#D9CBB0;--bl-hill-e:#A89878;--bl-wood:#A9C98F;--bl-ar-a:rgba(11,79,90,.13);--bl-be-a:rgba(194,78,0,.11);--bl-rail:#3A3631;--bl-mtn:#B9A88A;--bl-sea2:#DCEAF4;}
:root[data-theme="dark"] .bl-svg,:root[data-theme="dark"] .bl-qfig,:root[data-theme="dark"] .bl-leg{--bl-land:#2A2F2E;--bl-edge:#6F766F;--bl-river:#4D86A6;--bl-border:#F2B48A;--bl-relict:#8D958F;--bl-town:#8CCFD9;--bl-ar:#8CCFD9;--bl-be:#FF9A5C;
  --bl-people:rgba(255,154,92,.12);--bl-ink:#F1F1EE;--bl-tag:#1B2021;--bl-sea:#1D3442;--bl-z1:#2D5A73;--bl-z2:#244B60;--bl-z3:#1C3C4D;--bl-z4:#16303D;--bl-on:#8CCFD9;--bl-in:#7BE0C1;--bl-out:#FF9A5C;--bl-hot:#4A3022;
  --bl-hill:#4A4538;--bl-hill-e:#6E6652;--bl-wood:#3C5A33;--bl-ar-a:rgba(140,207,217,.16);--bl-be-a:rgba(255,154,92,.14);--bl-rail:#E8E4DC;--bl-mtn:#6E6652;--bl-sea2:#17324A;}
.bl-card{display:grid;gap:14px;}
.bl-fig{display:flex;flex-direction:column;gap:8px;}
.bl-pic{position:relative;min-height:300px;height:min(62vh,560px);}
.ls-root .bl-fig{flex:1 1 auto;min-height:0;height:100%;}
.ls-root .bl-pic{flex:1 1 auto;height:auto;min-height:260px;}
.bl-svg{display:block;width:100%;height:100%;font-family:var(--font-ui);user-select:none;-webkit-user-select:none;}
.bl-pic .bl-svg{position:absolute;inset:0;}
.bl-realbox{position:absolute;inset:0;overflow:auto;}
.bl-realbox[hidden],.bl-svg[hidden]{display:none;}
.bl-real{margin:0;}
.bl-qfig{margin:0;} .bl-qfig .bl-svg{height:auto;}
.bl-grp[hidden]{display:none;}
.bl-grp{display:flex;flex-direction:column;gap:10px;}
.bl-yearrow{position:relative;}
.bl-yearrow .bt-slider>label{display:flex;align-items:center;min-height:44px;}
.bl-grp .bl-go{position:absolute;top:0;right:0;min-height:44px;padding-left:20px;padding-right:20px;}
.bl-ctl{display:flex;flex-direction:column;gap:12px;}
.bl-chips{display:flex;gap:8px;flex-wrap:wrap;}
.bl-lbl{margin:0 0 6px;font:700 var(--ls-s,14px)/1.3 var(--font-ui);color:var(--muted);}
.ls-root .bl-chips .tchip[aria-pressed=true],.bl-chips .tchip[aria-pressed=true]{background:var(--cink);color:var(--paper);}
.bl-tipslot{height:52px;}
.bl-land{fill:var(--bl-land);stroke:var(--bl-edge);stroke-width:1.2;}
.bl-river{fill:none;stroke:var(--bl-river);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;opacity:.85;}
.bl-people{fill:var(--bl-people);stroke:var(--bl-be);stroke-width:1.2;stroke-dasharray:5 4;}
.bl-border{fill:none;stroke:var(--bl-border);stroke-width:3.4;stroke-linejoin:round;stroke-linecap:round;}
.bl-border.is-relict{stroke:var(--bl-relict);stroke-dasharray:8 6;stroke-width:2.4;}
.bl-post{fill:var(--bl-relict);}
.bl-town{fill:var(--bl-town);stroke:var(--bl-tag);stroke-width:1.2;stroke-linejoin:round;}
.bl-town.is-ar{fill:var(--bl-ar);} .bl-town.is-be{fill:var(--bl-tag);stroke:var(--bl-be);stroke-width:2.2;}
.bl-hill{fill:var(--bl-hill);stroke:var(--bl-hill-e);stroke-width:1;stroke-linejoin:round;}
.bl-wood{fill:var(--bl-wood);}
.bl-river.is-wide{stroke-width:7;}
.bl-area.is-ar{fill:var(--bl-ar-a);} .bl-area.is-be{fill:var(--bl-be-a);}
.bl-home{stroke:var(--bl-ar);stroke-width:1.6;stroke-dasharray:6 4;}
.bl-cname{font:800 13.5px var(--font-ui);fill:var(--bl-ink);stroke:var(--bl-land);stroke-width:4px;paint-order:stroke;}
.bl-tag rect{fill:var(--bl-tag);stroke:var(--bl-ink);stroke-width:1.4;}
.bl-tag text{font:800 12.5px var(--font-ui);fill:var(--bl-ink);}
.bl-tag.is-line rect{stroke:var(--bl-border);stroke-width:2;}
.bl-axis{stroke:var(--bl-edge);stroke-width:2;}
.bl-span{fill:var(--bl-town);opacity:.35;}
.bl-ev{stroke:var(--bl-tag);stroke-width:2;} .bl-ev.is-town{fill:var(--bl-town);} .bl-ev.is-line{fill:var(--bl-border);} .bl-ev.is-join{fill:var(--bl-relict);}
.bl-yr{font:700 12px var(--font-ui);fill:var(--bl-ink);}
.bl-feat{font:italic 700 12px var(--font-ui);fill:var(--bl-river);stroke:var(--bl-land);stroke-width:3px;paint-order:stroke;}
.bl-feat.is-post{fill:var(--bl-relict);font-style:normal;}
.bl-svg .bl-feat:not([x]){display:none;}
.bl-now{stroke:var(--bl-ink);stroke-width:2;}
.bl-shape{fill:var(--bl-town);fill-opacity:.85;stroke:var(--bl-ink);stroke-width:1.2;vector-effect:non-scaling-stroke;}
.bl-shape.is-inner{fill:var(--bl-land);fill-opacity:1;}
.bl-prov{fill:var(--bl-land);stroke:var(--bl-edge);stroke-width:1.2;}
.bl-prov.is-hot{fill:var(--bl-hot);}
.bl-f path{stroke-width:3.6;stroke-linecap:round;fill:none;}
.bl-f.is-in path{stroke:var(--bl-in);} .bl-f.is-in .bl-fh{fill:var(--bl-in);stroke:none;}
.bl-f.is-out path{stroke:var(--bl-out);} .bl-f.is-out .bl-fh{fill:var(--bl-out);stroke:none;}
.bl-capital{fill:var(--bl-ink);}
.bl-sea{fill:var(--bl-sea);}
.bl-coast{fill:var(--bl-land);stroke:var(--bl-edge);stroke-width:1.4;}
.bl-zone{stroke:none;transition:fill .25s;} .bl-zone.z1{fill:var(--bl-z1);} .bl-zone.z2{fill:var(--bl-z2);} .bl-zone.z3{fill:var(--bl-z3);} .bl-zone.z4{fill:var(--bl-z4);}
.bl-zone.is-on{fill:var(--bl-hot);}
.bl-znum circle{fill:var(--bl-tag);stroke:var(--bl-ink);stroke-width:1.4;} .bl-znum text{font:800 13px var(--font-ui);fill:var(--bl-ink);}
.bl-lim{stroke:var(--bl-ink);stroke-width:1.4;stroke-dasharray:4 4;}
.bl-nm{font:700 12px var(--font-ui);fill:var(--bl-ink);}
.bl-cap2{font:600 12px var(--font-ui);fill:var(--bl-ink);}
.bl-ship path{fill:var(--bl-border);} .bl-ship rect{fill:var(--bl-ink);}
.bl-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px;font:600 13px/1.3 var(--font-ui);color:var(--ink);}
.bl-legend li{display:flex;align-items:center;gap:6px;}
.bl-sw{flex:none;display:inline-block;width:14px;height:14px;border-radius:50%;}
.bl-sw.is-town,.bl-sw.is-ar{background:var(--bl-town);} .bl-sw.is-be{background:var(--bl-tag);border:3px solid var(--bl-be);}
.bl-sw.is-line{width:22px;height:0;border-radius:0;border-top:3.4px solid var(--bl-border);}
.bl-sw.is-join{background:var(--bl-relict);} .bl-sw.is-post{border-radius:2px;background:var(--bl-relict);width:11px;height:11px;}
.bl-sw.is-people{border-radius:4px;background:var(--bl-people);border:1.2px dashed var(--bl-be);}
.bl-sw.is-house{border-radius:2px 2px 0 0;clip-path:polygon(50% 0,100% 45%,100% 100%,0 100%,0 45%);}
.bl-sw.is-hill{border-radius:0;background:var(--bl-hill);clip-path:polygon(50% 0,100% 100%,0 100%);}
.bl-sw.is-river{width:22px;height:0;border-radius:0;border-top:4px solid var(--bl-river);}
.bl-sw.is-in{width:22px;height:0;border-radius:0;border-top:3.6px solid var(--bl-in);} .bl-sw.is-out{width:22px;height:0;border-radius:0;border-top:3.6px solid var(--bl-out);}
.bl-sw.is-hot{border-radius:3px;background:var(--bl-hot);border:1px solid var(--bl-edge);}
.bl-zkey{margin:0;padding-left:0;list-style:none;display:grid;gap:4px;font:600 13px/1.35 var(--font-ui);color:var(--ink);}
.bl-zkey li.is-on b{color:var(--cink);text-decoration:underline;}
.ls-root .bl-legend,.ls-root .bl-leg > .bt-small,.ls-root .bl-zkey{padding-right:46px;}
.bl-ico{flex:none;width:24px;height:18px;overflow:visible;}
.bl-sea2{fill:var(--bl-sea2);}
.bl-nb{fill:none;stroke:var(--bl-edge);stroke-width:1.5;stroke-dasharray:5 4;vector-effect:non-scaling-stroke;}
.bl-prov{vector-effect:non-scaling-stroke;stroke-linejoin:round;}
.bl-prov.is-sep{fill:url(#bl-hatch);}
.bl-river2{fill:none;stroke:var(--bl-river);stroke-width:2.2;stroke-linecap:round;vector-effect:non-scaling-stroke;}
.bl-lake{fill:var(--bl-sea2);stroke:var(--bl-river);stroke-width:1.2;vector-effect:non-scaling-stroke;}
.bl-rail-b{fill:none;stroke:var(--bl-rail);stroke-width:5;stroke-linecap:round;}
.bl-rail-t{fill:none;stroke:var(--bl-land);stroke-width:2;stroke-dasharray:6 6;}
.bl-rail-b.is-hit{stroke:var(--bl-out);}
.bl-rail-cut{fill:none;stroke:var(--bl-rail);stroke-width:2.4;stroke-dasharray:3 6;opacity:.7;}
.bl-stn{fill:var(--bl-land);stroke:var(--bl-rail);stroke-width:2.4;}
.bl-mtn{fill:var(--bl-mtn);stroke:var(--bl-hill-e);stroke-width:1;stroke-linejoin:round;}
.bl-snow{fill:#FFFFFF;}
.bl-ic.is-in .bl-fl,.bl-ic.is-in .bl-plus{fill:var(--bl-in);stroke:var(--bl-in);}
.bl-ic.is-out .bl-fl{fill:var(--bl-out);}
.bl-pole{stroke:var(--bl-ink);stroke-width:1.6;}
.bl-fl{stroke:none;}
.bl-ball{fill:var(--bl-tag);stroke:var(--bl-in);stroke-width:1.6;}
.bl-bld{fill:var(--bl-tag);stroke:var(--bl-in);stroke-width:1.6;}
.bl-plus{fill:none;stroke-width:2.4;}
.bl-fac{fill:var(--bl-out);stroke:var(--bl-ink);stroke-width:.8;}
.bl-dn{fill:var(--bl-out);stroke:var(--bl-tag);stroke-width:1;}
.bl-blast{fill:var(--bl-out);stroke:var(--bl-tag);stroke-width:1.2;}
.bl-claim{fill:none;stroke:var(--bl-out);stroke-width:2.6;stroke-dasharray:7 5;vector-effect:non-scaling-stroke;}
.bl-claim-a{stroke:var(--bl-out);stroke-width:3;fill:none;}
.bl-claim-h{fill:var(--bl-out);}
.bl-capital{stroke:var(--bl-tag);stroke-width:1.4;}
.bl-tag.is-out rect{stroke:var(--bl-out);stroke-width:2;}
.bl-key-c{flex-basis:100%;}
.bl-hatch-bg{fill:var(--bl-hot);} .bl-hatch-l{stroke:var(--bl-out);stroke-width:2.2;opacity:.55;}
.bl-shape.is-land{fill:var(--bl-land);fill-opacity:1;}
.bl-band{stroke:none;} .bl-band.b1{fill:var(--bl-r1);} .bl-band.b2{fill:var(--bl-r2);} .bl-band.b3{fill:var(--bl-r3);} .bl-band.b4{fill:var(--bl-r4);} .bl-band.b5,.bl-band.b6{fill:var(--bl-r5);}
.bl-ring{fill:none;stroke:var(--bl-edge);stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke;}
.bl-route{fill:none;stroke:var(--bl-out);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;}
.bl-route.is-sea{stroke-dasharray:7 5;}
.bl-far{fill:var(--bl-out);stroke:var(--bl-tag);stroke-width:2;}
.bl-sw.is-ring{border-radius:50%;background:var(--bl-r2);border:1px dashed var(--bl-edge);}
.bl-sw.is-route{width:22px;height:0;border-radius:0;border-top:3px solid var(--bl-out);}
.bl-svg,.bl-qfig,.bl-leg{--bl-r1:#CFE4E1;--bl-r2:#DCEBE4;--bl-r3:#E9F0E2;--bl-r4:#F3EEDB;--bl-r5:#F6E4D2;}
:root[data-theme="dark"] .bl-svg,:root[data-theme="dark"] .bl-qfig,:root[data-theme="dark"] .bl-leg{--bl-r1:#1F4A4F;--bl-r2:#25433F;--bl-r3:#2C3F36;--bl-r4:#3A3A2E;--bl-r5:#46352A;}

/* Second pass: earlier forces dimmed, the last one tapped in full. */
.bl-fx.is-dim{opacity:.38;}
