/* BB НА КАРТЕ — live alternative styles, no JS feature changes.
   Entirely opt-in: /?demo=1&preview=1. The default website is unaffected. */
.bb-look-chooser{position:absolute;z-index:760;left:50%;bottom:35px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 28px);padding:8px 9px 9px;border:1px solid #636e7080;border-radius:14px;background:#111719ed;box-shadow:0 12px 42px #0008;backdrop-filter:blur(18px);color:#eff2ee;font-family:Manrope,Arial,sans-serif;text-align:center}
.bb-look-caption{color:#bac2c2;font-size:8px;font-weight:800;letter-spacing:1.6px;margin:1px 0 7px}
.bb-look-buttons{display:flex;align-items:stretch;gap:5px}
.bb-look-button{padding:9px 13px;border:1px solid transparent;border-radius:8px;background:transparent;color:#cbd2d2;font-weight:800;white-space:nowrap;font-size:11px;transition:background .14s,border-color .14s,color .14s}
.bb-look-button:hover{background:#353e3d;color:#fff}
.bb-look-button[aria-pressed="true"]{background:#e6e5da;color:#1c2423;border-color:#fafbf5}
.bb-look-button:focus-visible{outline:2px solid #ec7460;outline-offset:2px}

/* Common compact shell for the three exploratory looks. */
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]){--fontmain:'Manrope',Arial,sans-serif;--fonthead:'Manrope',Arial,sans-serif}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .app-shell{grid-template-columns:310px minmax(0,1fr)}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .panel{box-shadow:8px 0 36px #0003}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .header{padding:22px 21px 14px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .brand-icon{font:900 25px/1 var(--fonthead);letter-spacing:-2px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .brand-sub{font-size:8px;letter-spacing:1.35px;line-height:1.4}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .brand-sub span{font-size:7px;letter-spacing:1.2px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .project-label{margin-top:30px;font-size:8px;letter-spacing:1.6px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .red-line{width:17px;height:2px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) h1{font:900 34px/1.12 var(--fonthead);letter-spacing:-1.5px;margin:11px 0 9px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .title-star{font-size:11px;opacity:.6;vertical-align:top;margin-left:3px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .lead{font-size:11px;line-height:1.65}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .stats{margin:7px 21px 0;border-radius:0}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .stat{padding:12px 2px 13px;gap:4px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .stat:not(:first-child){padding-left:15px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .stat strong{font:800 25px/1.1 var(--fonthead);letter-spacing:-1px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .stat span{font-size:8px;letter-spacing:1.25px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .search-block{padding:19px 21px 17px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .search-block label{font-size:9px;letter-spacing:1.4px;margin-bottom:8px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .search-wrap{height:42px;border-radius:9px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .search-wrap input{font-size:11px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .list-head{margin:0 21px 5px;font-size:9px;letter-spacing:1.3px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .city-list{padding:0 15px 5px 21px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .city-row{padding:10px 6px 10px 0;gap:9px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .city-row:hover,body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .city-row.is-active{padding-left:7px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .city-index{font:700 10px/1 var(--fontmain);min-width:20px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .city-row .city-name{font-size:11px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .city-row .city-desc{font-size:9px;margin-top:3px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .city-row .city-n{min-width:26px;padding:5px 7px;border-radius:7px;font-size:10px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .panel-footer{padding:12px 21px 17px;gap:7px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .panel-footer small{font-size:9px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .map-vignette{box-shadow:inset 0 0 86px #02030423}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .map-overlay-top{left:21px;right:21px;top:22px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .map-chip{padding:9px 12px;font-size:9px;letter-spacing:.85px;border-radius:10px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .map-button{width:38px;height:38px;border-radius:10px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .map-overlay-bottom{bottom:19px;left:18px;right:18px;font-size:8px;letter-spacing:1px;opacity:.65}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .leaflet-top.leaflet-left{left:16px;bottom:52px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .leaflet-bar{border-radius:9px!important}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .bb-pin{transform:scale(.8);transform-origin:50% 100%;filter:drop-shadow(0 4px 5px #0008)}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .bb-pin:hover{transform:translateY(-3px) scale(.87)}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .bb-pin__runner-bg{box-shadow:0 4px 10px #0006; border-width:2px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .bb-pin__halo{display:none}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .bb-pin__count{height:25px;min-width:25px;font-size:11px;border-width:2px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .bb-cluster{width:43px;height:43px;font-size:13px;border-width:2px;box-shadow:0 3px 16px #0008}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .detail{border-radius:16px;width:min(330px,calc(100vw - 32px));padding:23px 22px 19px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .detail h2{font:900 34px/1.12 var(--fonthead);letter-spacing:-.8px;margin:9px 0 4px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .detail-rule{width:35px;height:3px;margin-bottom:22px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .detail-counter{margin:16px 0 14px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .detail-counter span:first-child{font:900 33px/1 var(--fonthead)}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .detail-members li{border-radius:8px}
body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .demo-flag{top:70px;left:21px;padding:7px 9px;border-radius:6px;font-size:8px}

/* A / ASPHALT — cool dark streetwear, editorial emphasis, subtle asphalt stripe. */
body[data-look="asphalt"]{--bg:#0e1113;--panel:#161a1c;--panel-2:#202528;--line:#31383a;--text:#f1f0e9;--muted:#9ba6a7;--red:#f36d52}
body[data-look="asphalt"] .panel{background:#161a1df7}
body[data-look="asphalt"] .header{background:linear-gradient(160deg,#242a2b55,transparent 72%)}
body[data-look="asphalt"] .project-label{color:#88999a}
body[data-look="asphalt"] h1 span{color:var(--text)}
body[data-look="asphalt"] h1{border-left:3px solid var(--red);padding-left:11px}
body[data-look="asphalt"] .red-line{background:var(--red)}
body[data-look="asphalt"] .brand-sub{color:#f2ede3}
body[data-look="asphalt"] .brand-sub span{color:#8c9697}
body[data-look="asphalt"] .lead{color:#929e9e}
body[data-look="asphalt"] .lead em{color:#dddcd1}
body[data-look="asphalt"] .search-wrap{background:#202528;border-color:#394447}
body[data-look="asphalt"] .city-row{border-color:#303638}
body[data-look="asphalt"] .city-row:hover,body[data-look="asphalt"] .city-row.is-active{background:#242b2e}
body[data-look="asphalt"] .city-row .city-n{background:#2c3539;color:#dedfd8}
body[data-look="asphalt"] .panel-footer a{color:#f5755c}
body[data-look="asphalt"] .map-chip{background:#1c2527e0;border-color:#4d626085}
body[data-look="asphalt"] .bb-pin__runner-bg{border-color:#e69d79;background:#192327}
body[data-look="asphalt"] .bb-pin__count,body[data-look="asphalt"] .bb-cluster{background:#e7654d}
body[data-look="asphalt"] .detail{background:#1a2022;border-color:#53605e}
body[data-look="asphalt"] .detail-members li{background:#272f31;border-color:#3d4749}
body[data-look="asphalt"] .leaflet-tile-pane{filter:saturate(.63) contrast(1.12) brightness(1.09)}
body[data-look="asphalt"] .map-area::after{content:'';position:absolute;z-index:401;pointer-events:none;left:0;right:0;top:0;height:3px;background:repeating-linear-gradient(90deg,#dc765f 0 30px,transparent 30px 42px);opacity:.47}

/* B / RIDGE — field notes, trail running, muted moss and stone. */
body[data-look="ridge"]{--bg:#121915;--panel:#202921;--panel-2:#2a362c;--line:#3c493e;--text:#f2f0de;--muted:#b0bc9c;--red:#c2d18c}
body[data-look="ridge"] .panel{background-color:#202921;background-image:radial-gradient(ellipse at 93% 8%,transparent 0 28px,#c4cdad12 29px 30px,transparent 31px 49px,#c4cdad12 50px 51px,transparent 52px 72px,#c4cdad12 73px 74px,transparent 75px 96px),linear-gradient(#202921,#1c251f)}
body[data-look="ridge"] .brand-icon{letter-spacing:-2px}
body[data-look="ridge"] .brand-dot{color:#c2d18c}
body[data-look="ridge"] .brand-sub{color:#efefdc}
body[data-look="ridge"] .brand-sub span{color:#b0bc9e}
body[data-look="ridge"] .project-label{color:#b0bb9f}
body[data-look="ridge"] h1 span{color:#c2d18c}
body[data-look="ridge"] .lead{color:#b4beab}
body[data-look="ridge"] .lead em{color:#f5f1df}
body[data-look="ridge"] .stat span,body[data-look="ridge"] .city-row .city-desc{color:#a6b7a7}
body[data-look="ridge"] .search-wrap{background:#26312a;border-color:#54614f;color:#d0d9ca}
body[data-look="ridge"] .search-wrap input::placeholder{color:#a2b2a7}
body[data-look="ridge"] .city-row{border-color:#39463c}
body[data-look="ridge"] .city-row:hover,body[data-look="ridge"] .city-row.is-active{background:#303c32}
body[data-look="ridge"] .city-index{color:#b8c3ac}
body[data-look="ridge"] .city-row .city-n{background:#354738;color:#e6ecd9}
body[data-look="ridge"] .city-row.is-active .city-n{background:#c2d18c;color:#1c261e}
body[data-look="ridge"] .panel-footer a{color:#c2d18c}
body[data-look="ridge"] .map-chip{background:#26342ce0;border-color:#7c9b7d88;color:#ecf1dc}
body[data-look="ridge"] .map-chip-dot{background:#d4db97;border-color:#91ab75;box-shadow:0 0 0 3px #bfc88a25}
body[data-look="ridge"] .map-button{background:#26342c;color:#f0f0d9;border-color:#586c5d}
body[data-look="ridge"] .bb-pin__runner-bg{border-color:#cad2a0;background:#25332b}
body[data-look="ridge"] .bb-pin__count,body[data-look="ridge"] .bb-cluster{background:#bacd88;color:#1d2a23;border-color:#edf1d6}
body[data-look="ridge"] .detail{background:#232e27;border-color:#6c806d}
body[data-look="ridge"] .detail-close{background:#344238;color:#e7efd8}
body[data-look="ridge"] .detail-counter{color:#c2d18c}
body[data-look="ridge"] .detail-members li{background:#334036;border-color:#526453}
body[data-look="ridge"] .leaflet-tile-pane{filter:sepia(.20) hue-rotate(27deg) saturate(.70) brightness(1.18)}
body[data-look="ridge"] .map-area::after{content:'';position:absolute;z-index:401;pointer-events:none;inset:0;background:repeating-radial-gradient(ellipse at 92% 12%,transparent 0 75px,#b1c59d0e 76px 77px,transparent 78px 140px);mask-image:linear-gradient(90deg,transparent 55%,#000 100%)}

/* C / ZINE — light photocopy paper against a dark map, street-punk energy in typography. */
body[data-look="zine"]{--bg:#e8e5dd;--panel:#edeae2;--panel-2:#d9d7cf;--line:#c9c6bb;--text:#222321;--muted:#72756f;--red:#df5542}
body[data-look="zine"] .panel{background:#ece9e1;border-right:1px solid #c6c5bc;box-shadow:8px 0 28px #0004}
body[data-look="zine"] .header{background:linear-gradient(180deg,#f5f1e8,#ece9e1)}
body[data-look="zine"] .brand-sub{color:#252725}
body[data-look="zine"] .brand-sub span{color:#757a78}
body[data-look="zine"] .brand-dot{color:#e45745}
body[data-look="zine"] .project-label{color:#717674}
body[data-look="zine"] h1{color:#1e2421;letter-spacing:-2px}
body[data-look="zine"] h1 span{color:#e05742}
body[data-look="zine"] .title-star{color:#222}
body[data-look="zine"] .lead{color:#555c57}
body[data-look="zine"] .lead em{color:#252725;font-weight:800}
body[data-look="zine"] .stat span{color:#686e68}
body[data-look="zine"] .search-block label{color:#414b44}
body[data-look="zine"] .search-wrap{background:#fffdf7;border-color:#c2c6c0;color:#65726c}
body[data-look="zine"] .search-wrap input::placeholder{color:#888d87}
body[data-look="zine"] .list-head{color:#343934}
body[data-look="zine"] .list-head span:last-child{color:#777e78}
body[data-look="zine"] .city-row{border-color:#d1d1c8;color:#303830}
body[data-look="zine"] .city-row:hover,body[data-look="zine"] .city-row.is-active{background:#dfded4}
body[data-look="zine"] .city-index{color:#737b75}
body[data-look="zine"] .city-row .city-desc{color:#657069}
body[data-look="zine"] .city-row .city-n{background:#d7d9d0;color:#364039}
body[data-look="zine"] .city-row.is-active .city-n{background:#e05742;color:white}
body[data-look="zine"] .panel-footer{background:#e2e0d7}
body[data-look="zine"] .footer-caption{color:#5e665f}
body[data-look="zine"] .panel-footer small{color:#66706a}
body[data-look="zine"] .panel-footer a{color:#d54935}
body[data-look="zine"] .map-chip{background:#f3f0e8ea;border-color:#d2cec3;color:#222321}
body[data-look="zine"] .map-button{background:#ede9de;border-color:#bbbdb5;color:#242d27}
body[data-look="zine"] .map-area{background:#1d2326}
body[data-look="zine"] .bb-pin__runner-bg{border-color:#efe8db;background:#262d30;box-shadow:0 0 0 3px #e15949}
body[data-look="zine"] .bb-pin__count,body[data-look="zine"] .bb-cluster{background:#df5542;border-color:#f4eee0}
body[data-look="zine"] .detail{background:#f2efe6;border-color:#c7c6bb;color:#252725;box-shadow:0 18px 60px #0009}
body[data-look="zine"] .detail-close{background:#e3e0d6;color:#202520;border-color:#b9beb7}
body[data-look="zine"] .detail-kicker,body[data-look="zine"] .detail-region,body[data-look="zine"] .detail-footer{color:#6c756e}
body[data-look="zine"] .detail-counter span:last-child{color:#343b36}
body[data-look="zine"] .detail-members li{background:#e2e0d8;border-color:#c7c9c1;color:#252c25}
body[data-look="zine"] .leaflet-tile-pane{filter:sepia(.15) saturate(.45) contrast(1.08) brightness(1.20)}
body[data-look="zine"] .map-area::after{content:'';position:absolute;z-index:401;pointer-events:none;top:0;left:0;bottom:0;width:6px;background:repeating-linear-gradient(180deg,#d65643 0 18px,#e6e2d9 18px 34px);opacity:.82}

/* Compact mobile layout. No changes to Leaflet, clustering or interaction. */
@media(max-width:960px){body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .app-shell{grid-template-columns:280px minmax(0,1fr)}}
@media(max-width:680px){
  .bb-look-chooser{position:fixed;left:12px;right:12px;bottom:80px;transform:none;max-width:none;width:auto;padding:6px 7px;border-radius:12px}
  .bb-look-caption{margin:0 0 3px;font-size:7px}
  .bb-look-buttons{gap:3px}
  .bb-look-button{flex:1;min-width:0;padding:8px 4px;font-size:10px}
  body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .app-shell{display:block;height:100dvh}
  body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .panel{position:absolute;top:0;left:0;right:0;height:auto;z-index:650;pointer-events:none;border:0;box-shadow:none;background:linear-gradient(#151c1bee,#151c1bbb)}
  body[data-look="ridge"] .panel{background:linear-gradient(#202a23ef,#202a23ac)}
  body[data-look="zine"] .panel{background:linear-gradient(#ede9e1f7,#ede9e1c9)}
  body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .header{padding:11px 14px 4px;background:transparent}
  body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .brand-icon{font-size:20px}
  body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .header h1{font-size:24px;margin:8px 0 4px;letter-spacing:-.8px;padding-left:0;border:0}
  body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .lead{font-size:9px;line-height:1.5}
  body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .stats{margin:6px 14px 0;max-width:320px;pointer-events:auto;border-radius:8px;backdrop-filter:blur(10px)}
  body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .stat{padding:6px 8px}
  body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .stat:not(:first-child){padding-left:8px}
  body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .stat strong{font-size:21px}
  body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .stat span{font-size:7px}
  body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .search-block{padding:8px 14px;max-width:420px;pointer-events:auto}
  body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .search-wrap{height:38px}
  body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .map-overlay-top{top:12px;right:12px}
  body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .map-button{width:32px;height:32px}
  body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .mobile-drawer-toggle{bottom:14px;left:12px;right:12px;padding:12px 14px;border-radius:10px}
  body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .mobile-drawer{bottom:66px;left:12px;right:12px;border-radius:13px}
  body[data-look="ridge"] .mobile-drawer,body[data-look="ridge"] .mobile-drawer-toggle{background:#26352af0;border-color:#66785f;color:#f0f2df}
  body[data-look="zine"] .mobile-drawer,body[data-look="zine"] .mobile-drawer-toggle{background:#f3efe5f2;border-color:#c2c3ba;color:#252823}
  body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .leaflet-top.leaflet-left{bottom:178px;left:13px}
  body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .detail{left:0;right:0;width:100%;border-radius:17px 17px 0 0;max-height:min(77dvh,640px);padding:22px 21px max(24px,env(safe-area-inset-bottom))}
  body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .detail h2{font-size:30px}
  body:is([data-look="asphalt"],[data-look="ridge"],[data-look="zine"]) .demo-flag{top:210px;left:14px;right:auto;font-size:7px;max-width:calc(100vw - 90px)}
}
@media(prefers-reduced-motion:reduce){.bb-look-button{transition:none}}
