/* samuilife — shell: Header, Karte, Safe-Area
   Aus samuilife_app.html verschoben (Teil 2 §0). Kein Build-Step, file://-fähig. */
/* ── HEAD ─────────────────────────────────────────── */
#pov{position:sticky;top:0;z-index:40;background:var(--paper);padding:16px 0 4px 0;
  border-bottom:1px solid var(--line);min-width:0;max-width:100%}
#brand{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
/* collapsed header: identity and the address stay, the rest folds away */
/* Kollaps WEICH statt display:none-Sprung — der harte Layout-Ruck beim
   Scrollen war als »extremes Ruckeln« spürbar (Live-Feedback 08-08) */
#tagline,#prep,#refresh,#adrhint,#drift{max-height:48px;overflow:hidden;
  transition:max-height .22s ease,opacity .18s ease,margin .22s ease}
body.shrunk #tagline,body.shrunk #prep,body.shrunk #refresh,
body.shrunk #adrhint,body.shrunk #drift{max-height:0;opacity:0;margin-top:0;margin-bottom:0;pointer-events:none}
#pov{transition:padding .22s ease}
#adr{transition:font-size .22s ease}
body.shrunk #pov{padding-top:8px;padding-bottom:4px}
body.shrunk #brand{margin-bottom:4px}
body.shrunk #adr{font-size:14px}
body.shrunk .arow{margin-top:0}
body.shrunk .upulse{width:11px;height:11px}
body.shrunk .udot-mini{width:9px;height:9px;border-width:2px}
body.shrunk #qbar{padding:8px 12px;margin-top:8px}
body.shrunk #qbar .qn,body.shrunk #qbar .qc{font-size:16px}
body.shrunk #qbar .qg,body.shrunk #qbar .ic{width:19px;height:19px;font-size:16px}
body.shrunk #qbar .qw{display:none}
body.shrunk #subneeds{margin-top:4px}
body.shrunk .sub{padding:4px 12px;font-size:13px}
body.shrunk #l3row,body.shrunk #catops{margin-top:4px}
body.shrunk #refine{margin-top:4px}
#pov,#qbar,#adr,.sub{transition:padding .16s ease,font-size .16s ease,margin .16s ease}
@media(prefers-reduced-motion:reduce){#pov,#qbar,#adr,.sub{transition:none}}
#tagline{font-family:var(--cond);font-size:12px;color:var(--dim);white-space:nowrap;
  flex:1;text-align:center;min-width:0;overflow:hidden;text-overflow:ellipsis}
body.active #tagline{display:none}
@media(max-width:400px){#tagline{display:none}}
.wm2{color:var(--go);opacity:1;font-weight:700}
#wordmark{font-family:var(--disp);font-weight:700;font-size:12px;letter-spacing:.2em;color:var(--dim);display:flex;align-items:center;gap:8px}
body.active #wordmark{color:var(--go);font-family:var(--mono);font-size:11px;letter-spacing:.09em}
body.active #wordmark::before{content:'←';font-size:16px;line-height:1}
#clock{font-family:var(--mono);font-size:12px;color:var(--dim)}
.prow{display:flex;align-items:center;justify-content:space-between;gap:12px}
.arow{margin-top:4px;align-items:flex-start}
/* a field label, not a headline — small, legible, out of the way */
#prep{font-family:var(--cond);font-size:12px;font-weight:600;letter-spacing:.05em;
  text-transform:uppercase;color:var(--dim);line-height:1;margin-bottom:4px}
#adrhint{font-family:var(--cond);font-size:12px;font-weight:600;color:var(--sub);
  white-space:nowrap;flex-shrink:0;margin-left:8px}
#adrbtn{flex:1;min-width:0;text-align:left;display:flex;align-items:center;gap:8px;padding-top:0px}
#adr{font-weight:700;font-size:clamp(16px,4.5vw,18px);color:var(--hi);line-height:1.3}
#adr::after{content:'▾';font-size:.6em;margin-left:8px;color:var(--dim)}
#chgloc{border:1px solid var(--line);background:var(--paper2);border-radius:999px;padding:4px 12px;
  font-family:var(--cond);font-size:13px;font-weight:600;white-space:nowrap;color:var(--dim)}
#refresh{border:0;color:var(--dim);font-family:var(--cond);font-size:13px;font-weight:600;letter-spacing:.01em;display:flex;align-items:center;gap:8px;padding:4px 0px;white-space:nowrap}
#refresh .ric{font-size:18px;color:var(--go);transition:transform .4s}
#refresh.busy .ric{animation:spin .9s linear infinite}
#refresh.ok{color:var(--ok)}#refresh.ok .ric{color:var(--ok)}
@keyframes spin{to{transform:rotate(360deg)}}
.upulse{position:relative;width:15px;height:15px;flex-shrink:0;display:grid;place-items:center}
.udot-mini{width:13px;height:13px;border-radius:50%;background:var(--go);border:3px solid var(--paper);outline:1px solid var(--go);position:relative;z-index:2}
.upulse::before{content:'';position:absolute;inset:-3px;border-radius:50%;background:var(--go);opacity:.18} /* ruhiger Halo statt Puls */
@keyframes pulse{0%{transform:scale(1);opacity:.55}70%{transform:scale(3.4);opacity:0}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.upulse::before,#refresh .ric{animation:none}}

#drift{display:none;margin-top:8px;border:1px solid var(--go);border-radius:12px;padding:8px 12px;background:color-mix(in srgb,var(--go) 9%,transparent);font-size:13px;align-items:center;gap:8px;justify-content:space-between}
#drift.on{display:flex}
#drift button{background:var(--go);color:var(--pure-white);border-radius:8px;padding:8px 12px;font-family:var(--mono);font-size:11px;font-weight:600}
#locedit{display:none;margin-top:8px;background:var(--paper2);border:1px solid var(--line);border-radius:12px;padding:12px}
#locedit.on{display:block}
#locedit .r2{display:flex;gap:8px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:4px 4px 4px 12px}
#locedit input{flex:1;border:0;background:none;font:inherit;font-size:14px;color:var(--ink);outline:none;min-width:0}
#locedit .go{width:38px;height:38px;border-radius:8px;background:var(--ink);color:var(--paper);flex-shrink:0}
#locsug{display:none;flex-direction:column;gap:0px;margin-top:8px;max-height:230px;overflow-y:auto}
#locsug.on{display:flex}
.sug{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:8px 12px;
  border:1px solid transparent;border-radius:8px;background:var(--paper);font-size:14px}
.sug.on,.sug:hover{border-color:var(--go);background:var(--paper2)}
.sug .mic{width:13px;height:13px;color:var(--dim);margin:0}
.sug .sn{font-weight:600;flex-shrink:0}
.sug .sn b{color:var(--go)}
.sug .sa{font-family:var(--cond);font-size:12px;color:var(--dim);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.sug .sf{font-family:var(--cond);font-size:11px;color:var(--dim);margin-left:auto;flex-shrink:0}
#locopts{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
#locopts button{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:8px 12px;font-size:13px}

/* category line + cascade (active only) */
body:not(.active) #qbar,body:not(.active) #subrow,body:not(.active) #refine,
body:not(.active) #l3row,body:not(.active) #catops{display:none!important}
#qbar{display:flex;align-items:center;padding:12px 16px;margin-top:12px;background:var(--pure-white);color:var(--ink-fixed);
  border:1px solid var(--line-fixed);border-radius:var(--r);box-shadow:var(--sh-overlay)}
#qbar .qg{font-size:22px;margin-left:auto;padding-left:12px;flex-shrink:0}
#qbar .qn,#qbar .qc{font-family:var(--disp);font-weight:700;font-size:22px;letter-spacing:-.025em;line-height:1.1}
#qbar .qc{margin-right:12px;flex-shrink:0}
#q-pax{display:none;font-family:var(--mono);font-size:11px;color:var(--ink-fixed);border:1px solid rgba(14,16,21,.22);
  border-radius:999px;padding:4px 8px;margin-left:12px;white-space:nowrap;flex-shrink:0}
#q-pax.on{display:block}
#q-pax::after{content:'▾';margin-left:4px;opacity:.5}
#paxnote{font-family:var(--mono);font-size:11px;color:var(--dim);margin:8px 0 0;
  border-left:2px solid var(--go);padding-left:8px;display:none}
#paxnote.on{display:block}
#qbar .qw{font-family:var(--mono);font-size:11px;color:var(--dim-fixed);margin-left:8px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
#l3row{display:none;gap:4px;overflow-x:auto;scrollbar-width:none;margin-top:8px;padding-bottom:0px;align-items:center;min-width:0;max-width:100%}
#l3row.on{display:flex}
#l3row::-webkit-scrollbar{display:none}
.lb{flex:0 0 auto;white-space:nowrap}
/* readable: condensed, brighter, solid edge — it was dashed grey on grey */
.l3{white-space:nowrap;border:1px solid var(--line);background:var(--paper);border-radius:8px;
  padding:8px 12px;font-family:var(--cond);font-size:13px;font-weight:600;letter-spacing:.01em;
  color:var(--sub);flex-shrink:0;display:flex;gap:8px;align-items:center}
.l3 b{font-family:var(--mono);font-size:11px;font-weight:400;opacity:.6;flex:0 0 auto}
.l3.on{background:var(--net);border-color:var(--net);border-style:solid;color:var(--pure-white);font-weight:600}
.l3.on b{color:var(--on-acc-dim)}
.l3.more{color:var(--ink);background:var(--paper2)}
.l3.redir{border-color:var(--go);color:var(--go);background:transparent}
.l3.redir b{color:var(--go);font-size:12px}
#subneeds,#catops{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;min-width:0;max-width:100%}
#subneeds::-webkit-scrollbar,#catops::-webkit-scrollbar{display:none}
#subrow{display:flex;align-items:center;gap:8px;margin-top:8px}
#subneeds{flex:1;min-width:0}
/* same weight as the primary action, with a soft glow so it reads as a way out */
#allfilters{display:none;flex-shrink:0;background:var(--net);color:var(--pure-white);border-radius:999px;
  padding:8px 12px;font-size:12px;font-weight:600;white-space:nowrap;align-items:center;gap:8px;
  box-shadow:var(--sh-netglow)}
#allfilters.on{display:flex}
#allfilters b{font-family:var(--mono);font-size:11px;font-weight:400;opacity:.78}
.sub{white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:14px;font-weight:600;flex-shrink:0}
.sub::first-letter,.l3 .lb::first-letter,.sc::first-letter{text-transform:uppercase}
.sub.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
#catops{display:none;align-items:center;margin-top:8px}#catops.on{display:flex}
#cathint{display:none;margin-top:8px;font-size:12px;color:var(--dim);line-height:1.45;
  border-left:2px solid var(--net);padding:0px 0 0px 8px;align-items:flex-start;gap:8px}
#cathint.on{display:flex}
#cathint button{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--dim);
  border:1px solid var(--line);border-radius:4px;padding:4px 8px;white-space:nowrap;flex-shrink:0}
.co{white-space:nowrap;border:1px solid var(--line);background:var(--paper);border-radius:999px;
  padding:4px 12px;font-family:var(--cond);font-size:13px;font-weight:600;color:var(--sub);
  display:flex;gap:4px;align-items:center;flex-shrink:0}
.co small{font-family:var(--mono);font-size:11px;color:var(--dim)}
.co.on{background:var(--go);border-color:var(--go);color:var(--pure-white);font-weight:600}
.co.on small{color:var(--on-acc-dim)}
.co.rem.on{background:var(--net);border-color:var(--net)}
.co.empty{opacity:.3}

/* ── MAP ──────────────────────────────────────────── */
#mapband{position:relative;z-index:1;height:176px;margin:12px 0 0;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--mapshell)}
@media(min-width:900px){#mapband{display:none}}
#mapband.full{position:fixed;inset:0 0 calc(var(--tabh) + 8px + env(safe-area-inset-bottom)) 0;
  height:auto;margin:0;border-radius:0;z-index:55} /* UNTER der Tab-Bar (60): aus der Karte kommt man immer raus */
#mappane{display:none;position:sticky;top:0;height:100dvh;border-left:1px solid var(--line);z-index:0;isolation:isolate;background:var(--mapshell)}
@media(min-width:900px){#mappane{display:block}}
#mapmob,#mapdesk{width:100%;height:100%}
.leaflet-container{background:var(--mapshell)}
.leaflet-pane,.leaflet-top,.leaflet-bottom{z-index:auto!important}
.bright .leaflet-control-attribution{font-size:11px;opacity:.5}
/* the zoom control is a fallback on a phone — pinch is the real gesture */
#mapband .leaflet-control-zoom{transform:scale(.45);transform-origin:top right;opacity:.35}
#mapband .leaflet-control-zoom a{box-shadow:none}
.udot{width:16px;height:16px;border-radius:50%;background:var(--go);border:3px solid var(--paper);outline:1px solid var(--go)}
.udot::before{content:'';position:absolute;inset:-4px;border-radius:50%;background:var(--go);opacity:.2}
.mk{width:29px;height:29px;border-radius:8px;display:grid;place-items:center;font-family:var(--mono);font-size:12px;font-weight:600;color:var(--pure-white);background:var(--go);border:2px solid var(--paper);box-shadow:var(--sh-overlay)}
.mk.shut{background:var(--dim)}
.mk.demo{border-radius:50%;background:var(--paper);border:2px solid var(--go);font-size:14px}
.mklab{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--ink);background:var(--paper);border:1px solid var(--go);border-radius:4px;padding:0px 4px;white-space:nowrap}
.mapchip{position:absolute;z-index:600;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-family:var(--mono);font-size:11px;color:var(--ink);letter-spacing:.05em;box-shadow:var(--sh-overlay)}
#streetchip{left:10px;top:10px;max-width:62%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#mapexp{right:10px;top:10px;cursor:pointer}
#brighthint{left:50%;top:10px;transform:translateX(-50%);pointer-events:none;transition:opacity .2s}
.bright #brighthint{opacity:0}
#livecap{left:10px;bottom:10px;display:flex;gap:8px;align-items:center;border-radius:999px;
  max-width:calc(100% - 210px);overflow:hidden}
#livecap #livecap-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#netbadge{left:10px;bottom:44px;background:var(--net);color:var(--pure-white);border-color:var(--net);display:none}
.blip{width:7px;height:7px;border-radius:50%;background:var(--ok)}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}
/* Map tools sit together bottom-right so they can never collide. */
.maptools{position:absolute;right:9px;bottom:9px;z-index:600;display:flex;align-items:flex-end;gap:8px}
#maptools2{right:14px;bottom:14px}
.steprow{display:flex;align-items:center;gap:8px}
.recentre{font-family:var(--cond);font-size:12px;font-weight:600;color:var(--go);
  border:1px solid var(--go);border-radius:999px;padding:4px 12px;background:none;
  white-space:nowrap;flex-shrink:0;cursor:pointer;min-height:26px;line-height:1}
.recentre:active{background:var(--go);color:var(--pure-white)}
#scaleL,#scaleL2{background:var(--paper);
  border:1px solid var(--line);border-radius:12px;padding:8px 8px 4px;
  box-shadow:var(--sh-overlay)}
/* Compact by default. The eight-step ladder is a big-screen affordance;
   on a 176px band it covers the map it is meant to describe. */
#mapband:not(.full) #scaleL .steps{display:none}
#mapband:not(.full) #scaleL{padding:4px 8px 4px;cursor:pointer}
#mapband:not(.full) #scaleL .bar{margin-top:0;height:2px}
#mapband:not(.full) #scaleL .cur{margin-top:4px;font-size:11px;font-family:var(--cond);
  font-weight:600;color:var(--ink);letter-spacing:.02em}
#scaleL .steps,#scaleL2 .steps{display:flex;gap:1px;align-items:flex-end}
#scaleL .st,#scaleL2 .st{font-family:var(--cond);font-size:11px;font-weight:600;color:var(--sub);
  padding:4px 4px;border-radius:4px;line-height:1;cursor:pointer;position:relative;
  min-height:26px;display:inline-flex;align-items:center;background:none;border:0;white-space:nowrap}
#scaleL .st:hover,#scaleL2 .st:hover{background:var(--paper2)}
#scaleL .st.on,#scaleL2 .st.on{background:var(--go);color:var(--pure-white)}
/* the pointer: a caret under the step the map is actually at */
#scaleL .st.on::after,#scaleL2 .st.on::after{content:'';position:absolute;left:50%;bottom:-6px;
  transform:translateX(-50%);border-left:5px solid transparent;border-right:5px solid transparent;
  border-top:5px solid var(--go)}
#scaleL .bar,#scaleL2 .bar{height:3px;background:var(--go);border-radius:2px;position:relative;
  transition:width .18s;margin-top:12px}
#scaleL .bar::before,#scaleL .bar::after,#scaleL2 .bar::before,#scaleL2 .bar::after{content:'';
  position:absolute;top:-4px;width:2px;height:11px;background:var(--go);border-radius:1px}
#scaleL .bar::before,#scaleL2 .bar::before{left:0}
#scaleL .bar::after,#scaleL2 .bar::after{right:0}
#scaleL .cur,#scaleL2 .cur{font-family:var(--mono);font-size:11px;color:var(--dim);margin-top:4px;letter-spacing:.03em}


/* ── Teil 5: Marker, Cluster, Peek, Legende, Offline (Gate-Reihenfolge) ── */
.mmk{position:relative;border-radius:50%;background:var(--mc);border:2px solid var(--pure-white);
  box-shadow:var(--sh-overlay);display:grid;place-items:center}
.mmk::after{content:'';position:absolute;left:50%;bottom:-7px;transform:translateX(-50%);
  border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--mc)}
.mmk svg{width:58%;height:58%;fill:none;stroke:var(--pure-white);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mmk.shut{opacity:.55;filter:saturate(.35)}
.mmk.sel{box-shadow:var(--sh-ring),var(--sh-card)}
.mmk.deal::before{content:'';position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--mc);
  opacity:.5} /* Deal-Ring statisch — kein Dauerpuls */
@media(prefers-reduced-motion:reduce){.mmk.deal::before{animation:none}}
.mmk.isgov{background:var(--sub)}
.mmk-heart{position:absolute;top:-4px;right:-4px;width:12px;height:12px;border-radius:50%;
  background:var(--go);border:2px solid var(--pure-white)}
.mklbl2{position:absolute;left:calc(100% + 6px);top:4px;white-space:nowrap;font-family:var(--cond);
  font-size:11px;font-weight:600;color:var(--ink);background:var(--paper);border:1px solid var(--line);
  border-radius:4px;padding:0px 4px;box-shadow:var(--sh-card)}
.mcl{border-radius:50%;display:grid;place-items:center;border:3px solid var(--pure-white);
  box-shadow:var(--sh-overlay);position:relative}
.mcl span{background:var(--paper);color:var(--ink);border-radius:50%;width:62%;height:62%;
  display:grid;place-items:center;font-family:var(--cond);font-weight:700;font-size:12px}
#mappeek{position:fixed;left:10px;right:10px;bottom:calc(66px + env(safe-area-inset-bottom));
  z-index:1400;display:none;background:var(--paper);border:1px solid var(--line);border-radius:16px;
  padding:8px;box-shadow:var(--sh-sheet);max-width:540px;margin:0 auto}
#mappeek.on{display:block}
.pkclose{position:absolute;top:6px;right:8px;width:30px;height:30px;border-radius:8px;
  color:var(--sub);font-size:14px;line-height:30px;text-align:center;z-index:2}
#mappeek{position:fixed}
.pkmain{display:flex;gap:12px;align-items:center;width:100%;text-align:left}
.pkimg{width:64px;height:48px;border-radius:8px;object-fit:cover;flex-shrink:0}
.pkbody{min-width:0}
.pkbody b{display:block;font-size:14px;font-weight:700;line-height:1.25}
.pkbody span{display:block;font-family:var(--cond);font-size:12px;color:var(--sub)}
.pkacts{display:flex;gap:4px;margin-top:8px}
.pkacts button,.pkacts a{flex:1;border:1px solid var(--line);border-radius:8px;padding:8px 4px;
  font-family:var(--cond);font-size:12px;font-weight:700;color:var(--sub);text-align:center;
  text-decoration:none;min-height:38px;display:inline-flex;align-items:center;justify-content:center}
.pkacts button:first-child{background:var(--go);border-color:var(--go);color:var(--pure-white)}
#offlinechip{left:50%;bottom:46px;transform:translateX(-50%);display:none;color:var(--warn-text);border-color:var(--warn);z-index:900}
#mapband.full #offlinechip{bottom:auto;top:84px}
#offlinechip.on{display:block}
#layersbtn{right:10px;top:46px;cursor:pointer}
#maplegend{position:absolute;right:10px;top:82px;z-index:650;display:none;background:var(--paper);
  border:1px solid var(--line);border-radius:12px;padding:12px;max-width:250px;max-height:60%;
  overflow-y:auto;box-shadow:var(--sh-sheet)}
#maplegend.on{display:block}
.lgh{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin:8px 0 4px}
.lgrow{display:block;width:100%;text-align:left;border:1px solid var(--line);border-radius:8px;
  padding:8px 8px;font-family:var(--cond);font-size:12px;font-weight:600;color:var(--sub);margin-bottom:4px}
.lgrow.on{border-color:var(--ok);color:var(--ok)}
.lgcats{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.lgcat{display:flex;gap:4px;align-items:center;border:1px solid var(--line);border-radius:8px;
  padding:4px 8px;font-family:var(--cond);font-size:11px;font-weight:600;color:var(--sub)}
.lgcat svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}
.lgcat.off{opacity:.35}
.geo-area{font-family:var(--cond);font-size:11px;font-weight:700;color:var(--sub);opacity:.85}
.geo-pier{font-family:var(--mono);font-size:9px;color:var(--sub)}
.geo-lbl{background:transparent;border:0;box-shadow:none;font-family:var(--cond);font-weight:700;color:var(--dim)}
.ownpin{width:18px;height:18px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);
  background:var(--ink);border:2px solid var(--pure-white);box-shadow:var(--sh-overlay)}

#clockchip{appearance:none;border:1px solid var(--warn);position:fixed!important;top:calc(46px + env(safe-area-inset-top));right:10px;z-index:2600;
  background:var(--paper);border:1px solid var(--warn);color:var(--warn-text);
  font-family:var(--mono);font-size:11px;letter-spacing:.06em;border-radius:999px;
  padding:4px 12px;box-shadow:var(--sh-overlay);cursor:pointer}
#clockwarn{position:fixed;top:calc(8px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);
  z-index:2600;background:var(--paper);border:1px solid var(--go);color:var(--go-text);
  font-family:var(--mono);font-size:11px;border-radius:8px;padding:8px 12px}

#mapback{display:none;left:10px;top:8px;z-index:900;background:var(--go);border-color:var(--go);color:var(--pure-white);font-weight:700}
#mapband.full #mapback{display:block;left:auto;right:10px} /* rechts oben: links sitzt der Adress-Chip */
#mapband.full #mapexp{display:none}

#mapband.full #brighthint{display:none}
#streetchip{max-width:38vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* C4: Re-center nicht auf der Attribution */
.maptools{bottom:34px}

#clockchip{pointer-events:none} /* Audit H8: Anzeige, kein Deckel — Reset via Reload ohne ?t */

body:has(#prov.on) #clockchip,body:has(#panelpage.on) #clockchip{
  top:auto;bottom:calc(var(--tabh) + 24px + env(safe-area-inset-bottom))}

body:has(#mapband.full) #ask{display:none} /* Vollkarte: keine ueberlappte Frage-Leiste */

#mapinfo{display:none;left:50%;transform:translateX(-50%);top:8px;font-weight:700}
#mapband.full #mapinfo{display:block}
