.hz-action:focus-visible,.hz-close:focus-visible{outline:2px solid #285b53;outline-offset:2px}
#hz-panel{position:fixed;z-index:45;top:80px;right:18px;width:min(270px,68vw);background:#fff8e8;color:#3e342b;border:1px solid #bcaa87;border-radius:10px;padding:14px 38px 12px 14px;box-shadow:0 5px 18px #483c3125;font:14px/1.5 system-ui}
#hz-panel[hidden],body:not(.hz-map) #hz-panel,body:has(#pickbar:not(.hidden)) #hz-panel{display:none}
#hz-panel strong,#hz-panel small{display:block}#hz-panel small{color:#655b4b;font-size:12px}#hz-panel p{margin:6px 0}
.hz-close{position:absolute;right:0;top:0;height:42px;width:36px;font-size:20px}
.hz-action{margin-top:8px;border-radius:6px;padding:8px 14px;background:#365c4f;color:#fff;min-height:42px}
@media(max-width:600px){#hz-panel{top:calc(var(--sat) + 102px);right:10px}.earth-shortcuts{flex-wrap:wrap;justify-content:center}}
.hz-end{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#a4412b;color:white;border:2px solid #fff4d8;font:bold 12px system-ui}
#hz-jump{display:none}
body.hz-map:has(#pickbar.hidden) #hz-jump{display:block;position:fixed;right:18px;top:82px;z-index:42;max-width:140px;min-height:44px;border-radius:7px;border:1px solid #b5a98e;background:#fff8e9;color:#443c31;padding:0 10px;font:14px system-ui}
body:has(#hz-panel:not([hidden])) #hz-jump{visibility:hidden}
@media(max-width:800px){body.hz-map:has(#pickbar.hidden) #hz-jump{top:calc(var(--sat) + 104px);right:12px}}
#hz-roof-places {display:none}
body.hz-map:has(#pickbar.hidden):has(#hz-panel[hidden]) #hz-roof-places:not([hidden]) {
  display:block;position:fixed;right:18px;top:132px;z-index:41;
  min-height:44px;padding:0 12px;background:#fff8e9;color:#443c31;
  border:1px solid #b5a98e;border-radius:7px;font:14px system-ui;
}
#hz-roof-places:focus-visible {outline:2px solid #285b53;outline-offset:2px}
@media(max-width:800px){
  body.hz-map:has(#pickbar.hidden):has(#hz-panel[hidden]) #hz-roof-places:not([hidden]) {right:12px;top:calc(var(--sat) + 154px)}
}
.hz-place-art{width:52px;min-height:48px;padding:0;display:grid;justify-items:center;border:0;background:none;cursor:pointer}
.hz-place-art i{display:block;width:46px;height:46px;background:url(img/hangzhou-symbols.webp) no-repeat;background-size:300% 200%}
.hz-art-hotel i,.hz-art-building i{background-position:100% 0}.hz-art-food i{background-position:0 100%}.hz-art-metro i{background-position:50% 0}.hz-art-temple i{background-position:50% 100%}.hz-art-bridge i{background-position:100% 100%}
.hz-art-place i{width:12px;height:12px;margin-top:18px;border-radius:50%;background:#386453;border:2px solid white}
.hz-place-art span{font:600 11px/1.2 system-ui;color:#443929;background:#fff8e8;border:1px solid #aa9877;border-radius:4px;padding:2px 5px}
.hz-place-art:after{content:'';border:3px solid transparent;border-top:4px solid #806b49}
.hz-pin{min-height:44px;color:#375e50;font-weight:600;margin-right:10px}

/* Each miniature has a quiet daylit state and a warm, persistent lit state. */
.hz-art-house i,.hz-art-school i,.hz-art-stadium i,.hz-art-mall i,.hz-art-building i{
  background-image:url(img/hz-building-models.svg);background-size:100% 400%
}
.hz-art-house i,.hz-art-building i{background-position:0 0}
.hz-art-school i{background-position:0 33.333%}
.hz-art-stadium i{background-position:0 66.667%}
.hz-art-mall i{background-position:0 100%}
.hz-place-art{position:relative;isolation:isolate;align-content:end;width:44px;min-height:44px}
.hz-place-art i{width:30px;height:30px}
.hz-place-art.is-focused i{width:42px;height:42px}
.hz-art-place i,.hz-art-place.is-focused i{width:12px;height:12px;margin:0;background:#d49443}
.hz-place-art.is-unlit i{filter:grayscale(1) contrast(.85)}
.hz-place-art.is-lit i{filter:drop-shadow(0 1px 1px #704728) drop-shadow(0 0 3px #fff3ad)}
.hz-place-art.is-lit::before{content:'';position:absolute;z-index:-1;bottom:1px;left:50%;width:36px;height:12px;translate:-50% 0;border-radius:50%;background:radial-gradient(ellipse,#ffcb64 15%,#ffdb7b80 50%,transparent 72%)}
.hz-place-art.is-lit span,.hz-place-art.is-cluster b{background:#fff0c6;color:#64421a;border:1px solid #b38043}
.hz-place-art.is-cluster b{display:grid;place-items:center;border-radius:50%;min-width:23px;height:23px;padding:0 4px;font:bold 12px system-ui;box-shadow:0 1px 5px #785a3144}
.hz-place-art.first-light::before{animation:hz-lantern-ring 1s ease-out}
.hz-place-art.first-light i{animation:hz-lantern-on 1s ease-out}
@keyframes hz-lantern-ring{0%{transform:scale(.35);opacity:0}30%{opacity:1}70%{transform:scale(2.4);opacity:.85}100%{transform:scale(1)}}
@keyframes hz-lantern-on{0%{filter:grayscale(1) brightness(.78)}50%{filter:drop-shadow(0 0 7px #ffcf55) brightness(1.2);transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.hz-place-art.first-light::before,.hz-place-art.first-light i{animation:none}}
.hz-checkin,.hz-group-place,.hz-memory{min-height:44px}
.hz-checkin{display:block;width:100%;margin:10px 0 2px;border-radius:6px;background:#644b34;color:#fff7e6;font-weight:650}
.hz-group-place{display:block;width:100%;text-align:left;color:#654321;border-bottom:1px solid #dacdb8}
.hz-memory{display:flex;align-items:center;gap:8px;width:100%;margin:8px 0;text-align:left}
.hz-memory img{width:54px;height:54px;border:3px solid white;object-fit:cover;box-shadow:0 1px 3px #45352633}
.hz-memory span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
#hz-panel{max-height:60dvh;overflow:auto}
#ck-light-hint{display:block;text-align:center;margin:0 0 4px;color:var(--sub)}
#ck-light-hint:empty{display:none}
body.hz-street[data-view=dots] #map .has-building-light,
body.hz-street[data-view=smart] #map .pm.has-building-light{display:none}
body.hz-street[data-view=dots] #map .mk:not(.has-building-light) .dt{filter:grayscale(1);box-shadow:none}


body.hubin-detail #map .amap-layers canvas.amap-layer{filter:url(#hubin-palette)}

#hz-building-credit{display:none}
body.hz-map[data-tab=map] #hz-building-credit:not([hidden]){
  position:fixed;display:block;right:12px;bottom:10px;z-index:40;
  padding:3px 7px;border-radius:4px;background:#fff8e9ed;color:#443c31;
  font:12px/1.4 system-ui;text-decoration:underline
}
#hz-building-credit:focus-visible{outline:2px solid #285b53;outline-offset:2px}
#hz-building-credit::before{content:"";position:absolute;inset:auto 0 0;height:44px}
@media(max-width:800px){
  body.hz-map[data-tab=map] #hz-building-credit:not([hidden]){
    bottom:calc(var(--tab-h) + var(--hz-home-height, 0px) + 5px)
  }
  body.hz-map.sheet-min[data-tab=map]:has(#home .hs) #hz-building-credit:not([hidden]){
    bottom:calc(var(--tab-h) + 51px)
  }
}
