html:has(body.fullscreen-page),body.fullscreen-page{overscroll-behavior:none;width:100%;height:100%;min-height:100%;overflow:hidden}body.fullscreen-page .site-shell,body.fullscreen-page .site-main,body.fullscreen-page .site-content{width:100vw;min-width:0;max-width:none;min-height:100dvh;margin:0;padding:0}body.fullscreen-page .site-shell{display:block}body.fullscreen-page .site-content:before{display:none}[hidden]{display:none!important}.map-layout{z-index:10;grid-template-columns:minmax(320px,380px) minmax(0,1fr);grid-template-areas:"feed map";gap:clamp(12px,1.6vw,20px);min-width:0;min-height:0;display:grid;position:fixed;inset:clamp(10px,2vw,24px)}.city-panel,.map-frame{border:1px solid var(--divider);background:var(--bg-weak);border-radius:8px;min-width:0;min-height:0;overflow:hidden}.city-panel{background:var(--bg);flex-direction:column;grid-area:feed;display:flex}.city-panel-header{border-bottom:1px solid var(--divider);background:var(--bg);flex:none;padding:20px 20px 18px}.city-panel-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-top:6px;display:flex}.city-panel-title{color:var(--text-strong);letter-spacing:0;font-size:20px;line-height:1.25}.city-panel-count{color:var(--text-mute);font:var(--font-xs)/var(--leading-ui) var(--mono);white-space:nowrap}.city-feed{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.city-feed-item{border:0;border-bottom:1px solid var(--divider);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;padding:18px 16px;transition:background-color .15s,box-shadow .15s;display:block}.city-feed-item:hover,.city-feed-item:focus-visible{background:var(--bg-hover)}.city-feed-item.is-active{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.city-feed-body{flex:auto;min-width:0}.city-feed-heading{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.city-feed-name{color:var(--text-strong);font-size:var(--font-body);font-weight:600;line-height:1.35}.city-feed-date{color:var(--text-faint);font:var(--font-xs)/var(--leading-ui) var(--mono);white-space:nowrap;flex:none}.city-feed-note{color:var(--text-light);margin-top:5px;font-size:13px;line-height:1.6;display:block}.city-feed-photos{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:11px;display:grid}.city-feed-photos.is-single{grid-template-columns:minmax(0,1fr)}.city-feed-photos.is-double{grid-template-columns:repeat(2,minmax(0,1fr))}.city-feed-photo{aspect-ratio:1;background:var(--bg-active);border-radius:4px;display:block;position:relative;overflow:hidden}.city-feed-photos.is-single .city-feed-photo{aspect-ratio:16/10}.city-feed-photo-image{object-fit:cover;width:100%;height:100%;transition:transform .22s;display:block}.city-feed-item:hover .city-feed-photo-image{transform:scale(1.03)}.city-feed-photo-more{color:#fff;font:600 15px/1 var(--mono);background:#00000075;place-items:center;display:grid;position:absolute;inset:0}.city-feed-meta{color:var(--text-faint);font:var(--font-xs)/var(--leading-ui) var(--mono);flex-wrap:wrap;justify-content:space-between;gap:4px 10px;margin-top:9px;display:flex}.map-frame{grid-area:map;position:relative}#visited-city-map{width:100%;min-width:0;height:100%;min-height:0}#visited-city-map.is-error{color:var(--text-mute);text-align:center;place-items:center;padding:24px;font-size:14px;display:grid}.map-city-preview{z-index:700;border:1px solid var(--divider-strong);background:color-mix(in srgb, var(--bg) 92%, transparent);backdrop-filter:blur(12px);pointer-events:none;border-radius:8px;width:min(336px,100% - 28px);padding:12px;display:block;position:absolute;top:14px;right:14px;box-shadow:0 12px 32px #00000024}.map-city-preview-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.map-city-preview-name{min-width:0;color:var(--text-strong);font-size:var(--font-body);font-weight:600;line-height:1.35}.map-city-preview-date{color:var(--text-faint);font:var(--font-xs)/var(--leading-ui) var(--mono);white-space:nowrap;flex:none}.map-city-preview-meta{color:var(--text-mute);font:var(--font-xs)/var(--leading-ui) var(--mono);margin-top:3px}.map-city-preview-note{color:var(--text-light);font-size:var(--font-sm);line-height:var(--leading-ui);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:6px;display:-webkit-box;overflow:hidden}.map-city-preview-photos{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:10px;display:grid}.map-city-preview-photos.is-single{grid-template-columns:minmax(0,1fr)}.map-city-preview-photos.is-double{grid-template-columns:repeat(2,minmax(0,1fr))}.map-city-preview-photo{aspect-ratio:1;background:var(--bg-active);border-radius:5px;display:block;position:relative;overflow:hidden}.map-city-preview-photos.is-single .map-city-preview-photo{aspect-ratio:16/10}.map-city-preview-image{object-fit:cover;width:100%;height:100%;display:block}.map-city-preview-photo.is-error:after{content:"图片加载失败";color:var(--text-faint);font:var(--font-xs)/var(--leading-ui) var(--mono);text-align:center;place-items:center;padding:6px;display:grid;position:absolute;inset:0}.map-city-preview-empty{border:1px dashed var(--divider-strong);min-height:76px;color:var(--text-faint);font:var(--font-xs)/var(--leading-ui) var(--mono);border-radius:5px;grid-column:1/-1;place-items:center;display:grid}.map-reset-button{z-index:700;border:1px solid var(--divider-strong);background:var(--bg);color:var(--text-light);font-size:var(--font-xs);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:8px 11px;font-weight:500;line-height:1;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex;position:absolute;bottom:28px;left:12px;box-shadow:0 6px 18px #0000001a}.map-reset-button:hover,.map-reset-button:focus-visible{border-color:var(--text-light);background:var(--bg-hover);color:var(--text-strong)}.map-reset-button svg{width:14px;height:14px}.leaflet-container{background:var(--bg-weak);font-family:var(--sans)}.leaflet-bar{border:1px solid var(--divider-strong);box-shadow:none}.leaflet-bar a{border-bottom-color:var(--divider);background:var(--bg);width:30px;height:30px;color:var(--text-strong);line-height:30px}.leaflet-bar a:hover,.leaflet-bar a:focus{background:var(--bg-hover);color:var(--text-strong)}.leaflet-bar a:last-child{border-bottom:0}.leaflet-control-attribution{color:#4b4b4b;background:#ffffffe0}.leaflet-control-attribution a{color:#2f2f2f}.city-map-marker-host{background:0 0;border:0}.city-map-marker{border:3px solid var(--bg);background:var(--accent-soft);width:46px;height:46px;box-shadow:0 0 0 2px var(--divider-strong), 0 8px 22px #00000038;color:var(--accent-text);border-radius:50%;place-items:center;transition:transform .16s,box-shadow .16s;display:grid;position:relative;overflow:hidden}.city-map-marker.is-active{box-shadow:0 0 0 3px var(--accent), 0 10px 24px #00000042;transform:scale(1.12)}.city-map-marker-image{z-index:1;object-fit:cover;position:absolute;inset:0;width:100%!important;height:100%!important}.city-map-marker-fallback{font-size:17px;font-weight:600;line-height:1}.visited-city-label{border-radius:var(--radius-sm);box-shadow:none;color:#fff;background:#171717db;border:0;padding:3px 7px;font-size:12px}.visited-city-label:before{border-top-color:#171717db}html.dark .leaflet-tile{filter:brightness(.72)saturate(.82)contrast(1.08)}html.dark .leaflet-control-attribution{color:var(--text-mute);background:#0a0a0ad1}html.dark .leaflet-control-attribution a{color:var(--text-light)}@media (width<=760px){.map-layout{background:var(--bg);grid-template:"map"clamp(230px,38dvh,360px)"feed"minmax(0,1fr)/minmax(0,1fr);gap:0;inset:0}.city-panel,.map-frame{border-radius:0}.map-frame{border:0;border-bottom:1px solid var(--divider)}.city-panel{border:0}.city-panel-header{padding:13px 16px 11px}.city-panel-heading{margin-top:0}.city-panel-title{font-size:18px}.city-feed-item{padding:16px}.map-city-preview{border-radius:6px;width:min(250px,100% - 16px);padding:9px;top:8px;right:8px}.map-city-preview-note{-webkit-line-clamp:1}.map-city-preview-photos{margin-top:7px}.map-reset-button{bottom:22px;left:10px}}
