#architecturePhotoViewer{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;padding:0;margin:0;border:0;background:#080d12;color:#f0f2f3;overscroll-behavior:none;font-family:system-ui,sans-serif}
#architecturePhotoViewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}#architecturePhotoViewer::backdrop{background:#000}
.photo-header{display:flex;gap:18px;align-items:center;padding:max(12px,env(safe-area-inset-top)) 18px 12px;background:#080d12;z-index:2}.photo-header label{display:grid;gap:5px;flex:1;min-width:0}.photo-header [data-world]{font-size:12px;letter-spacing:.14em;color:#abb5c0}.photo-header select{width:100%;background:transparent;color:#fff;border:0;font:600 clamp(17px,2.2vw,26px) system-ui;min-width:0}.photo-header option{background:#121a23}
#architecturePhotoViewer button{border:1px solid #596570;background:#17222e;color:#fff;border-radius:7px;min-height:44px;padding:9px 15px;font:500 14px system-ui;cursor:pointer}#architecturePhotoViewer button:focus-visible,#architecturePhotoViewer select:focus-visible{outline:2px solid #d4bd8d;outline-offset:3px}
.photo-stage{position:relative;overflow:hidden;min-height:0;touch-action:none;cursor:grab;background:radial-gradient(ellipse at 50% 77%,#a6b4b6,#627787 55%,#344653);outline:none}.photo-stage:active{cursor:grabbing}.photo-stage img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;transform-origin:center;user-select:none;-webkit-user-drag:none}.photo-stage img[hidden]{display:none}#architecturePhotoViewer[data-body=moon] .photo-stage{background:radial-gradient(ellipse at 50% 77%,#53555a,#242933 55%,#101820)}#architecturePhotoViewer[data-body=mars] .photo-stage{background:radial-gradient(ellipse at 50% 77%,#997965,#544137 55%,#29282c)}
.photo-loading{position:absolute;inset:45% 12px auto;text-align:center;color:#fff;background:#111b28aa;padding:12px}.photo-loading[hidden]{display:none}
#architecturePhotoViewer footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;padding:10px 16px max(12px,env(safe-area-inset-bottom));z-index:2}#architecturePhotoViewer footer button:first-child,#architecturePhotoViewer [data-action=in]{font-size:24px;min-width:44px}.photo-instruction{font-size:13px;color:#aeb9c3}.photo-projects{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;flex-basis:100%}.photo-projects a{color:#e3d2ae;font-size:14px;text-decoration:none;padding:5px 8px}
@media(max-width:700px){.photo-header{gap:8px;padding-left:10px;padding-right:10px}#architecturePhotoViewer .photo-header button{padding:8px;font-size:12px}.photo-instruction{flex-basis:100%;text-align:center}.photo-projects{max-height:90px;overflow:auto}.photo-projects a{font-size:13px}}

.planet-photo-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}.planet-photo-overlay[hidden]{display:none}

/* The initial project preview uses the same complete exterior as the globe. */
.detail.has-exterior .image-wrap{background:radial-gradient(ellipse at 50% 80%,#526570,#1c2c38 75%);height:190px;min-height:0}
.detail.has-exterior .image-wrap img{object-fit:contain;padding:8px;box-sizing:border-box}
.detail.has-exterior .image-wrap:hover img{transform:none}
@media(max-width:620px){body.ui-hidden.detail-open .detail.has-exterior .image-wrap,.detail.has-exterior .image-wrap{height:145px}}

#earthIslands3d{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
#earthIslandLabels{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}
#earthIslands3d[hidden],#earthIslandLabels[hidden],.earth-island-label[hidden]{display:none}
.earth-island-label{position:absolute;top:0;left:0;max-width:min(230px,72vw);padding:5px 8px;border:1px solid #b8d9cd66;border-radius:5px;background:#071f29e6;color:#f0f8f3;font:600 14px/1.35 system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 2px 8px #00141f99;pointer-events:auto;cursor:pointer;touch-action:manipulation}
.earth-island-label.active{border-color:#d1ede1;background:#133a43;box-shadow:0 2px 10px #001b24bb}
.earth-island-label:focus-visible{outline:2px solid #e4f7ed;outline-offset:3px}
