@font-face{font-family:Geist;src:url(/fonts/geist-variable.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fafafa;--surface:#f5f5f5;--surface-solid:#fff;--surface-raised:#ededed;--line:#e5e5e5;--line-strong:#d4d4d4;--text:#171717;--muted:#666;--dim:#767676;--blue:#0068d6;--accent-soft:#edf5ff;--green:#18794e;--red:#c52a31;--amber:#946100;--inverse:#fff;--radius:8px;--shadow:0 8px 24px #0000000d, 0 2px 6px #00000008;--soft-shadow:0 1px 2px #00000006;--duration-exit:.12s;--duration-enter:.18s;--duration-move:.25s;--ease-out:cubic-bezier(.16, 1, .3, 1)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0a0a;--surface:#141414;--surface-solid:#101010;--surface-raised:#202020;--line:#2a2a2a;--line-strong:#404040;--text:#ededed;--muted:#a1a1a1;--dim:#8b8b8b;--blue:#70b8ff;--accent-soft:#142333;--green:#5dd69e;--red:#ff8585;--amber:#e8bf69;--inverse:#0a0a0a;--shadow:0 8px 24px #00000040, 0 2px 6px #00000030;--soft-shadow:0 1px 2px #00000020}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0a0a;--surface:#141414;--surface-solid:#101010;--surface-raised:#202020;--line:#2a2a2a;--line-strong:#404040;--text:#ededed;--muted:#a1a1a1;--dim:#8b8b8b;--blue:#70b8ff;--accent-soft:#142333;--green:#5dd69e;--red:#ff8585;--amber:#e8bf69;--inverse:#0a0a0a;--shadow:0 8px 24px #00000040, 0 2px 6px #00000030;--soft-shadow:0 1px 2px #00000020}}*{box-sizing:border-box}html{background:var(--bg);color:var(--text);scroll-padding-top:132px}body{min-height:100dvh;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-family:Geist,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.skip-link{z-index:100;background:var(--text);color:var(--surface-solid);border-radius:999px;padding:.55rem .8rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-140%)}.skip-link:focus{transform:translateY(0)}.noise{display:none}.memory-constellation{pointer-events:none;z-index:0;opacity:.055;mix-blend-mode:multiply;position:fixed;inset:0}.memory-constellation canvas{width:100%;height:100%;display:block}.topbar{z-index:20;border-bottom:1px solid var(--line);background:var(--surface-solid);justify-content:space-between;align-items:center;gap:1rem;height:64px;padding:0 max(24px,50vw - 640px);display:flex;position:sticky;top:0}.brand,.topnav,.nav-cta,.icon-button{align-items:center;display:inline-flex}.brand{white-space:nowrap;gap:.6rem;font-size:15px;font-weight:650}.brand-mark,.icon-button{border:1px solid var(--line);background:var(--surface-solid);width:36px;height:36px;color:var(--muted);box-shadow:none;border-radius:6px;flex-shrink:0;justify-content:center}.brand-mark{background:0 0;border:0;border-radius:6px;flex:none;place-items:center;width:30px;height:30px;display:inline-grid;position:relative;overflow:hidden}.brand-lens{border:2px solid var(--blue);background:radial-gradient(circle at 34% 28%,#fffffff2 0 15%,#0000 16%),#007aff14;border-radius:50%;width:1.1rem;height:1.1rem;display:block;box-shadow:inset 0 0 0 2px #007aff24}.brand-shine{background:var(--blue);border-radius:50%;width:.36rem;height:.36rem;position:absolute;top:.42rem;right:.58rem;box-shadow:-1.15rem 1rem 0 -.08rem #34c759e0}.topnav{color:var(--muted);gap:.35rem}.topbar-actions{align-items:center;gap:.4rem;min-width:0;display:flex}.topbar-actions>*{flex-shrink:0}.topnav a{white-space:nowrap}.mobile-nav-toggle{box-shadow:none;cursor:pointer;display:none}.mobile-nav-overlay{z-index:79;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000003d;position:fixed;inset:0}.mobile-nav-panel{z-index:80;width:100%;padding:.55rem 1rem calc(1rem + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:color-mix(in srgb, var(--surface-solid) 92%, transparent);color:var(--text);-webkit-backdrop-filter:blur(26px)saturate(150%);backdrop-filter:blur(26px)saturate(150%);border-radius:18px 18px 0 0;outline:none;gap:.7rem;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 40px #00000029}.mobile-nav-handle{background:var(--line-strong);border-radius:999px;width:36px;height:5px;margin:0 auto .35rem}.mobile-nav-panel nav{gap:.35rem;display:grid}.mobile-nav-panel a{min-height:52px;color:var(--text);border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem .9rem;font-size:.97rem;transition:background-color .16s,border-color .16s,transform .16s;display:flex}.mobile-nav-panel a svg{color:var(--muted);flex-shrink:0}.mobile-nav-panel a:hover{background:var(--surface-raised)}.mobile-nav-panel a:active{transform:scale(.985)}.mobile-nav-panel a[aria-current=page]{color:var(--blue);border-color:color-mix(in srgb, var(--blue) 18%, transparent);background:var(--accent-soft)}.topnav a:not(.nav-cta){border-radius:6px;padding:.5rem .7rem;font-size:13px}.topnav a:hover{color:var(--text);background:var(--surface)}.nav-cta,.primary-button,.secondary-button,.ui-button{background:var(--text);min-height:38px;color:var(--inverse);cursor:pointer;transition:background-color .15s ease, border-color .15s ease, opacity .15s ease, transform .15s var(--ease-out);border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;padding:0 .9rem;font-size:13px;font-weight:550;display:inline-flex;box-shadow:0 1px 2px #0000000a}.secondary-button,.ui-button-secondary,.ui-button-ghost{border-color:var(--line-strong);background:var(--surface-solid);color:var(--text);box-shadow:var(--soft-shadow)}.ui-button{appearance:none;white-space:nowrap}.ui-button-size-sm{min-height:2rem;padding:0 .7rem;font-size:.84rem}.ui-button-size-lg{min-height:3rem;padding:0 1.15rem}.ui-button-icon,.ui-button-size-icon{width:2.5rem;padding:0}.primary-button:hover,.secondary-button:hover,.nav-cta:hover,.icon-button:hover,.ui-button:hover{opacity:.86;transform:none}.primary-button:active,.secondary-button:active,.nav-cta:active,.icon-button:active,.ui-button:active{transform:scale(.98)}.primary-button:disabled,.secondary-button:disabled,.ui-button:disabled{cursor:not-allowed;opacity:.52;transform:none}.icon-button{cursor:pointer;padding:0}.page{z-index:1;width:min(1280px,100% - 48px);margin:0 auto;padding:32px 0 64px;position:relative}.app-home,.album-detail,.stack,.app-workspace,.timeline,.search-console,.upload-zone,.form-stack,.pipeline-list,.event-grid{gap:1rem;display:grid}.app-home{gap:0}.memory-app-shell{grid-template-columns:minmax(238px,.68fr) minmax(420px,1.35fr) minmax(260px,.72fr);gap:1rem;min-height:calc(100dvh - 96px);display:grid}.memory-sidebar,.memory-stage,.memory-inspector{background:var(--surface-solid);box-shadow:var(--soft-shadow);-webkit-backdrop-filter:saturate(180%)blur(26px);backdrop-filter:saturate(180%)blur(26px);border:1px solid #ffffffb8;border-radius:8px;position:relative;overflow:hidden}.memory-sidebar{flex-direction:column;justify-content:space-between;gap:1.4rem;padding:clamp(1rem,2.4vw,1.45rem);display:flex}.memory-sidebar .lead{max-width:28ch}.memory-nav-list,.memory-feature-stack{gap:.55rem;display:grid}.memory-nav-item{min-height:2.75rem;color:var(--muted);border-radius:8px;align-items:center;gap:.65rem;padding:0 .8rem;transition:background-color .18s,color .18s,transform .18s;display:flex}.memory-nav-item:hover,.memory-nav-item.is-active{color:var(--text);background:#ffffffe0}.memory-nav-item:active{transform:scale(.98)}.memory-stage{background:linear-gradient(#ffffff1f,#ffffffbd),radial-gradient(circle at 22% 12%,#007aff2e,#0000 19rem),#e8edf3;align-content:stretch;min-height:640px;display:grid}.memory-photo-canvas{min-height:560px;position:relative}.memory-photo{background-position:50%;background-size:cover;border:1px solid #ffffffb3;border-radius:8px;position:absolute;overflow:hidden;box-shadow:0 24px 80px #28364438}.memory-photo:after{content:"";background:linear-gradient(#0000 55%,#00000042);position:absolute;inset:0}.memory-photo-large{background-image:url(https://images.unsplash.com/photo-1493976040374-85c8e12f0c0e?auto=format&fit=crop&w=1500&q=82);inset:1rem 1rem 5.2rem}.memory-photo-small{aspect-ratio:4/5;width:min(34%,190px)}.memory-photo-a{background-image:url(https://images.unsplash.com/photo-1528360983277-13d401cdc186?auto=format&fit=crop&w=700&q=82);bottom:3.1rem;right:2rem;transform:rotate(4deg)}.memory-photo-b{background-image:url(https://images.unsplash.com/photo-1503899036084-c55cdd92da26?auto=format&fit=crop&w=700&q=82);bottom:2.4rem;left:2rem;transform:rotate(-3deg)}.memory-route-card,.memory-map-strip,.timeline-preview{box-shadow:var(--soft-shadow);-webkit-backdrop-filter:saturate(180%)blur(24px);backdrop-filter:saturate(180%)blur(24px);background:#ffffffc2;border:1px solid #ffffffb8;border-radius:8px;align-items:center;gap:.65rem;display:flex}.memory-route-card{z-index:2;padding:.7rem .85rem;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.memory-route-card strong,.memory-map-strip strong{color:var(--blue)}.memory-map-strip{place-self:end stretch;min-height:3.25rem;margin:0 1rem 1rem;padding:0 1rem}.memory-map-strip span{color:var(--muted);flex:1}.memory-inspector{align-content:start;gap:1rem;padding:1rem;display:grid}.timeline-preview{align-items:flex-start;padding:1rem}.timeline-dot{background:var(--blue);border-radius:999px;flex:none;width:.68rem;height:.68rem;margin-top:.28rem;box-shadow:0 0 0 5px #007aff1f}.album-shelf{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.hero,.app-command{grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);align-items:stretch;gap:1rem;min-height:calc(100vh - 110px);display:grid}.app-command>div:first-child,.hero>div:first-child,.album-hero,.panel,.auth-card,.ui-card,.album-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-solid);box-shadow:var(--soft-shadow)}.app-command>div:first-child,.hero>div:first-child,.album-hero,.panel,.auth-card,.ui-card{padding:clamp(1rem,2.5vw,1.5rem)}.app-command>div:first-child,.hero>div:first-child{flex-direction:column;justify-content:center;display:flex}.eyebrow{width:fit-content;color:var(--muted);align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:12px;font-weight:500;display:inline-flex}h1,h2,h3,p{margin-top:0}h1,.page-title{letter-spacing:-.035em;text-wrap:balance;max-width:28ch;margin-bottom:.75rem;font-size:clamp(26px,3vw,36px);font-weight:600;line-height:1.25}h2{letter-spacing:-.025em;margin-bottom:.75rem;font-size:clamp(20px,2.2vw,24px);font-weight:600;line-height:1.35}h3{margin-bottom:.5rem;font-size:15px;font-weight:600}.lead{max-width:62ch;color:var(--muted);margin-bottom:1.25rem;font-size:15px;line-height:1.8}.hero-actions,.section-actions,.inline-actions,.tag-row,.segmented-control,.region-grid,.oauth-grid{flex-wrap:wrap;gap:.55rem;display:flex}.section-actions,.dashboard-heading,.compact-heading{justify-content:space-between;align-items:end;margin-top:0}.hero-orbit{border:1px solid var(--line);min-height:520px;box-shadow:var(--shadow);background:linear-gradient(#fff3,#ffffffbd),url(https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1400&q=80) 50%/cover;border-radius:8px;position:relative;overflow:hidden}.hero-orbit:after{content:"";background:linear-gradient(#0000 45%,#ffffffe0);position:absolute;inset:0}.route-line{display:none}.route-card{z-index:1;border:1px solid var(--line);background:var(--surface-solid);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:8px;padding:1rem;position:absolute;bottom:1rem;left:1rem;right:1rem}.metric-row,.card-grid,.album-shell,.detail-layout,.dashboard-grid,.split-panel{gap:1rem;display:grid}.metric-row{grid-template-columns:repeat(4,minmax(0,1fr))}.metric{border:1px solid var(--line);background:var(--surface-solid);border-radius:8px;padding:1rem}.metric strong{color:var(--text);font-size:1.55rem;display:block}.metric span,.muted{color:var(--muted)}.card-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}.album-card{min-height:0;transition:border-color .16s,box-shadow .16s;display:block;overflow:hidden}.album-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow)}.album-card:active{border-color:var(--blue)}.album-cover{background:var(--surface);min-height:188px;padding:1rem;position:relative}.album-cover .tag-row{z-index:1;position:relative}.album-card-body,.ui-card-content{padding:1rem}.ui-card-header{gap:.35rem;padding-bottom:.75rem;display:grid}.ui-card-title{margin:0}.tag,.status-pill,.ui-badge{border:1px solid var(--line);min-height:24px;color:var(--muted);background:var(--surface);border-radius:5px;align-items:center;gap:.35rem;padding:0 .5rem;font-size:11px;display:inline-flex}.dashboard-grid{grid-template-columns:minmax(260px,300px) minmax(0,1fr);align-items:start;gap:32px}.album-detail{gap:24px}.album-hero{border:0;border-bottom:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.5rem;padding:0 0 24px;display:grid}.album-hero .page-title{font-size:clamp(26px,3vw,36px)}.album-hero-actions{flex-wrap:wrap;justify-content:end;align-items:center;gap:.6rem;display:flex}.album-hero-preview{aspect-ratio:4/3;border:1px solid var(--line);background:var(--surface-raised);border-radius:6px;width:140px;min-width:0;position:relative;overflow:hidden}.album-hero-preview-empty{background:var(--surface-muted,#eef0f3);color:var(--text-muted,#8b9098);place-items:center;display:grid}.album-hero-preview img{object-fit:cover}.share-popover{z-index:50;border:1px solid var(--line);background:var(--surface);border-radius:16px;width:min(420px,100vw - 32px);padding:20px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 70px #0003}.media-metadata{gap:8px;margin:16px 0 0;font-size:13px;display:grid}.media-metadata div{grid-template-columns:90px 1fr;gap:8px;display:grid}.media-metadata dt{color:var(--text-muted)}.media-metadata dd{margin:0}.public-hero{border:1px solid var(--line);color:#fff;background:linear-gradient(#00000008,#000b),url(https://images.unsplash.com/photo-1528360983277-13d401cdc186?auto=format&fit=crop&w=1800&q=80) 50%/cover;border-radius:10px;align-items:end;min-height:52vh;padding:clamp(1.5rem,5vw,4rem);display:grid;overflow:hidden}.app-workspace{min-height:70vh}.workspace-tabs{z-index:12;border:0;border-bottom:1px solid var(--line);background:var(--bg);border-radius:0;gap:1rem;width:100%;max-width:100%;padding:0;display:inline-flex;position:sticky;top:64px}.workspace-tab{min-height:48px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:0;align-items:center;gap:.5rem;padding:0 .65rem;font-size:13px;transition:color .16s,box-shadow .16s;display:inline-flex}.workspace-tab-short{display:none}.workspace-tab svg{flex-shrink:0}.workspace-tab:focus-visible{outline-offset:-3px}.workspace-tab:hover{color:var(--text)}.workspace-tab[data-state=active]{color:var(--text);box-shadow:inset 0 -2px var(--text);background:0 0}.workspace-tab:active{transform:scale(.98)}.workspace-panel[hidden]{display:none!important}.workspace-panel{min-height:0;animation:.18s both panelIn}.split-panel{grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);align-items:start}.media-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));align-items:start;gap:.75rem;display:grid}.media-tile{border:1px solid var(--line);background:var(--surface-raised);border-radius:8px;min-height:190px;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s;position:relative;overflow:hidden;box-shadow:0 8px 22px #262b3214}.media-tile:hover{box-shadow:none}.media-tile img{object-fit:cover;width:100%;height:100%;min-height:0;transition:transform .42s}.media-tile:hover img{transform:scale(1.035)}.media-placeholder{background:linear-gradient(135deg,#f5f5f7,#d7d7dc);position:absolute;inset:0}.media-meta{color:#fff;background:linear-gradient(#0000,#000000ad);padding:.75rem;position:absolute;inset:auto 0 0}.media-empty,.map-loading{border:1px dashed var(--line-strong);min-height:220px;color:var(--muted);background:#ffffff9e;border-radius:8px;place-items:center;display:grid}.map-loading{background:linear-gradient(90deg,#ffffff8c,#ffffffe0,#ffffff8c) 0 0/220% 100%,linear-gradient(#dff3ff,#cfeaf9) 0 0/100% 100%;min-height:660px;animation:1.2s ease-in-out infinite shimmer}.media-meta .muted,.media-meta .status-pill{color:#ffffffdb}.timeline-row{grid-template-columns:1fr;align-items:start;gap:1rem;display:grid}.timeline-date{color:var(--muted);padding-top:.5rem;font-size:.84rem}.footprint-explorer{grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:1rem;display:grid}.map-panel{min-height:340px;position:relative;overflow:hidden}.map-panel-large{background:linear-gradient(180deg, var(--accent-soft), var(--surface-solid)), var(--surface-solid);min-height:520px}.map-track{background-image:linear-gradient(#0068d613 1px,#0000 1px),linear-gradient(90deg,#0068d613 1px,#0000 1px);background-size:32px 32px;border:1px solid #0068d624;border-radius:6px;position:absolute;inset:1rem}.map-svg{width:100%;height:100%;position:absolute;inset:0}.route-beam{stroke:var(--blue);stroke-width:.85px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:4 3;filter:drop-shadow(0 0 7px #0068d659)}.map-point-button{cursor:pointer;background:0 0;border:0;border-radius:50%;width:2.4rem;height:2.4rem;padding:0;position:absolute;transform:translate(-50%,-50%)}.map-point-button span{border:3px solid var(--blue);background:var(--surface-solid);border-radius:50%;width:.88rem;height:.88rem;margin:auto;transition:transform .18s,border-color .18s,background-color .18s;display:block;box-shadow:0 0 0 4px #0068d61f,0 5px 14px #0068d647}.map-point-button:hover span,.map-point-button-active span{border-color:var(--green);background:#18794e1f;transform:scale(1.2)}.map-point-button-active:before{content:"";border:1px solid #18794e6b;border-radius:50%;animation:1.8s ease-out infinite footprint-pulse;position:absolute;inset:.18rem}.map-hud{flex-wrap:wrap;justify-content:space-between;gap:.45rem;display:flex;position:absolute;top:1rem;left:1rem;right:1rem}.place-drawer{align-self:stretch;min-width:0}.place-drawer .media-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}@keyframes footprint-pulse{0%{opacity:.82;transform:scale(.72)}to{opacity:0;transform:scale(1.32)}}.global-map-shell{grid-template-columns:minmax(0,1fr);align-items:start;gap:1rem;min-height:660px;display:grid}.global-map-stage{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-height:660px;position:relative;overflow:hidden}.global-map{z-index:1;background:0 0;position:absolute;inset:0}.world-fallback-map{z-index:0;background:linear-gradient(#dff3ff,#cfeaf9 58%,#d9edf5);width:100%;height:100%;position:absolute;inset:0}.world-fallback-country{fill:#e8eee8eb;stroke:#788e9b6b;stroke-width:.5px;vector-effect:non-scaling-stroke}.world-fallback-route{fill:none;stroke:var(--blue);stroke-linecap:round;stroke-linejoin:round;stroke-width:3px;opacity:.72;filter:drop-shadow(0 4px 8px #007aff47)}.fallback-footprint-layer{z-index:2;pointer-events:none;position:absolute;inset:0}.fallback-footprint-marker{background:var(--blue);pointer-events:auto;cursor:pointer;border:3px solid #fff;border-radius:999px;width:1.15rem;height:1.15rem;padding:0;transition:transform .18s,box-shadow .18s;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0000002e,0 8px 18px #007aff5c}.fallback-footprint-marker:hover{transform:translate(-50%,-50%)scale(1.18);box-shadow:0 0 0 7px #007aff21,0 12px 24px #007aff61}.global-map-panel{z-index:3;pointer-events:none;align-items:center;gap:.55rem;max-width:490px;display:flex;position:absolute;top:.9rem;left:.9rem;right:.9rem}.global-map-panel>*{pointer-events:auto}.map-region-toolbar{border:1px solid var(--line);background:var(--surface-solid);min-width:0;box-shadow:var(--soft-shadow);border-radius:8px;flex:1;grid-template-columns:1.2fr 1fr 1fr;display:grid}.map-region-trigger{min-width:0;height:42px;color:var(--text);cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:4px;padding:0 10px;font-size:13px;display:flex}.map-region-trigger+.map-region-trigger{border-left:1px solid var(--line)}.map-region-trigger span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.map-region-trigger svg{flex-shrink:0}.map-region-trigger:disabled{color:var(--muted);cursor:not-allowed}.map-region-trigger:hover:not(:disabled),.map-region-trigger[data-state=open]{background:var(--accent-soft)}.map-reset-view{border:1px solid var(--line);height:42px;color:var(--text);background:var(--surface-solid);box-shadow:var(--soft-shadow);cursor:pointer;border-radius:8px;flex:0 0 42px;place-items:center;display:grid}.map-reset-view:disabled{opacity:.62;cursor:wait}.map-region-popover{z-index:80;width:min(320px,100vw - 24px);max-height:var(--radix-popover-content-available-height);border:1px solid var(--line);background:var(--surface-solid);color:var(--text);transform-origin:var(--radix-popover-content-transform-origin);border-radius:8px;animation:.14s ease-out map-popover-in;overflow:hidden;box-shadow:0 12px 36px #0002}.map-region-search{border-bottom:1px solid var(--line);height:46px;color:var(--muted);align-items:center;gap:8px;padding:0 12px;display:flex}.map-region-search input{width:100%;min-width:0;height:100%;color:var(--text);font:inherit;background:0 0;border:0;outline:none;padding:0;font-size:16px}.map-region-popover [cmdk-list]{max-height:min(280px, calc(var(--radix-popover-content-available-height) - 96px));overscroll-behavior:contain;padding:6px;scroll-padding:6px;overflow-y:auto}.map-region-popover [cmdk-item]{cursor:pointer;border-radius:5px;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:7px 10px;display:flex}.map-region-popover [cmdk-item][data-selected=true]{background:var(--accent-soft)}.map-region-popover [cmdk-item] span{min-width:0}.map-region-popover [cmdk-item] strong{overflow-wrap:anywhere;font-size:14px;font-weight:550;display:block}.map-region-popover [cmdk-item] small{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.map-region-popover [cmdk-item]>svg{color:var(--blue);flex-shrink:0}.map-region-status,.map-region-popover [cmdk-empty]{color:var(--muted);justify-content:center;align-items:center;gap:8px;padding:18px 8px;font-size:13px;display:flex}.map-region-status button,.map-region-more{color:var(--blue);cursor:pointer;background:0 0;border:0}.map-region-more{border-top:1px solid var(--line);width:100%;min-height:40px}.map-load-status{z-index:3;background:var(--surface-solid);max-width:calc(100% - 100px);color:var(--muted);box-shadow:var(--soft-shadow);border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.map-load-status button{width:30px;height:30px;color:var(--blue);cursor:pointer;background:0 0;border:0;flex-shrink:0;place-items:center;padding:0;display:grid}.map-loading-spinner{flex-shrink:0;animation:.9s linear infinite map-loading-spin}@keyframes map-loading-spin{to{transform:rotate(360deg)}}@keyframes map-popover-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.map-region-popover,.map-loading-spinner{animation:none}}.global-place-panel{overscroll-behavior:contain;scrollbar-width:thin;border-left:1px solid var(--line);flex-direction:column;gap:1rem;min-width:0;max-height:660px;padding:.5rem .25rem 1rem 1rem;display:flex;overflow:auto}.global-place-heading{gap:.35rem;display:grid}.global-place-heading h3{overflow-wrap:anywhere;margin:0;font-size:1.25rem}.global-place-heading p{font-variant-numeric:tabular-nums;margin:0;font-size:.8rem}.global-place-status{color:var(--muted);font-size:.75rem;font-weight:600}.global-place-panel .media-grid{grid-template-columns:1fr}.maplibre-memory-marker{background:var(--blue);cursor:pointer;border:3px solid #fff;border-radius:999px;width:1.25rem;height:1.25rem;padding:0;display:block;box-shadow:0 0 0 1px #00000029,0 6px 18px #007aff6b}.maplibregl-ctrl-group{z-index:4;border:1px solid var(--line);background:var(--surface-solid);box-shadow:var(--soft-shadow);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-radius:6px;position:relative;overflow:hidden}.maplibregl-ctrl-attrib{background:var(--surface-solid);border-radius:999px 0 0}.empty-map-state{color:var(--muted);align-items:flex-start;gap:.75rem;padding:1rem 0;font-size:.875rem;line-height:1.55;display:flex}.empty-map-state svg{flex-shrink:0;margin-top:.1rem}.empty-map-state p{margin:0}.input,.textarea,.select{border:1px solid var(--line-strong);width:100%;min-height:40px;color:var(--text);background:var(--surface-solid);border-radius:6px;outline:none;padding:.6rem .75rem;font-size:14px;transition:border-color .15s,box-shadow .15s}.field,.form-stack label{gap:.42rem;display:grid}.field>span,.form-stack label>span{color:var(--muted);font-size:.86rem;font-weight:600}.input{align-items:center;gap:.55rem;display:flex}.input input{width:100%;min-width:0;color:inherit;background:0 0;border:0;outline:0;padding:0}.input input::placeholder,.textarea::placeholder{color:#7d7d85}.input:focus,.textarea:focus,.select:focus,.input:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px var(--accent-soft)}.textarea{resize:vertical;min-height:6rem}.upload-target{border:1px dashed var(--line-strong);background:var(--surface);text-align:center;border-radius:8px;place-items:center;min-height:220px;display:grid}.upload-target-active{background:var(--accent-soft);border-color:#007affb8;box-shadow:inset 0 0 0 4px #007aff17}.live-pair-assist{background:#007aff0b;border:1px solid #007aff29;border-radius:8px;gap:.62rem;padding:.85rem;display:grid}.live-pair-assist h4{margin:0;font-size:.9rem}.live-pair-assist p{margin:.2rem 0 0;font-size:.82rem}.pair-candidate{cursor:pointer;transition:transform .16s,background-color .16s,color .16s}.pair-candidate-selected{color:var(--blue);background:var(--accent-soft);border-color:#007aff6b}.pair-candidate:active{transform:scale(.98)}.upload-target>span{justify-items:center;gap:.45rem;display:grid}.upload-file{gap:.38rem;padding-right:.25rem}.upload-file-failed{color:var(--red);border-color:#ff3b3059}.upload-file-uploaded{color:var(--green);border-color:#34c7595c}.upload-file .icon-button{border-radius:999px;width:1.25rem;height:1.25rem}.auth-wrap{place-items:center;min-height:calc(100dvh - 64px);display:grid}.auth-card{width:min(480px,100%)}.auth-card-wide{grid-template-columns:minmax(0,1fr) minmax(240px,.78fr);gap:24px;width:min(800px,100%);padding:clamp(20px,4vw,36px);display:grid}.auth-card-head,.auth-links{grid-column:1/-1}.auth-card-head h1{margin-bottom:0;font-size:28px}.auth-primary{align-content:start;gap:.85rem;display:grid}.message{color:var(--amber);margin-bottom:1rem}.oauth-panel,.otp-card{gap:.7rem;margin-top:0;padding-top:0;display:grid}.auth-primary .otp-card,.auth-card:not(.auth-card-wide) .oauth-panel,.auth-card:not(.auth-card-wide) .otp-card{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.auth-card-wide .oauth-panel{border-left:1px solid var(--line);background:0 0;align-content:start;padding:0 0 0 24px}.oauth-list{gap:.52rem;display:grid}.oauth-button{text-transform:none;white-space:normal;grid-template-columns:20px minmax(0,1fr) 20px;gap:3px 10px;width:100%;min-height:44px;padding:10px 12px;display:grid}.oauth-button-label{text-align:center;grid-column:2;min-width:0;font-size:14px;font-weight:500;line-height:20px}.oauth-button small{text-align:center;color:var(--muted);grid-column:2;font-size:11px;line-height:16px}.provider-glyph{width:20px;height:20px;color:var(--text);place-items:center;display:inline-grid}.provider-google{background:#fff}.provider-discord{color:#5865f2}.provider-qq{color:var(--text)}.search-result-strip{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.7rem;display:grid}.search-result-card{border:1px solid var(--line);background:var(--surface-solid);border-radius:8px;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:.7rem;min-height:74px;padding:.5rem;display:grid}.search-result-thumb{aspect-ratio:1;background:var(--surface-raised);border-radius:8px;width:58px;position:relative;overflow:hidden}.search-result-thumb img{object-fit:cover}.search-result-card strong,.search-result-card span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.search-result-card span{color:var(--muted);margin-top:.2rem;font-size:.82rem}.pipeline-step,.event-row{border:1px solid var(--line);background:var(--surface);min-height:2.4rem;color:var(--muted);border-radius:8px;align-items:center;gap:.75rem;padding:.62rem .72rem;display:flex}.pipeline-step:before{content:"";background:var(--dim);border-radius:999px;width:.5rem;height:.5rem}.pipeline-step-live:before,.pipeline-step-done:before{background:var(--green)}.pipeline-step-active:before{background:var(--blue);animation:1.5s ease-in-out infinite pipeline-pulse}@keyframes pipeline-pulse{0%,to{opacity:1}50%{opacity:.4}}.mini-metrics{grid-template-columns:repeat(2,minmax(0,1fr));margin:1rem 0}.full-span{grid-column:1/-1}.event-row{justify-content:space-between}.event-row code{color:var(--blue)}.team-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.32fr);align-items:start;gap:1rem;display:grid}.team-stack,.team-card{gap:1rem;display:grid}.team-card-head{justify-content:space-between;align-items:start;gap:1rem;display:flex}.member-strip{gap:.55rem;padding-bottom:.1rem;display:flex;overflow-x:auto}.member-pill{border:1px solid var(--line);background:var(--surface-solid);border-radius:8px;align-items:center;gap:.65rem;min-width:170px;padding:.55rem .7rem;display:inline-flex}.member-avatar{color:#fff;background:linear-gradient(145deg,#007afff2,#34c759d1);border-radius:50%;flex:none;place-items:center;width:2rem;height:2rem;font-size:.82rem;font-weight:750;display:inline-grid}.member-pill strong,.member-pill small{display:block}.member-pill small{color:var(--muted);margin-top:.1rem}.team-side{gap:1rem;display:grid;position:sticky;top:86px}.permission-panel{gap:.7rem;display:grid}.permission-row{border-top:1px solid var(--line);gap:.45rem;padding:.65rem 0;display:grid}.permission-row>span{color:var(--text);font-weight:650}.permission-dot{border:1px solid var(--line);min-height:1.55rem;color:var(--dim);background:var(--surface-solid);border-radius:999px;align-items:center;padding:0 .48rem;font-size:.72rem;display:inline-flex}.permission-dot-on{color:var(--blue);background:var(--accent-soft);border-color:#007aff47}.spin{animation:.84s linear infinite spin}@keyframes panelIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes shimmer{to{background-position:-120% 0,0 0}}@keyframes memoryFloat{0%,to{translate:0}50%{translate:0 -8px}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slide{0%{translate:var(--slide-offset)}to{translate:0}}::view-transition{pointer-events:none}::view-transition-old(.fade-out){animation:var(--duration-exit) ease-in fade reverse}::view-transition-new(.fade-in){animation:var(--duration-enter) ease-out var(--duration-exit) both fade}::view-transition-old(.nav-forward){--slide-offset:-44px;animation:var(--duration-exit) ease-in both fade reverse, var(--duration-move) cubic-bezier(.2, .8, .2, 1) both slide reverse}::view-transition-new(.nav-forward){--slide-offset:44px;animation:var(--duration-enter) ease-out var(--duration-exit) both fade, var(--duration-move) cubic-bezier(.2, .8, .2, 1) both slide}::view-transition-old(.nav-back){--slide-offset:44px;animation:var(--duration-exit) ease-in both fade reverse, var(--duration-move) cubic-bezier(.2, .8, .2, 1) both slide reverse}::view-transition-new(.nav-back){--slide-offset:-44px;animation:var(--duration-enter) ease-out var(--duration-exit) both fade, var(--duration-move) cubic-bezier(.2, .8, .2, 1) both slide}::view-transition-group(.morph){animation-duration:var(--duration-move)}::view-transition-group(.text-morph){animation-duration:var(--duration-move)}::view-transition-old(.text-morph){display:none}::view-transition-new(.text-morph){object-fit:none;object-position:left top;animation:none}::view-transition-old(persistent-nav){animation:none}::view-transition-new(persistent-nav){animation:none}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:no-preference){.home-workspace-toolbar,.home-gallery-frame{animation:panelIn .25s var(--ease-out) both}.home-gallery-frame{animation-delay:40ms}.memory-photo-a{animation:5.2s ease-in-out infinite memoryFloat}.memory-photo-b{animation:6.4s ease-in-out infinite reverse memoryFloat}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}::view-transition-old(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-new(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-group(*){animation-duration:0s!important;animation-delay:0s!important}}@media (max-width:900px){.topnav{display:none}.mobile-nav-toggle{width:44px;height:44px;display:inline-flex}.global-place-panel{border-left:0;border-top:1px solid var(--line);max-height:420px;padding:1rem .25rem}.hero,.app-command,.memory-app-shell,.album-shell,.detail-layout,.dashboard-grid,.team-layout,.auth-card-wide,.album-hero,.footprint-explorer,.global-map-shell,.split-panel{grid-template-columns:1fr}.team-side{position:static}.team-card-head{display:grid}.album-hero-actions{justify-content:start}.metric-row,.album-shelf{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-orbit,.memory-stage,.memory-photo-canvas,.global-map-stage,.global-map-shell{min-height:520px}.workspace-tabs{border-radius:8px;grid-template-columns:repeat(5,minmax(0,1fr));gap:.125rem;width:100%;display:grid}.workspace-tab{border-radius:6px;flex-direction:column;justify-content:center;gap:.3rem;min-width:0;min-height:56px;padding:.35rem .125rem;font-size:.75rem;line-height:1.2}.workspace-tab-label{display:none}.workspace-tab-short{display:inline}.global-map-panel{gap:6px;max-width:calc(100% - 1.2rem)}.map-panel-large{min-height:460px}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.page{width:calc(100% - 32px)}.topbar{padding:0 .7rem}.brand span:last-child{display:none}.memory-app-shell,.album-shelf,.metric-row,.mini-metrics,.search-result-strip{grid-template-columns:1fr}.memory-stage,.memory-photo-canvas{min-height:430px}.memory-photo-large{inset:.75rem .75rem 4.6rem}.memory-photo-small{width:38%}.album-hero{align-items:start}.global-map-panel{grid-template-columns:minmax(0,1fr) 42px 42px;align-items:stretch;max-width:none;display:grid;top:.65rem;left:.65rem;right:.65rem}.map-panel-large{min-height:380px}.map-region-toolbar{min-width:0}}.media-grid .media-tile{aspect-ratio:4/3;border:1px solid var(--line);width:100%;min-height:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;appearance:none;transform-origin:50%;border-radius:6px;padding:0;display:grid}.media-tile-image{background:var(--surface-raised);min-height:0;display:block;position:absolute;inset:0;overflow:hidden}.media-tile-image img{object-fit:cover;transition:transform .5s cubic-bezier(.16,1,.3,1)}.media-tile-video{object-fit:cover;width:100%;height:100%}.media-tile:hover .media-tile-image img{transform:scale(1.025)}.media-type-label{color:var(--blue);align-items:center;gap:.34rem;font-size:.74rem;font-weight:650;display:inline-flex}.video-play-indicator{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0006;border:1px solid #ffffffa3;border-radius:50%;place-items:center;width:2.05rem;height:2.05rem;display:grid;position:absolute;bottom:.58rem;right:.58rem}.media-focus-backdrop{z-index:60;width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--text);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000b;border:0;place-items:center;margin:0;padding:clamp(.8rem,3vw,2rem);display:grid;position:fixed;inset:0}.media-focus{border:1px solid var(--line);background:var(--surface-solid);width:min(1080px,100%);max-height:min(760px,100dvh - 2rem);box-shadow:var(--shadow);border-radius:10px;grid-template-columns:minmax(0,1fr) minmax(260px,.35fr);display:grid;overflow:hidden}.media-focus-visual{background:#111215;min-height:360px;position:relative}.media-focus-visual img{object-fit:contain}.media-focus-video{object-fit:contain;width:100%;height:100%;min-height:360px}.media-focus-info{align-content:space-between;gap:1rem;padding:1.15rem;display:grid}.media-focus-info h3{margin:.35rem 0;font-size:1.15rem}.media-focus-info p{color:var(--muted);margin:0}.media-focus-actions{flex-wrap:wrap;justify-content:flex-end;gap:.48rem;display:flex}.danger-button{min-height:2.5rem;color:var(--red);cursor:pointer;background:#ff3b301a;border:1px solid #ff3b303d;border-radius:999px;justify-content:center;align-items:center;gap:.42rem;padding:0 .9rem;transition:transform .18s cubic-bezier(.2,.8,.2,1),background-color .18s;display:inline-flex}.danger-button:hover{background:#ff3b302b;transform:translateY(-1px)}.danger-button:active{transform:translateY(1px)scale(.98)}.media-focus-error{color:var(--red);grid-column:1/-1;margin:0;font-size:.84rem}@media (max-width:900px){.media-focus{grid-template-columns:1fr;max-height:calc(100dvh - 1.6rem)}.media-focus-visual{min-height:min(56dvh,470px)}.media-focus-info{grid-template-columns:minmax(0,1fr) auto;align-content:start}}@media (prefers-reduced-motion:reduce){.media-tile-image img{transition:none}}.brand-icon{width:100%;height:100%;display:block}.memory-carousel{isolation:isolate;touch-action:pan-y;min-height:560px;position:relative;overflow:hidden}.memory-carousel-empty{background:linear-gradient(145deg,#dce6f3,#f7f8fb 58%,#dbeee6);min-height:560px}.memory-carousel-surface{cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0;position:absolute;inset:1rem 1rem 8rem}.memory-carousel-media{border-radius:inherit;background:color-mix(in srgb, var(--surface-raised) 88%, var(--text) 12%);display:block;position:absolute;inset:0;overflow:hidden}.memory-carousel-media .memory-carousel-image{object-fit:contain;object-position:center;width:100%;height:100%}.memory-carousel-video{object-fit:cover;width:100%;height:100%}.memory-carousel-topline{z-index:2;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;top:1.8rem;left:1.8rem;right:1.8rem}.memory-carousel-index,.memory-carousel-live{color:#fff;-webkit-backdrop-filter:blur(14px)saturate(140%);backdrop-filter:blur(14px)saturate(140%);font-variant-numeric:tabular-nums;background:#14151861;border:1px solid #ffffff80;border-radius:999px;padding:.38rem .56rem;font-size:.73rem;box-shadow:0 8px 22px #00000029}.memory-carousel-live{align-items:center;gap:.34rem;display:inline-flex}.memory-carousel-footer{z-index:3;gap:.25rem;display:grid;position:absolute;bottom:.75rem;left:1rem;right:1rem}.memory-carousel-footer-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;display:grid}.memory-carousel-location{color:var(--muted);grid-template-columns:16px minmax(0,1fr);align-items:center;column-gap:.4rem;font-size:.75rem;display:grid}.memory-carousel-location span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.memory-carousel-location strong{grid-column:2;font-size:.7rem;font-weight:500}.memory-carousel-controls{gap:.25rem;display:flex}.memory-carousel-control{border:1px solid var(--line);width:44px;height:44px;color:var(--text);background:var(--surface-solid);cursor:pointer;border-radius:6px;place-items:center;padding:0;transition:background-color .16s;display:grid}.memory-carousel-control:hover{background:var(--surface-raised)}.memory-carousel-control:active{transform:scale(.94)}.memory-carousel-rail{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-items:center;gap:.38rem;display:grid}.memory-carousel-dot{cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;min-width:0;height:44px;padding:0;display:grid}.memory-carousel-dot:before{content:"";background:var(--line-strong);border-radius:999px;width:100%;height:3px;transition:background-color .18s,transform .18s}.memory-carousel-dot[aria-pressed=true]:before{background:var(--blue);transform:scaleY(1.5)}.memory-carousel-dot:hover:before{background:var(--muted)}.timeline-scroll-region{scrollbar-width:thin;max-height:min(720px,100dvh - 180px);padding:0 .5rem 1rem 0;position:relative;overflow:auto}.timeline-scroll-region .timeline-row+.timeline-row{margin-top:.75rem}.timeline-date{width:fit-content;height:auto;color:var(--text);align-self:start;align-items:center;gap:.5rem;padding:.35rem 0;font-weight:650;display:flex}.timeline-date span{background:var(--blue);border-radius:50%;width:6px;height:6px}.gallery-panel{background:0 0;min-width:0;padding:1rem 0}.search-console{isolation:isolate;border:1px solid var(--line);background:var(--surface-solid);border-radius:8px;padding:clamp(1rem,2.4vw,1.5rem);position:relative;overflow:clip}.search-heading{gap:.35rem;display:grid}.search-heading h2,.search-heading p{margin:0}.search-toolbar{grid-template-columns:minmax(0,1fr) minmax(132px,auto) auto auto;align-items:stretch;gap:.6rem;display:grid}.search-toolbar .input{width:auto;min-width:0}.search-toolbar .select{width:auto}.search-toolbar button{white-space:nowrap}.search-console .media-grid{contain:layout paint;min-width:0;position:relative;overflow:clip}.search-console .media-tile{isolation:isolate;contain:layout paint}.search-count{margin:0;font-size:.85rem}.topnav a[aria-current=page]{color:var(--text);background:var(--surface-raised);box-shadow:none;font-weight:600}.signed-in-status{color:var(--muted);font-size:.85rem}.media-focus-backdrop::backdrop{background:#0009}.media-focus-backdrop:not([open]){display:none}.media-focus{overflow:auto}.media-tile-image .live-photo-poster{object-fit:cover}.live-photo-status{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00000057;border:1px solid #ffffff8a;border-radius:999px;align-items:center;gap:.3rem;padding:.33rem .48rem;font-size:.7rem;font-weight:650;transition:opacity .18s,transform .18s;display:inline-flex;position:absolute;top:.58rem;left:.58rem}.live-photo-focus-control{z-index:2;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(14px)saturate(140%);backdrop-filter:blur(14px)saturate(140%);background:#1011138f;border:1px solid #ffffff7a;border-radius:999px;align-items:center;gap:.44rem;min-height:2.5rem;padding:0 .78rem;display:inline-flex;position:absolute;bottom:1rem;right:1rem}.live-photo-focus-control:hover{background:#101113c7}.live-photo-player{isolation:isolate;background:#111215;display:block;position:absolute;inset:0;overflow:hidden}.live-photo-player .live-photo-poster{object-fit:contain;min-height:0;transform:none!important}.live-photo-sdk-host,.live-photo-sdk-surface{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.live-photo-sdk-host{z-index:0;transition:opacity .12s}.live-photo-press-target{z-index:1;cursor:pointer;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:0;width:100%;height:100%;position:absolute;inset:0}.live-photo-engine-label{z-index:2;color:#fff;pointer-events:none;background:#161719dd;border-radius:8px;align-items:center;gap:.35rem;max-width:calc(100% - 1.4rem);padding:.35rem .6rem;font-size:.74rem;display:flex;position:absolute;top:.7rem;left:.7rem}.live-photo-toolbar{z-index:2;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex;position:absolute;bottom:1rem;left:1rem;right:1rem}.live-photo-toolbar .live-photo-focus-control{position:static}.live-photo-loop{color:#fff;cursor:pointer;background:#161719dd;border-radius:8px;align-items:center;gap:.4rem;padding:.6rem;font-size:.8rem;display:inline-flex}.live-photo-loop input{accent-color:var(--blue)}@media (max-width:900px){.memory-carousel,.memory-carousel-empty{min-height:430px}.memory-carousel-surface{inset:.75rem .75rem 7.75rem}.memory-carousel-topline{top:1.4rem;left:1.35rem;right:1.35rem}.memory-carousel-footer{left:.75rem;right:.75rem}.timeline-scroll-region{max-height:min(620px,100dvh - 220px)}}@media (prefers-reduced-motion:reduce){.memory-carousel-dot:before,.memory-carousel-control,.timeline-scroll-region .timeline-date{transition:none}.mobile-nav-panel{animation:none}}.media-processing-summary{border-bottom:1px solid var(--line);padding:12px 0}.media-processing-summary>p{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.media-processing-summary svg{flex-shrink:0}.media-processing-item{justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.media-processing-item>span{min-width:0}.media-processing-item strong,.media-processing-item small{overflow-wrap:anywhere;display:block}.media-processing-item strong{font-size:13px}.media-processing-item small{color:#b23b36;font-size:12px}.media-stage-list{gap:8px;margin-top:10px;display:grid}.media-stage-item{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 88%, transparent);border-radius:10px}.media-stage-item summary{cursor:pointer;justify-content:space-between;gap:12px;padding:10px 12px;font-size:13px;display:flex}.media-stage-item summary span{color:var(--muted);font-variant-numeric:tabular-nums}.media-stage-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px;padding:0 10px 10px;display:grid}.media-stage{background:var(--surface);min-width:0;color:var(--muted);border-radius:7px;align-items:center;gap:6px;padding:6px 8px;font-size:11px;display:flex}.media-stage i{background:var(--dim);border-radius:999px;flex:none;width:7px;height:7px}.media-stage-running i{background:var(--blue);animation:1.5s ease-in-out infinite pipeline-pulse}.media-stage-retrying i{background:#d18b2c;animation:1.5s ease-in-out infinite pipeline-pulse}.media-stage-succeeded i{background:var(--green)}.media-stage-failed i{background:#b23b36}.media-stage-skipped{opacity:.72}.upload-file{overflow-wrap:anywhere;white-space:normal;max-width:100%}.upload-file [role=alert]{color:#b23b36;font-size:12px}.map-photo-marker{color:#fff;background:var(--blue);cursor:pointer;border:2px solid #fff;border-radius:6px;width:62px;height:62px;padding:3px;box-shadow:0 3px 14px #0005}.map-photo-marker img{object-fit:cover;border-radius:7px;width:100%;height:100%}.map-photo-marker:hover,.map-photo-marker:focus-visible{z-index:5;outline:3px solid var(--blue);outline-offset:3px}.map-photo-overlay{z-index:3;border:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:min(360px,100% - 5rem);box-shadow:var(--soft-shadow);border-radius:8px;padding:.65rem;position:absolute;bottom:2.5rem;left:1rem}.map-photo-overlay .global-place-heading{align-items:center;gap:.5rem;padding:0 0 .5rem;font-size:.8rem;display:flex}.map-photo-overlay .global-place-heading span{color:var(--muted);margin-left:auto}.map-photo-overlay .media-grid{gap:.5rem;display:flex;overflow-x:auto}.map-photo-overlay .media-grid .media-tile{aspect-ratio:4/3;flex:0 0 138px}@media (max-width:620px){.map-photo-marker{width:48px;height:48px}.map-photo-overlay .media-grid .media-tile{flex-basis:110px}.media-grid{gap:.5rem}}.legal-page{overflow-wrap:anywhere;max-width:800px;line-height:1.8}.legal-page h1{font-size:32px}.legal-page h2{margin-bottom:8px;font-size:20px}.legal-page section,.legal-page footer{margin-top:28px}.legal-page p{margin-top:8px}.legal-page a,.auth-legal-links a{text-underline-offset:4px;text-decoration:underline}.auth-legal-links{flex-wrap:wrap;gap:8px 24px;margin-top:20px;font-size:13px;display:flex}.auth-legal-links a{align-items:center;min-height:44px;display:inline-flex}.admin-page{max-width:1560px}.admin-shell{border:1px solid var(--line);background:var(--surface-solid);border-radius:8px;grid-template-columns:210px minmax(0,1fr);min-height:calc(100dvh - 110px);display:grid;overflow:hidden}.admin-sidebar{border-right:1px solid var(--line);background:var(--surface);padding:1.4rem 1rem}.admin-brand{font-size:1.2rem;font-weight:750}.admin-sidebar>p{color:var(--muted);margin:.4rem 0 1.5rem;font-size:.75rem}.admin-sidebar nav{gap:.3rem;display:grid}.admin-sidebar nav a{color:var(--muted);border-radius:8px;align-items:center;gap:.65rem;padding:.8rem;font-size:.9rem;display:flex}.admin-sidebar nav a[aria-current=page]{color:var(--blue);background:var(--accent-soft);box-shadow:inset 3px 0 var(--blue);font-weight:650}.admin-return{color:var(--muted);margin-top:2rem;padding:.8rem;font-size:.85rem;display:block}.admin-main{min-width:0;padding:clamp(1rem,3vw,2.25rem)}.admin-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.9rem;display:flex}.admin-heading h1{letter-spacing:-.03em;margin:.4rem 0 0;font-size:1.65rem}.admin-help{color:var(--muted);font-size:.84rem;line-height:1.7}.admin-toolbar{flex-wrap:wrap;align-items:center;gap:.6rem;margin:1.2rem 0;display:flex}.admin-toolbar .input{flex:220px;max-width:400px}.admin-total{color:var(--muted);margin-left:auto;font-size:.8rem}.admin-table-wrap{border:1px solid var(--line);border-radius:10px;overflow-x:auto}.admin-table{border-collapse:collapse;text-align:left;width:100%;font-size:.85rem}.admin-table th{background:var(--surface-raised);color:var(--muted);white-space:nowrap;font-weight:600}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:.85rem 1rem}.admin-table tr:last-child td{border-bottom:0}.admin-table td{overflow-wrap:anywhere;max-width:300px}.admin-table small{color:var(--muted);margin-top:.25rem;font-size:.75rem;display:block}.admin-table .secondary-button{white-space:nowrap;border-radius:6px;min-height:34px;padding:.35rem .7rem;font-size:.78rem}.admin-status{color:var(--green);white-space:nowrap;align-items:center;gap:.4rem;display:inline-flex}.admin-status:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.admin-status.is-disabled{color:var(--red)}.admin-mono{font-family:ui-monospace,SFMono-Regular,monospace;font-size:.75rem}.admin-agent{min-width:220px;color:var(--muted);font-size:.75rem}.admin-pagination{justify-content:flex-end;align-items:center;gap:.6rem;margin-top:1rem;font-size:.8rem;display:flex}.admin-pagination>span{color:var(--muted);margin-right:auto}.admin-error,.admin-notice{border:1px solid;border-radius:8px;padding:.8rem 1rem;font-size:.85rem}.admin-error{color:var(--red);background:#bd463a08}.admin-notice{color:var(--green);background:#16834a08}.admin-edit-form{border:1px solid var(--line);border-radius:10px;gap:1rem;margin:1rem 0;padding:1.2rem;display:grid}.admin-settings-nav{border-bottom:1px solid var(--line);gap:.5rem;margin-bottom:1.5rem;display:flex}.admin-settings-nav button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:.8rem 1rem}.admin-config-intro{max-width:640px;margin-bottom:1.5rem}.admin-config-intro h2{font-size:1.15rem}.admin-config-intro p{color:var(--muted);font-size:.85rem;line-height:1.7}.admin-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.admin-settings-grid .field,.admin-config-intro .field{font-size:.85rem}.admin-settings-grid .field small{color:var(--muted);font-size:.73rem;font-weight:400;line-height:1.6}.admin-model-field{min-width:0}.admin-model-field>label{color:var(--muted);font-size:.86rem;font-weight:600}.admin-model-input-row{align-items:stretch;gap:8px;display:flex}.admin-model-input-row .input{flex:1;min-width:0}.admin-model-fetch{white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-width:126px;padding-inline:12px;display:inline-flex}.admin-model-fetch .is-spinning{animation:.8s linear infinite admin-spin}.admin-model-picker{border:1px solid var(--line);background:var(--surface-solid);box-shadow:var(--soft-shadow);border-radius:7px;margin-top:8px;overflow:hidden}.admin-model-search{border-bottom:1px solid var(--line);height:40px;color:var(--muted);align-items:center;gap:8px;padding:0 11px;display:flex}.admin-model-search input{width:100%;min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:0}.admin-model-list{max-height:290px;padding:4px;overflow-y:auto}.admin-model-option{width:100%;min-height:52px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;grid-template-columns:minmax(120px,1fr) minmax(0,auto) 18px;align-items:center;gap:10px;padding:8px 10px;display:grid}.admin-model-option:hover,.admin-model-option:focus-visible{background:var(--surface);outline:0}.admin-model-copy{min-width:0}.admin-model-copy strong,.admin-model-copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-model-copy strong{font:500 12px/1.5 ui-monospace,SFMono-Regular,monospace}.admin-model-copy small{color:var(--muted);margin-top:1px;font-size:10px}.admin-model-capabilities{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.admin-model-capability{border:1px solid var(--line-strong);min-height:23px;color:var(--text);background:var(--surface);white-space:nowrap;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:10px;line-height:1;display:inline-flex}.admin-model-capability small{border-left:1px solid var(--line);color:var(--muted);padding-left:4px;font-size:9px}.admin-model-capability.is-inferred{color:var(--muted);background:0 0;border-style:dashed}.admin-model-unknown,.admin-model-empty{color:var(--muted);font-size:11px}.admin-model-check{visibility:hidden;color:var(--green)}.admin-model-option[aria-selected=true]{background:var(--surface-raised)}.admin-model-option[aria-selected=true] .admin-model-check{visibility:visible}.admin-model-empty{text-align:center;margin:0;padding:16px 10px}@keyframes admin-spin{to{transform:rotate(360deg)}}.admin-secret-state{color:var(--green);font-size:.75rem}.admin-settings-actions{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.75rem;padding:1.5rem 0;font-size:.8rem;display:flex}.admin-infrastructure{border-top:1px solid var(--line);color:var(--muted);margin-top:1rem;padding-top:1rem;font-size:.8rem;line-height:1.7}.admin-infrastructure summary{cursor:pointer}@media (max-width:900px){.admin-shell{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr)}.admin-sidebar{border-right:0;border-bottom:1px solid var(--line);padding:1rem}.admin-sidebar>p,.admin-return{display:none}.admin-sidebar nav{margin-top:.75rem;display:flex;overflow-x:auto}.admin-sidebar nav a{white-space:nowrap;flex-shrink:0}.admin-sidebar nav a[aria-current=page]{box-shadow:inset 0 -2px var(--blue)}}@media (max-width:620px){.admin-settings-grid{grid-template-columns:1fr}.admin-settings-nav button{padding:.7rem .6rem}.admin-heading h1{font-size:1.45rem}.admin-table th,.admin-table td{padding:.75rem}.admin-model-input-row{flex-direction:column;align-items:stretch}.admin-model-fetch{width:100%;min-height:40px}.admin-model-option{grid-template-columns:minmax(0,1fr) 18px}.admin-model-capabilities{grid-area:2/1/auto/-1;justify-content:flex-start}.admin-model-check{grid-area:1/2}}.theme-popover{z-index:80;border:1px solid var(--line);width:168px;color:var(--text);background:var(--surface-solid);box-shadow:var(--shadow);transform-origin:var(--radix-popover-content-transform-origin);border-radius:8px;padding:5px;animation:.14s ease-out map-popover-in}.theme-option{width:100%;min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:10px;padding:0 10px;font-size:13px;display:flex}.theme-option span{text-align:left;flex:1}.theme-option:hover,.theme-option[aria-pressed=true]{color:var(--text);background:var(--surface)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.icon-button:disabled{cursor:not-allowed;opacity:.5}.topbar-actions{gap:8px}.topbar-actions .ui-button-ghost{box-shadow:none;background:0 0;border-color:#0000}.mobile-nav-panel a[aria-current=page]{color:var(--text);background:var(--surface-raised)}.public-hero .lead,.public-hero .eyebrow{color:#ededed}.public-hero .tag,.album-cover .tag{color:#fff;background:#0009;border-color:#ffffff30}.album-card-body>p{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:3em;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.album-card-body>.tag-row{border-top:1px solid var(--line);gap:6px 12px;padding-top:12px}.album-card-body>.tag-row .tag{background:0 0;border:0;padding:0;font-size:11px}.album-cover img{object-fit:cover;transition:transform .24s var(--ease-out)}.album-card:hover .album-cover img{transform:scale(1.025)}.album-cover-empty{color:var(--dim);place-items:center;display:grid}.album-cover-empty>.tag-row{position:absolute;top:1rem;left:1rem}.album-cover-empty .tag{color:var(--muted);border-color:var(--line);background:var(--surface-solid)}.dashboard-heading{border-bottom:1px solid var(--line);margin-bottom:24px;padding-bottom:24px}.dashboard-heading .lead{margin-bottom:0}.form-stack>div>.muted,.team-side .muted{font-size:13px;line-height:1.7}.card-grid{gap:20px}.metric strong{font-variant-numeric:tabular-nums;font-weight:550}.member-avatar{background:var(--accent-soft);color:var(--blue);font-weight:600}.media-placeholder{background:var(--surface-raised)}.media-tile{box-shadow:none}.media-grid .media-tile{border-radius:6px}.media-tile-image img{transition-duration:.22s}.danger-button{border-radius:6px}.admin-shell{border-radius:8px}.admin-sidebar{background:var(--surface-solid);min-width:0}.admin-sidebar nav a{border-radius:5px;min-height:40px;padding:10px;font-size:13px;transition:background-color .15s}.admin-sidebar nav a:hover{color:var(--text);background:var(--surface)}.admin-sidebar nav a[aria-current=page]{color:var(--text);background:var(--surface-raised);box-shadow:none}.admin-table th{background:var(--surface);font-size:12px}.admin-table tbody tr:hover{background:var(--surface)}.admin-table th,.admin-table td{padding:12px 16px}.admin-heading{border-bottom:1px solid var(--line);padding-bottom:20px}.admin-heading h1{font-weight:600}.admin-settings-nav button[aria-pressed=true]{color:var(--text);box-shadow:inset 0 -2px var(--text)}.admin-settings-nav{overflow-x:auto}.admin-settings-nav button{white-space:nowrap}.admin-settings-actions{border-top:1px solid var(--line);margin-top:24px}.admin-status,.admin-notice,.admin-secret-state{color:var(--green)}.admin-error,.media-focus-error{color:var(--red)}.map-photo-overlay{background:var(--surface-solid);-webkit-backdrop-filter:none;backdrop-filter:none}.maplibregl-ctrl-group{background:#fff}.maplibregl-ctrl-attrib{color:#333;background:#fffffff0}.maplibregl-ctrl-scale{color:#333;background:#ffffffb0}.home-workspace-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.home-library-title{align-items:baseline;gap:12px;display:flex}.home-library-title h1{letter-spacing:-.025em;margin:0;font-size:24px;line-height:1.4}.home-library-title>span{color:var(--muted);font-size:12px}.home-gallery-frame{border:1px solid var(--line);background:var(--surface-solid);min-width:0;box-shadow:var(--soft-shadow);border-radius:10px;overflow:hidden}.home-gallery-label{border-bottom:1px solid var(--line);min-height:44px;color:var(--muted);justify-content:space-between;align-items:center;gap:16px;padding:4px 16px;font-size:12px;display:flex}.home-gallery-label>div{flex-wrap:wrap;align-items:baseline;gap:4px 12px;min-width:0;display:flex}.home-gallery-label strong{color:var(--text);font-size:12px;font-weight:500}.home-gallery-label .text-link{flex-shrink:0;min-height:32px;font-size:12px}.home-gallery-frame .memory-carousel{height:clamp(340px,56dvh,560px);min-height:340px}.home-gallery-frame .memory-carousel-empty{background:var(--surface);text-align:center;min-height:340px;color:var(--muted);align-content:center;justify-items:center;gap:12px;padding:32px;display:grid}.memory-carousel-empty strong{color:var(--text);font-size:16px}.memory-carousel-empty p{max-width:30ch;font-size:13px;line-height:1.7}.home-gallery-frame .memory-carousel-surface{border-radius:5px;inset:12px 12px 104px}.home-gallery-frame .memory-carousel-topline{top:24px;left:24px;right:24px}.home-gallery-frame .memory-carousel-footer{gap:0;bottom:4px;left:12px;right:12px}.memory-carousel-index,.memory-carousel-live{box-shadow:none;border-color:#ffffff30;border-radius:4px;font-family:ui-monospace,SFMono-Regular,monospace}.memory-carousel-location strong{font-family:ui-monospace,SFMono-Regular,monospace;font-size:10px}.home-library-bar{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px;display:grid}.home-library-bar>div{align-items:baseline;gap:10px;padding:12px 20px;display:flex}.home-library-bar>div:first-child{padding-left:0}.home-library-bar strong{font-variant-numeric:tabular-nums;letter-spacing:-.025em;font-size:18px;font-weight:550}.home-library-bar span{color:var(--muted);font-size:12px}.home-recent{padding-top:24px}.home-recent .section-actions{align-items:center;margin-bottom:16px}.home-recent h2{letter-spacing:0;margin-bottom:0;font-size:16px}.text-link{align-items:center;gap:8px;min-height:40px;font-size:13px;display:inline-flex}.text-link svg{transition:transform .15s}.text-link:hover svg{transform:translate(3px)}.home-recent .album-cover{min-height:220px}@media (max-width:900px){.workspace-tabs{border-radius:0;gap:0}.workspace-tab{border-radius:0}.auth-card-wide .oauth-panel{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.album-shelf{gap:16px}.admin-sidebar nav a[aria-current=page]{box-shadow:inset 0 -2px var(--text)}}@media (max-width:620px){.page{padding:24px 0 40px}.topbar{height:60px;padding:0 16px}.topbar-actions{gap:4px}.topbar-actions .ui-button{padding-inline:6px;font-size:12px}.topbar-actions .ui-button svg{display:none}.icon-button,.mobile-nav-toggle{width:40px;height:40px}.nav-cta{min-height:36px;padding-inline:10px}.workspace-tabs{top:60px}.home-library-title h1{font-size:22px}.home-workspace-toolbar .inline-actions{gap:6px}.home-workspace-toolbar .primary-button,.home-workspace-toolbar .secondary-button{padding-inline:10px;font-size:12px}.home-gallery-frame .memory-carousel{height:360px;min-height:360px}.home-gallery-frame .memory-carousel-empty{min-height:330px}.home-library-bar>div{gap:4px;padding:12px;display:grid}.home-library-bar strong{font-size:18px}.home-library-bar span{font-size:11px}.home-recent{padding-top:20px}.album-shelf{grid-template-columns:1fr}.home-recent .album-cover{min-height:200px}.album-hero{gap:16px}.album-hero-preview{width:84px}.album-hero-actions{gap:8px}.album-hero-actions .secondary-button{padding-inline:10px;font-size:12px}.dashboard-grid{gap:24px}.input,.textarea,.select{font-size:16px}.search-toolbar{grid-template-columns:minmax(0,1fr) auto}.search-toolbar .input{grid-column:1/-1}.search-toolbar .select{width:100%}}
