@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.390ncx5urfkfu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.21jp631_3pja2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_fe3c98eb-module__sYiWUa__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_fe3c98eb-module__sYiWUa__variable{--font-geist:"Geist", "Geist Fallback"}
@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.197tvtifbphtu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.2e115y8-hourl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.41rroleoq1br7.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_87f55775-module__koTSrq__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_87f55775-module__koTSrq__variable{--font-bricolage:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_d6b43119-module__Ec0OoW__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_d6b43119-module__Ec0OoW__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--color-paper:#f9faf5;--color-paper-2:#f2f3ec;--color-paper-3:#e9ebe2;--color-surface:#fdfdfb;--color-surface-raised:#fff;--color-ink:#101812;--color-ink-2:#2b332c;--color-muted:#545a54;--color-rule:#d7d8d0;--color-rule-strong:#b6b9ae;--color-accent:#005331;--color-accent-hover:#004125;--color-accent-soft:#d7efde;--color-accent-ink:#f5faf5;--color-focus:#8fc1ff;--color-warning:#854f06;--color-warning-soft:#fdecd5;--color-danger:#a52a24;--color-danger-hover:#861210;--color-danger-soft:#ffe3e0;--color-danger-ink:#751613;--color-overlay:#0207049e;--color-viewer:#050b07;--color-viewer-surface:#161d18;--color-viewer-ink:#eff3ef;--color-viewer-muted:#aeb2ae;--color-viewer-rule:#eff3ef2e;--color-viewer-control:#eff3ef1a;--color-viewer-control-hover:#eff3ef2e;--color-viewer-control-active:#eff3ef42;--color-viewer-danger:#ff9689;--color-shadow:#1018121a;--color-shadow-strong:#0204024d;--font-display:var(--font-bricolage), "Arial Narrow", sans-serif;--font-body:var(--font-geist), "Segoe UI", sans-serif;--font-mono:var(--font-geist-mono), "SFMono-Regular", monospace;--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--space-4xl:9rem;--text-xs:.875rem;--text-sm:.9375rem;--text-base:1rem;--text-md:1.25rem;--text-lg:1.5625rem;--text-xl:1.953rem;--text-2xl:2.441rem;--text-display:clamp(2.6rem, 5vw + .5rem, 4.75rem);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--rule-hair:1px;--radius-xs:.375rem;--radius-sm:.625rem;--radius-md:.875rem;--radius-lg:1.25rem;--radius-pill:999rem;--page-gutter:clamp(1rem, 3vw, 2.5rem);--app-bar-height:4rem;--toolbar-height:5.5rem;--sidebar-width:14.5rem;--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-sticky-nav:210;--z-modal:400;--z-toast:500;--z-tooltip:600}@supports (color:lab(0% 0 0)){:root{--color-paper:lab(97.9721% -.872582 2.06628);--color-paper-2:lab(95.6818% -1.30361 3.10363);--color-paper-3:lab(92.5791% -1.73047 4.14425);--color-surface:lab(99.3342% -.437975 1.03182);--color-surface-raised:lab(100.02% -.292301 .687599);--color-ink:lab(7.44952% -4.83685 3.00875);--color-ink-2:lab(20.1728% -4.73988 3.03064);--color-muted:lab(37.5181% -3.35331 2.603);--color-rule:lab(86.199% -1.72877 4.14568);--color-rule-strong:lab(74.6496% -2.71153 5.28991);--color-accent:lab(30.4412% -30.3934 13.3678);--color-accent-hover:lab(23.3732% -27.8822 12.2571);--color-accent-soft:lab(92.3391% -10.5374 5.399);--color-accent-ink:lab(97.7862% -2.23574 1.72806);--color-focus:lab(76.2689% -4.32146 -42.1026);--color-warning:lab(39.3355% 19.8616 46.2511);--color-warning-soft:lab(94.2452% 3.30442 13.1515);--color-danger:lab(38.1167% 50.0191 35.452);--color-danger-hover:lab(28.9137% 47.0901 35.2471);--color-danger-soft:lab(92.6221% 13.8263 7.48003);--color-danger-ink:lab(25.6421% 40.7161 29.4784);--color-overlay:lab(1.64191% -1.79806 .899589/.62);--color-viewer:lab(2.56491% -1.92767 .97191);--color-viewer-surface:lab(9.70785% -4.35594 2.23346);--color-viewer-ink:lab(95.4397% -1.67677 1.29545);--color-viewer-muted:lab(72.2661% -2.23568 1.72898);--color-viewer-rule:lab(95.4397% -1.67677 1.29545/.18);--color-viewer-control:lab(95.4397% -1.67677 1.29545/.1);--color-viewer-control-hover:lab(95.4397% -1.67677 1.29545/.18);--color-viewer-control-active:lab(95.4397% -1.67677 1.29545/.26);--color-viewer-danger:lab(73.2839% 39.7979 25.2446);--color-shadow:lab(7.44952% -4.83685 3.00875/.1);--color-shadow-strong:lab(.946232% -.927173 .569883/.3)}}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:var(--color-paper);--paper-strong:var(--color-paper-3);--ink:var(--color-ink);--muted:var(--color-muted);--accent:var(--color-accent);--accent-ink:var(--color-accent-ink);--warning:var(--color-warning);--rule:var(--color-rule);--focus:var(--color-focus);--viewer-control:var(--color-viewer-control);--viewer-control-hover:var(--color-viewer-control-hover);--viewer-control-active:var(--color-viewer-control-active);--viewer-control-border:var(--color-viewer-rule);--viewer-control-ink:var(--color-viewer-ink);--viewer-menu:var(--color-viewer-surface);--viewer-danger:var(--color-viewer-danger);--viewer-shadow:0 .5rem 1.5rem var(--color-shadow-strong);--viewer-ease-out:var(--ease-out);--radius:var(--radius-sm);--page:min(76rem, calc(100% - 2rem));font-family:var(--font-body)}*{box-sizing:border-box}html,body{min-height:100%;margin:0;overflow-x:clip}body{background:var(--paper);color:var(--ink)}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:3px}main{width:100%;margin:0 auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.landing-screen{flex-direction:column;justify-content:space-between;width:min(64rem,100% - 6rem);min-height:100dvh;margin:0 auto;padding:0;display:flex}.masthead{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:1rem;min-height:4.5rem;display:flex}.wordmark{letter-spacing:-.03em;font-size:1.1rem;font-weight:750;text-decoration:none}.alpha-badge,.status-line{color:var(--warning);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:700}.landing-hero{flex:1;justify-content:center;align-items:center;gap:clamp(2rem,4vw,3.5rem);padding:clamp(1.5rem,3.5vh,3.5rem) 0;display:flex}.landing-intro{flex:1;max-width:34rem}h1,h2,p{margin-top:0}h1{font-family:var(--font-display);letter-spacing:-.04em;overflow-wrap:anywhere;margin-bottom:0;font-size:clamp(2.2rem,3.5vw,3.6rem);font-weight:500;line-height:1.05}h2{font-family:var(--font-display);letter-spacing:-.04em;font-size:clamp(2rem,4vw,4rem);font-weight:500;line-height:1}.intro-description{color:var(--muted);margin-top:1.25rem;font-size:1.05rem;line-height:1.55}.privacy-notice{border-left:3px solid var(--rule);background:var(--paper-strong);color:var(--muted);border-radius:0 .4rem .4rem 0;margin-top:1.25rem;padding:.75rem .95rem;font-size:.8rem;line-height:1.45}.privacy-notice strong{color:var(--ink)}.privacy-notice p{margin:0}.landing-login{border:1px solid var(--rule);background:var(--color-paper);width:100%;max-width:24rem;box-shadow:0 4px 24px var(--color-shadow);border-radius:1rem;flex-shrink:0;padding:clamp(1.25rem,2vw,1.85rem)}.landing-login .oauth-panel{margin-top:0}.landing-footer{border-top:1px solid var(--rule);min-height:3.75rem;color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;font-size:.85rem;display:flex}.landing-footer p{margin:0}.landing-footer a{color:var(--focus);text-decoration:none}.landing-footer a:hover{text-decoration:underline}@media (max-width:860px){.landing-hero{flex-direction:column;align-items:stretch;gap:2rem;padding:2rem 0}.landing-intro,.landing-login{max-width:100%}}button{border-radius:var(--radius);background:var(--accent);width:100%;min-height:3rem;color:var(--accent-ink);font:inherit;border:0;margin:1.25rem 0 .75rem;font-weight:700}button:disabled{cursor:not-allowed;opacity:.48}.oauth-panel{margin-top:1.5rem}.photo-app-bar{z-index:20;border-bottom:1px solid var(--color-rule);background:var(--color-surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:space-between;align-items:center;gap:1rem;min-height:4.5rem;padding:.65rem clamp(1rem,3vw,2.25rem);display:flex;position:sticky;top:0}.photo-app-brand,.photo-account,.library-controls{align-items:center;gap:.75rem;display:flex}.photo-app-mark{background:var(--accent);width:2.4rem;height:2.4rem;color:var(--color-accent-ink);font-family:var(--font-display);border-radius:50%;place-items:center;font-size:1.25rem;display:grid}.photo-app-brand strong{letter-spacing:-.025em}.photo-account .connected-did{text-overflow:ellipsis;white-space:nowrap;max-width:20rem;margin:0;overflow:hidden}.account-identity{flex-direction:column;align-items:flex-end;gap:.1rem;min-width:0;display:flex}.blob-limit{color:var(--muted);white-space:nowrap;font-size:.72rem}.library-setup{width:min(36rem,100% - 2rem);margin:clamp(4rem,12vw,9rem) auto}.library-setup h2{font-size:clamp(2.2rem,6vw,4.5rem)}.oauth-panel label,.connection-label{color:var(--muted);font-size:.82rem;font-weight:700;display:block}.oauth-panel input{border:1px solid var(--rule);border-radius:var(--radius);background:var(--color-paper);width:100%;min-height:3rem;color:var(--ink);font:inherit;padding:.75rem .85rem}.oauth-panel input:disabled{opacity:.65}.secondary-button{border:1px solid var(--accent);color:var(--accent);background:0 0}.connected-did{overflow-wrap:anywhere;font-family:var(--font-mono);font-size:.9rem}.capability-status{border-left:3px solid var(--warning);background:var(--paper-strong);padding:.75rem;font-size:.88rem;line-height:1.45}.capability-status[data-status=available]{border-left-color:var(--accent)}.capability-status[data-status=permission-denied],.capability-status[data-status=unsupported],.capability-status[data-status=probe-failed]{border-left-color:var(--color-danger)}.oauth-error{color:var(--color-danger);margin:.75rem 0;font-size:.9rem;line-height:1.45}.private-upload{border:1px solid var(--rule);border-radius:var(--radius);background:var(--color-paper);margin:1.5rem 0;padding:1.25rem}.private-upload h2{letter-spacing:-.02em;margin-bottom:.75rem;font-family:inherit;font-size:1.15rem;font-weight:750}.private-upload h3{margin:0 0 1rem;font-size:.95rem}.private-upload>p,.private-upload label,.upload-progress{font-size:.85rem;line-height:1.5}.private-upload input[type=file]{min-height:auto;margin-top:.5rem;padding:.65rem}.library-workspace{width:min(100%,100rem);margin:0 auto;padding:clamp(1.25rem,3vw,2.5rem)}.library-heading,.media-browser-heading{justify-content:space-between;align-items:end;gap:1rem;display:flex}.library-heading h2,.media-browser-heading h3{margin-bottom:0}.compact-button{justify-content:center;align-items:center;width:auto;height:2.75rem;min-height:2.75rem;margin:0;padding:.55rem 1rem;display:inline-flex}.photo-search input{border:1px solid var(--color-rule);background:var(--color-paper-2);width:min(28vw,22rem);height:2.75rem;min-height:2.75rem;color:var(--ink);font:inherit;border-radius:1.5rem;padding:.55rem .9rem}.upload-drawer>summary{background:var(--accent);height:2.75rem;min-height:2.75rem;color:var(--color-accent-ink);cursor:pointer;border-radius:1.5rem;justify-content:center;align-items:center;padding:.55rem 1rem;font-size:.86rem;font-weight:700;list-style:none;display:inline-flex}.upload-drawer[open]>summary:after{z-index:24;content:"";background:var(--color-overlay);position:fixed;inset:0}.upload-drawer .private-upload{z-index:25;width:min(32rem,100% - 2rem);box-shadow:0 1rem 3rem var(--color-shadow-strong);margin:0;position:absolute;top:calc(100% + .65rem);right:0}.library-layout{border-top:1px solid var(--rule);grid-template-columns:14rem minmax(0,1fr);gap:clamp(1.25rem,3vw,2.5rem);margin-top:2rem;padding-top:2rem;display:grid}.transfer-quota{border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);grid-template-columns:minmax(13rem,auto) minmax(12rem,1fr) auto;align-items:center;gap:.65rem 1rem;margin:1.25rem 0;padding:.8rem 1rem;display:grid}.transfer-quota-copy{flex-direction:column;gap:.15rem;display:flex}.transfer-quota-copy span,.transfer-quota p{color:var(--muted);font-size:.76rem}.transfer-quota .library-capacity-copy{white-space:normal;grid-column:1/-1}.transfer-quota p{white-space:nowrap;margin:0}.transfer-quota progress{width:100%;height:.45rem;accent-color:var(--accent);border:0;border-radius:999px;overflow:hidden}.album-sidebar{align-self:start;min-width:0;position:sticky;top:6.5rem}.album-nav{border-bottom:1px solid var(--rule);width:100%;min-height:2.6rem;color:var(--ink);text-align:left;background:0 0;border-radius:0;justify-content:space-between;gap:.75rem;margin:0;padding:.65rem .75rem;font-weight:600;display:flex}.album-nav.active{border-radius:var(--radius);background:var(--accent);color:var(--accent-ink)}.album-nav span{color:inherit;font-variant-numeric:tabular-nums;opacity:.7}.new-album{margin-top:2rem}.new-album label{color:var(--muted);margin-bottom:.4rem;font-size:.75rem;font-weight:700;display:block}.new-album input{border:1px solid var(--rule);border-radius:var(--radius);background:var(--color-paper);width:100%;min-height:2.5rem;color:var(--ink);font:inherit;padding:.55rem .65rem}.new-album button{min-height:2.5rem;margin-top:.5rem}.sidebar-storage{border-top:1px solid var(--rule);margin-top:2rem;padding-top:.85rem}.sidebar-storage h4{color:var(--muted);margin:0 0 .3rem;font-size:.75rem;font-weight:700}.sidebar-storage strong{font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:750;display:block}.sidebar-notice{border-left:3px solid var(--rule);background:var(--paper-strong);color:var(--muted);border-radius:0 .4rem .4rem 0;padding:.75rem .85rem;font-size:.75rem;line-height:1.45}.sidebar-notice-danger{border-left-color:var(--color-danger);background:var(--color-danger-soft);color:var(--color-danger-ink)}.media-browser-heading{align-items:center;padding-bottom:1rem}.media-browser-heading h3{font-family:var(--font-display);letter-spacing:-.035em;font-size:clamp(1.6rem,3vw,2.5rem);font-weight:500}.media-browser-heading span{color:var(--muted);font-size:.82rem}.album-heading-actions>span{align-items:center;min-height:2.75rem;display:inline-flex}.delete-album-button:hover:not(:disabled){background:var(--color-danger-soft)}.confirmation-backdrop{z-index:60;background:var(--color-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.confirmation-dialog{border:1px solid var(--rule);background:var(--color-surface-raised);width:min(28rem,100%);box-shadow:0 1.25rem 4rem var(--color-shadow-strong);border-radius:.85rem;padding:clamp(1.25rem,4vw,2rem)}.confirmation-eyebrow{color:var(--color-danger);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.5rem;font-size:.75rem;font-weight:800}.confirmation-dialog h3{font-family:var(--font-display);letter-spacing:-.025em;margin:0 0 .75rem;font-size:1.65rem;font-weight:500}.confirmation-dialog>p:last-of-type{color:var(--muted);margin-bottom:1.5rem;line-height:1.5}.confirmation-actions{justify-content:flex-end;gap:.65rem;display:flex}.confirm-delete-button{background:var(--color-danger);color:var(--color-accent-ink)}.confirm-delete-button:hover:not(:disabled){background:var(--color-danger-hover)}.duplicate-choice-dialog{width:min(34rem,100%)}.duplicate-choice-actions{gap:.65rem;margin-bottom:1rem;display:grid}.duplicate-choice-actions button{border:1px solid var(--rule);background:var(--paper);width:100%;min-height:4.5rem;color:var(--ink);text-align:left;gap:.2rem;margin:0;padding:.85rem 1rem;display:grid}.duplicate-choice-actions button:hover:not(:disabled){border-color:var(--accent);background:var(--paper-strong)}.duplicate-choice-actions span{color:var(--muted);font-size:.82rem;font-weight:400}.duplicate-choice-actions .duplicate-auto-button{border-color:var(--color-danger)}.duplicate-choice-actions .duplicate-auto-button strong{color:var(--color-danger)}.duplicate-review-backdrop{padding:clamp(.5rem,2vw,1.5rem)}.duplicate-review-dialog{width:min(58rem,100%);max-height:calc(100vh - 2rem);overflow:auto}.duplicate-review-heading,.duplicate-review-actions{justify-content:space-between;align-items:center;gap:1rem;display:flex}.duplicate-review-heading h3{margin-bottom:1.25rem}.duplicate-close-button{border:1px solid var(--rule);width:2.75rem;min-width:2.75rem;min-height:2.75rem;color:var(--ink);background:0 0;border-radius:999px;place-items:center;margin:0;padding:0;font-size:1.35rem;display:grid}.duplicate-close-button:hover:not(:disabled){background:var(--paper-strong)}.duplicate-close-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.8px;width:1.25rem;height:1.25rem}.duplicate-comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.duplicate-side{min-width:0}.duplicate-side>span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.4rem;font-size:.72rem;font-weight:800;display:block}.duplicate-preview{aspect-ratio:4/3;background:var(--paper-strong);border-radius:.55rem;margin-bottom:.6rem;overflow:hidden}.duplicate-preview img,.duplicate-preview>div{object-fit:cover;width:100%;height:100%;display:block}.duplicate-side>strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.duplicate-common-info{border-radius:var(--radius);background:var(--paper);margin:1.25rem 0;padding:1rem}.duplicate-common-info h4{margin:0 0 .65rem;font-size:.8rem}.duplicate-common-info dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1.5rem;margin:0;display:grid}.duplicate-common-info dl div{border-top:1px solid var(--rule);justify-content:space-between;gap:1rem;min-width:0;padding-top:.5rem;display:flex}.duplicate-common-info dt{color:var(--muted);font-size:.75rem}.duplicate-common-info dd{overflow-wrap:anywhere;text-align:right;margin:0;font-size:.78rem}.duplicate-review-actions{justify-content:flex-end}.selection-bar{z-index:30;background:var(--viewer-menu);max-width:calc(100% - 2rem);color:var(--viewer-control-ink);box-shadow:var(--viewer-shadow);border-radius:999px;align-items:center;gap:.75rem;padding:.55rem .65rem .55rem 1.15rem;display:flex;position:fixed;bottom:1rem;left:50%;transform:translate(-50%)}.selection-bar strong{white-space:nowrap;font-size:.9rem}.selection-bar-actions{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}.selection-bar button{border-radius:999px;width:auto;min-height:2.5rem;margin:0;padding:.45rem .95rem}.selection-danger-button{background:var(--color-danger);color:var(--color-accent-ink)}.selection-danger-button:hover:not(:disabled){background:var(--color-danger-hover)}.selection-action-button{border:1px solid var(--color-viewer-rule);color:inherit;background:0 0}.selection-action-button:hover:not(:disabled){background:var(--viewer-control-hover)}.selection-cancel-button{background:var(--viewer-control);color:inherit}.selection-cancel-button:hover:not(:disabled){background:var(--viewer-control-hover)}.album-picker-dialog{width:min(22rem,100%)}.album-picker-list{border:1px solid var(--rule);border-radius:var(--radius);max-height:16rem;margin:0 0 1.25rem;padding:0;list-style:none;overflow:auto}.album-picker-list li+li .album-picker-option{border-top:1px solid var(--rule)}.album-picker-list:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.album-picker-option{width:100%;min-height:2.75rem;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:0;margin:0;padding:.55rem .85rem;display:block}.album-picker-option:hover:not(:disabled){background:var(--paper-strong)}.album-picker-option:focus-visible{outline-offset:-3px}.album-picker-empty{color:var(--muted);margin:0 0 1.25rem;font-size:.88rem}.album-picker-new label{color:var(--muted);margin-bottom:.4rem;font-size:.75rem;font-weight:700;display:block}.album-picker-new input{border:1px solid var(--rule);border-radius:var(--radius);background:var(--color-paper);width:100%;min-height:2.5rem;color:var(--ink);font:inherit;margin-bottom:.5rem;padding:.55rem .65rem}.media-grid{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.6rem;display:grid}.photo-viewer{z-index:50;background:var(--color-viewer);color:var(--color-viewer-ink);place-items:center;padding:5rem 4.5rem 2rem;display:grid;position:fixed;inset:0}.photo-viewer-bar{background:var(--color-viewer);justify-content:space-between;align-items:center;min-height:4rem;padding:.75rem 1rem;font-size:.86rem;font-weight:700;display:flex;position:absolute;top:0;left:0;right:0}.viewer-icon-button,.viewer-navigation{width:2.75rem;min-width:2.75rem;min-height:2.75rem;box-shadow:none;color:var(--viewer-control-ink);transition:transform .14s var(--viewer-ease-out), opacity .14s var(--viewer-ease-out);background:0 0;border:1px solid #0000;border-radius:999px;place-items:center;margin:0;padding:0;display:grid}.viewer-icon-button svg,.viewer-navigation svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.35rem;height:1.35rem}.viewer-icon-button .filled-icon{fill:currentColor;stroke:none}.viewer-icon-button:hover{background:var(--viewer-control-hover)}.viewer-icon-button[aria-expanded=true]{background:var(--viewer-control-active)}.viewer-navigation:hover:not(:disabled){background:var(--viewer-control-hover);transform:translateY(-50%)scale(1.04)}.viewer-icon-button:focus-visible,.viewer-navigation:focus-visible{outline:2px solid var(--viewer-control-ink);outline-offset:2px}.viewer-icon-button:active{background:var(--viewer-control-active);transform:scale(.94)}.viewer-navigation:active:not(:disabled){background:var(--viewer-control-active);transform:translateY(-50%)scale(.96)}.viewer-icon-button:disabled,.viewer-navigation:disabled{opacity:.24}.viewer-icon-button[aria-busy=true]{cursor:progress;opacity:.58}.viewer-icon-button[data-state=error]{color:var(--viewer-danger)}.viewer-icon-button[data-state=success]{color:var(--accent-ink)}.viewer-menu{border:1px solid var(--color-viewer-rule);background:var(--viewer-menu);width:10rem;box-shadow:var(--viewer-shadow);border-radius:.6rem;padding:.35rem;display:grid;position:absolute;top:3.15rem;right:0}.viewer-menu button{width:100%;min-height:2.5rem;color:inherit;text-align:left;background:0 0;border-radius:.35rem;margin:0}.viewer-menu button:hover{background:var(--viewer-control-hover)}.viewer-menu button:focus-visible{outline:2px solid var(--viewer-control-ink);outline-offset:-2px}.viewer-menu button:active{background:var(--viewer-control-active)}.viewer-menu .viewer-delete{color:var(--viewer-danger)}.media-context-menu{z-index:45;border:1px solid var(--color-viewer-rule);background:var(--viewer-menu);min-width:11rem;box-shadow:var(--viewer-shadow);border-radius:.6rem;padding:.35rem;display:grid;position:fixed}.media-context-menu button{width:100%;min-height:2.5rem;color:var(--viewer-control-ink);text-align:left;background:0 0;border-radius:.35rem;margin:0}.media-context-menu button:hover:not(:disabled){background:var(--viewer-control-hover)}.media-context-menu button:focus-visible{outline:2px solid var(--viewer-control-ink);outline-offset:-2px}.media-context-menu button:active:not(:disabled){background:var(--viewer-control-active)}.media-context-menu .context-menu-delete{color:var(--viewer-danger)}.viewer-navigation{border-color:var(--viewer-control-border);background:var(--viewer-control);width:3rem;min-width:3rem;min-height:3rem;box-shadow:var(--viewer-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:absolute;top:50%;transform:translateY(-50%)}.viewer-navigation svg{stroke-width:2px;width:1.5rem;height:1.5rem}.viewer-info{border:1px solid var(--color-viewer-rule);background:var(--color-viewer-surface);border-radius:.75rem;width:min(22rem,100% - 2rem);max-height:calc(100vh - 7rem);padding:1rem;position:absolute;top:4.75rem;right:1rem;overflow:auto}.viewer-info h3{margin:0 0 1rem}.viewer-info dl{margin:0}.viewer-info dl div{border-top:1px solid var(--color-viewer-rule);padding:.6rem 0}.viewer-info dd{overflow-wrap:anywhere;margin:.2rem 0 0;font-size:.86rem}.photo-month>h4{color:var(--color-ink-2);margin:0 0 .75rem;font-size:.9rem;font-weight:700}.media-card{border:1px solid var(--rule);background:var(--color-paper);border-radius:.65rem;align-self:start;min-width:0;overflow:hidden}.media-card.selected{border-color:var(--accent);outline:3px solid var(--accent);outline-offset:-3px}.selection-badge{background:var(--accent);width:1.7rem;height:1.7rem;color:var(--accent-ink);pointer-events:none;border-radius:50%;place-items:center;display:grid;position:absolute;top:.5rem;right:.5rem}.media-preview{aspect-ratio:4/3;background:var(--paper-strong);position:relative;overflow:hidden}.media-open-button{background:0 0;border:0;border-radius:0;width:100%;height:100%;min-height:0;margin:0;padding:0;display:block;overflow:hidden}.preview-placeholder{aspect-ratio:auto;background:var(--paper-strong);width:100%;height:100%}.media-preview img{object-fit:cover;width:100%;height:100%;display:block}.preview-placeholder{background:var(--color-paper-3);background-size:200% 100%}.media-card-body{padding:.85rem}.media-card h4{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.9rem;overflow:hidden}.media-card p{color:var(--muted);margin:.35rem 0 .8rem;font-size:.75rem}.text-button{width:auto;min-height:auto;color:var(--warning);background:0 0;margin:.35rem 0 0;padding:0;font-size:.78rem;text-decoration:underline}.empty-library{border:1px dashed var(--rule);min-height:10rem;color:var(--muted);text-align:center;padding:3rem 1rem}.oauth-diagnostics{margin:1rem 0;font-size:.8rem}.oauth-diagnostics dl div{border-bottom:1px solid var(--rule);grid-template-columns:9rem minmax(0,1fr);gap:.75rem;padding:.45rem 0;display:grid}.oauth-diagnostics dd{overflow-wrap:anywhere;font-family:var(--font-body);margin:0}.callback-page{max-width:52rem;padding:clamp(4rem,12vw,10rem) 0}.callback-page h1{margin-bottom:2rem}.fine-print,.section-heading p,footer{color:var(--muted);font-size:.85rem;line-height:1.5}.policy{border-bottom:1px solid var(--rule);padding:clamp(3rem,7vw,6rem) 0}.section-heading{grid-template-columns:minmax(0,1fr) minmax(15rem,.35fr);align-items:end;gap:2rem;margin-bottom:3rem;display:grid}.section-heading h2,.section-heading p{margin-bottom:0}.policy-grid{border-top:1px solid var(--rule);border-left:1px solid var(--rule);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.policy-grid div{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);min-height:9rem;padding:1.25rem}.policy-grid dt{color:var(--muted);font-size:.82rem}.policy-grid dd{font-family:var(--font-display);margin:2.5rem 0 0;font-size:clamp(1.8rem,4vw,3.5rem)}.build-status{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:3rem;padding:clamp(3rem,7vw,6rem) 0;display:grid}.build-status h2{margin-bottom:0}.build-status ul{margin:0;padding:0;list-style:none}.build-status li{border-bottom:1px solid var(--rule);padding:1rem 0 1rem 2rem;line-height:1.45;position:relative}.build-status li:before{content:"○";color:var(--warning);position:absolute;left:0}.build-status li[data-state=complete]:before{content:"●";color:var(--accent)}footer{border-top:1px solid var(--rule);justify-content:space-between;gap:2rem;padding:2rem 0 4rem;display:flex}footer p{margin-bottom:0}@media (max-width:48rem){.duplicate-comparison,.duplicate-common-info dl{grid-template-columns:minmax(0,1fr)}.duplicate-review-actions{flex-direction:column-reverse;align-items:stretch}.duplicate-review-actions .compact-button{width:100%}.transfer-quota{grid-template-columns:1fr}.transfer-quota p{white-space:normal}.intro,.section-heading,.build-status,.library-layout{grid-template-columns:minmax(0,1fr)}.intro{gap:3rem}.album-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid;position:static}.library-heading{flex-direction:column;align-items:start}.library-controls{flex-wrap:wrap;width:100%}.photo-search{flex:14rem}.photo-search input{width:100%}.new-album{grid-column:1/-1}.policy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:25.875rem){:root{--page:calc(100% - 1.25rem)}.alpha-badge{text-align:right;max-width:10rem}.policy-grid{grid-template-columns:minmax(0,1fr)}footer{flex-direction:column}.album-sidebar{grid-template-columns:minmax(0,1fr)}.photo-app-bar,.photo-account{align-items:flex-start}.photo-account{flex-direction:column}.photo-account .connected-did{max-width:10rem}.account-identity{align-items:flex-start}.photo-app-brand div>span{display:none}.oauth-diagnostics dl div{grid-template-columns:minmax(0,1fr);gap:.15rem}}html,body{overflow-x:clip}body{background:var(--color-paper);min-width:20rem;color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.5}h1,h2,h3,h4,.wordmark,.photo-app-brand strong{overflow-wrap:anywhere;min-width:0;font-family:var(--font-display);letter-spacing:-.025em;font-style:normal}button,input,select,summary{font-family:var(--font-body)}button,.upload-drawer>summary,.album-nav,.text-button{white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out), opacity var(--dur-micro) var(--ease-out)}button:active:not(:disabled),.upload-drawer>summary:active{transform:translateY(1px)}button:disabled,input:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;box-shadow:0 0 0 5px var(--color-ink)}.photo-app-shell{background:var(--color-surface);min-height:100dvh;margin:0}.photo-app-bar{z-index:var(--z-sticky-nav);min-height:var(--app-bar-height);justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);border-bottom:var(--rule-hair) solid var(--color-rule);background:var(--color-surface);-webkit-backdrop-filter:none;backdrop-filter:none;display:flex;position:sticky;top:0}.photo-app-brand,.photo-account{align-items:center;gap:var(--space-sm);min-width:0;display:flex}.photo-app-mark{background:var(--color-accent);width:2.5rem;height:2.5rem;color:var(--color-accent-ink);font-family:var(--font-display);font-size:var(--text-md);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.photo-app-brand strong,.photo-app-brand span{display:block}.photo-app-brand strong{font-size:var(--text-base);font-weight:700}.photo-app-brand div>span{color:var(--color-muted);font-size:var(--text-xs)}.account-identity{min-width:0;display:none}.connected-did,.blob-limit{font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.connected-did{max-width:19rem;color:var(--color-ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.blob-limit{color:var(--color-muted)}.secondary-button,.compact-button,.photo-app-bar button,.new-album button,.private-upload button{width:auto;min-height:2.75rem;padding:var(--space-xs) var(--space-md);border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink-2);font-size:var(--text-sm);justify-content:center;align-items:center;margin:0;font-weight:650;display:inline-flex}.library-workspace{width:100%;max-width:none;padding:0 var(--space-md) var(--space-2xl);margin:0}.library-heading{z-index:var(--z-sticky);top:var(--app-bar-height);align-items:center;gap:var(--space-sm);margin-inline:calc(var(--space-md) * -1);padding:var(--space-sm) var(--space-md);border-bottom:var(--rule-hair) solid var(--color-rule);background:var(--color-surface);display:grid;position:sticky}.library-heading>div:first-child{justify-content:space-between;align-items:baseline;gap:var(--space-sm);min-width:0;display:flex}.library-heading .status-line{display:none}.library-heading h2{font-size:var(--text-xl);margin:0;font-weight:700;line-height:1.1}.library-controls{align-items:center;gap:var(--space-xs);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.photo-search{grid-column:1/-1;min-width:0;position:relative}.library-controls>.secondary-button:last-child{grid-column:1/-1;width:100%}.library-controls .upload-drawer>summary,.library-controls>.secondary-button{width:100%}.photo-search:before{top:50%;left:var(--space-md);border:2px solid var(--color-muted);content:"";pointer-events:none;border-radius:50%;width:.85rem;height:.85rem;position:absolute;transform:translateY(-60%)}.photo-search:after{background:var(--color-muted);content:"";pointer-events:none;transform-origin:0;width:.45rem;height:2px;position:absolute;top:calc(50% + .35rem);left:1.75rem;transform:rotate(45deg)}.photo-search input,.oauth-panel input,.new-album input,.album-picker-new input{width:100%;min-height:2.75rem;padding:var(--space-xs) var(--space-md);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-pill);outline-offset:1px;background:var(--color-paper-2);color:var(--color-ink);font:inherit;outline:3px solid #0000}.photo-search input{padding-inline-start:2.75rem}.photo-search input:focus-visible,.oauth-panel input:focus-visible,.new-album input:focus-visible,.album-picker-new input:focus-visible{border-color:var(--color-ink-2);outline-color:var(--color-focus)}.upload-drawer{position:relative}.upload-drawer>summary{min-height:2.75rem;padding:var(--space-xs) var(--space-md);border:var(--rule-hair) solid var(--color-accent);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-accent-ink);cursor:pointer;font-size:var(--text-sm);justify-content:center;align-items:center;font-weight:700;list-style:none;display:inline-flex}.upload-drawer>summary::-webkit-details-marker{display:none}.upload-drawer[open]>summary:after{z-index:var(--z-dropdown);background:var(--color-overlay);content:"";position:fixed;inset:0}.upload-drawer .private-upload{z-index:calc(var(--z-dropdown) + 1);top:50%;right:var(--space-md);left:var(--space-md);width:auto;max-width:32rem;max-height:calc(100dvh - 2rem);margin:auto;position:fixed;overflow:auto;transform:translateY(-50%)}.transfer-quota{align-items:center;gap:var(--space-xs);margin:var(--space-md) 0 0;padding:var(--space-md);border-radius:var(--radius-md);background:var(--color-paper-2);color:var(--color-ink-2);border:0;grid-template-columns:minmax(0,1fr);display:grid}.transfer-quota-copy{gap:var(--space-3xs);flex-direction:column;min-width:0;display:flex}.transfer-quota-copy strong{font-size:var(--text-sm)}.transfer-quota-copy span,.transfer-quota p,.library-capacity-copy{color:var(--color-muted);font-size:var(--text-xs);white-space:normal;margin:0;line-height:1.45}.transfer-quota progress{border-radius:var(--radius-pill);width:100%;height:.35rem;accent-color:var(--color-accent);border:0;overflow:hidden}.transfer-quota progress::-webkit-progress-bar{background:var(--color-rule)}.transfer-quota progress::-webkit-progress-value{background:var(--color-accent)}.library-layout{gap:var(--space-lg);margin-top:var(--space-lg);border-top:0;grid-template-columns:minmax(0,1fr);padding-top:0;display:grid}.album-sidebar{align-self:start;gap:var(--space-xs);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;display:grid;position:static}.sidebar-title{margin:0 0 var(--space-2xs);color:var(--color-muted);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;grid-column:1/-1;font-weight:700}.album-nav{justify-content:space-between;align-items:center;gap:var(--space-xs);width:100%;min-width:0;min-height:2.75rem;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-pill);color:var(--color-ink-2);font-size:var(--text-sm);text-align:start;background:0 0;border:0;margin:0;font-weight:600;display:flex}.album-nav.active{background:var(--color-accent-soft);color:var(--color-accent-hover)}.album-nav-label{align-items:center;gap:var(--space-sm);text-overflow:ellipsis;min-width:0;display:flex;overflow:hidden}.album-nav-label svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;flex:none;width:1.25rem;height:1.25rem}.album-nav>span:last-child{color:inherit;font-family:var(--font-body);font-size:var(--text-xs);font-variant-numeric:tabular-nums;opacity:.7;flex:none}.new-album,.sidebar-storage,.sidebar-notices{grid-column:1/-1}.new-album{gap:var(--space-xs);margin-top:var(--space-sm);grid-template-columns:minmax(0,1fr) auto;display:grid}.new-album label{color:var(--color-muted);font-size:var(--text-xs);grid-column:1/-1;margin:0;font-weight:650}.new-album input{min-width:0}.new-album button{border-color:var(--color-rule-strong)}.sidebar-storage{gap:var(--space-2xs) var(--space-sm);margin-top:var(--space-md);padding:var(--space-md) 0 0;border-top:var(--rule-hair) solid var(--color-rule);grid-template-columns:minmax(0,1fr) auto;display:grid}.sidebar-storage h4{color:var(--color-muted);font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:0;margin:0;font-weight:650}.sidebar-storage strong{font-size:var(--text-base);font-variant-numeric:tabular-nums;grid-column:1/-1}.sidebar-storage span{color:var(--color-muted);font-size:var(--text-xs)}.sidebar-notices{gap:var(--space-xs);margin-top:var(--space-md);display:grid}.sidebar-notice{padding:var(--space-sm);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper-2);color:var(--color-ink-2);font-size:var(--text-xs);line-height:1.5}.sidebar-notice strong{color:var(--color-ink);display:inline}.sidebar-notice-danger{border-color:var(--color-danger);background:var(--color-danger-soft);color:var(--color-danger-ink)}.sidebar-notice-danger strong{color:var(--color-danger-ink)}.media-browser{min-width:0}.media-browser-heading{justify-content:space-between;align-items:center;gap:var(--space-md);min-width:0;padding:0 0 var(--space-md);display:flex}.media-browser-heading h3{font-size:var(--text-lg);font-family:var(--font-display);margin:0;font-weight:700;line-height:1.2}.album-heading-actions{align-items:center;gap:var(--space-xs);display:flex}.album-heading-actions>span{min-height:2.75rem;color:var(--color-muted);font-size:var(--text-xs);white-space:nowrap;align-items:center;display:inline-flex}.delete-album-button{border-color:var(--color-danger);color:var(--color-danger)}.photo-groups{gap:var(--space-xl);display:grid}.date-timeline{display:none}.date-timeline-rail{border-radius:var(--radius-pill);cursor:ns-resize;touch-action:none;width:3.5rem;height:100%;position:relative}.date-timeline-line{width:var(--rule-hair);background:var(--color-rule);position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.date-timeline-mark{top:var(--timeline-position);pointer-events:none;align-items:center;display:flex;position:absolute;left:50%;transform:translate(-50%,-50%)}.date-timeline-dot{background:var(--color-rule-strong);width:.3rem;height:.3rem;transition:transform var(--dur-micro) var(--ease-out), background-color var(--dur-micro) var(--ease-out);border-radius:50%;display:block}.date-timeline-dot.active{background:var(--color-accent);transform:scale(1.8)}.date-timeline-period{right:var(--space-sm);padding:var(--space-3xs) var(--space-2xs);border-radius:var(--radius-xs);background:var(--color-surface);color:var(--color-muted);font-family:var(--font-body);font-size:var(--text-xs);white-space:nowrap;font-weight:650;line-height:1;position:absolute}.date-timeline-current{z-index:var(--z-raised);top:clamp(var(--space-md), var(--timeline-position), calc(100% - var(--space-md)));right:calc(100% + var(--space-2xs));max-width:10rem;padding:var(--space-2xs) var(--space-xs);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-surface-raised);box-shadow:0 var(--space-2xs) var(--space-md) var(--color-shadow);color:var(--color-ink-2);font-size:var(--text-xs);opacity:0;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;font-weight:700;line-height:1;position:absolute;overflow:hidden;transform:translateY(-50%)}.date-timeline-rail:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.date-timeline:focus-within .date-timeline-current{opacity:1}.date-timeline-rail:active .date-timeline-dot.active{transform:scale(2.15)}.date-timeline-rail[aria-disabled=true]{cursor:not-allowed;opacity:.5}.date-timeline-rail[aria-busy=true] .date-timeline-dot,.date-timeline-rail[data-state=loading] .date-timeline-dot{opacity:.55}.date-timeline-rail[data-state=error]{outline:2px solid var(--color-danger)}.date-timeline-rail[data-state=success] .date-timeline-dot.active{background:var(--color-accent)}.photo-month{scroll-margin-top:calc(var(--app-bar-height) + var(--toolbar-height) + var(--space-md))}.photo-month+.photo-month{margin-top:0}.photo-month>h4{z-index:var(--z-raised);top:calc(var(--app-bar-height) + var(--toolbar-height));width:max-content;max-width:100%;margin:0 0 var(--space-sm);padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink-2);font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:0;font-weight:700;position:sticky}.media-grid{gap:var(--space-xs);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.media-card{background:0 0;border:0;border-radius:0;align-self:start;min-width:0;position:relative;overflow:visible}.media-card.selected{border:0;outline:0}.media-preview{aspect-ratio:4/3;border-radius:var(--radius-sm);background:var(--color-paper-3);position:relative;overflow:hidden}.media-card.selected .media-preview{outline:3px solid var(--color-focus);outline-offset:-3px}.media-open-button{border-radius:inherit;background:0 0;border:0;width:100%;height:100%;min-height:0;margin:0;padding:0;display:block;overflow:hidden}.media-preview img,.media-preview .preview-placeholder{object-fit:cover;width:100%;height:100%;display:block}.preview-placeholder{background:var(--color-paper-3)}.selection-badge{top:var(--space-xs);right:var(--space-xs);border:2px solid var(--color-surface);background:var(--color-focus);width:1.75rem;height:1.75rem;color:var(--color-accent-ink);pointer-events:none;border-radius:50%;place-items:center;display:grid;position:absolute}.selection-badge svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4px;width:1rem;height:1rem}.media-card-body{min-width:0;padding:var(--space-xs) var(--space-2xs) 0}.media-card h4{font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:650;overflow:hidden}.media-card p{margin:var(--space-3xs) 0 0;color:var(--color-muted);font-family:var(--font-body);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.text-button{width:auto;min-height:2.75rem;margin:var(--space-2xs) 0 0;color:var(--color-danger);font-size:var(--text-xs);text-underline-offset:.2em;background:0 0;border:0;padding:0;text-decoration:underline}.empty-library{min-height:12rem;padding:var(--space-xl);border:var(--rule-hair) dashed var(--color-rule-strong);border-radius:var(--radius-md);color:var(--color-muted);text-align:center;place-items:center;display:grid}.private-upload,.confirmation-dialog,.duplicate-review-dialog{border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-surface-raised);color:var(--color-ink);box-shadow:0 1.25rem 4rem var(--color-shadow-strong)}.private-upload{padding:var(--space-lg)}.private-upload h2,.private-upload h3{font-family:var(--font-display);margin-top:0}.confirmation-backdrop,.duplicate-review-backdrop{z-index:var(--z-modal);padding:var(--space-md);background:var(--color-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);place-items:center;display:grid;position:fixed;inset:0}.confirmation-dialog{width:min(28rem,100%);max-height:calc(100dvh - 2rem);padding:var(--space-lg);overflow:auto}.confirmation-eyebrow{margin:0 0 var(--space-xs);color:var(--color-danger);font-size:var(--text-xs);font-weight:700}.confirmation-dialog h3{margin:0 0 var(--space-sm);font-size:var(--text-lg);font-weight:700}.confirmation-dialog>p:last-of-type{margin:0 0 var(--space-lg);color:var(--color-muted)}.confirmation-actions,.duplicate-review-actions{justify-content:flex-end;gap:var(--space-xs);flex-wrap:wrap;display:flex}.confirm-delete-button,.selection-danger-button{border-color:var(--color-danger);background:var(--color-danger);color:var(--color-accent-ink)}.duplicate-choice-actions,.album-picker-list{gap:var(--space-2xs);display:grid}.duplicate-choice-actions button,.album-picker-option{width:100%;min-height:3rem;padding:var(--space-sm) var(--space-md);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper);color:var(--color-ink-2);text-align:start;margin:0}.duplicate-comparison,.duplicate-common-info dl{gap:var(--space-md);grid-template-columns:minmax(0,1fr);display:grid}.duplicate-preview{aspect-ratio:4/3;border-radius:var(--radius-sm);background:var(--color-paper-3);overflow:hidden}.selection-bar{z-index:var(--z-toast);right:var(--space-md);bottom:var(--space-md);left:var(--space-md);justify-content:space-between;align-items:center;gap:var(--space-sm);max-width:42rem;padding:var(--space-xs) var(--space-xs) var(--space-xs) var(--space-md);border:var(--rule-hair) solid var(--color-viewer-rule);border-radius:var(--radius-pill);background:var(--color-viewer-surface);color:var(--color-viewer-ink);box-shadow:0 .75rem 2rem var(--color-shadow-strong);margin-inline:auto;display:flex;position:fixed;transform:none}.selection-bar-actions{gap:var(--space-2xs);display:flex}.selection-bar button{min-height:2.75rem;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-pill);margin:0}.photo-viewer{z-index:var(--z-modal);padding:calc(var(--app-bar-height) + var(--space-md)) var(--space-md) var(--space-md);background:var(--color-viewer);color:var(--color-viewer-ink);place-items:center;display:grid;position:fixed;inset:0}.photo-viewer-bar{min-height:var(--app-bar-height);padding:var(--space-xs) var(--space-sm);border-bottom:var(--rule-hair) solid var(--color-viewer-rule);background:var(--color-viewer);color:var(--color-viewer-ink);font-size:var(--text-sm);justify-content:space-between;align-items:center;font-weight:650;display:flex;position:absolute;top:0;left:0;right:0}.viewer-actions{gap:var(--space-2xs);display:flex;position:relative}.viewer-icon-button,.viewer-navigation,.duplicate-close-button{border:var(--rule-hair) solid transparent;width:2.75rem;min-width:2.75rem;min-height:2.75rem;color:inherit;box-shadow:none;background:0 0;border-radius:50%;place-items:center;margin:0;padding:0;display:grid}.viewer-icon-button svg,.viewer-navigation svg,.duplicate-close-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.3rem;height:1.3rem}.viewer-navigation{border-color:var(--color-viewer-rule);background:var(--color-viewer-control);color:var(--color-viewer-ink);box-shadow:0 .5rem 1.5rem var(--color-shadow-strong);position:absolute;top:50%;transform:translateY(-50%)}.viewer-navigation.previous{left:var(--space-xs)}.viewer-navigation.next{right:var(--space-xs)}.photo-viewer-image{object-fit:contain;max-width:100%;max-height:calc(100dvh - 6rem);display:block}.viewer-menu,.media-context-menu{padding:var(--space-2xs);border:var(--rule-hair) solid var(--color-viewer-rule);border-radius:var(--radius-sm);background:var(--color-viewer-surface);color:var(--color-viewer-ink);box-shadow:0 .75rem 2rem var(--color-shadow-strong);display:grid}.viewer-menu{width:11rem;position:absolute;top:3rem;right:0}.media-context-menu{z-index:var(--z-dropdown);min-width:11rem;position:fixed}.viewer-menu button,.media-context-menu button{border-radius:var(--radius-xs);width:100%;min-height:2.75rem;color:inherit;text-align:start;background:0 0;border:0;margin:0}.viewer-delete,.context-menu-delete{color:var(--color-viewer-danger)!important}.viewer-info{top:calc(var(--app-bar-height) + var(--space-sm));right:var(--space-sm);width:min(22rem,100% - 1.5rem);max-height:calc(100dvh - 5.5rem);padding:var(--space-md);border:var(--rule-hair) solid var(--color-viewer-rule);border-radius:var(--radius-md);background:var(--color-viewer-surface);color:var(--color-viewer-ink);position:absolute;overflow:auto}.viewer-info dt{color:var(--color-viewer-muted);font-size:var(--text-xs)}.viewer-info dd{margin:var(--space-2xs) 0 0;overflow-wrap:anywhere;font-family:var(--font-mono);font-size:var(--text-xs)}.landing-screen{width:min(72rem,100% - 2rem);min-height:100dvh;margin:0 auto;padding:0}.masthead{min-height:var(--app-bar-height);border-bottom:var(--rule-hair) solid var(--color-rule)}.wordmark{font-size:var(--text-md);font-weight:700}.alpha-badge,.status-line{color:var(--color-warning);font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;font-weight:650}.landing-hero{align-items:center;gap:var(--space-xl);min-height:calc(100dvh - 8rem);padding:var(--space-xl) 0;display:grid}.landing-intro h1{max-width:10ch;margin:var(--space-sm) 0 var(--space-lg);font-size:var(--text-display);font-weight:700;line-height:1.02}.intro-description{max-width:58ch;color:var(--color-ink-2)}.landing-login,.privacy-notice{border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-paper-2)}.landing-login{padding:var(--space-lg)}.privacy-notice{margin-top:var(--space-lg);padding:var(--space-md);color:var(--color-ink-2);font-size:var(--text-sm)}.landing-footer,footer{justify-content:space-between;gap:var(--space-md);padding:var(--space-lg) 0;border-top:var(--rule-hair) solid var(--color-rule);color:var(--color-muted);font-size:var(--text-sm);flex-wrap:wrap;display:flex}@media (hover:hover) and (pointer:fine){.date-timeline:hover .date-timeline-current,.date-timeline:focus-within .date-timeline-current{opacity:1}.date-timeline-rail:hover .date-timeline-dot{background:var(--color-muted)}.secondary-button:hover:not(:disabled),.compact-button:hover:not(:disabled),.photo-app-bar button:hover:not(:disabled),.new-album button:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-hover)}.upload-drawer>summary:hover{background:var(--color-accent-hover)}.album-nav:hover:not(:disabled){background:var(--color-paper-2)}.media-open-button:hover img{transform:scale(1.015)}.media-preview img{transition:transform var(--dur-short) var(--ease-out)}.viewer-icon-button:hover:not(:disabled),.viewer-navigation:hover:not(:disabled),.viewer-menu button:hover:not(:disabled),.media-context-menu button:hover:not(:disabled){background:var(--color-viewer-control-hover)}.confirm-delete-button:hover:not(:disabled),.selection-danger-button:hover:not(:disabled){background:var(--color-danger-hover)}}@media (min-width:40rem){.photo-app-bar,.library-workspace{padding-inline:var(--page-gutter)}.library-heading{gap:var(--space-lg);margin-inline:calc(var(--page-gutter) * -1);padding-inline:var(--page-gutter);grid-template-columns:auto minmax(0,1fr)}.library-controls{grid-template-columns:minmax(12rem,1fr) auto auto auto}.library-controls>.secondary-button:last-child,.library-controls .upload-drawer>summary,.library-controls>.secondary-button{width:auto}.library-controls>.secondary-button:last-child,.photo-search{grid-column:auto}.transfer-quota{gap:var(--space-sm) var(--space-md);grid-template-columns:minmax(13rem,auto) minmax(10rem,1fr) auto}.transfer-quota .library-capacity-copy{grid-column:1/-1}.album-sidebar{grid-template-columns:repeat(3,minmax(0,1fr))}.sidebar-notices{grid-template-columns:repeat(2,minmax(0,1fr))}.media-grid{grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr))}.duplicate-comparison,.duplicate-common-info dl{grid-template-columns:repeat(2,minmax(0,1fr))}.upload-drawer .private-upload{right:var(--page-gutter);width:min(32rem,100% - 2rem);left:auto}.photo-viewer{padding-inline:4.5rem}.viewer-navigation.previous{left:var(--space-md)}.viewer-navigation.next{right:var(--space-md)}.landing-hero{grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr)}}@media (min-width:48rem){.library-layout{gap:var(--space-lg);grid-template-columns:13rem minmax(0,1fr)}.album-sidebar{top:calc(var(--app-bar-height) + var(--toolbar-height) + var(--space-lg));max-height:calc(100dvh - var(--app-bar-height) - var(--toolbar-height) - var(--space-xl));padding-inline-end:var(--space-xs);display:block;position:sticky;overflow:auto}.sidebar-title{margin-bottom:var(--space-xs)}.album-nav+.album-nav{margin-top:var(--space-2xs)}.new-album{margin-top:var(--space-lg);grid-template-columns:minmax(0,1fr);display:grid}.sidebar-notices{grid-template-columns:minmax(0,1fr)}}@media (min-width:60rem){html,body{-ms-overflow-style:none;scrollbar-width:none}html::-webkit-scrollbar{display:none}body::-webkit-scrollbar{display:none}.media-browser{padding-inline-end:4rem}.date-timeline{z-index:var(--z-sticky-nav);top:calc(var(--app-bar-height) + var(--toolbar-height) + var(--space-lg));right:max(var(--space-xs), env(safe-area-inset-right));bottom:var(--space-lg);width:3.5rem;display:block;position:fixed}.account-identity{align-items:flex-end;gap:var(--space-3xs);flex-direction:column;display:flex}.library-heading .status-line{max-width:28ch;margin:0 0 var(--space-2xs);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.library-heading>div:first-child{display:block}.library-layout{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);gap:var(--space-xl)}.album-sidebar{top:calc(var(--app-bar-height) + var(--toolbar-height) + var(--space-lg));max-height:calc(100dvh - var(--app-bar-height) - var(--toolbar-height) - var(--space-xl));padding-inline-end:var(--space-xs);display:block;position:sticky;overflow:auto}.sidebar-title{margin-bottom:var(--space-xs)}.album-nav+.album-nav{margin-top:var(--space-2xs)}.new-album{margin-top:var(--space-lg);grid-template-columns:minmax(0,1fr);display:grid}.sidebar-notices{grid-template-columns:minmax(0,1fr)}}@media (min-width:90rem){:root{--sidebar-width:16rem}.media-grid{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr))}}@media (pointer:coarse){button,summary,input,.album-nav{min-height:3rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.15s!important;animation-duration:.15s!important;animation-iteration-count:1!important}.media-open-button:hover img{transform:none}}
