.gallery-dialog-position.map-position{padding:0}.gallery-page .gallery-panel.map-panel{background:var(--color-background);-webkit-backdrop-filter:none;width:100%;height:100dvh;max-height:100dvh;box-shadow:none;isolation:isolate;border:0;border-radius:0}.map-panel-title{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.gallery-page .map-panel>.panel-body{flex:1;padding:0;position:relative;overflow:hidden}.map-experience{background:var(--color-background);isolation:isolate;width:100%;height:100%;position:relative}.map-right-chrome{z-index:30;top:max(16px, env(safe-area-inset-top));bottom:max(44px, env(safe-area-inset-bottom));right:max(16px, env(safe-area-inset-right));pointer-events:none;flex-direction:column;align-items:flex-end;gap:12px;width:min(420px,100% - 80px);display:flex;position:absolute}.map-right-chrome>*{pointer-events:auto;min-height:0}.gallery-page .map-panel .photo-map{border:0;border-radius:0;height:100%;margin:0;position:absolute;inset:0}.map-back{top:max(16px, env(safe-area-inset-top));left:max(16px, env(safe-area-inset-left));z-index:30;position:absolute}.gallery-page .map-back .map-glass-button{border:1px solid var(--gallery-border);width:32px;height:32px;color:var(--color-text);background:var(--color-material-thick);-webkit-backdrop-filter:blur(var(--gallery-blur-control));box-shadow:var(--gallery-shadow);border-radius:50%}.gallery-page .map-back .map-glass-button:hover{color:var(--color-text);background:var(--color-material-medium)}.map-back .gallery-icon{font-size:16px}.map-info-panel,.map-control-glass,.map-photo-drawer,.map-fallback,.map-geolocation-status{border:1px solid var(--gallery-border);background:var(--color-material-thick);color:var(--color-text);-webkit-backdrop-filter:blur(var(--gallery-blur-panel));box-shadow:var(--gallery-shadow)}.map-info-panel{scrollbar-width:thin;scrollbar-color:var(--color-fill) transparent;border-radius:16px;flex-shrink:1;width:min(320px,100%);max-height:calc(100% - 56px);position:relative;overflow:auto}.map-info-header{align-items:center;gap:12px;padding:20px;display:flex}.map-info-icon{width:44px;height:44px;color:var(--color-accent);background:var(--gallery-wash);border:1px solid var(--gallery-border);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.map-info-icon .gallery-icon{font-size:18px}.map-info-summary{flex:1;min-width:0}.map-info-summary h3{margin:0 0 6px;font-size:14px;font-weight:600;line-height:20px}.map-info-count{color:var(--color-text-secondary);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.map-info-count>span{background:var(--color-green);border-radius:50%;width:6px;height:6px}.map-info-header .icon-button{background:var(--color-fill-tertiary);border-radius:50%}.map-info-header .icon-button>span{display:flex}.map-info-range{overflow:hidden}.map-info-details{flex-direction:column;gap:12px;padding:16px 20px 20px;display:flex}.map-info-details h4{align-items:center;gap:8px;margin:0;font-size:13px;font-weight:500;display:flex}.map-coordinate-card{background:var(--color-fill-quaternary);border-radius:12px;padding:12px}.map-coordinate-card h5{color:var(--color-text-secondary);margin:0 0 8px;font-size:12px;font-weight:500}.map-coordinate-card dl{grid-template-columns:auto 1fr;gap:4px 8px;font-size:12px;display:grid}.map-coordinate-card dd{text-align:right;font-family:var(--gallery-font-mono);font-variant-numeric:tabular-nums;margin:0}.map-coverage{background:var(--color-fill-quaternary);color:var(--color-text-secondary);border-radius:8px;align-items:center;gap:8px;padding:8px;font-size:12px;display:flex}.map-controls{left:max(16px, env(safe-area-inset-left));bottom:max(16px, env(safe-area-inset-bottom));z-index:30;flex-direction:column;gap:12px;display:flex;position:absolute}.map-control-glass{border-radius:8px;flex-direction:column;align-items:center;padding:4px;display:flex}.gallery-page .map-control-glass button{width:32px;height:32px;color:var(--color-text);touch-action:manipulation;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:background-color .2s,color .2s;display:flex}.gallery-page .map-control-glass button:hover:not(:disabled){background:var(--color-fill-secondary)}.gallery-page .map-control-glass button:active:not(:disabled){background:var(--color-fill-tertiary)}.map-control-glass .gallery-icon{font-size:18px}.map-control-glass .linear-divider{align-self:stretch;margin-block:4px}.map-geolocation-status{border-radius:12px;width:min(240px,100vw - 100px);padding:12px;font-size:12px;position:absolute;bottom:84px;left:52px}.map-loading,.map-empty{text-align:center;color:var(--color-text);flex-direction:column;justify-content:center;align-items:center;padding:100px 24px 24px;display:flex;position:absolute;inset:0}.map-loading{pointer-events:none;z-index:20;background:var(--color-material-thin);-webkit-backdrop-filter:blur(var(--gallery-blur-scrim))}.map-loading h3,.map-empty h3{margin-bottom:8px;font-size:18px;font-weight:500}.map-loading p,.map-empty p{color:var(--color-text-secondary);font-size:14px}.map-loading-icon{margin-bottom:16px;font-size:36px}.map-photo-drawer{scrollbar-width:thin;scrollbar-color:var(--color-fill) transparent;border-radius:16px;flex-shrink:0;max-width:100%;max-height:35%;margin-top:auto;position:relative;overflow:auto}.map-photo-drawer summary{cursor:pointer;color:var(--color-text-secondary);border-radius:inherit;align-items:center;gap:8px;padding:12px 16px;font-size:12px;display:flex}.map-photo-drawer summary:hover{color:var(--color-text)}.map-photo-drawer[open]{width:420px}.map-panel .map-photo-list{grid-template-columns:1fr;margin:0;padding:0 12px 12px}.map-photo-drawer .map-photo-list{position:relative}.map-fallback{scrollbar-width:thin;scrollbar-color:var(--color-fill) transparent;border-radius:16px;flex:1;width:100%;min-height:80px;position:relative;overflow:auto}.map-fallback>p{color:var(--color-text-secondary);padding:16px;font-size:12px}.gallery-page .gallery-panel.gallery-drawer.map-panel{height:calc(100dvh - max(24px, env(safe-area-inset-top)));border-radius:16px 16px 0 0}.gallery-drawer.map-panel .map-back{top:44px}.gallery-drawer.map-panel .map-info-panel{max-height:45%}.gallery-drawer.map-panel .map-info-header{gap:8px;padding:12px}.gallery-drawer.map-panel .map-info-icon{display:none}.gallery-drawer.map-panel .map-info-details{gap:8px;padding:12px}.gallery-drawer.map-panel .map-info-count{font-size:11px}@media (prefers-reduced-motion:reduce){.gallery-page .map-control-glass button,.gallery-page .map-back button{transition:none}}:root{--swiper-theme-color:#007aff}:host{z-index:1;margin-left:auto;margin-right:auto;display:block;position:relative}.swiper{z-index:1;margin-left:auto;margin-right:auto;padding:0;list-style:none;display:block;position:relative;overflow:hidden}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{z-index:1;width:100%;height:100%;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box;display:flex;position:relative}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate(0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;transition-property:transform;display:block;position:relative}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px;& .swiper-slide,& .swiper-cube-shadow{transform-style:preserve-3d}}.swiper-css-mode{&>.swiper-wrapper{scrollbar-width:none;-ms-overflow-style:none;overflow:auto;&::-webkit-scrollbar{display:none}}&>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}&.swiper-horizontal{&>.swiper-wrapper{scroll-snap-type:x mandatory}&>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}&>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}}&.swiper-vertical{&>.swiper-wrapper{scroll-snap-type:y mandatory}&>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}&>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}}&.swiper-free-mode{&>.swiper-wrapper{scroll-snap-type:none}&>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}}&.swiper-centered{&>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}&>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}}&.swiper-centered.swiper-horizontal{&>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}&>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}}&.swiper-centered.swiper-vertical{&>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}&>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}}}.swiper-3d{& .swiper-slide-shadow,& .swiper-slide-shadow-left,& .swiper-slide-shadow-right,& .swiper-slide-shadow-top,& .swiper-slide-shadow-bottom,& .swiper-slide-shadow,& .swiper-slide-shadow-left,& .swiper-slide-shadow-right,& .swiper-slide-shadow-top,& .swiper-slide-shadow-bottom{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0}& .swiper-slide-shadow{background:#00000026}& .swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}& .swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}& .swiper-slide-shadow-top{background-image:linear-gradient(#0000,#00000080)}& .swiper-slide-shadow-bottom{background-image:linear-gradient(#00000080,#0000)}}.swiper-lazy-preloader{z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-top-color:#0000;border-radius:50%;width:42px;height:42px;margin-top:-21px;margin-left:-21px;position:absolute;top:50%;left:50%}.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible{& .swiper-lazy-preloader{animation:1s linear infinite swiper-preloader-spin}}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.woff2)format("woff2");unicode-range:U+100-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.gallery-page,.photo-dialog{--color-text:#ffffffd9;--color-text-secondary:#ffffff80;--color-text-tertiary:#ffffff40;--color-text-quaternary:#ffffff1a;--color-text-quinary:#ffffff0d;--color-fill:#ffffff1a;--color-fill-secondary:#ffffff14;--color-fill-tertiary:#ffffff0d;--color-fill-quaternary:#ffffff08;--color-material-ultra-thick:#282828d6;--color-material-thick:#282828b8;--color-material-medium:#28282899;--color-material-thin:#2828287a;--color-material-ultra-thin:#2828285c;--color-material-opaque:#282828;--color-blue:#0a84ff;--color-red:#ff6961;--color-green:#34c759;--color-histogram-blue:#409cff;--color-orange:#ff9f0a;--color-background:#1c1c1e;--color-accent:#007aff;--gallery-font-sans:Geist, ui-sans-serif, system-ui, sans-serif;--gallery-font-mono:"OperatorMonoSSmLig Nerd Font", "Cascadia Code PL", "FantasqueSansMono Nerd Font", "operator mono", JetBrainsMono, "Fira code Retina", "Fira code", Consolas, Monaco, monospace;--gallery-blur-panel:40px;--gallery-blur-control:12px;--gallery-blur-scrim:4px;--gallery-border:color-mix(in srgb, var(--color-accent) 20%, transparent);--gallery-wash:color-mix(in srgb, var(--color-accent) 5%, transparent);--gallery-shadow:0 8px 32px color-mix(in srgb, var(--color-accent) 8%, transparent), 0 4px 16px color-mix(in srgb, var(--color-accent) 6%, transparent), 0 2px 8px #0000001a;--gallery-shadow-up:0 -8px 32px color-mix(in srgb, var(--color-accent) 8%, transparent), 0 -4px 16px color-mix(in srgb, var(--color-accent) 6%, transparent), 0 -2px 8px #0000001a;--gallery-histogram-grid:#ffffff0a;--gallery-histogram-highlight:#ffffff08;--viewer-font-sans:var(--gallery-font-sans);--viewer-font-mono:var(--gallery-font-mono);--viewer-blur-panel:var(--gallery-blur-panel);--viewer-blur-control:var(--gallery-blur-control);--viewer-blur-scrim:var(--gallery-blur-scrim);--viewer-border:var(--gallery-border);--viewer-wash:var(--gallery-wash);--viewer-shadow:var(--gallery-shadow);--viewer-shadow-up:var(--gallery-shadow-up);--viewer-histogram-grid:var(--gallery-histogram-grid);--viewer-histogram-highlight:var(--gallery-histogram-highlight);color-scheme:dark;font-family:var(--gallery-font-sans)}.viewer-icon{width:1em;height:1em;mask:var(--viewer-icon) center / contain no-repeat;background:currentColor;flex-shrink:0;display:inline-block}.i-mingcute-close-line{--viewer-icon:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22m5.636%205.637l12.728%2012.728m-12.728%200L18.364%205.637%22/%3E%3C/svg%3E)}.i-mingcute-left-line{--viewer-icon:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M14.657%2017.657L9%2012l5.657-5.657%22/%3E%3C/svg%3E)}.i-mingcute-right-line{--viewer-icon:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M9.343%206.343L15%2012l-5.657%205.657%22/%3E%3C/svg%3E)}.i-mingcute-share-2-line{--viewer-icon:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20d%3D%22m16.407%206.81l-6%203.145m0%204.089l6%203.145M11%2012a4%204%200%201%201-8%200a4%204%200%200%201%208%200Zm10-6.5a2.5%202.5%200%201%201-5%200a2.5%202.5%200%200%201%205%200Zm0%2013a2.5%202.5%200%201%201-5%200a2.5%202.5%200%200%201%205%200Z%22/%3E%3C/svg%3E)}.i-mingcute-information-line{--viewer-icon:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M12%208h.002M11%2011h1v6h.5m8.5-5a9%209%200%201%201-18%200a9%209%200%200%201%2018%200%22/%3E%3C/svg%3E)}.i-mingcute-external-link-line{--viewer-icon:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M17%2013v6a1%201%200%200%201-1%201H5a1%201%200%200%201-1-1V8a1%201%200%200%201%201-1h6m9%202V4h-5m-5%2010l9.5-9.5%22/%3E%3C/svg%3E)}.i-mingcute-zoom-in-line{--viewer-icon:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M7%2010.5h7M10.5%2014V7m5.379%208.879l4.242%204.242M18%2010.5a7.5%207.5%200%201%201-15%200a7.5%207.5%200%200%201%2015%200Z%22/%3E%3C/svg%3E)}.i-mingcute-zoom-out-line{--viewer-icon:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M7%2010.5h7m1.803%205.303l4.318%204.318M18%2010.5a7.5%207.5%200%201%201-15%200a7.5%207.5%200%200%201%2015%200Z%22/%3E%3C/svg%3E)}.i-mingcute-refresh-2-line{--viewer-icon:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M3.811%208.264A9%209%200%200%201%2014.33%203.307a9%209%200%200%201%206.672%208.622c0%20.08-.088.126-.154.082l-2.678-1.804c-.091-.062-.03-.205.078-.181L20%2010.41m.189%205.327c-1.789%203.932-6.208%206.112-10.519%204.956a9%209%200%200%201-6.672-8.622c0-.08.088-.126.154-.082l2.678%201.805c.091.061.03.204-.078.18L4%2013.59%22/%3E%3C/svg%3E)}.i-mingcute-arrow-up-line{--viewer-icon:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M12%2020V5m-5.657%205L12%204.343L17.657%2010%22/%3E%3C/svg%3E)}.i-mingcute-arrow-down-line{--viewer-icon:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M12%2019V4M6.343%2014L12%2019.657L17.657%2014%22/%3E%3C/svg%3E)}.i-mingcute-layout-right-line{--viewer-icon:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20d%3D%22M15%204v16M5%2020h14a1%201%200%200%200%201-1V5a1%201%200%200%200-1-1H5a1%201%200%200%200-1%201v14a1%201%200%200%200%201%201Z%22/%3E%3C/svg%3E)}.photo-dialog{z-index:50;isolation:isolate;width:100%;max-width:none;height:100dvh;max-height:none;color:var(--color-text);background:0 0;border:0;margin:0;padding:0;font-size:14px;line-height:1.5;position:fixed;inset:0;overflow:hidden}.photo-dialog::backdrop{background:0 0}.photo-dialog :focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.photo-dialog button{font-family:inherit}.photo-dialog button:not(.viewer-thumbnail-button):not(.viewer-action-button){color:var(--color-text);background:var(--color-fill-tertiary);border:1px solid var(--viewer-border);border-radius:8px;padding:4px 8px;font-size:12px}.photo-dialog button:not(.viewer-thumbnail-button):not(.viewer-action-button):hover{background:var(--color-fill)}.photo-dialog button:disabled{cursor:default}.photo-dialog .muted{color:var(--color-text-secondary);font-size:12px}.photo-dialog .swiper-button-next,.photo-dialog .swiper-button-prev{display:none!important}.photo-dialog .swiper-slide{touch-action:manipulation;overflow:visible}.photo-dialog .swiper{touch-action:pan-x}.photo-dialog .contain-intrinsic-size{contain-intrinsic-size:64px;content-visibility:auto}.viewer-backdrop-presence,.viewer-backdrop-base,.viewer-backdrop,.viewer-background-layer{pointer-events:none;position:absolute;inset:0}.viewer-backdrop-base{background:var(--color-material-opaque)}.viewer-backdrop{overflow:hidden}.viewer-background-layer{opacity:1}.viewer-background-hash,.viewer-background-thumbnail{object-fit:cover;width:100%;max-width:none;height:100%;display:block;transform:scale(1.1)}.viewer-background-hash{opacity:.6}.viewer-background-thumbnail{filter:blur(var(--viewer-blur-panel));opacity:.6}.viewer-shell{height:100%;display:flex;position:relative}.viewer-stage{touch-action:none;flex:1;min-width:0;height:100%;min-height:0;position:relative}.viewer-drag-content{flex-direction:column;width:100%;height:100%;min-height:0;display:flex}.viewer-image-stage{flex:1;min-width:0;min-height:0;position:relative}.viewer-gesture-stage{touch-action:none;position:absolute;inset:0}.photo-dialog .viewer-swiper{width:100%;height:100%}.viewer-slide-content,.viewer-slide-visibility,.viewer-progressive-image{width:100%;height:100%;position:relative}.viewer-slide-preview,.viewer-entry-catchup{pointer-events:none;position:absolute;inset:0}.viewer-entry-catchup{z-index:10}.viewer-thumbhash{object-fit:contain;pointer-events:none;width:100%;height:100%}.viewer-media{width:100%;height:100%;position:relative;overflow:hidden}.viewer-preview{object-fit:contain;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.viewer-fallback{object-fit:contain;user-select:none;width:100%;height:100%;display:block}.fallback-stage{touch-action:none;position:absolute;inset:0;overflow:hidden}.viewer-chrome-presence{z-index:30;pointer-events:none;transition:opacity .2s;position:absolute;inset:0}.viewer-toolbar{top:calc(env(safe-area-inset-top) + 16px);left:calc(env(safe-area-inset-left) + 16px);right:calc(env(safe-area-inset-right) + 16px);z-index:30;pointer-events:none;justify-content:space-between;align-items:center;gap:8px;display:flex;position:absolute}.viewer-toolbar>*{pointer-events:auto}.viewer-toolbar[inert]>*{pointer-events:none}.viewer-counter{font-variant-numeric:tabular-nums;color:var(--color-text-secondary);background:var(--color-material-ultra-thick);backdrop-filter:blur(var(--viewer-blur-panel));border:1px solid var(--color-fill-tertiary);white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:12px}.viewer-actions{align-items:center;gap:8px;display:flex}.photo-dialog .icon-button.viewer-action-button{color:#fff;background:var(--color-material-ultra-thick);width:32px;height:32px;backdrop-filter:blur(var(--viewer-blur-panel));pointer-events:auto;border:1px solid #ffffff1a;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:6px;padding:0;transition:opacity .2s,color .2s,background-color .2s,border-color .2s;display:inline-flex}.photo-dialog .icon-button.viewer-action-button:hover:not(:disabled){color:#fff;background:#0006;border-color:#ffffff26}.photo-dialog .icon-button.viewer-action-button:active:not(:disabled){background:var(--color-material-opaque)}.photo-dialog .icon-button.viewer-action-button:disabled{opacity:.28}.photo-dialog .icon-button.viewer-action-active,.photo-dialog .icon-button.viewer-action-active:hover:not(:disabled){background:var(--color-accent);border-color:var(--viewer-border)}.photo-dialog .icon-button.viewer-action-pill{width:auto;padding-inline:12px}.photo-dialog .viewer-secondary-action{opacity:0}.viewer-image-stage:hover .viewer-secondary-action:not(:disabled),.viewer-actions:has(.viewer-secondary-action:focus-visible) .viewer-secondary-action:not(:disabled){opacity:1}.photo-dialog .viewer-previous,.photo-dialog .viewer-next{z-index:20;opacity:0;position:absolute;top:50%;transform:translateY(-50%)}.viewer-previous{left:calc(env(safe-area-inset-left) + 16px)}.viewer-next{right:calc(env(safe-area-inset-right) + 16px)}.viewer-image-stage:hover :is(.viewer-previous,.viewer-next):not(:disabled),.photo-dialog :is(.viewer-previous,.viewer-next):focus-visible{opacity:1}.viewer-inspector-slot{z-index:30;flex:none;min-width:0;height:100%;position:relative}.viewer-inspector{min-height:0;color:var(--color-text);background:var(--color-material-medium);background-image:linear-gradient(to bottom right, var(--color-material-medium), var(--color-material-thick));backdrop-filter:blur(var(--viewer-blur-panel));box-shadow:var(--viewer-shadow);flex-direction:column;display:flex;position:relative}.viewer-desktop-inspector{width:320px;height:100%;padding-top:env(safe-area-inset-top)}.viewer-desktop-inspector:before{content:"";left:0;z-index:1;pointer-events:none;background:linear-gradient(to bottom, transparent -15%, var(--viewer-border) 50%, transparent 115%);width:.5px;position:absolute;inset-block:0}.inspector-glow,.inspector-sheet-glow{pointer-events:none;background:linear-gradient(to bottom right, var(--viewer-wash), transparent, var(--viewer-wash));position:absolute;inset:0}.viewer-inspector>header{z-index:30;flex:none;justify-content:space-between;align-items:center;height:60px;padding:14px 16px;display:flex;position:relative}.inspector-header-label{color:var(--color-text);align-items:center;gap:6px;font-size:15px;font-weight:500;display:inline-flex}.inspector-desktop-content{overflow-anchor:none;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--color-fill) transparent;min-height:0;padding:0 16px calc(16px + env(safe-area-inset-bottom));flex:1;position:relative;overflow-y:auto;mask-image:linear-gradient(#0000,#000 4px calc(100% - 8px),#0000)}.metadata-content{flex-direction:column;gap:16px;display:flex}.photo-dialog .metadata-content .muted{font-size:13px}.metadata-content *{user-select:text}.metadata-section{flex-direction:column;gap:8px;display:flex}.metadata-section h3{color:var(--color-text);font-size:15px;font-weight:500}.metadata-section:has(>.metadata-rows:empty):not(:has(>.metadata-rows>div)){display:none}.photo-dialog .metadata-rows{flex-direction:column;gap:4px;margin:0;font-size:13px;line-height:1.5;display:flex}.photo-dialog .metadata-rows>div{justify-content:space-between;align-items:baseline;gap:16px;min-width:0;display:flex}.photo-dialog .metadata-rows dt{color:var(--color-text-secondary);overflow-wrap:anywhere;flex-shrink:0;max-width:58%}.photo-dialog .metadata-rows dd{min-width:0;color:var(--color-text);text-align:right;overflow-wrap:anywhere;font-family:var(--viewer-font-mono);font-variant-numeric:tabular-nums;margin:0}.photo-dialog .metadata-tone-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;display:grid}.photo-dialog .metadata-tone-grid>div{gap:4px}.photo-dialog .metadata-tone-grid dt{max-width:none}.exposure-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-size:13px;display:grid}.exposure-grid>span{border:1px solid var(--viewer-border);background:color-mix(in srgb, var(--color-accent) 10%, transparent);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;border-radius:6px;align-items:center;gap:8px;min-height:24px;padding:2px 8px;display:flex}.exposure-grid svg{width:14px;height:14px;color:var(--color-text-secondary);flex-shrink:0}.metadata-tags{flex-wrap:wrap;gap:6px;display:flex}.metadata-tags li{border:1px solid var(--viewer-border);background:color-mix(in srgb, var(--color-accent) 10%, transparent);color:var(--color-text);overflow-wrap:anywhere;border-radius:999px;max-width:100%;padding:4px 8px;font-size:13px;line-height:16px}.photo-dialog .photo-caption{color:var(--color-text-secondary);white-space:pre-line;overflow-wrap:anywhere;font-size:13px;line-height:1.7}.viewer-attribution{color:var(--color-text-secondary);overflow-wrap:anywhere;margin-top:24px;padding-top:16px;font-size:11px;line-height:1.8;position:relative}.viewer-attribution:before{content:"";top:0;background:linear-gradient(to right, transparent, var(--color-fill), transparent);height:.5px;position:absolute;inset-inline:0}.viewer-attribution a{text-underline-offset:2px;text-decoration:underline}.viewer-histogram-plot{background:var(--color-material-ultra-thin);height:128px;backdrop-filter:blur(var(--viewer-blur-panel));outline:1px solid var(--color-fill-tertiary);border-radius:4px;position:relative;overflow:hidden}.photo-dialog .histogram{width:100%;height:100%;transition:opacity .2s;display:block}.viewer-histogram[data-histogram-state=loading] .histogram{opacity:.3}.viewer-histogram[data-histogram-state=error] .histogram{opacity:0}.viewer-histogram-status{text-align:center;color:var(--color-text-secondary);background:var(--color-material-ultra-thin);backdrop-filter:blur(var(--viewer-blur-panel));justify-content:center;align-items:center;padding:12px;font-size:13px;display:flex;position:absolute;inset:0}.histogram-note{color:var(--color-text-secondary);justify-content:space-between;align-items:center;gap:8px;margin-top:6px;font-size:11px;display:flex}.histogram-legend{font-family:var(--viewer-font-mono);gap:6px;display:inline-flex}.histogram-legend>:first-child{color:var(--color-red)}.histogram-legend>:nth-child(2){color:var(--color-green)}.histogram-legend>:nth-child(3){color:var(--color-histogram-blue)}.viewer-minimap{border:1px solid var(--viewer-border);background:var(--color-material-ultra-thin);width:100%;height:160px;backdrop-filter:blur(var(--viewer-blur-panel));border-radius:8px;position:relative;overflow:hidden}.viewer-minimap>.viewer-minimap-canvas,.viewer-minimap-link{position:absolute;inset:0}.viewer-minimap-link{z-index:10;transition:background-color .2s}.viewer-minimap-link:hover{background:var(--viewer-wash)}.viewer-minimap-link:focus-visible{outline-offset:-3px}.viewer-minimap-marker{background:var(--color-accent);width:8px;height:8px;box-shadow:0 0 0 2px var(--color-text), 0 0 0 6px var(--viewer-border);pointer-events:none;border-radius:999px;position:absolute;top:50%;left:50%;translate:-50% -50%}.viewer-minimap-status{background:var(--color-material-ultra-thin);backdrop-filter:blur(var(--viewer-blur-control));color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:13px;display:flex;position:absolute;inset:0}.viewer-minimap-status span{font-family:var(--viewer-font-mono)}.viewer-minimap-attribution{z-index:20;color:var(--color-text-secondary);background:var(--color-material-ultra-thick);backdrop-filter:blur(var(--viewer-blur-control));padding:1px 4px;font-size:10px;position:absolute;bottom:0;right:0}.metadata-map-link{color:var(--color-text-secondary);text-underline-offset:3px;font-size:13px}.metadata-map-link:hover{color:var(--color-text);text-decoration:underline}.viewer-thumbnails-motion{flex:none;min-width:0}.viewer-thumbnail-bar{z-index:10;padding-bottom:env(safe-area-inset-bottom);box-shadow:var(--viewer-shadow-up);flex-shrink:0;position:relative}.viewer-thumbnail-bar:before{content:"";background:var(--color-material-ultra-thin);backdrop-filter:blur(var(--viewer-blur-panel));pointer-events:none;position:absolute;inset:0}.viewer-thumbnail-bar:after{content:"";inset-inline:0;z-index:1;background:linear-gradient(to right, transparent, var(--viewer-border), transparent);pointer-events:none;height:.5px;position:absolute;top:0}.viewer-thumbnail-glow{pointer-events:none;background:linear-gradient(to top, var(--viewer-wash), transparent);position:absolute;inset:0}.photo-dialog .viewer-filmstrip{z-index:1;overscroll-behavior:contain;touch-action:pan-x;scrollbar-width:none;position:relative;overflow:auto hidden}.viewer-filmstrip::-webkit-scrollbar{display:none}.viewer-thumbnail-item{position:absolute;top:0}.photo-dialog .viewer-thumbnail-button{opacity:.5;filter:grayscale();background:0 0;border:0;border-radius:0;width:100%;height:100%;padding:0;transition:opacity .2s,filter .2s;display:block;position:relative;overflow:hidden}.photo-dialog .viewer-thumbnail-button.selected{opacity:1;filter:none;z-index:10;box-shadow:0 0 20px var(--viewer-border)}.viewer-thumbnail-button.selected:after{content:"";z-index:1;border:1px solid var(--color-accent);pointer-events:none;position:absolute;inset:2px}.photo-dialog .viewer-thumbnail-button:hover,.photo-dialog .viewer-thumbnail-button:focus-visible{opacity:1;filter:none;z-index:20}.photo-dialog .viewer-thumbnail-button:focus-visible{outline-offset:-4px}.viewer-thumbnail-image{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.viewer-thumbnail-hover{z-index:60;border:1px solid var(--viewer-border);background:var(--color-material-thick);width:320px;max-width:calc(100vw - 32px);backdrop-filter:blur(var(--viewer-blur-panel));box-shadow:var(--viewer-shadow-up);pointer-events:none;border-radius:16px;overflow:hidden}.viewer-thumbnail-hover-inner,.viewer-thumbnail-hover-image{width:100%;position:relative;overflow:hidden}.viewer-thumbnail-hover-caption{color:#fff;background:linear-gradient(#0000,#0009);padding:12px;position:absolute;inset:auto 0 0}.viewer-thumbnail-hover-title{overflow-wrap:anywhere;font-size:14px}.viewer-thumbnail-hover-date{color:#fffc;margin-top:4px;font-size:12px}.viewer-gesture-hint{white-space:nowrap;border:1px solid var(--color-fill-tertiary);background:var(--color-material-ultra-thick);color:var(--color-text-secondary);backdrop-filter:blur(var(--viewer-blur-panel));pointer-events:none;z-index:20;border-radius:999px;align-items:center;gap:8px;padding:4px 12px;font-size:12px;display:flex;position:absolute;bottom:16px;left:50%;translate:-50%}.viewer-image-stage:has(.viewer-status) .viewer-gesture-hint{visibility:hidden}.hint-divider{background:linear-gradient(to bottom, transparent, var(--color-fill), transparent);width:.5px;height:12px}.mobile-inspector-sheet{pointer-events:none;z-index:30;justify-content:center;display:flex;position:fixed;inset:auto 0 0}.photo-dialog .inspector-sheet-surface{border:1px solid var(--viewer-border);background:var(--color-material-thick);width:100%;max-width:1024px;backdrop-filter:blur(var(--viewer-blur-panel));box-shadow:var(--viewer-shadow-up);border-bottom:0;border-radius:16px 16px 0 0;padding:0;overflow:hidden}.inspector-sheet-surface>header{height:88px;padding:24px 16px 0}.inspector-sheet-handle{background:var(--color-fill);border-radius:999px;width:48px;height:6px;position:absolute;top:12px;left:calc(50% - 24px)}.inspector-sheet-content{overflow-anchor:none;overscroll-behavior:contain;touch-action:pan-y;min-height:0;padding:8px max(16px, env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + 16px) max(16px, env(safe-area-inset-left));scrollbar-width:thin;scrollbar-color:var(--color-fill) transparent;flex:1;position:relative;overflow-y:auto}.inspector-sheet-content *{user-select:text}.photo-dialog[data-mobile=true] .viewer-drag-content{overflow:hidden}.photo-dialog[data-mobile=true] .viewer-toolbar{top:calc(env(safe-area-inset-top) + 8px);left:calc(env(safe-area-inset-left) + 8px);right:calc(env(safe-area-inset-right) + 8px)}.photo-dialog[data-mobile=true] .metadata-content{gap:12px}.photo-dialog[data-mobile=true] .viewer-actions .viewer-secondary-action{opacity:1}.photo-dialog[data-mobile=true] .viewer-action-button{position:relative}.photo-dialog[data-mobile=true] .viewer-action-button:before{content:"";border-radius:inherit;position:absolute;inset:-6px}.photo-dialog[data-mobile=true] .viewer-actions button:is([aria-label=放大],[aria-label=缩小],[aria-label=适应屏幕]){display:none}.photo-dialog[data-mobile=true] .swiper-slide{touch-action:pan-x}.viewer-status,.viewer-message{color:var(--color-text);background:var(--color-material-ultra-thick);backdrop-filter:blur(var(--viewer-blur-panel));border:1px solid var(--viewer-border);z-index:20;overflow-wrap:anywhere;border-radius:999px;align-items:center;gap:8px;max-width:85%;padding:8px 12px;font-size:12px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.viewer-status{bottom:max(16px, env(safe-area-inset-bottom));right:max(16px, env(safe-area-inset-right));pointer-events:none;white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:12px;gap:8px;margin:0;padding:8px 10px;font-size:12px;line-height:1.4;left:auto;transform:none}.viewer-loading-details{flex-direction:column;gap:2px;display:flex}.viewer-loading-heading{align-items:baseline;gap:8px;display:flex}.viewer-loading-heading strong{font-weight:600}.viewer-loading-heading>span,.viewer-loading-bytes{color:var(--color-text-secondary)}.viewer-loading-bytes{font-size:11px}.viewer-message{bottom:90px}.viewer-status .loading-dot{border:2px solid var(--color-fill);border-top-color:var(--color-text);border-radius:999px;flex-shrink:0;width:14px;height:14px;animation:1s linear infinite viewer-loading-spin}@keyframes viewer-loading-spin{to{transform:rotate(360deg)}}.viewer-error{background:var(--color-material-thick);width:min(85%,320px);backdrop-filter:blur(var(--viewer-blur-panel));text-align:center;border:1px solid var(--viewer-border);box-shadow:var(--viewer-shadow);border-radius:12px;padding:24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.viewer-error button{margin-top:16px}.viewer-error a{color:var(--color-text-secondary);margin-top:16px;font-size:12px;display:block}.hdr-status{border:1px solid var(--color-fill);color:var(--color-text-secondary);background:var(--color-material-ultra-thick);backdrop-filter:blur(var(--viewer-blur-control));pointer-events:none;border-radius:999px;padding:4px 8px;font-size:10px;position:absolute;bottom:16px;left:16px}@media (prefers-reduced-motion:reduce){.photo-dialog *,.photo-dialog :before,.photo-dialog :after{scroll-behavior:auto!important;transition-duration:0s!important;animation:none!important}}
