:root{color-scheme:dark;font-family:IBM Plex Sans,Segoe UI,sans-serif;--font-ui: "IBM Plex Sans", "Segoe UI", sans-serif;--font-title: "Iowan Old Style", "Palatino Linotype", "Noto Serif SC", "Source Han Serif SC", serif;--font-copy: "Baskerville", "Times New Roman", "Noto Serif SC", "Source Han Serif SC", serif;--font-meta: "IBM Plex Sans", "Avenir Next", "Segoe UI", sans-serif;background:#8f9398;color:#f3f5f6;--theme-public-background: radial-gradient(circle at top, rgba(255, 255, 255, .26), transparent 34%), linear-gradient(180deg, #989ca1 0%, #7f8489 100%);--theme-shell-color: #f3f5f6;--theme-floating-panel-bg: linear-gradient(180deg, rgba(124, 129, 134, .9), rgba(108, 113, 118, .78)), rgba(108, 113, 118, .58);--theme-floating-panel-border: rgba(255, 255, 255, .14);--theme-panel-toggle-bg: rgba(232, 236, 238, .92);--theme-panel-toggle-color: #08131b;--theme-panel-toggle-border: transparent;--theme-summary-color: #f5f7f8;--theme-error-color: #ffe3e3;--theme-accent-color: #8fcbff;--theme-shadow-overlay: radial-gradient(circle, rgba(20, 24, 29, 0) 34%, rgba(62, 68, 74, .16) 58%, rgba(18, 21, 26, .44) 78%, rgba(12, 14, 18, .68) 100%);--theme-thumbnail-radius: 14px;--theme-thumbnail-border: rgba(236, 243, 246, .8);--theme-thumbnail-bg: rgba(10, 19, 25, .88);--theme-thumbnail-shadow: 0 8px 22px rgba(8, 15, 20, .28);--theme-thumbnail-overflow-bg: radial-gradient(circle at 30% 25%, rgba(148, 212, 255, .34), transparent 58%), linear-gradient(145deg, rgba(13, 28, 38, .96), rgba(7, 15, 22, .94));--theme-thumbnail-line: rgba(220, 236, 245, .68);--theme-lightbox-backdrop: rgba(2, 10, 16, .74);--theme-lightbox-panel-bg: #06111a;--theme-lightbox-panel-border: rgba(164, 201, 230, .12);--theme-lightbox-panel-radius: 22px;--theme-lightbox-media-bg: linear-gradient(180deg, rgba(9, 24, 35, .96), rgba(4, 11, 18, .96));--theme-lightbox-media-border: rgba(164, 201, 230, .1);--theme-lightbox-media-radius: 18px;--theme-lightbox-frame-radius: 14px;--theme-lightbox-viewport-bg: rgba(3, 10, 15, .78);--theme-lightbox-button-bg: rgba(6, 17, 26, .78);--theme-lightbox-button-border: rgba(164, 201, 230, .22);--theme-lightbox-button-color: #dcecf5;--theme-lightbox-button-radius: 999px;--theme-lightbox-position-bg: rgba(6, 17, 26, .76);--theme-lightbox-position-border: rgba(164, 201, 230, .16);--theme-lightbox-position-color: #8fcbff;--theme-lightbox-geo-title-color: rgba(199, 217, 226, .82);--theme-lightbox-place-color: #eef7fc;--theme-lightbox-copy-color: #c7d9e2;--theme-lightbox-description-color: #edf3f7;--theme-lightbox-date-color: rgba(199, 217, 226, .76);--theme-lightbox-title-size: 1.16rem;--theme-lightbox-body-size: .96rem;--theme-theme-select-bg: rgba(12, 18, 24, .76);--theme-theme-select-border: rgba(255, 255, 255, .12);--theme-theme-select-color: #eef7fc}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#8f9398}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.shell{min-height:100vh}.topbar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;position:fixed;top:0;left:0;right:0;z-index:8;background:linear-gradient(180deg,#5c6167b8,#5c616700);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none}.brand{font-family:Georgia,serif;font-size:.95rem;letter-spacing:.04em;pointer-events:auto}.page,.admin-shell{padding:1.25rem}.admin-shell{min-height:100vh;height:100vh;display:grid;grid-template-rows:auto minmax(0,1fr);gap:1rem;overflow:hidden}.public-page{position:relative;padding:0;min-height:100vh;background:transparent;color:var(--theme-shell-color)}.public-page-background{position:fixed;inset:-4vh -4vw;z-index:0;pointer-events:none;background:var(--theme-public-background);background-position:center;background-size:cover;transform-origin:center;will-change:transform;transition:transform .26s ease-out}.hero{position:relative;min-height:100vh;height:100vh}.globe-shadow-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}.globe-shadow-overlay:before{content:"";position:absolute;left:50%;top:50%;width:max(160vw,160vh);height:max(160vw,160vh);transform:translate(-50%,-50%);border-radius:50%;background:var(--theme-shadow-overlay);opacity:1}.floating-panel,.panel{background:#6c7176ad;border:1px solid rgba(255,255,255,.14);border-radius:0;box-shadow:0 18px 44px #1f232733}.floating-panel{position:absolute;top:4.75rem;left:1.25rem;z-index:10;width:min(320px,calc(100vw - 2.5rem));padding:.8rem;background:var(--theme-floating-panel-bg);border-color:var(--theme-floating-panel-border);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);transition:background .18s ease,box-shadow .18s ease,transform .18s ease,width .18s ease,padding .18s ease}.topbar-panel{position:fixed;top:.7rem;right:1rem;z-index:120;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end;gap:.45rem;width:auto;max-width:calc(100vw - 2rem);pointer-events:auto}.floating-panel-header{display:block}.floating-panel-controls{display:flex;align-items:center;justify-content:flex-end;gap:.55rem}.panel-toggle{display:inline-flex;align-items:center;justify-content:center;padding:.45rem .82rem;min-width:74px;font-size:.84rem;background:var(--theme-panel-toggle-bg);color:var(--theme-panel-toggle-color);border:1px solid var(--theme-panel-toggle-border)}.floating-panel-body{display:grid;gap:.75rem;transition:opacity .18s ease}.floating-panel-body.open{opacity:1;visibility:visible}.floating-panel-body.collapsed{opacity:0;visibility:hidden}.floating-summary{margin:0;display:grid;gap:.3rem;font-size:.9rem;line-height:1.5;color:var(--theme-summary-color)}.floating-error{margin:0;color:var(--theme-error-color);font-size:.88rem}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:var(--theme-accent-color);margin:0}.theme-switch{display:inline-flex;align-items:center;justify-content:flex-end;gap:.45rem;min-width:0;position:relative;z-index:2;color:var(--theme-summary-color);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}.theme-switch span{white-space:nowrap}.theme-switch select{position:relative;z-index:3;width:auto;min-width:112px;max-width:132px;padding:.45rem 2rem .45rem .7rem;border-radius:999px;border:1px solid var(--theme-theme-select-border);background:var(--theme-theme-select-bg);color:var(--theme-theme-select-color);appearance:none}.topbar-error{margin:0;max-width:min(320px,calc(100vw - 2rem));padding:.55rem .8rem;font-size:.78rem;line-height:1.4;color:var(--theme-error-color);background:var(--theme-floating-panel-bg);border:1px solid var(--theme-floating-panel-border);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%)}.hero-scene{position:absolute;inset:0;width:100%;min-height:100vh;height:100vh;overflow:hidden;border-radius:0;z-index:2}.globe-thumbnail-button{--thumbnail-size: 58px;position:absolute;width:var(--thumbnail-size);height:var(--thumbnail-size);padding:0;border:1px solid var(--theme-thumbnail-border);border-radius:var(--theme-thumbnail-radius);overflow:hidden;background:var(--theme-thumbnail-bg);box-shadow:var(--theme-thumbnail-shadow);transform:translate(-50%,-50%) translateZ(0) scale(1);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;pointer-events:auto}.globe-thumbnail-button:hover[data-hover-enabled=true]{transform:translate(-50%,-50%) translateZ(0) scale(1.2);border-color:#fffffff2;box-shadow:0 14px 30px #080f1457}.globe-thumbnail-button img{width:100%;height:100%;display:block;object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none}.globe-thumbnail-overflow-button{display:grid;place-items:center;padding:0;color:#f5fbff;font-size:calc(var(--thumbnail-size) * .28);font-weight:700;letter-spacing:.04em;background:var(--theme-thumbnail-overflow-bg)}.globe-thumbnail-overlay{position:absolute;inset:0;pointer-events:none}.globe-idle-preview-overlay{z-index:4}.globe-idle-preview{position:absolute;width:74px;height:74px;overflow:hidden;border:1px solid var(--theme-thumbnail-border);border-radius:var(--theme-thumbnail-radius);background:var(--theme-thumbnail-bg);box-shadow:0 0 0 1px #ffffff0f,0 16px 38px #080f145c;transform:translate(-50%,-50%) scale(.82);opacity:0;transition:opacity .36s ease,transform .42s cubic-bezier(.2,.9,.22,1),box-shadow .42s ease;will-change:transform,opacity}.globe-idle-preview.visible{opacity:.96;transform:translate(-50%,-50%) scale(1);box-shadow:0 0 0 1px #ffffff1f,0 22px 48px #080f146b;animation:globe-idle-preview-reveal .46s cubic-bezier(.18,.88,.24,1) both}.globe-idle-preview.hidden{opacity:0;transform:translate(-50%,-50%) scale(.88)}.globe-idle-preview img{width:100%;height:100%;display:block;object-fit:cover;-webkit-user-select:none;user-select:none}@keyframes globe-idle-preview-reveal{0%{opacity:0;transform:translate(-50%,-50%) scale(.72);filter:saturate(.92) brightness(.92)}70%{opacity:1;transform:translate(-50%,-50%) scale(1.04);filter:saturate(1.04) brightness(1.02)}to{opacity:.96;transform:translate(-50%,-50%) scale(1);filter:none}}.globe-thumbnail-lines{position:absolute;inset:0;overflow:visible;pointer-events:none}.globe-debug-panel{position:fixed;left:1rem;bottom:1rem;z-index:31;display:grid;gap:.2rem;min-width:132px;padding:.6rem .75rem;background:#0c1218b8;border:1px solid rgba(220,236,245,.18);box-shadow:0 10px 28px #050a0e3d;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#f3f7fa;font-size:.82rem;line-height:1.4;pointer-events:none}.globe-debug-panel span:last-child{color:#dcecf5c2}.globe-debug-panel span:first-child{color:#8fcbff}.admin-toolbar,.admin-toolbar-shell,.admin-browser,.inline-row,.grid-two,.cms-grid,.edit-layout,.upload-panel,.upload-list{display:grid;gap:1rem}.upload-panel{padding:1rem;margin-bottom:1rem}.admin-toolbar-shell{gap:.6rem;padding-top:.45rem}.admin-browser{min-height:0;overflow:auto;padding-right:.15rem;scrollbar-gutter:stable}.upload-panel-header,.upload-panel-actions,.upload-row,.upload-row-main,.upload-row-meta,.upload-summary{display:flex;gap:.75rem}.upload-panel-header,.upload-row,.upload-row-meta,.upload-summary{align-items:center;justify-content:space-between}.upload-panel-header h2{margin:.1rem 0 0;font-size:1.2rem}.upload-panel-actions{align-items:center;flex-wrap:wrap}.upload-summary{flex-wrap:wrap;color:#c7d9e2;font-size:.9rem}.upload-job-note,.upload-empty{margin:0;color:#c7d9e2}.upload-list{gap:.65rem}.upload-row{padding:.8rem .9rem;background:#010c1280;border:1px solid rgba(255,255,255,.08);border-radius:16px}.upload-row-main,.upload-row-meta{align-items:center;flex-wrap:wrap}.upload-row-main{min-width:0;flex:1}.upload-row-main strong{max-width:min(420px,60vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-row.uploading{border-color:#7bd0ff52}.upload-row.processing{border-color:#d87d4a52}.upload-row.success{border-color:#99f0c347}.upload-row.failed{border-color:#ff9a7d5c}.toolbar-group{background:#0c1e2cad;border:1px solid rgba(164,201,230,.12);border-radius:12px;padding:.46rem .58rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.admin-toolbar{grid-template-columns:1fr;padding:.65rem .75rem;margin-bottom:0;position:relative;z-index:5}.admin-toolbar-compact{gap:.45rem}.toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.toolbar-group{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.toolbar-group-tight{padding:.4rem .5rem}.toolbar-group-settings{justify-content:flex-end;margin-left:auto}.admin-status-banner{margin:0;padding:.5rem .7rem;font-size:.84rem}.toolbar-toggle{display:inline-flex;align-items:center;gap:.45rem;font-size:.8rem;font-weight:600;color:#dcecf5e6;cursor:pointer}.toolbar-toggle input{width:.9rem;height:.9rem;margin:0}.toolbar-group input,.edit-form input,.edit-form textarea,.edit-form select{width:100%;background:#010c12b8;border:1px solid rgba(255,255,255,.08);color:inherit;border-radius:14px;padding:.8rem .9rem}.admin-toolbar input,.admin-toolbar select{width:auto;min-height:2rem;min-width:0;border-radius:999px;padding:.42rem .68rem;font-size:.82rem}button,.file-button{background:linear-gradient(135deg,#7bd0ff,#d87d4a);color:#08131b;border:0;border-radius:999px;padding:.75rem 1rem;font-weight:700;cursor:pointer}.file-button input{display:none}button.danger{background:linear-gradient(135deg,#ff9a7d,#ff5757)}.cms-grid{grid-template-columns:repeat(auto-fill,minmax(134px,1fr));align-content:start;gap:.75rem}.photo-card{display:grid;gap:.38rem;padding:.48rem;align-content:start}.photo-card.selected{outline:2px solid #87d4ff}.photo-card-link{display:block}.photo-card img,.edit-preview{width:100%;border-radius:12px;display:block;object-fit:cover}.photo-card img{aspect-ratio:1}.photo-meta{display:grid;gap:.12rem;margin-top:0;min-width:0;color:#c7d9e2;font-size:.75rem;line-height:1.22}.photo-meta-top{display:flex;align-items:center;gap:.35rem;min-width:0}.photo-select-inline{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.photo-select-inline input{margin:0}.photo-place-button,.inline-text-link{background:transparent;border:0;padding:0;min-height:0;border-radius:0;color:inherit}.photo-place-button{flex:1 1 auto;min-width:0;text-align:left;font-weight:inherit}.photo-place-button:hover,.inline-text-link:hover{opacity:.82}.photo-place{display:block;font-size:.78rem;font-weight:700;color:#eef7fc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-status-row{display:flex;flex-wrap:wrap;gap:.2rem .4rem;color:#b8cdd9}.inline-text-link{flex:0 0 auto;font-size:.72rem;font-weight:600;color:#dcecf5;text-decoration:underline;text-underline-offset:.14em}.inline-status-link{font-size:.75rem;font-weight:500;color:#cfe4f1}.group-detail-modal button,.group-detail-modal .ghost-button,.group-detail-modal .active-toggle{min-height:1.8rem;padding:.34rem .64rem;font-size:.78rem}.group-detail-modal .modal-header{justify-content:flex-end;padding-bottom:.2rem}.group-detail-main label{display:grid;gap:.35rem}.group-detail-main textarea,.group-detail-main input{border-radius:12px;padding:.62rem .72rem;font-size:.84rem}.group-detail-actions{gap:.45rem}.group-member-toolbar{align-items:center;gap:.5rem}.group-member-toolbar strong{font-size:.9rem}.group-member-toolbar-actions{gap:.35rem}.edit-layout{grid-template-columns:minmax(260px,420px) 1fr;align-items:start}.edit-sidebar{display:flex;flex-direction:column;align-self:stretch;min-height:100%;padding:1rem;gap:1rem}.edit-sidebar-footer{margin-top:auto;display:flex;justify-content:flex-start}.edit-form{padding:1rem}.edit-form label{display:grid;gap:.45rem;margin-bottom:1rem}.field-hint,.field-meta{font-size:.88rem;line-height:1.4}.field-hint{color:#a9c0cf}.field-meta{color:#8fcbff}.inline-row{grid-template-columns:1fr auto;align-items:center}.edit-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-toolbar-primary{grid-template-columns:1fr}.toolbar-label{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:#8fcbff}.toolbar-view-group,.toolbar-queue-group{align-items:center}.toolbar-view-group,.toolbar-queue-group,.toolbar-search-group,.toolbar-action-group{flex:1 1 auto}.toolbar-row-primary .toolbar-view-group{flex:0 0 auto}.toolbar-row-search{align-items:stretch}.toolbar-search-group{min-width:0}.toolbar-search-cluster{display:flex;align-items:center;gap:.35rem;flex:1 1 280px;min-width:0}.toolbar-search-cluster input{flex:1 1 220px}.toolbar-search-group select{flex:0 0 auto;max-width:11.5rem}.toolbar-summary-group{justify-content:space-between;gap:.55rem;margin-left:auto}.toolbar-summary{color:#c7d9e2;font-size:.78rem;white-space:nowrap}.toolbar-inline-toggle{margin-left:0}.inline-ghost-button,.inline-link-button{display:inline-flex;align-items:center;justify-content:center;padding:.4rem .7rem;min-height:2rem}.group-grid,.group-member-grid,.photo-group-member-strip{display:grid;gap:1rem}.group-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-content:start}.group-card{display:grid;gap:.85rem;padding:.85rem}.group-card.selected,.group-member-card.selected{outline:2px solid #87d4ff}.group-card-header,.group-detail-cover-row,.group-detail-actions,.group-member-toolbar,.group-member-toolbar-actions,.group-member-actions,.photo-group-sidebar-actions,.photo-group-sidebar-copy,.group-detail-stats{display:flex;gap:.75rem}.group-card-header,.group-member-toolbar{align-items:center;justify-content:space-between}.group-cover,.group-detail-cover,.photo-group-cover{width:100%;display:block;border-radius:14px;object-fit:cover}.group-cover{aspect-ratio:1.35}.group-detail-cover{max-width:240px;aspect-ratio:1.2}.group-copy{display:grid;gap:.45rem}.group-coordinates{margin:0;color:#a9c0cf;font-size:.84rem}.group-issue-list{display:flex;flex-wrap:wrap;gap:.45rem}.group-issue-chip{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .55rem;border-radius:999px;background:#ff9a7d24;border:1px solid rgba(255,154,125,.28);color:#ffd6cc;font-size:.76rem}.group-detail-modal{width:min(920px,100%);max-height:min(92vh,calc(100vh - 2rem));grid-template-rows:auto minmax(0,1fr)}.group-detail-layout{min-height:0;display:grid;grid-template-columns:1fr;gap:.85rem}.group-detail-main,.group-detail-members{min-height:0;display:grid;gap:.7rem}.group-detail-main{align-content:start}.group-detail-members{overflow:hidden}.group-detail-stats,.photo-group-sidebar-copy{flex-wrap:wrap;color:#c7d9e2;font-size:.84rem}.group-member-toolbar-actions,.group-member-actions,.photo-group-sidebar-actions{flex-wrap:wrap}.group-member-grid{min-height:0;overflow:auto;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));align-content:start;padding-right:.15rem;gap:.65rem}.group-member-card{display:grid;gap:.35rem;padding:.45rem;background:#010c1280;border:1px solid rgba(255,255,255,.08);border-radius:14px}.group-member-card img,.photo-group-member-thumb img{width:100%;display:block;border-radius:12px;aspect-ratio:1;object-fit:cover}.group-member-select{display:flex;align-items:center;gap:.35rem;font-size:.72rem;color:#c7d9e2}.group-member-copy{display:grid;gap:.2rem;font-size:.72rem;color:#c7d9e2}.group-member-thumb-link{display:block}.group-member-actions{justify-content:flex-start;gap:.35rem}.group-member-actions .inline-text-link{min-height:0;padding:0;font-size:.72rem}.edit-layout-grouped{grid-template-columns:minmax(240px,360px) minmax(0,1fr) minmax(280px,360px)}.photo-group-sidebar{padding:1rem;display:grid;gap:.9rem;align-content:start;min-height:0}.photo-group-sidebar-header{display:grid;gap:.2rem}.photo-group-member-strip{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));align-content:start}.photo-group-member-thumb{display:grid;gap:.35rem;color:#c7d9e2;font-size:.76rem}.photo-group-member-thumb.active img{outline:2px solid #87d4ff}.lightbox{position:fixed;inset:0;display:grid;place-items:center;padding:.55rem;z-index:50;opacity:1;overflow:hidden;transition:opacity .22s ease}.lightbox-backdrop{position:absolute;inset:0;background:var(--theme-lightbox-backdrop);opacity:1}.lightbox-panel{position:relative;z-index:1;width:min(1280px,100%);height:min(95vh,calc(100vh - 1.1rem));max-height:min(95vh,calc(100vh - 1.1rem));overflow:hidden;display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:.55rem;padding:.65rem;border-radius:var(--theme-lightbox-panel-radius);opacity:1;transform:translateZ(0)}.lightbox-panel:before{content:"";position:absolute;inset:0;background:var(--theme-lightbox-panel-bg);border:1px solid var(--theme-lightbox-panel-border);border-radius:inherit;opacity:1}.lightbox-panel>*{position:relative;z-index:1}.lightbox-media{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:.45rem;background:var(--theme-lightbox-media-bg);border:1px solid var(--theme-lightbox-media-border);border-radius:var(--theme-lightbox-media-radius);padding:.55rem}.lightbox-media-viewport{min-height:0;border-radius:var(--theme-lightbox-frame-radius);overflow:hidden;background:var(--theme-lightbox-viewport-bg)}.lightbox-media-frame{width:100%;height:100%;min-width:0;min-height:0;border-radius:var(--theme-lightbox-frame-radius)}.lightbox-media-frame.swipe-enabled{touch-action:pan-y;overscroll-behavior:contain}.lightbox-media-frame img{display:block;border-radius:var(--theme-lightbox-frame-radius)}.lightbox-main-image{opacity:1;transform:none;backface-visibility:hidden}.lightbox-media-frame.fit-mode{display:flex;align-items:center;justify-content:center;overflow:hidden}.lightbox-media-frame.fit-mode img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center}.lightbox-media-frame.fill-mode{display:block}.lightbox-media-frame.fill-mode.scroll-x{overflow-x:auto;overflow-y:hidden}.lightbox-media-frame.fill-mode.scroll-y{overflow-x:hidden;overflow-y:auto}.lightbox-media-frame.fill-mode img{max-width:none;max-height:none;object-fit:cover}.lightbox-media-frame.fill-mode.scroll-x img{width:auto;height:100%}.lightbox-media-frame.fill-mode.scroll-y img{width:100%;height:auto}.lightbox-media-controls{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:2.3rem;opacity:1;transform:translateY(0)}.lightbox-media-nav,.lightbox-media-actions{display:inline-flex;align-items:center;gap:.35rem}.lightbox-nav-button{width:2.3rem;height:2.3rem;padding:0;display:grid;place-items:center;border-radius:var(--theme-lightbox-button-radius);border:1px solid var(--theme-lightbox-button-border);background:var(--theme-lightbox-button-bg);color:var(--theme-lightbox-button-color);font-size:.8rem;line-height:1}.lightbox-zoom-button,.lightbox-close-button{width:2.3rem;height:2.3rem;padding:0;display:grid;place-items:center;border-radius:var(--theme-lightbox-button-radius);border:1px solid var(--theme-lightbox-button-border);background:var(--theme-lightbox-button-bg);color:var(--theme-lightbox-button-color)}.lightbox-close-button svg,.lightbox-zoom-button svg{width:.9rem;height:.9rem;display:block;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none}.lightbox-copy{display:grid;align-content:start;gap:.32rem;padding:0 .15rem .1rem;overflow:auto;justify-items:center;text-align:center;opacity:1;transform:translateY(0)}.lightbox-flight-layer{position:fixed;inset:0;pointer-events:none;z-index:52}.lightbox-flight-image{position:fixed;border-radius:var(--theme-thumbnail-radius);background:var(--theme-thumbnail-bg);border:1px solid var(--theme-thumbnail-border);box-shadow:var(--theme-thumbnail-shadow);opacity:.98;transition:left .34s cubic-bezier(.2,.9,.22,1),top .34s cubic-bezier(.2,.9,.22,1),width .34s cubic-bezier(.2,.9,.22,1),height .34s cubic-bezier(.2,.9,.22,1),border-radius .34s cubic-bezier(.2,.9,.22,1),border-color .34s ease,box-shadow .34s ease,background-color .34s ease;will-change:left,top,width,height,border-radius}.lightbox-flight-image.is-active{border-radius:var(--theme-lightbox-panel-radius);background:var(--theme-lightbox-panel-bg);border-color:var(--theme-lightbox-panel-border);box-shadow:none}.lightbox-flight-image.is-exiting{opacity:0;transition:opacity .18s ease,left .34s cubic-bezier(.2,.9,.22,1),top .34s cubic-bezier(.2,.9,.22,1),width .34s cubic-bezier(.2,.9,.22,1),height .34s cubic-bezier(.2,.9,.22,1),border-radius .34s cubic-bezier(.2,.9,.22,1),border-color .34s ease,box-shadow .34s ease,background-color .34s ease}.lightbox-position{margin:0;padding:.24rem .58rem;border-radius:999px;background:var(--theme-lightbox-position-bg);border:1px solid var(--theme-lightbox-position-border);color:var(--theme-lightbox-position-color);font-size:.72rem;letter-spacing:.08em}.lightbox-geo-title{margin:0;font-family:var(--font-meta);font-size:.64rem;font-weight:600;line-height:1.25;letter-spacing:.18em;text-transform:uppercase;color:var(--theme-lightbox-geo-title-color)}.lightbox-place-name{font-family:var(--font-title);font-size:var(--theme-lightbox-title-size);font-weight:700;line-height:1.12;letter-spacing:.01em;color:var(--theme-lightbox-place-color)}.lightbox-copy p{margin:0;color:var(--theme-lightbox-copy-color);line-height:1.45}.lightbox-description{font-family:var(--font-ui);font-size:var(--theme-lightbox-body-size);line-height:1.52;letter-spacing:.01em;color:var(--theme-lightbox-description-color);max-width:58rem}.lightbox-captured-at{font-family:var(--font-meta);font-size:.74rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--theme-lightbox-date-color)}.error{color:#ff9f9f}.notice{color:#99f0c3;padding:.9rem 1rem;margin-bottom:1rem}.modal-backdrop{position:fixed;inset:0;z-index:70;background:#020a10b8;display:grid;place-items:center;padding:1rem}.modal-panel{width:min(640px,100%);padding:1.15rem;display:grid;gap:1rem}.upload-modal{width:min(760px,100%);max-height:min(84vh,calc(100vh - 2rem));grid-template-rows:auto auto auto auto minmax(0,1fr)}.modal-header,.modal-toggle-row,.modal-actions{display:flex;gap:.75rem;align-items:center;justify-content:space-between}.modal-header h2{margin:.2rem 0 0;font-size:1.3rem}.upload-modal-header-actions{display:flex;gap:.75rem}.modal-toggle-row{justify-content:flex-start}.modal-panel label{display:grid;gap:.45rem}.gps-progress-card,.gps-result-card{display:grid;gap:.7rem;padding:.95rem 1rem;border-radius:16px;background:#010c1285;border:1px solid rgba(255,255,255,.08)}.gps-progress-header,.gps-result-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.gps-progress-bar{width:100%;height:.45rem;border-radius:999px;overflow:hidden;background:#a4c9e61f}.gps-progress-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(135deg,#7bd0ff,#d87d4a);transition:width .18s ease}.upload-modal .upload-list{min-height:0;overflow:auto;align-content:start}.upload-dock{position:fixed;right:1rem;bottom:1rem;z-index:71;width:min(420px,calc(100vw - 2rem));padding:.85rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.upload-dock-copy{display:grid;gap:.15rem;min-width:0}.upload-dock-copy strong{font-size:.92rem}.upload-dock-copy span{color:#c7d9e2;font-size:.82rem}.upload-dock-actions{display:flex;gap:.6rem;flex-shrink:0}.ghost-button,.active-toggle{background:#0c1e2cad;color:#dcecf5;border:1px solid rgba(164,201,230,.12)}.admin-toolbar button,.admin-toolbar .ghost-button,.admin-toolbar .active-toggle{min-height:2rem;padding:.42rem .78rem;font-size:.82rem;line-height:1.1}.photo-card button{font-size:inherit}.active-toggle{background:linear-gradient(135deg,#7bd0ff,#d87d4a);color:#08131b}.ghost-button:hover,.active-toggle:hover{opacity:.92}@media(max-width:900px){.edit-layout,.edit-layout-grouped,.admin-toolbar,.group-detail-layout,.lightbox-panel{grid-template-columns:1fr}.floating-copy{top:4.25rem;left:.85rem;width:min(320px,calc(100vw - 1.7rem));padding:.9rem .95rem}.floating-panel{top:4.15rem;left:.85rem;width:min(280px,calc(100vw - 1.7rem));padding:.75rem .8rem}.topbar-panel{top:.62rem;right:.85rem;max-width:calc(100vw - 1.7rem)}.theme-switch{min-width:0}.theme-switch select{min-width:96px;max-width:112px;padding-right:1.75rem}.topbar-error{max-width:min(260px,calc(100vw - 1.7rem))}.globe-shadow-overlay:before{width:max(170vw,170vh);height:max(170vw,170vh)}.globe-idle-preview{width:66px;height:66px}.lightbox-panel{width:min(100%,760px)}.lightbox-media{min-height:0;padding:.45rem}.lightbox-media-controls{min-height:2.1rem}.lightbox-media-nav,.lightbox-media-actions{gap:.28rem}.lightbox-nav-button,.lightbox-zoom-button,.lightbox-close-button{width:2.1rem;height:2.1rem}.lightbox-position{font-size:.68rem}.modal-header,.modal-actions{align-items:stretch;flex-direction:column}.toolbar-row,.toolbar-row-search{align-items:stretch}.toolbar-group-settings,.toolbar-summary-group{margin-left:0}.toolbar-search-group,.toolbar-summary-group,.toolbar-action-group{width:100%}.toolbar-search-cluster{flex-basis:100%}.toolbar-search-group select{max-width:none;flex:1 1 160px}.upload-modal{max-height:min(90vh,calc(100vh - 1.2rem));grid-template-rows:auto auto auto auto minmax(0,1fr)}.upload-modal-header-actions,.upload-dock,.photo-card{align-items:stretch}.group-detail-modal{width:min(96vw,100%)}.group-grid,.photo-group-member-strip{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.group-member-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr))}.upload-dock{left:.85rem;right:.85rem;bottom:.85rem;width:auto;flex-direction:column}.upload-dock-actions{width:100%;justify-content:stretch}.upload-dock-actions button{flex:1}}@media(orientation:portrait){.lightbox{padding:0}.lightbox-panel{width:100%;height:100%;max-height:100%;border-radius:0;padding:.45rem;border-left:0;border-right:0;border-top:0;border-bottom:0}}
