@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap";*{box-sizing:border-box}html{background:#fbf9f8;min-width:320px}body{min-width:320px;min-height:100svh;margin:0}#root{min-height:100svh}img{max-width:100%}:root{--background:#fbf9f8;--surface:#fbf9f8;--surface-lowest:#fff;--surface-low:#f5f3f3;--surface-container:#efeded;--surface-high:#e9e8e7;--surface-variant:#e4e2e2;--on-surface:#1b1c1c;--on-surface-muted:#444748;--outline:#747878;--outline-variant:#c4c7c7;--primary:#000;--secondary:#1f1f21;--electric:#2f3033;--mint:#777b7f;--coral:#ff6f61;--blue-soft:#d8d8d8;--shadow-soft:0 16px 48px #00000014;--shadow-modal:0 28px 80px #00000024;--shadow-glow:0 28px 90px #00000029}.landing-shell{background:linear-gradient(180deg, #fff 0%, var(--background) 28%, #eee 64%, var(--background) 100%);min-height:100svh;color:var(--on-surface);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.landing-shell main{isolation:isolate}.scroll-stage{align-items:center;min-height:92svh;scroll-margin-top:80px;display:flex}.scroll-stage>.page-container{width:min(100%,1280px)}.material-symbols-outlined{letter-spacing:normal;text-transform:none;white-space:nowrap;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;direction:ltr;justify-content:center;align-items:center;font-family:Material Symbols Outlined;font-size:24px;font-style:normal;font-weight:400;line-height:1;display:inline-flex}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-container{width:min(100%,1280px);margin:0 auto;padding:0 32px}.top-app-bar{z-index:50;-webkit-backdrop-filter:blur(24px)saturate(1.25);backdrop-filter:blur(24px)saturate(1.25);background:#ffffffbd;border-bottom:1px solid #c4c7c74d;position:fixed;inset:0 0 auto;box-shadow:0 16px 50px #1b1c1c0f}.top-app-bar__inner{justify-content:space-between;align-items:center;gap:24px;width:min(100%,1280px);height:80px;margin:0 auto;padding:0 32px;display:flex}.brand-mark{color:var(--primary);align-items:center;gap:8px;text-decoration:none;transition:opacity .18s,transform .18s;display:inline-flex}.brand-mark:hover{opacity:.8}.brand-mark:active{transform:scale(.97)}.brand-mark span:not(.material-symbols-outlined){letter-spacing:0;font-size:24px;font-weight:800;line-height:32px}.desktop-nav{align-items:center;gap:24px;display:flex}.desktop-nav a,.site-footer nav a{color:var(--on-surface-muted);letter-spacing:0;font-size:14px;font-weight:600;line-height:20px;text-decoration:none;transition:color .18s,opacity .18s}.desktop-nav a:first-child{color:var(--primary)}.desktop-nav a:hover,.site-footer nav a:hover{color:var(--secondary)}.top-actions{align-items:center;gap:12px;display:flex}.pill-button,.primary-button,.secondary-button,.login-button{min-height:44px;color:inherit;letter-spacing:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:600;line-height:20px;text-decoration:none;transition:opacity .18s,transform .18s,background .18s,box-shadow .18s;display:inline-flex;box-shadow:0 0 #0000}.pill-button,.primary-button{background:linear-gradient(135deg, var(--primary), #18191b 54%, var(--secondary));color:#fff}.pill-button{padding:10px 24px}.primary-button,.secondary-button{border-radius:8px;min-height:52px;padding:14px 40px}.secondary-button{border:1px solid var(--primary);color:var(--primary);background:0 0}.login-button{border:1px solid var(--outline-variant);background:var(--surface-lowest);color:var(--primary);cursor:pointer;padding:10px 18px}.login-button:hover{background:var(--surface-low);border-color:#0000003d}.pill-button:hover,.primary-button:hover,.store-button:hover{opacity:.9;box-shadow:var(--shadow-glow)}.secondary-button:hover{background:var(--surface-container)}.pill-button:active,.primary-button:active,.secondary-button:active,.store-button:active,.login-button:active{transform:scale(.97)}.compact-button{border-radius:999px;min-height:44px;padding:10px 18px}.hero-section{z-index:0;padding:clamp(88px,12svh,112px) 0 clamp(24px,5svh,40px);position:relative;overflow:hidden}.hero-section:before{content:"";z-index:0;transform-origin:0 0;background:linear-gradient(110deg,#0000001f,#0000 42%),linear-gradient(245deg,#5d5d5d1f,#0000 48%);height:520px;position:absolute;inset:90px 0 auto;transform:skewY(-7deg)}.hero-section .page-container{z-index:1;position:relative}.hero-grid{grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);align-items:center;gap:clamp(20px,4vw,48px);display:grid}.hero-copy{z-index:2;max-width:520px;position:relative}.section-kicker{color:var(--on-surface-muted);letter-spacing:0;text-transform:uppercase;margin:0 0 16px;font-size:12px;font-weight:700;line-height:16px}.hero-copy h1,.download-inner h2,.access-layout h2{color:var(--primary);letter-spacing:0;margin:0 0 12px;font-size:88px;font-weight:800;line-height:84px}.hero-copy h1{background:linear-gradient(120deg, #050505 0%, #202124 54%, var(--electric) 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.hero-copy p:not(.section-kicker),.download-inner p,.access-layout p{color:var(--on-surface-muted);letter-spacing:0;margin:0;font-size:18px;font-weight:400;line-height:32px}.hero-actions{flex-wrap:wrap;gap:16px;margin-top:clamp(24px,5svh,40px);display:flex}.hero-media{z-index:1;perspective:1200px;height:clamp(380px,54svh,540px);min-height:0;position:relative;overflow:visible}.hero-media>img{object-fit:cover;width:100%;height:100%;min-height:0;box-shadow:var(--shadow-modal), var(--shadow-glow);transform-origin:50%;border:1px solid #ffffffd1;border-radius:28px;display:block;transform:rotateX(1deg)rotateY(-4deg)}.hero-media:before,.hero-media:after{content:"";pointer-events:none;position:absolute}.hero-media:before{z-index:-1;background:#101418;border-radius:28px;inset:28px -18px -22px 48px;transform:rotate(3deg)}.hero-media:after{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff42;border:1px solid #ffffff80;border-radius:999px;width:92px;height:92px;top:28px;right:28px}.collaborator-card{background:var(--surface-lowest);box-shadow:var(--shadow-modal);border:1px solid #f1f1f1;border-radius:12px;align-items:center;gap:14px;padding:24px;display:flex;position:absolute;bottom:-32px;left:-32px}.collaborator-card>span{color:var(--on-surface-muted);letter-spacing:0;text-transform:uppercase;white-space:nowrap;font-size:12px;font-weight:700;line-height:16px}.avatar-stack{align-items:center;display:flex}.avatar-stack>*+*{margin-left:-12px}.avatar-stack img,.avatar-stack span{border:2px solid var(--surface);border-radius:999px;width:40px;height:40px}.avatar-stack img{object-fit:cover}.avatar-stack span{background:var(--surface-variant);color:var(--primary);place-items:center;font-size:11px;font-weight:800;line-height:1;display:grid}.proof-band{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffad;min-height:auto;padding:clamp(28px,6svh,48px) 0}.proof-band__inner{justify-content:space-between;align-items:center;gap:32px;display:flex}.proof-band p{color:var(--on-surface-muted);letter-spacing:0;text-transform:uppercase;margin:0;font-size:14px;font-weight:700;line-height:20px}.proof-band__inner div{filter:grayscale();opacity:.42;flex-wrap:wrap;justify-content:center;gap:48px;display:flex}.proof-band span{color:var(--primary);letter-spacing:0;font-size:24px;font-weight:900;line-height:32px}.occasion-section{background:var(--surface-low);min-height:auto;padding:clamp(48px,10svh,96px) 0}.occasion-heading{text-align:center;margin-bottom:48px}.occasion-heading span{color:var(--on-surface-muted);letter-spacing:.2em;text-transform:uppercase;font-size:13px;font-weight:700;line-height:18px;display:block}.occasion-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;display:grid}.occasion-card{cursor:default;text-align:center;background:#fbf9f880;border:1px solid #c4c7c74d;border-radius:16px;padding:24px}.occasion-card .material-symbols-outlined{color:#000000b3;margin-bottom:12px;font-size:32px}.occasion-card h4{color:var(--primary);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:13px;font-weight:800;line-height:18px}.feature-section{padding:clamp(40px,7svh,72px) 0;position:relative}.feature-section:before{content:none;background:linear-gradient(90deg,#0000,#00000052,#0000);height:1px;position:absolute;inset:72px 0 auto}.section-heading{margin-bottom:clamp(28px,6svh,56px)}.section-heading h2,.interface-heading h2{color:var(--primary);letter-spacing:0;margin:0 0 16px;font-size:32px;font-weight:700;line-height:40px}.section-heading h2,.interface-heading h2,.pricing-heading h2{font-size:clamp(32px,5vw,56px);line-height:1}.section-heading span{background:var(--primary);width:96px;height:4px;display:block}.feature-layout{grid-template-columns:5fr 7fr;align-items:center;gap:clamp(28px,5vw,48px);display:grid}.feature-column,.highlight-column{flex-direction:column;gap:clamp(18px,3.5svh,28px);display:flex}.highlight-column{gap:clamp(16px,3svh,24px)}.feature-item{cursor:default}.feature-icon,.highlight-icon{background:var(--surface-high);color:var(--primary);place-items:center;transition:background .24s,color .24s,transform .24s,box-shadow .24s;display:grid}.feature-icon{border-radius:999px;width:48px;height:48px;margin-bottom:16px}.feature-item:hover .feature-icon{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;box-shadow:var(--shadow-glow);transform:translateY(-3px)rotate(-4deg)}.feature-item h3,.highlight-card h3,.proof-card h3,.focus-card h3,.album-preview__header h3{color:var(--primary);letter-spacing:0;margin:0 0 12px;font-size:22px;font-weight:700;line-height:30px}.feature-item p,.highlight-card p,.proof-card p,.focus-card p{color:var(--on-surface-muted);letter-spacing:0;margin:0;font-size:15px;font-weight:400;line-height:24px}.highlight-card,.album-preview,.proof-card{box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffc7;border:1px solid #ffffffb3}.highlight-card{border-radius:24px;padding:clamp(22px,3.5svh,32px);transition:border-color .24s,transform .24s,box-shadow .24s}.highlight-card:hover{box-shadow:var(--shadow-modal), var(--shadow-glow);border-color:#0000002e;transform:translateY(-8px)}.highlight-icon{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;border-radius:16px;width:52px;height:52px;margin-bottom:20px;box-shadow:0 10px 15px #0000001a,0 4px 6px #0000000f}.highlight-icon .material-symbols-outlined{font-size:32px}.highlight-card h3{font-size:28px;line-height:34px}.swatch-row{gap:8px;margin-top:18px;display:flex}.swatch{border:1px solid var(--outline-variant);border-radius:999px;width:32px;height:32px;display:block}.swatch.warm{background:#e5e2e1}.swatch.charcoal{background:#303031}.swatch.blue{background:var(--blue-soft)}.swatch.paper{background:#fbf9f8}.watermark-chip{background:var(--surface-container);width:fit-content;color:var(--primary);border-radius:8px;align-items:center;gap:10px;margin-top:18px;padding:10px 16px;display:inline-flex}.watermark-chip .material-symbols-outlined{font-size:18px}.watermark-chip span{color:#0000009e;letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:800;line-height:16px}.interface-section{z-index:0;background:linear-gradient(180deg, #ffffffeb, #eeeeeec7), var(--surface-lowest);padding:clamp(40px,7svh,68px) 0;position:relative;overflow:hidden}.interface-section:before{content:"";z-index:0;background-image:linear-gradient(#00000014 1px,#0000 1px),linear-gradient(90deg,#00000014 1px,#0000 1px);background-size:48px 48px;border:1px solid #00000014;border-radius:36px;position:absolute;inset:80px 32px;-webkit-mask-image:linear-gradient(#0000,#000 18% 82%,#0000);mask-image:linear-gradient(#0000,#000 18% 82%,#0000)}.interface-section .page-container{z-index:1;position:relative}.interface-heading{text-align:center;margin-bottom:clamp(22px,4.5svh,36px)}.interface-heading .section-kicker{margin-bottom:12px}.bento-grid{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;height:clamp(420px,56svh,580px);min-height:0;display:grid}.album-preview{border-radius:24px;flex-direction:column;grid-area:span 2/span 2;display:flex;overflow:hidden}.album-preview,.proof-card,.focus-card,.highlight-card,.feature-item,.pricing-panel,.access-qr-wrap,.download-inner{will-change:transform, opacity}.album-preview__header{border-bottom:1px solid #e4e2e28c;justify-content:space-between;align-items:center;gap:24px;padding:clamp(20px,4svh,32px);display:flex}.album-preview__header h3{margin-bottom:4px}.album-preview__header p{color:var(--on-surface-muted);letter-spacing:0;text-transform:uppercase;margin:0;font-size:12px;font-weight:700;line-height:16px}.photo-mosaic{background:var(--surface);flex:1;grid-template-rows:1fr 1fr;grid-template-columns:1.1fr .9fr;gap:16px;padding:16px;display:grid}.photo-mosaic img{object-fit:cover;border:1px solid #f1f1f1;border-radius:12px;width:100%;height:100%;min-height:0;transition:transform .3s,filter .3s;display:block}.album-preview:hover .photo-mosaic img{filter:saturate(1.08)contrast(1.03);transform:scale(1.025)}.photo-mosaic .mosaic-large{grid-row:span 2}.proof-card,.focus-card{border-radius:24px;padding:clamp(24px,4svh,32px)}.proof-card{flex-direction:column;justify-content:center;display:flex}.proof-card>.material-symbols-outlined{color:var(--primary);margin-bottom:16px;font-size:40px}.focus-card{color:#fff;box-shadow:var(--shadow-soft);background:linear-gradient(145deg,#ffffff1f,#0000 34%),linear-gradient(135deg,#050505,#17181a 58%,#2a2b2f);flex-direction:column;justify-content:space-between;display:flex}.focus-card h3,.focus-card p{color:#fff}.focus-card p{opacity:.78}.focus-dots{align-items:center;gap:8px;margin-top:clamp(20px,4svh,32px);display:flex}.focus-dots span{background:#ffffff38;border-radius:999px;width:32px;height:32px}.focus-dots span:nth-child(2){background:#ffffff6b}.focus-dots span:nth-child(3){background:#ffffff1f}.focus-dots small{color:#fff;letter-spacing:0;margin-left:8px;font-size:12px;font-weight:700;line-height:16px}.pricing-section{background:linear-gradient(#f5f3f3e0,#eeeeeee0);padding:clamp(36px,7svh,68px) 0}.pricing-inner{flex-direction:column;align-items:center;display:flex}.pricing-heading{text-align:center;max-width:680px;margin-bottom:clamp(22px,4.5svh,36px)}.pricing-heading h2{color:var(--primary);letter-spacing:0;margin:0 0 16px;font-size:clamp(32px,5vw,56px);font-weight:700;line-height:1}.pricing-heading p{color:var(--on-surface-muted);letter-spacing:0;margin:0;font-size:18px;line-height:32px}.pricing-panel{width:min(100%,672px);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffc7;border:1px solid #ffffffb8;border-radius:28px;flex-direction:column;align-items:center;padding:clamp(22px,4.5svh,34px) clamp(24px,7vw,72px);display:flex}.guest-selector{--pricing-option-count:6;background:linear-gradient(180deg, #ffffffe6, #efededb8), var(--surface-container);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid #ffffffc2;border-radius:999px;width:min(100%,448px);margin-bottom:clamp(20px,4svh,32px);padding:6px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffeb,0 14px 36px #1b1c1c14}.guest-selector__indicator{z-index:0;width:calc((100% - 12px) / var(--pricing-option-count));background:linear-gradient(135deg, #ffffff29, #fff0 42%), linear-gradient(135deg, var(--primary), #18191b 54%, var(--secondary));border-radius:999px;transition:transform .36s cubic-bezier(.16,1,.3,1);position:absolute;top:6px;bottom:6px;left:6px;transform:translate(0);box-shadow:0 12px 28px #00000038,0 4px 10px #00000029,inset 0 1px #ffffff47}.guest-selector[data-selected-index="1"] .guest-selector__indicator{transform:translate(100%)}.guest-selector[data-selected-index="2"] .guest-selector__indicator{transform:translate(200%)}.guest-selector[data-selected-index="3"] .guest-selector__indicator{transform:translate(300%)}.guest-selector[data-selected-index="4"] .guest-selector__indicator{transform:translate(400%)}.guest-selector[data-selected-index="5"] .guest-selector__indicator{transform:translate(500%)}.guest-selector button{z-index:1;min-width:0;min-height:44px;color:var(--on-surface-muted);letter-spacing:0;cursor:pointer;background:0 0;border:0;border-radius:999px;flex:1 1 0;padding:10px 12px;font-size:14px;font-weight:700;line-height:20px;transition:background .18s,color .18s,box-shadow .18s,transform .18s;position:relative}.guest-selector button:hover{color:var(--primary);background:#ffffff94}.guest-selector button:active{transform:scale(.96)}.guest-selector button:focus-visible{outline-offset:2px;outline:3px solid #0000003d}.guest-selector button.selected{color:#fff;text-shadow:0 1px 10px #0000002e;background:0 0}.pricing-price{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.pricing-price strong{color:var(--primary);letter-spacing:0;font-size:32px;font-weight:700;line-height:40px}.pricing-price span,.pricing-included h3{color:var(--on-surface-muted);letter-spacing:.2em;text-transform:uppercase;font-size:12px;font-weight:700;line-height:16px}.pricing-included{border-top:1px solid #c4c7c74d;width:min(100%,448px);margin-top:clamp(22px,4.5svh,32px);padding-top:clamp(22px,4.5svh,32px)}.pricing-included h3{text-align:center;margin:0 0 clamp(16px,3svh,24px)}.pricing-included ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.pricing-included li{color:var(--on-surface-muted);letter-spacing:0;align-items:flex-start;gap:12px;font-size:15px;line-height:24px;display:flex}.pricing-included .material-symbols-outlined{color:var(--primary);flex:none;margin-top:4px;font-size:20px}.access-section{color:#fff;background:#0b0f14;padding:clamp(44px,8svh,80px) 0;position:relative;overflow:hidden}.access-section:before{content:"";z-index:0;background:linear-gradient(120deg,#ffffff1f,#0000 45%),linear-gradient(270deg,#5d5d5d2e,#0000 40%);position:absolute;inset:0}.access-section .page-container{z-index:1;position:relative}.access-section .access-layout h2,.access-section .access-layout p,.access-section .scan-label{color:#fff}.access-section .access-layout p{opacity:.78}.access-layout{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(40px,7vw,72px);display:grid}.access-layout>div:first-child{max-width:680px}.access-qr-wrap{text-align:center}.qr-card{background:#fff;border:1px solid #ffffff38;border-radius:24px;width:320px;height:320px;padding:24px;box-shadow:0 32px 90px #00000057}.qr-grid{background:var(--surface-lowest);border-radius:14px;grid-template-columns:repeat(9,1fr);gap:8px;width:100%;height:100%;padding:14px;display:grid}.qr-grid span{background:0 0;border-radius:3px}.qr-grid span.active{background:var(--primary)}.scan-label{color:var(--on-surface-muted);letter-spacing:0;text-transform:uppercase;justify-content:center;align-items:center;gap:8px;margin-top:28px;font-size:14px;font-weight:800;line-height:20px;display:inline-flex}.albums-page{outline:none;min-height:100svh;padding-top:80px}.albums-hero{background:var(--surface-lowest);border-bottom:1px solid #c4c7c74d;padding:88px 0 56px}.albums-hero__inner{justify-content:space-between;align-items:flex-end;gap:32px;display:flex}.albums-hero__inner>div{max-width:720px}.albums-hero h1{color:var(--primary);letter-spacing:0;margin:0 0 12px;font-size:64px;font-weight:800;line-height:68px}.albums-hero p:not(.section-kicker){color:var(--on-surface-muted);margin:0;font-size:18px;line-height:32px}.albums-list-section{padding:56px 0 96px}.app-state-message{background:var(--surface-lowest);color:var(--on-surface-muted);border:1px solid #e4e2e2a6;border-radius:8px;grid-column:1/-1;margin:0;padding:24px;font-size:14px;line-height:20px}.app-state-message.error,.form-error{color:#9f2d20}.user-album-card{background:var(--surface-lowest);box-shadow:var(--shadow-soft);border:1px solid #c4c7c759;border-radius:16px;overflow:hidden}.user-album-card img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.user-album-card>div{padding:24px}.user-album-card span{color:var(--on-surface-muted);letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:800;line-height:16px}.user-album-card h2{color:var(--primary);letter-spacing:0;margin:10px 0 8px;font-size:24px;font-weight:700;line-height:32px}.user-album-card p{color:var(--on-surface-muted);letter-spacing:0;text-transform:uppercase;margin:0 0 24px;font-size:14px;font-weight:600;line-height:20px}.album-open-button{background:var(--primary);color:#fff;letter-spacing:0;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:44px;font-size:14px;font-weight:700;line-height:20px;transition:opacity .18s,transform .18s;display:inline-flex}.album-open-button:hover{opacity:.9}.album-open-button:active{transform:scale(.98)}.moment-shell{background:var(--background);min-height:100svh;color:var(--on-surface);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:clip}.moment-shell--empty{isolation:isolate;position:relative;overflow:hidden}.moment-shell--empty:before{content:"";z-index:-2;filter:grayscale(.32)saturate(.62);background:linear-gradient(#fbf9f8a8,#fbf9f8a8),linear-gradient(#e8e7e62e,#ffffff85),url(https://images.unsplash.com/photo-1529156069898-49953e39b3ac?auto=format&fit=crop&w=1800&q=82) 50%/cover;position:fixed;inset:0}.moment-shell--empty:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% 42%,#ffffff94,#0000 38%),linear-gradient(#fbf9f847,#fbf9f8c2);position:fixed;inset:0}.moment-top-app-bar{z-index:20;background:var(--surface);border-bottom:1px solid #f3f4f6e6;position:sticky;top:0}.app-bar-inner{grid-template-columns:minmax(180px,1fr) auto minmax(80px,1fr);align-items:center;gap:24px;width:min(100%,1280px);height:64px;margin:0 auto;padding:0 32px;display:grid}.brand-group{color:var(--primary);align-items:center;gap:16px;text-decoration:none;transition:opacity .15s,transform .15s;display:flex}.brand-group:hover{opacity:.8}.brand-group:active{transform:scale(.98)}.brand-group h1{color:var(--primary);letter-spacing:0;margin:0;font-size:24px;font-weight:700;line-height:32px}.app-desktop-nav{justify-content:center;align-items:center;gap:32px;display:flex}.app-desktop-nav a{color:var(--on-surface-muted);letter-spacing:0;font-size:14px;font-weight:500;line-height:20px;text-decoration:none;transition:color .15s,opacity .15s}.app-desktop-nav a.active,.app-desktop-nav a:hover{color:var(--primary)}.icon-button,.avatar-button,.album-image-button,.floating-create{cursor:pointer;background:0 0;border:0;padding:0}.icon-button{width:32px;height:32px;color:var(--primary);place-items:center;transition:opacity .15s,transform .15s;display:grid}.icon-button:hover,.avatar-button:hover{opacity:.8}.icon-button:active{transform:scale(.95)}.profile-menu-wrap{justify-self:end;align-items:center;display:flex;position:relative}.avatar-button img{border:1px solid var(--outline-variant);object-fit:cover;border-radius:999px;width:32px;height:32px;display:block}.profile-menu{border:1px solid var(--outline-variant);background:var(--surface);border-radius:8px;width:168px;padding:8px;position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 18px 44px #12121224}.profile-menu button{width:100%;height:40px;color:var(--on-surface);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:0 10px;font-size:14px;font-weight:600;line-height:20px;display:flex}.profile-menu button:hover{background:var(--surface-variant)}.profile-menu .material-symbols-outlined{font-size:20px}.home-content{outline:none;width:min(100%,1280px);margin:0 auto;padding:24px 32px 128px}.home-content--empty{text-align:center;justify-content:center;align-items:center;min-height:calc(100svh - 64px);padding-top:64px;padding-bottom:128px;display:flex}.empty-moments{flex-direction:column;align-items:center;width:min(100%,360px);margin-inline:auto;display:flex}.empty-moments__copy{margin-bottom:48px}.empty-moments h2{color:#000;letter-spacing:0;margin:0;font-size:36px;font-weight:700;line-height:44px}.empty-moments p{max-width:280px;color:var(--on-surface-muted);letter-spacing:0;margin:12px auto 0;font-size:16px;font-weight:400;line-height:28px}.empty-moments__actions{flex-direction:column;align-items:center;gap:24px;width:100%;display:flex}.empty-moments__primary,.empty-moments__secondary{font:inherit;cursor:pointer;border:0}.empty-moments__primary{background:var(--primary);color:#fff;letter-spacing:.1em;text-transform:uppercase;border-radius:999px;width:100%;min-height:52px;padding:16px 40px;font-size:14px;font-weight:600;line-height:20px;transition:box-shadow .18s,opacity .18s,transform .18s;box-shadow:0 0 #0000}.empty-moments__primary:hover{transform:translateY(-2px);box-shadow:0 20px 25px -8px #00000029}.empty-moments__primary:active{transform:scale(.98)}.empty-moments__secondary{color:var(--on-surface-muted);letter-spacing:.02em;background:0 0;align-items:center;gap:8px;font-size:14px;font-weight:500;line-height:20px;transition:color .15s;display:inline-flex}.empty-moments__secondary:hover{color:var(--primary)}.empty-moments__secondary .material-symbols-outlined{font-size:18px;transition:transform .15s}.empty-moments__secondary:hover .material-symbols-outlined{transform:translate(4px)}.album-detail-content{width:min(100%,1280px);min-width:0;margin:0 auto;padding:32px 32px 128px;overflow-x:clip}.share-content{grid-template-rows:auto minmax(0,1fr);justify-items:center;width:min(100%,1280px);height:calc(100svh - 64px);min-height:0;margin:0 auto;padding:clamp(16px,3svh,32px) 32px clamp(20px,3svh,36px);display:grid;overflow:hidden}.members-content{width:min(100%,1280px);margin:0 auto;padding:48px 32px 128px}.members-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px;display:flex}.members-heading>div{max-width:620px}.members-breadcrumb{color:var(--on-surface-muted);align-items:center;gap:8px;margin-bottom:8px;display:flex}.members-breadcrumb button,.members-breadcrumb span{color:inherit;letter-spacing:0;background:0 0;border:0;padding:0;font-size:12px;font-weight:500;line-height:16px}.members-breadcrumb button{cursor:pointer;transition:color .15s}.members-breadcrumb button:hover{color:var(--primary)}.members-breadcrumb .material-symbols-outlined{font-size:16px}.members-heading h2{color:var(--primary);letter-spacing:0;margin:0;font-size:32px;font-weight:600;line-height:40px}.members-heading p{max-width:576px;color:var(--on-surface-muted);letter-spacing:0;margin:8px 0 0;font-size:16px;line-height:28px}.share-heading{text-align:center;width:min(100%,576px);margin-bottom:clamp(12px,2svh,24px)}.share-heading .members-breadcrumb{justify-content:center}.share-heading h2{color:var(--primary);letter-spacing:0;margin:0;font-size:30px;font-weight:600;line-height:38px}.share-heading p{color:var(--on-surface-muted);letter-spacing:0;margin:4px 0 0;font-size:14px;line-height:22px}.share-panel{grid-template-columns:1fr;grid-template-areas:"qr""actions""collaborators";place-content:center;place-items:center;gap:16px;width:min(100%,420px);min-height:0;display:grid}.share-qr-card{background:var(--surface-lowest);width:100%;box-shadow:var(--shadow-soft);border:1px solid #f1f1f1;border-radius:12px;grid-area:qr;justify-items:center;gap:12px;padding:20px;transition:transform .25s;display:grid}.share-qr-card:hover{transform:scale(1.01)}.share-qr-frame{aspect-ratio:1;background:#fff;border:1px solid #f1f1f1;border-radius:8px;width:min(100%,clamp(200px,30svh,272px));padding:8px}.share-qr-svg{width:100%;height:100%;display:block}.share-qr-card>p{color:var(--on-surface-muted);letter-spacing:.1em;text-align:center;text-transform:uppercase;margin:0;font-size:14px;font-weight:500;line-height:20px}.share-actions{grid-area:actions;gap:12px;width:100%;display:grid}.share-primary-button,.share-secondary-actions button{letter-spacing:0;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:10px 18px;font-size:14px;font-weight:500;line-height:20px;transition:background .15s,opacity .15s,transform .15s;display:inline-flex}.share-primary-button{background:var(--primary);color:#fff;border:0}.share-primary-button:hover{opacity:.9}.share-primary-button:active,.share-secondary-actions button:active{transform:scale(.97)}.share-secondary-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.share-secondary-actions button{border:1px solid var(--primary);color:var(--primary);background:0 0}.share-secondary-actions button:hover{background:var(--surface-low)}.share-status{max-width:100%;min-height:20px;color:var(--on-surface-muted);letter-spacing:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;font-weight:500;line-height:16px;overflow:hidden}.share-collaborators{grid-area:collaborators;justify-items:center;gap:6px;display:grid}.share-collaborators>p{color:var(--on-surface-muted);letter-spacing:.05em;margin:0;font-size:12px;font-weight:500;line-height:16px}.share-collaborators .contributors img,.share-collaborators .contributors span{border-color:#fff;width:40px;height:40px}.share-collaborators .contributors>*+*{margin-left:-12px}.members-heading-actions{flex-wrap:wrap;flex:0 0 max(320px,33.3333% - 16px);justify-content:flex-end;gap:12px;display:flex}.invite-button,.share-moment-button{background:var(--primary);color:#fff;letter-spacing:0;white-space:nowrap;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:12px 32px;font-size:14px;font-weight:500;line-height:20px;transition:opacity .15s,transform .15s;display:inline-flex}.invite-button{background:var(--primary);color:#fff;border:0}.share-moment-button{background:var(--primary);color:#fff;width:100%;min-width:0;box-shadow:var(--shadow-soft);border:0}.invite-button:hover,.share-moment-button:hover{opacity:.9}.invite-button:active,.share-moment-button:active{transform:scale(.97)}.members-layout{grid-template-columns:minmax(0,8fr) minmax(320px,4fr);gap:48px;display:grid}.members-list-card,.permissions-card{background:var(--surface-lowest);box-shadow:var(--shadow-soft);border:1px solid #e4e2e28c;border-radius:12px;overflow:hidden}.members-card-header{background:#f5f3f380;border-bottom:1px solid #e4e2e280;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.members-card-header h3,.permissions-card h3{color:var(--primary);letter-spacing:0;margin:0;font-size:14px;font-weight:500;line-height:20px}.table-invite-button{min-height:32px;color:var(--primary);letter-spacing:0;white-space:nowrap;cursor:pointer;background:#ffffffb8;border:1px solid #1c1b1b1f;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;line-height:16px;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.table-invite-button .material-symbols-outlined{font-size:18px}.table-invite-button:hover{background:#fff;border-color:#1c1b1b33}.table-invite-button:active{transform:scale(.97)}.members-list{display:grid}.curator-request-list{border-bottom:1px solid #e4e2e28c;gap:8px;padding:12px 24px;display:grid}.curator-request-list p{color:var(--on-surface-muted);justify-content:space-between;align-items:center;gap:16px;margin:0;font-size:12px;line-height:16px;display:flex}.curator-request-list strong{color:var(--primary);text-transform:capitalize;font-weight:600}.member-row{justify-content:space-between;align-items:center;gap:24px;min-width:0;padding:24px;display:flex}.member-row+.member-row{border-top:1px solid #e4e2e28c}.member-identity,.member-actions{align-items:center;min-width:0;display:flex}.member-identity{gap:16px}.member-avatar-wrap{flex:none;position:relative}.member-avatar-wrap img{border:2px solid var(--surface-variant);object-fit:cover;border-radius:14px;width:48px;height:48px;display:block}.online-dot{background:#22c55e;border:2px solid #fff;border-radius:999px;width:12px;height:12px;position:absolute;bottom:1px;right:1px}.member-identity h4{color:var(--primary);letter-spacing:0;margin:0;font-size:16px;font-weight:600;line-height:24px}.member-identity p{color:var(--on-surface-muted);letter-spacing:0;margin:0;font-size:12px;font-weight:500;line-height:16px}.member-permissions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.member-permissions span{color:var(--on-surface-muted);letter-spacing:0;background:#f5f3f3b3;border:1px solid #1c1b1b1a;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:500;line-height:14px}.member-actions{flex:none;gap:24px}.owner-pill,.curator-pill{letter-spacing:0;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:500;line-height:16px}.owner-pill{background:var(--primary);color:#fff}.curator-pill{color:var(--primary);background:#fff;border:1px solid #1c1b1b1f}.role-select-label{position:relative}.role-select-label select{appearance:none;background:linear-gradient(45deg, transparent 50%, var(--on-surface-muted) 50%) calc(100% - 12px) 52% / 5px 5px no-repeat, linear-gradient(135deg, var(--on-surface-muted) 50%, transparent 50%) calc(100% - 7px) 52% / 5px 5px no-repeat;min-height:36px;color:var(--on-surface-muted);letter-spacing:0;cursor:pointer;border:0;padding:0 28px 0 0;font-size:12px;font-weight:500;line-height:16px}.role-select-label select:focus-visible{outline:2px solid var(--secondary);outline-offset:4px}.member-action-button{width:32px;height:32px;color:var(--on-surface-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;transition:color .15s,background .15s;display:grid}.member-action-button:hover{background:var(--surface-low);color:var(--primary)}.member-action-button.remove:hover{color:#ba1a1a}.member-sidebar{flex-direction:column;gap:24px;display:flex}.curator-invite-card{gap:20px;display:grid}.curator-invite-card .share-qr-card{gap:16px;padding:24px}.curator-invite-card .share-qr-frame{width:min(100%,236px)}.curator-invite-card .share-actions{gap:16px}.curator-invite-card .share-secondary-actions{gap:12px}.permissions-card{padding:24px}.permissions-card h3{margin-bottom:24px;font-size:18px;font-weight:600;line-height:28px}.permissions-list{gap:24px;display:grid}.permission-toggle{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;display:grid}.permission-toggle>span:first-child{gap:4px;min-width:0;display:grid}.permission-toggle strong{color:var(--primary);letter-spacing:0;font-size:14px;font-weight:500;line-height:20px}.permission-toggle small{color:var(--on-surface-muted);letter-spacing:0;font-size:12px;font-weight:400;line-height:18px}.permission-toggle input{opacity:0;pointer-events:none;position:absolute}.toggle-track{background:var(--surface-variant);border-radius:999px;width:44px;height:24px;transition:background .15s;position:relative}.toggle-track:after{content:"";background:#fff;border:1px solid #d1d5db;border-radius:999px;width:20px;height:20px;transition:transform .15s,border-color .15s;position:absolute;top:2px;left:2px}.permission-toggle input:checked+.toggle-track{background:var(--secondary)}.permission-toggle input:checked+.toggle-track:after{border-color:#fff;transform:translate(20px)}.permission-toggle input:focus-visible+.toggle-track{outline:2px solid var(--secondary);outline-offset:4px}.album-summary-card{border:1px solid var(--primary);color:#fff;background:#1c1b1b;border-radius:12px;padding:24px}.album-summary-card>p{color:#ffffff94;letter-spacing:0;margin:0 0 16px;font-size:12px;font-weight:500;line-height:16px}.album-summary-card dl{margin:0}.album-summary-card dl>div{justify-content:space-between;align-items:center;gap:16px;display:flex}.album-summary-card dl>div+div{margin-top:16px}.album-summary-card dt,.album-summary-card dd{letter-spacing:0;margin:0;font-size:14px;line-height:20px}.album-summary-card dt{color:#ffffffad;font-weight:500}.album-summary-card dd{color:#fff;font-weight:700}.album-summary-card button{width:100%;min-height:40px;color:var(--primary);letter-spacing:0;cursor:pointer;background:#fff;border:0;border-top:1px solid #85838333;border-radius:4px;margin-top:24px;padding:8px 16px;font-size:14px;font-weight:500;line-height:20px;transition:background .15s}.album-summary-card button:hover{background:var(--surface)}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px;display:flex}.page-heading h2{color:var(--on-surface);letter-spacing:0;margin:0;font-size:32px;font-weight:600;line-height:40px}.page-heading p{max-width:576px;color:var(--on-surface-muted);letter-spacing:0;margin:8px 0 0;font-size:16px;line-height:28px}.create-button{background:var(--primary);color:#fff;letter-spacing:0;white-space:nowrap;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:8px 40px;font-size:14px;font-weight:500;line-height:20px;transition:opacity .15s;display:inline-flex}.create-button:hover{opacity:.9}.albums-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;display:grid}.album-card{min-width:0;color:var(--primary);grid-column:span 4}.album-card.featured{grid-column:span 8}.album-image-button{aspect-ratio:1;background:var(--surface-low);width:100%;box-shadow:var(--shadow-soft), inset 0 0 0 1px #f1f1f1;border-radius:12px;display:block;position:relative;overflow:hidden}.album-card.featured .album-image-button{aspect-ratio:16/10}.album-image-button img{object-fit:cover;width:100%;height:100%;transition:transform .7s;display:block}.album-card:hover .album-image-button img{transform:scale(1.05)}.album-status{pointer-events:none;background:linear-gradient(#0000,#0006);align-items:flex-end;min-height:46%;padding:24px;display:flex;position:absolute;inset:auto 0 0}.album-status span{color:#fffc;letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:500;line-height:16px}.album-status.expired{background:linear-gradient(#0000,#8b261eb8)}.album-status.expired span{color:#fff}.album-meta{justify-content:space-between;align-items:flex-start;gap:12px;margin-top:12px;display:flex}.album-meta h3{color:var(--primary);letter-spacing:0;margin:0;font-size:24px;font-weight:600;line-height:32px}.album-meta p{color:var(--on-surface-muted);letter-spacing:.05em;text-transform:uppercase;margin:4px 0 0;font-size:12px;font-weight:500;line-height:16px}.contributors{flex:none;align-items:center;display:flex}.contributors>*+*{margin-left:-8px}.contributors img,.contributors span{border:2px solid var(--surface);border-radius:999px;width:32px;height:32px}.contributors img{object-fit:cover}.contributors span{background:var(--surface-variant);color:var(--on-surface);place-items:center;font-size:10px;font-weight:700;line-height:1;display:grid}.contributors.compact img,.contributors.compact span{width:24px;height:24px}.album-detail-heading{margin-bottom:48px}.album-detail-content--empty-gallery{flex-direction:column;min-height:calc(100svh - 84px);display:flex}.album-detail-content--empty-gallery .album-detail-heading{margin-bottom:clamp(16px,3svh,32px)}.album-heading-topline{margin-bottom:8px}.album-detail-content--empty-gallery .album-heading-topline{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.album-heading-title-stack{flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;display:flex}.album-detail-content--empty-gallery .album-heading-topline h2{color:var(--primary);letter-spacing:0;margin:0;font-size:24px;font-weight:700;line-height:30px}.breadcrumb-button{color:var(--on-surface-muted);letter-spacing:.05em;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:500;line-height:16px;transition:color .15s,opacity .15s}.breadcrumb-button:hover{color:var(--primary)}.moment-manage-icon-button,.moment-heading-icon-button{color:#1b1c1cb8;cursor:pointer;background:0 0;border:0;border-radius:0;flex:none;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:opacity .2s,transform .15s;display:inline-flex}.moment-manage-icon-button:hover,.moment-heading-icon-button:hover{opacity:.7}.moment-manage-icon-button:active,.moment-heading-icon-button:active{transform:scale(.97)}.album-heading-row{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.album-heading-row h2{color:var(--primary);letter-spacing:0;margin:0;font-size:48px;font-weight:700;line-height:52px}.album-heading-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.manage-members-button{border:1px solid var(--primary);min-height:44px;color:var(--primary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 24px;font-size:14px;font-weight:500;line-height:20px;transition:background .2s,color .2s,transform .15s;display:inline-flex}.manage-members-button:hover{background:var(--primary);color:#fff}.manage-members-button:active{transform:scale(.97)}.album-member-row{align-items:center;gap:16px;margin-top:24px;display:flex}.album-member-row .contributors img,.album-member-row .contributors span{width:40px;height:40px}.album-member-row .contributors>*+*{margin-left:-12px}.album-member-row p{color:var(--on-surface-muted);margin:0;font-size:16px;font-style:italic;line-height:28px}.direct-upload-status{min-height:20px;color:var(--on-surface-muted);letter-spacing:0;margin:12px 0 0;font-size:13px;font-weight:600;line-height:20px}.direct-upload-status[role=alert]{color:#9f2d20}.photo-delete-toast{right:max(20px, env(safe-area-inset-right));bottom:max(20px, env(safe-area-inset-bottom));z-index:60;color:#fff;letter-spacing:0;background:#1b1c1cf0;border:1px solid #1b1c1c14;border-radius:8px;align-items:center;gap:10px;max-width:min(360px,100vw - 40px);padding:12px 16px;font-size:14px;font-weight:700;line-height:20px;animation:.18s ease-out photo-delete-toast-in;display:inline-flex;position:fixed;box-shadow:0 18px 48px #1b1c1c38}.photo-delete-toast .material-symbols-outlined{color:#8bd48f;font-size:20px}.photo-delete-modal-backdrop{z-index:70;-webkit-backdrop-filter:blur(8px);background:#0e0f0f61;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.photo-delete-modal{width:min(400px,100%);color:var(--on-surface);text-align:center;background:#fff;border:1px solid #1b1c1c1a;border-radius:16px;justify-items:center;gap:22px;padding:clamp(24px,5vw,32px);animation:.16s ease-out photo-delete-modal-in;display:grid;box-shadow:0 28px 80px #1b1c1c3d}.photo-delete-modal h3{color:var(--primary);letter-spacing:0;margin:0;font-size:24px;font-weight:800;line-height:32px}.photo-delete-modal p{max-width:328px;color:var(--on-surface-muted);letter-spacing:0;margin:0;font-size:15px;line-height:25px}.photo-delete-modal__actions{gap:8px;width:100%;padding-top:4px;display:grid}.photo-delete-modal__actions button{letter-spacing:0;cursor:pointer;border:0;border-radius:14px;width:100%;min-height:52px;padding:14px 18px;font-size:14px;font-weight:800;line-height:20px;transition:background .16s,border-color .16s,color .16s,transform .15s}.photo-delete-modal__actions button:active:not(:disabled){transform:scale(.98)}.photo-delete-modal__actions button:disabled{cursor:progress;opacity:.62}.photo-delete-modal__secondary{color:var(--on-surface-muted);background:0 0}.photo-delete-modal__secondary:hover:not(:disabled),.photo-delete-modal__secondary:focus-visible{background:#1b1c1c0d}.photo-delete-modal__primary{color:#fff;background:#9f2d20}.photo-delete-modal__primary:hover:not(:disabled),.photo-delete-modal__primary:focus-visible{background:#842117}@keyframes photo-delete-modal-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes photo-delete-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.moment-upload-stack{gap:16px;margin:0 0 32px;display:grid}.moment-upload-panel{background:#ffffffc7;border:1px solid #c4c7c780;border-radius:8px;padding:24px;box-shadow:0 18px 48px #1b1c1c12}.moment-upload-panel__header{justify-content:space-between;align-items:center;gap:24px;display:flex}.moment-upload-panel__header h3{color:var(--primary);letter-spacing:0;margin:0;font-size:24px;font-weight:800;line-height:32px}.moment-upload-panel__header p:not(.guest-upload-kicker){max-width:620px;color:var(--on-surface-muted);letter-spacing:0;margin:8px 0 0;font-size:15px;line-height:24px}.moment-upload-panel__actions{flex:none;align-items:center;gap:12px;display:flex}.gallery-state{min-height:260px;color:var(--on-surface-muted);text-align:center;box-shadow:var(--shadow-soft);background:#ffffffb8;border:1px solid #1d1e2014;border-radius:8px;align-content:center;place-items:center;gap:10px;padding:40px 24px;display:grid}.gallery-state .material-symbols-outlined{width:44px;height:44px;color:var(--secondary);background:#77897824;border-radius:999px;place-items:center;display:grid}.gallery-state h3{color:var(--on-surface);margin:4px 0 0;font-size:22px;line-height:30px}.gallery-state p{max-width:520px;margin:0;font-size:15px;line-height:24px}.gallery-state--error .material-symbols-outlined{color:#ac4436;background:#ac44361f}.gallery-empty-state{min-height:0;color:var(--on-surface-muted);text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:clamp(20px,4svh,32px);padding:clamp(8px,2svh,24px) 16px clamp(24px,5svh,56px);display:flex}.gallery-empty-state__copy{justify-items:center;gap:12px;display:grid}.gallery-empty-state__copy h3{color:var(--primary);letter-spacing:0;margin:0;font-size:clamp(28px,3vw,32px);font-weight:700;line-height:1.2}.gallery-empty-state__copy p{color:#1b1c1c6b;max-width:280px;margin:0;font-size:15px;font-weight:400;line-height:1.8}.gallery-empty-state__actions{justify-items:center;gap:12px;width:min(220px,100%);display:grid}.gallery-empty-state__photo-menu{width:100%}.gallery-empty-state__actions>button,.gallery-empty-state__photo-menu>button{cursor:pointer;border:0;border-radius:12px;width:100%;min-height:44px;padding:11px 24px;font-size:14px;font-weight:600;line-height:20px;transition:background .2s,color .2s,opacity .2s,transform .15s,box-shadow .2s}.gallery-empty-state__photo-menu>button{justify-content:center;align-items:center;gap:8px;display:inline-flex}.gallery-empty-state__actions>button:active,.gallery-empty-state__photo-menu>button:active{transform:scale(.98)}.gallery-empty-state__primary{color:#fff;background:#111;box-shadow:0 4px 12px #0000001a}.gallery-empty-state__primary:hover{background:#000}.gallery-empty-state__secondary{color:#1b1c1c9e;background:0 0}.gallery-empty-state__secondary:hover{color:var(--primary);background:#1b1c1c08}.photo-grid{column-count:3;column-gap:24px;width:100%;min-width:0;overflow-x:clip}.photo-card{break-inside:avoid;background:var(--surface-low);width:100%;min-width:0;max-width:100%;min-height:0;box-shadow:var(--shadow-soft), inset 0 0 0 1px #f1f1f1;border-radius:8px;margin:0 0 24px;display:inline-block;position:relative;overflow:hidden}.photo-card__preview-button{width:100%;height:100%;color:inherit;cursor:zoom-in;background:0 0;border:0;padding:0;display:block;overflow:hidden}.photo-card__preview-button:disabled{cursor:default}.photo-card__preview-button>img,.photo-card>img{object-fit:cover;width:100%;height:100%;transition:transform .7s;display:block}.photo-card:hover .photo-card__preview-button>img,.photo-card:hover>img{transform:scale(1.05)}.photo-delete-button{z-index:2;color:#fff;opacity:0;cursor:pointer;-webkit-backdrop-filter:blur(10px);background:#1d1e207a;border:1px solid #ffffff52;border-radius:14px;place-items:center;width:40px;height:40px;transition:background .16s,border-color .16s,opacity .16s,transform .16s;display:grid;position:absolute;top:12px;right:12px;transform:translateY(-2px);box-shadow:0 8px 18px #0000002e}.photo-card:hover .photo-delete-button,.photo-delete-button:focus-visible{opacity:1;transform:translateY(0)}.photo-delete-button:hover:not(:disabled),.photo-delete-button:focus-visible{background:#9f2d20e0;border-color:#ffffff8f}.photo-delete-button:disabled{cursor:progress;opacity:1}.photo-delete-button .material-symbols-outlined{font-size:20px}@media (hover:none){.photo-delete-button{opacity:.86;transform:none}}.photo-preview-overlay{z-index:40;cursor:zoom-out;background:#0c0c0ce0;place-items:center;width:100dvw;min-width:0;max-width:100dvw;padding:72px clamp(16px,4vw,32px) 32px;display:grid;position:fixed;inset:0;overflow:hidden}.photo-preview-image{object-fit:contain;cursor:default;border-radius:8px;width:auto;max-width:min(100dvw - clamp(32px,8vw,64px),1280px);height:auto;max-height:calc(100dvh - 112px);display:block;box-shadow:0 28px 80px #0000005c}.photo-preview-close{z-index:41;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(12px);background:#ffffff1f;border:1px solid #ffffff3d;border-radius:999px;place-items:center;width:42px;height:42px;transition:background .16s,border-color .16s,transform .16s;display:grid;position:fixed;top:24px;right:24px}.photo-preview-close:hover,.photo-preview-close:focus-visible{background:#fff3;border-color:#ffffff7a;transform:translateY(-1px)}.photo-preview-close .material-symbols-outlined{font-size:22px}.photo-card__error{color:#ac4436;background:#ac443614;place-items:center;width:100%;height:100%;min-height:220px;display:grid}.photo-card__error .material-symbols-outlined{font-size:36px}.photo-contributor{position:absolute;bottom:16px;left:16px}.photo-contributor img{object-fit:cover;border:2px solid #fff;border-radius:999px;width:32px;height:32px;display:block;box-shadow:0 1px 4px #00000029}.floating-create{z-index:15;background:var(--secondary);color:#fff;border-radius:999px;place-items:center;width:56px;height:56px;transition:transform .2s;display:none;position:fixed;bottom:96px;right:24px;box-shadow:0 10px 15px #0000001a,0 4px 6px #00000014}.floating-create:active{transform:scale(.9)}.create-moment-content{outline:none;width:min(100%,1280px);margin:0 auto;padding:64px 32px 128px;position:relative}.create-moment-content:after{content:"";z-index:-1;pointer-events:none;border-bottom:1px solid #c4c7c71f;border-left:1px solid #c4c7c71f;width:50vw;height:50vh;position:fixed;inset:0 0 auto auto}.create-moment-heading{max-width:620px;margin-bottom:80px}.create-moment-heading .breadcrumb-button{margin-bottom:16px}.create-moment-heading h2{color:var(--primary);letter-spacing:0;margin:0;font-size:48px;font-weight:700;line-height:52px}.create-moment-heading p{color:var(--on-surface-muted);letter-spacing:0;margin:24px 0 0;font-size:18px;line-height:32px}.create-moment-layout{grid-template-columns:minmax(0,7fr) minmax(320px,5fr);align-items:start;gap:48px;display:grid}.create-moment-form{gap:80px;display:grid}.moment-name-input{border:0;border-bottom:1px solid var(--outline-variant);width:100%;color:var(--primary);letter-spacing:0;background:0 0;border-radius:0;outline:none;padding:16px 0;font-size:24px;font-weight:600;line-height:32px;transition:border-color .15s}.moment-name-input::placeholder{color:var(--outline-variant)}.moment-name-input:focus{border-color:var(--primary)}.create-fieldset{gap:32px;display:grid}.create-fieldset h3{color:var(--on-surface-muted);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:12px;font-weight:600;line-height:16px}.access-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.access-mode-card{border:1px solid var(--outline-variant);min-height:184px;color:var(--on-surface-muted);text-align:left;cursor:pointer;background:0 0;border-radius:8px;flex-direction:column;align-items:flex-start;gap:8px;padding:32px;transition:border-color .15s,background .15s,color .15s;display:flex}.access-mode-card:hover,.access-mode-card.selected{border-color:var(--primary);background:var(--surface-lowest);color:var(--primary)}.access-mode-card__top{justify-content:space-between;align-items:flex-start;width:100%;margin-bottom:16px;display:flex}.access-mode-card strong{color:var(--primary);letter-spacing:.02em;font-size:14px;font-weight:600;line-height:20px}.access-mode-card small{max-width:260px;color:var(--on-surface-muted);letter-spacing:.02em;font-size:12px;font-weight:500;line-height:18px}.selected-dot{background:var(--primary);border-radius:999px;width:8px;height:8px}.attendee-tier-list{border-top:1px solid var(--outline-variant)}.attendee-tier{border:0;border-bottom:1px solid var(--outline-variant);width:calc(100% + 64px);min-height:58px;color:var(--on-surface-muted);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:24px;margin-inline:-32px;padding:16px 32px;font-size:16px;line-height:28px;transition:background .15s,color .15s;display:flex}.attendee-tier:hover,.attendee-tier.selected{color:var(--primary);background:#f5f3f3b8}.attendee-tier__meta{color:inherit;align-items:center;gap:16px;display:inline-flex}.attendee-tier__meta small{color:inherit;letter-spacing:.05em;font-size:12px;font-weight:600;line-height:16px}.attendee-tier__meta .material-symbols-outlined{color:var(--primary);font-size:18px}.duration-options{flex-wrap:wrap;gap:16px;display:flex}.duration-options button{border:1px solid var(--outline-variant);min-height:40px;color:var(--primary);letter-spacing:.05em;cursor:pointer;background:0 0;border-radius:8px;padding:8px 20px;font-size:12px;font-weight:600;line-height:16px;transition:border-color .15s,background .15s,color .15s}.duration-options button:hover{border-color:var(--outline)}.duration-options button.selected{border-color:var(--primary);background:var(--primary);color:#fff}.create-form-actions{gap:12px;padding-top:16px;display:grid}.form-error{margin:0;font-size:13px;line-height:18px}.create-submit-button{background:var(--primary);color:#fff;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:0;border-radius:8px;min-height:60px;padding:18px 64px;font-size:14px;font-weight:800;line-height:20px;transition:opacity .15s,transform .15s}.create-submit-button:hover{opacity:.88}.create-submit-button:disabled{cursor:wait;opacity:.64}.create-submit-button:active{transform:scale(.98)}.moment-preview-panel{position:sticky;top:96px}.moment-preview-card{border:1px solid var(--outline-variant);background:var(--surface-lowest);border-radius:8px;padding:40px}.moment-preview-image{aspect-ratio:4/5;background:var(--surface-low);filter:grayscale();border-radius:8px;margin-bottom:32px;transition:filter .7s;position:relative;overflow:hidden}.moment-preview-card:hover .moment-preview-image{filter:grayscale(0)}.moment-preview-image img{object-fit:cover;width:100%;height:100%}.moment-preview-image:after{content:"";background:linear-gradient(#0000,#0006);position:absolute;inset:0}.moment-preview-image>div{z-index:1;color:#fff;position:absolute;bottom:32px;left:32px;right:32px}.moment-preview-image p{color:#ffffffb8;letter-spacing:.2em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:700;line-height:16px}.moment-preview-image h3{overflow-wrap:anywhere;letter-spacing:0;margin:0;font-size:32px;font-weight:600;line-height:40px}.moment-preview-details{gap:16px;margin:0;display:grid}.moment-preview-details div{justify-content:space-between;align-items:center;gap:16px;display:flex}.moment-preview-details dt,.moment-preview-details dd{letter-spacing:.05em;margin:0;font-size:12px;font-weight:600;line-height:16px}.moment-preview-details dt{color:var(--on-surface-muted)}.moment-preview-details dd{color:var(--primary)}.bottom-nav{z-index:20;background:var(--surface);justify-content:space-around;align-items:center;height:64px;padding:8px 16px;display:flex;position:fixed;inset:auto 0 0;box-shadow:0 -4px 20px #0000000a}.bottom-nav a{min-width:64px;color:var(--on-surface-muted);flex-direction:column;justify-content:center;align-items:center;text-decoration:none;transition:color .15s,opacity .15s;display:flex}.bottom-nav a:hover{color:var(--primary)}.bottom-nav a.active{color:var(--secondary)}.bottom-nav span:not(.material-symbols-outlined){letter-spacing:.05em;font-size:12px;font-weight:500;line-height:16px}.moment-shell--camera{background:#000;min-height:100svh;overflow:hidden}.moment-shell--camera .moment-top-app-bar,.moment-shell--camera .bottom-nav{display:none}.album-camera-content{background:#000;width:100%;height:100svh;min-height:100svh;margin:0;padding:0;overflow:hidden}.guest-upload-shell{min-height:100svh;color:var(--on-surface);-webkit-font-smoothing:antialiased;background:#f7f7f4;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.guest-upload-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f7f7f4db;border-bottom:1px solid #15181914;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:14px clamp(16px,4vw,40px);display:flex}.guest-upload-brand h1{margin:0}.guest-session-pill{max-width:min(52vw,360px);min-height:36px;color:var(--on-surface-muted);letter-spacing:0;background:#ffffff9e;border:1px solid #1518191a;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:650;line-height:16px;display:inline-flex}.guest-session-pill span:not(.material-symbols-outlined){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.guest-session-pill.ready{color:#1d6c3c;border-color:#3a765247}.guest-session-pill.failed{color:#a12d24;border-color:#be362a42}.guest-upload-main{gap:18px;width:min(100%,860px);margin:0 auto;padding:clamp(24px,5vw,56px) clamp(16px,4vw,36px) 80px;display:grid}.guest-upload-hero{grid-template-columns:minmax(0,1fr) minmax(200px,240px) auto;align-items:center;gap:14px;display:grid}.guest-upload-kicker{color:var(--on-surface-muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:700;line-height:14px}.guest-upload-hero h2{max-width:560px;color:var(--primary);letter-spacing:0;margin:0;font-size:clamp(32px,6vw,52px);font-weight:760;line-height:1.02}.guest-upload-hero p:not(.guest-upload-kicker){max-width:520px;color:var(--on-surface-muted);letter-spacing:0;margin:12px 0 0;font-size:15px;line-height:24px}.guest-contributor-field input{width:100%;min-height:52px;color:var(--on-surface);font:inherit;letter-spacing:0;box-shadow:none;background:#ffffffe0;border:1px solid #15181924;border-radius:8px;outline:none;padding:13px 14px;font-size:15px;line-height:20px;transition:border-color .16s,background .16s}.guest-contributor-field input:focus{border-color:var(--primary);box-shadow:none;background:#fff}.guest-capture-button{background:var(--primary);color:#fff;letter-spacing:0;cursor:pointer;min-height:52px;box-shadow:none;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:13px 20px;font-size:15px;font-weight:720;line-height:20px;transition:opacity .16s,transform .16s;display:inline-flex}.guest-capture-button:hover{opacity:.9}.guest-capture-button:active{transform:scale(.98)}.photo-choice-menu{display:inline-flex;position:relative}.photo-choice-menu .guest-capture-button{border:0}.photo-choice-menu__list{z-index:10;width:max-content;min-width:230px;box-shadow:var(--shadow-modal);background:#fff;border:1px solid #c4c7c78a;border-radius:8px;gap:2px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.photo-choice-menu__list button{width:100%;min-height:44px;color:var(--primary);letter-spacing:0;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:700;line-height:20px;transition:background .16s;display:flex}.photo-choice-menu__list button:hover{background:var(--surface-low)}.photo-choice-menu__list button:disabled{cursor:not-allowed;opacity:.58}.photo-choice-menu__list .material-symbols-outlined{color:var(--on-surface-muted);font-size:22px}.camera-capture-panel{gap:14px;display:grid}.guest-upload-shell.camera-only{background:#fafaf8}.guest-upload-main.camera-only{place-items:stretch stretch;width:100%;min-height:100svh;padding:0;display:grid}.moment-upload-stack.camera-only{height:100svh;min-height:100svh;margin-bottom:0}.pre-camera-panel{width:100%;min-height:100svh;padding:max(18px, env(safe-area-inset-top)) clamp(18px, 5vw, 48px) max(22px, env(safe-area-inset-bottom));color:var(--on-surface);background:#fafaf8;grid-template-rows:auto 1fr auto;display:grid}.pre-camera-panel__top{min-height:44px}.pre-camera-panel__body{text-align:center;place-self:center;gap:12px;width:min(100%,360px);display:grid}.pre-camera-panel__cover{aspect-ratio:1;object-fit:cover;border-radius:34%;width:clamp(168px,58vw,360px);margin:0 auto clamp(14px,3vw,22px);display:block}.pre-camera-panel h2{color:var(--primary);letter-spacing:0;margin:0;font-size:clamp(30px,7vw,44px);font-weight:720;line-height:1.06}.pre-camera-panel p:not(.guest-upload-kicker){max-width:30ch;color:var(--on-surface-muted);letter-spacing:0;margin:0 auto;font-size:15px;line-height:23px}.pre-camera-panel .guest-upload-kicker{color:var(--on-surface-muted);margin-bottom:0}.pre-camera-panel .guest-contributor-field input{text-align:center;border-radius:999px}.pre-camera-panel__primary{background:var(--primary);color:#fff;letter-spacing:0;cursor:pointer;min-height:50px;box-shadow:none;border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:13px 18px;font-size:15px;font-weight:720;line-height:20px;transition:opacity .16s,transform .16s;display:inline-flex}.pre-camera-panel__primary:hover{opacity:.9}.pre-camera-panel__primary:active{transform:scale(.98)}.camera-only .camera-capture-panel{isolation:isolate;background:#000;gap:0;height:100svh;min-height:100svh;position:relative;overflow:hidden}.camera-only .camera-preview{aspect-ratio:auto;height:100%;min-height:100svh;box-shadow:none;border-radius:0}.guest-upload-main.camera-only .camera-capture-panel,.guest-upload-main.camera-only .camera-preview{min-height:100svh}.guest-upload-main.camera-only .camera-preview{border:0}.camera-only .camera-capture-actions{left:50%;bottom:max(34px, calc(env(safe-area-inset-bottom) + 22px));z-index:2;width:auto;position:absolute;transform:translate(-50%)}.camera-only .camera-shutter-button{width:80px;min-width:80px;height:80px;box-shadow:none;background:0 0;border-radius:50%;padding:0}.camera-preview{aspect-ratio:4/3;background:#111;border:1px solid #c4c7c780;border-radius:8px;width:100%;position:relative;overflow:hidden;box-shadow:0 18px 48px #1b1c1c12}.camera-only .camera-preview:after{content:"";z-index:1;pointer-events:none;background:radial-gradient(circle,#0000 54%,#00000057 100%),linear-gradient(#00000057,#0000 22% 72%,#0000008c);position:absolute;inset:0}.camera-preview video{object-fit:cover;width:100%;height:100%;display:block}.camera-overlay-top{z-index:3;min-height:84px;padding:max(18px, env(safe-area-inset-top)) 16px 18px;color:#fff;pointer-events:none;background:linear-gradient(#00000070,#0000);grid-template-columns:minmax(48px,1fr) auto minmax(48px,1fr);align-items:center;gap:16px;display:grid;position:absolute;top:0;left:0;right:0}.camera-overlay-top p{color:#ffffffd6;letter-spacing:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:min(52vw,420px);margin:0;font-size:24px;font-weight:600;line-height:32px;overflow:hidden}.camera-overlay-controls{pointer-events:auto;align-items:center;gap:12px;display:flex}.camera-overlay-controls.right{justify-content:flex-end}.camera-option-controls{align-items:center;gap:clamp(14px,4vw,24px);display:flex}.camera-option-button{color:#fff;opacity:.9;cursor:pointer;background:0 0;border:0;place-items:center;width:32px;height:32px;padding:0;transition:opacity .16s,transform .16s;display:inline-grid}.camera-option-button:disabled{cursor:not-allowed;opacity:.42}.camera-option-button:hover,.camera-option-button:focus-visible,.camera-option-button.active{opacity:1}.camera-option-button.active .material-symbols-outlined{font-variation-settings:"FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24}.camera-option-button:active{transform:scale(.92)}.camera-option-button .material-symbols-outlined{font-size:24px;line-height:1}.camera-icon-button{color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;background:#0003;border:1px solid #ffffff1f;border-radius:50%;place-items:center;width:48px;height:48px;padding:0;transition:background .16s,transform .16s,opacity .16s;display:inline-grid}.camera-icon-button:hover{background:#ffffff24}.camera-icon-button:active{transform:scale(.9)}.camera-live-indicator{color:#ffffffd1;letter-spacing:.16em;text-transform:uppercase;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#00000038;border-radius:999px;align-items:center;min-height:32px;padding:8px 12px;font-size:12px;font-weight:700;line-height:16px;display:inline-flex}.camera-preview__state{z-index:2;color:#fff;text-align:center;background:#111111d1;align-content:center;place-items:center;gap:10px;padding:24px;display:grid;position:absolute;inset:0}.camera-preview__state .material-symbols-outlined{font-size:42px}.camera-preview__state p{letter-spacing:0;max-width:420px;margin:0;font-size:14px;font-weight:700;line-height:22px}.camera-permission-overlay{z-index:4;-webkit-backdrop-filter:blur(20px);background:#0006;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.camera-permission-dialog{text-align:center;background:#fff;border:0;border-radius:24px;flex-direction:column;align-items:center;width:min(100%,340px);padding:24px;display:flex;box-shadow:0 32px 64px -12px #0000004d}.camera-permission-icon{background:var(--surface-low);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:20px;display:flex}.camera-permission-icon .material-symbols-outlined{color:var(--primary);font-size:24px}.camera-permission-dialog h2{color:var(--on-surface);letter-spacing:0;margin:0 0 8px;font-size:22px;font-weight:800;line-height:1.15}.camera-permission-dialog p{color:color-mix(in srgb, var(--on-surface-muted) 80%, transparent);letter-spacing:0;margin:0 8px 32px;font-size:15px;font-weight:500;line-height:1.55}.camera-permission-actions{flex-direction:column;gap:8px;width:100%;display:flex}.camera-permission-primary,.camera-permission-secondary{letter-spacing:0;cursor:pointer;border:0;border-radius:999px;width:100%;transition:color .16s,transform .1s,background .16s}.camera-permission-primary{color:#fff;background:#000;min-height:50px;padding:14px 18px;font-size:15px;font-weight:700;line-height:20px}.camera-permission-secondary{min-height:44px;color:color-mix(in srgb, var(--on-surface-muted) 70%, transparent);background:0 0;padding:12px 18px;font-size:14px;font-weight:600;line-height:20px}.camera-permission-primary:hover{background:#262626}.camera-permission-secondary:hover{color:var(--on-surface)}.camera-permission-primary:active,.camera-permission-secondary:active{transform:scale(.98)}.camera-capture-flash{z-index:5;pointer-events:none;background:#fff;animation:.52s ease-out both camera-capture-flash;position:absolute;inset:0}.camera-software-flash{z-index:7;pointer-events:none;background:#fff;position:absolute;inset:0}.camera-capture-status{left:50%;bottom:max(134px, calc(env(safe-area-inset-bottom) + 122px));z-index:4;pointer-events:none;color:#fff;letter-spacing:0;text-align:center;text-shadow:0 2px 14px #00000070;min-height:36px;font-size:14px;font-weight:800;line-height:20px;position:absolute;transform:translate(-50%)}.camera-countdown{z-index:4;pointer-events:none;color:#fff;letter-spacing:0;text-shadow:0 12px 36px #00000075;place-items:center;font-size:clamp(80px,18vw,172px);font-weight:800;line-height:1;animation:1s ease-in-out infinite camera-countdown-pulse;display:grid;position:absolute;inset:0}.camera-session-gallery-button{left:max(18px, env(safe-area-inset-left));bottom:max(34px, calc(env(safe-area-inset-bottom) + 22px));z-index:3;background:var(--surface-dim);cursor:pointer;border:2px solid #fff3;border-radius:50%;width:48px;height:48px;padding:0;transition:transform .2s,border-color .16s;position:absolute;overflow:visible;box-shadow:0 14px 34px #00000042}.camera-session-gallery-button:hover,.camera-session-gallery-button:focus-visible{border-color:#ffffff6b;transform:scale(1.05)}.camera-session-gallery-button.has-new-photo{animation:.52s ease-out both camera-gallery-pop}.camera-session-gallery-button img,.camera-session-gallery-button .camera-session-gallery__placeholder{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.camera-session-gallery-button span{color:#fff;letter-spacing:0;background:#111;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 7px;font-size:12px;font-weight:800;line-height:16px;display:inline-flex;position:absolute;top:-8px;right:-8px}.camera-session-gallery-overlay{z-index:6;-webkit-backdrop-filter:blur(12px);background:#00000038;justify-content:center;align-items:flex-end;padding:0;display:flex;position:absolute;inset:0}.camera-session-gallery{background:#fff;border-radius:32px 32px 0 0;flex-direction:column;width:100%;height:min(85svh,760px);animation:.36s cubic-bezier(.16,1,.3,1) both camera-session-gallery-slide-up;display:flex;overflow:hidden;box-shadow:0 -18px 60px #0000002e}.camera-session-gallery__handle{background:#c4c7c7;border-radius:999px;flex:none;width:48px;height:6px;margin:12px auto 22px}.camera-session-gallery__header{flex:none;justify-content:space-between;align-items:center;gap:16px;padding:0 clamp(20px,6vw,32px) 22px;display:flex}.camera-session-gallery__header h2{color:#000;letter-spacing:0;margin:0;font-size:24px;font-weight:800;line-height:32px}.camera-session-gallery__header button{color:#444748;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:40px;height:40px;padding:0;transition:background .16s,transform .12s;display:inline-grid}.camera-session-gallery__header button:hover{background:#f5f3f3}.camera-session-gallery__header button:active{transform:scale(.94)}.camera-session-gallery__body{min-height:0;padding:0 clamp(20px, 6vw, 32px) max(48px, env(safe-area-inset-bottom));flex:auto;overflow:auto}.camera-session-gallery__body::-webkit-scrollbar{width:4px}.camera-session-gallery__body::-webkit-scrollbar-track{background:0 0}.camera-session-gallery__body::-webkit-scrollbar-thumb{background:#e4e2e2;border-radius:999px}.camera-session-gallery__meta{align-items:center;margin:0 0 24px;display:flex}.camera-session-gallery__meta p{color:#444748;letter-spacing:.02em;margin:0;font-size:14px;font-weight:700;line-height:20px}.camera-session-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:156px;gap:16px;display:grid}.camera-session-gallery__grid figure{background:#f5f3f3;border:1px solid #f1f1f1;border-radius:12px;margin:0;position:relative;overflow:hidden}.camera-session-gallery__grid img,.camera-session-gallery__placeholder{object-fit:cover;width:100%;height:100%;transition:transform .7s;display:block}.camera-session-gallery__grid figure:hover img{transform:scale(1.08)}.camera-session-gallery__placeholder{color:#777b7c;background:#eceeee;place-items:center;display:grid}.camera-session-gallery__placeholder .material-symbols-outlined{font-size:28px}.camera-session-gallery__grid figcaption{-webkit-backdrop-filter:blur(8px);color:#fff;letter-spacing:0;background:#0000008a;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:700;line-height:16px;position:absolute;bottom:10px;right:10px}.camera-session-gallery__item--0{grid-area:span 2/span 2}.camera-session-gallery__item--3{grid-row:span 2}.camera-session-gallery__item--8{grid-column:span 2}@media (width>=720px){.camera-session-gallery__grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:188px}}@media (width<=460px){.camera-session-gallery{border-radius:28px 28px 0 0;height:min(85svh,751px)}.camera-session-gallery__grid{grid-auto-rows:128px;gap:12px}.camera-session-gallery__meta{align-items:flex-start}}@keyframes camera-capture-flash{0%{opacity:0}18%{opacity:.92}to{opacity:0}}@keyframes camera-gallery-pop{0%{transform:scale(.86)}64%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes camera-countdown-pulse{0%,to{opacity:.96;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes camera-session-gallery-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.camera-capture-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.camera-shutter-button,.camera-secondary-button{letter-spacing:0;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:12px 20px;font-size:14px;font-weight:800;line-height:20px;transition:opacity .16s,transform .16s,background .16s;display:inline-flex}.camera-shutter-button{background:var(--primary);color:#fff;border:0}.camera-shutter-button:disabled{cursor:not-allowed;opacity:.48}.camera-shutter-button__ring{background:0 0;border:3px solid #fff;border-radius:50%;place-items:center;width:80px;height:80px;padding:5px;display:grid;box-shadow:0 0 0 4px #ffffff2e,0 18px 42px #0000003d}.camera-shutter-button__core{background:#fff;border-radius:50%;width:100%;height:100%;display:block}.camera-secondary-button{border:1px solid var(--primary);color:var(--primary);background:0 0}.camera-secondary-button:hover{background:var(--surface-low)}.camera-shutter-button:not(:disabled):active,.camera-secondary-button:active{transform:scale(.98)}.guest-upload-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.guest-upload-summary div,.guest-upload-queue{background:#ffffffc7;border:1px solid #c4c7c780;border-radius:8px;box-shadow:0 18px 48px #1b1c1c12}.guest-upload-summary div{align-content:center;gap:4px;min-height:88px;padding:18px;display:grid}.guest-upload-summary strong{color:var(--primary);letter-spacing:0;font-size:28px;font-weight:800;line-height:32px}.guest-upload-summary span{color:var(--on-surface-muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800;line-height:16px}.guest-upload-queue{overflow:hidden}.guest-upload-queue__header{border-bottom:1px solid #c4c7c76b;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:18px 20px;display:flex}.guest-upload-queue__header h3{color:var(--primary);letter-spacing:0;margin:0;font-size:18px;font-weight:800;line-height:24px}.guest-upload-queue__header button,.guest-upload-item button{border:1px solid var(--primary);min-height:40px;color:var(--primary);letter-spacing:0;cursor:pointer;background:0 0;border-radius:8px;padding:9px 14px;font-size:13px;font-weight:700;line-height:18px}.guest-empty-queue{min-height:220px;color:var(--on-surface-muted);text-align:center;align-content:center;place-items:center;gap:12px;padding:32px;display:grid}.guest-empty-queue .material-symbols-outlined{color:var(--outline);font-size:44px}.guest-empty-queue p{margin:0;font-size:15px;font-weight:600;line-height:22px}.guest-upload-list{display:grid}.guest-upload-item{border-bottom:1px solid #c4c7c747;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:84px;padding:16px 20px;display:grid}.guest-upload-item:last-child{border-bottom:0}.guest-upload-item__icon{background:var(--surface-low);width:44px;height:44px;color:var(--on-surface-muted);border-radius:8px;place-items:center;display:grid}.guest-upload-item.uploading .guest-upload-item__icon,.guest-upload-item.requesting .guest-upload-item__icon,.guest-upload-item.completing .guest-upload-item__icon{color:#1d5c82;background:#f0f5f9}.guest-upload-item.uploaded .guest-upload-item__icon{color:#1d6c3c;background:#edf7f0}.guest-upload-item.failed .guest-upload-item__icon{color:#a12d24;background:#fff0ee}.guest-upload-item__body{gap:5px;min-width:0;display:grid}.guest-upload-item__body>div{justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.guest-upload-item h4{color:var(--primary);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;font-weight:800;line-height:20px;overflow:hidden}.guest-upload-item__body span{color:var(--on-surface-muted);flex:none;font-size:12px;font-weight:700;line-height:16px}.guest-upload-item p{color:var(--on-surface-muted);margin:0;font-size:13px;font-weight:600;line-height:18px}.download-section{text-align:center;padding:clamp(48px,8svh,88px) 0}.download-inner{max-width:768px}.download-inner p{margin-inline:auto}.store-actions{flex-wrap:wrap;justify-content:center;gap:24px;margin-top:clamp(28px,6svh,48px);display:flex}.store-button{color:#fff;cursor:pointer;background:#000;border:0;border-radius:12px;justify-content:center;align-items:center;gap:12px;min-width:210px;min-height:64px;padding:12px 24px;transition:opacity .18s,transform .18s;display:inline-flex}.store-button .material-symbols-outlined{font-size:28px}.store-button span{text-align:left;gap:2px;display:grid}.store-button small{color:#ffffff9e;letter-spacing:0;text-transform:uppercase;font-size:10px;font-weight:700;line-height:12px}.store-button strong{color:#fff;letter-spacing:0;font-size:18px;font-weight:800;line-height:20px}.site-footer{background:var(--surface);border-top:1px solid #c4c7c74d}.footer-grid{justify-content:space-between;gap:48px;padding-top:48px;padding-bottom:48px;display:flex}.site-footer p{color:var(--on-surface-muted);margin:12px 0 0;font-size:14px;font-weight:600;line-height:20px}.site-footer nav{grid-template-columns:repeat(2,minmax(140px,1fr));gap:16px 48px;display:grid}@keyframes stage-rise{0%{opacity:.35;transform:translateY(72px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes card-pop{0%{opacity:.2;transform:translateY(56px)scale(.94)rotate(0)}to{opacity:1;transform:translateY(0) scale(1) rotate(var(--card-tilt,0deg))}}@keyframes media-drift{0%{transform:translateY(42px)rotateX(1deg)rotateY(-7deg)scale(.96)}to{transform:translateY(0)rotateX(1deg)rotateY(-4deg)scale(1)}}@supports (animation-timeline:view()){.scroll-stage{animation:cubic-bezier(.16,1,.3,1) both stage-rise;animation-timeline:view();animation-range:entry cover 34%}.hero-section{animation-range:entry cover 22%}.hero-media>img{animation:cubic-bezier(.16,1,.3,1) both media-drift;animation-timeline:view();animation-range:entry cover 42%}.feature-item,.highlight-card,.album-preview,.proof-card,.focus-card,.pricing-panel,.access-qr-wrap,.download-inner{animation:cubic-bezier(.16,1,.3,1) both card-pop;animation-timeline:view();animation-range:entry 6% cover 36%}.proof-card,.access-qr-wrap{--card-tilt:1deg}.focus-card{--card-tilt:-1deg}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (width>=768px){.bottom-nav{display:none}}@media (height<=760px) and (width>=921px){.hero-section{padding-top:80px;padding-bottom:24px}.hero-copy h1,.download-inner h2,.access-layout h2{font-size:68px;line-height:70px}.hero-copy p:not(.section-kicker),.download-inner p,.access-layout p,.pricing-heading p{font-size:16px;line-height:26px}.hero-media{height:clamp(340px,52svh,460px)}.feature-section,.interface-section,.pricing-section,.access-section,.download-section{padding-top:30px;padding-bottom:30px}.section-heading,.interface-heading,.pricing-heading{margin-bottom:24px}.feature-column,.highlight-column{gap:16px}.feature-icon{width:40px;height:40px;margin-bottom:10px}.feature-item h3,.highlight-card h3,.proof-card h3,.focus-card h3,.album-preview__header h3{margin-bottom:8px;font-size:20px;line-height:26px}.feature-item p,.highlight-card p,.proof-card p,.focus-card p{font-size:14px;line-height:21px}.highlight-card,.proof-card,.focus-card{padding:22px}.highlight-icon{width:44px;height:44px;margin-bottom:12px}.bento-grid{height:clamp(390px,56svh,480px)}.pricing-panel{padding-top:22px;padding-bottom:22px}.pricing-included{margin-top:20px;padding-top:20px}.pricing-included li{font-size:14px;line-height:20px}.qr-card{width:240px;height:240px}}@media (width<=1080px){.hero-grid{grid-template-columns:1fr}.hero-copy{max-width:680px}.hero-media{height:clamp(300px,44svh,400px);min-height:0}.hero-media>img{min-height:0}}@media (width<=920px){.scroll-stage{min-height:auto;scroll-margin-top:72px}.feature-layout,.access-layout{grid-template-columns:1fr}.hero-grid{min-height:auto}.proof-band__inner,.footer-grid{flex-direction:column;align-items:flex-start}.bento-grid{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);height:clamp(480px,66svh,580px)}.album-preview{grid-area:1/1/3;min-height:0}.albums-hero__inner{flex-direction:column;align-items:flex-start}.albums-grid{grid-template-columns:1fr}.photo-grid{column-count:2}.members-layout{grid-template-columns:1fr;gap:24px}.create-moment-layout{grid-template-columns:1fr}.moment-preview-panel{position:static}.album-card,.album-card.featured{grid-column:auto}}@media (width<=720px){.page-container,.top-app-bar__inner{padding-left:16px;padding-right:16px}.app-bar-inner{grid-template-columns:1fr auto;padding:0 16px}.top-app-bar__inner{height:72px}.desktop-nav,.app-desktop-nav{display:none}.pill-button{padding:10px 18px}.login-button{padding:10px 14px}.hero-section{padding-top:88px;padding-bottom:32px}.hero-copy h1,.download-inner h2,.access-layout h2,.albums-hero h1{font-size:52px;line-height:54px}.hero-actions{flex-direction:column;margin-top:24px}.primary-button,.secondary-button{width:100%}.hero-media,.hero-media>img{height:clamp(200px,30svh,280px);min-height:0}.collaborator-card{justify-content:space-between;bottom:16px;left:16px;right:16px}.proof-band__inner div{justify-content:flex-start;gap:24px}.occasion-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.occasion-heading{margin-bottom:32px}.feature-section,.pricing-section,.download-section{padding:48px 0}.pricing-heading{margin-bottom:32px}.pricing-panel{padding:32px 0}.guest-selector button{padding:8px 4px;font-size:13px}.section-heading{margin-bottom:32px}.feature-column,.highlight-column{gap:20px}.feature-item{padding-bottom:20px}.feature-item:last-child{padding-bottom:0}.highlight-card,.proof-card,.focus-card{border-radius:20px;padding:24px}.highlight-card h3{font-size:24px;line-height:30px}.interface-section,.access-section{padding:48px 0}.albums-page{padding-top:72px}.albums-hero{padding:64px 0 40px}.albums-list-section{padding:32px 0 72px}.album-preview{height:clamp(300px,48svh,380px);min-height:0}.bento-grid{grid-template-rows:none;grid-template-columns:1fr;height:auto}.proof-card,.focus-card{min-height:220px}.album-preview__header{padding:24px}.photo-mosaic{grid-template-columns:1fr}.photo-mosaic .mosaic-large{grid-row:auto}.qr-card{aspect-ratio:1;width:min(100%,300px);height:auto}.store-actions{flex-direction:column}.store-button{width:100%}.site-footer nav{grid-template-columns:1fr;width:100%}.home-content,.album-detail-content{padding:24px 16px 128px}.album-detail-content--empty-gallery{min-height:calc(100svh - 72px);padding-bottom:calc(76px + env(safe-area-inset-bottom))}.share-content{height:calc(100svh - 64px);padding:16px 16px calc(76px + env(safe-area-inset-bottom))}.members-content,.create-moment-content{padding:48px 16px 128px}.create-moment-heading{margin-bottom:56px}.create-moment-heading h2{font-size:36px;line-height:42px}.create-moment-heading p{font-size:16px;line-height:28px}.create-moment-form{gap:56px}.access-mode-grid{grid-template-columns:1fr;gap:16px}.access-mode-card{min-height:auto;padding:24px}.attendee-tier{width:calc(100% + 32px);margin-inline:-16px;padding-inline:16px}.create-submit-button{width:100%;padding-inline:24px}.moment-preview-card{padding:24px}.moment-preview-image>div{bottom:24px;left:24px;right:24px}.moment-preview-image h3{font-size:28px;line-height:36px}.page-heading{flex-direction:column;align-items:stretch;gap:16px;margin-bottom:48px}.page-heading h2{font-size:28px;line-height:36px}.create-button{display:none}.album-meta{align-items:flex-start}.album-meta h3{font-size:24px;line-height:32px}.floating-create{display:grid}.album-detail-heading{margin-bottom:32px}.album-detail-content--empty-gallery .album-detail-heading{margin-bottom:16px}.album-heading-row{flex-direction:column;align-items:flex-start;gap:20px}.album-heading-row h2{font-size:36px;line-height:42px}.album-detail-content--empty-gallery .album-heading-row{gap:14px}.album-detail-content--empty-gallery .album-heading-topline h2{font-size:20px;line-height:26px}.album-heading-actions{flex-direction:column;width:100%}.manage-members-button{width:100%}.album-member-row{flex-direction:column;align-items:flex-start;gap:12px}.album-detail-content--empty-gallery .album-member-row{gap:8px;margin-top:14px}.album-detail-content--empty-gallery .album-member-row p{font-size:14px;line-height:22px}.gallery-empty-state{gap:clamp(14px,3svh,24px);padding:0 0 16px}.gallery-empty-state__copy{gap:8px}.gallery-empty-state__copy h3{font-size:26px;line-height:32px}.gallery-empty-state__copy p{max-width:260px;font-size:14px;line-height:22px}.gallery-empty-state__actions{gap:8px}.gallery-empty-state__actions button{min-height:40px;padding-block:9px}.moment-upload-panel{padding:20px 16px}.moment-upload-panel__header,.moment-upload-panel__actions{flex-direction:column;align-items:stretch}.moment-upload-panel__actions{width:100%}.photo-grid{column-count:1}.photo-card{min-height:0}.members-heading{flex-direction:column;align-items:stretch;gap:24px;margin-bottom:48px}.members-heading h2{font-size:28px;line-height:36px}.invite-button{width:100%}.members-heading-actions{flex-direction:column;width:100%}.share-moment-button{width:100%}.members-card-header{flex-direction:column;align-items:stretch}.table-invite-button{width:100%}.member-row{flex-direction:column;align-items:flex-start;gap:16px;padding:20px 16px}.member-actions{justify-content:space-between;width:100%}.member-identity{width:100%}.member-identity>div:last-child{min-width:0}.member-identity p{overflow-wrap:anywhere}.permissions-card,.album-summary-card{border-radius:8px}.share-heading{margin-bottom:12px}.share-heading h2{font-size:26px;line-height:32px}.share-heading p{font-size:13px;line-height:20px}.share-panel{grid-template-columns:1fr;grid-template-areas:"qr""actions""collaborators";align-content:start;gap:12px;width:min(100%,360px)}.share-qr-card{border-radius:8px;gap:10px;padding:16px}.share-qr-frame{width:min(100%,clamp(144px,25svh,208px))}.share-actions{gap:10px}.share-primary-button,.share-secondary-actions button{min-height:44px;padding:10px 14px}.share-secondary-actions{gap:10px}.share-collaborators .contributors img,.share-collaborators .contributors span{width:32px;height:32px}.guest-upload-header{flex-direction:column;align-items:flex-start}.guest-session-pill{max-width:100%}.guest-upload-hero{grid-template-columns:1fr;align-items:stretch}.guest-upload-hero h2{font-size:42px;line-height:44px}.guest-capture-button,.photo-choice-menu{width:100%}.photo-choice-menu__list{width:100%;min-width:0;left:0;right:0}.camera-capture-actions{flex-direction:column}.camera-shutter-button,.camera-secondary-button{width:100%}.camera-only .camera-shutter-button{width:80px}.guest-upload-summary{grid-template-columns:1fr}.guest-upload-item{grid-template-columns:40px minmax(0,1fr)}.guest-upload-item button{grid-column:2;justify-self:start}.guest-upload-item__body>div{flex-direction:column;align-items:flex-start;gap:2px}.guest-upload-item h4{max-width:100%}}@media (height<=740px){.share-content{padding-top:10px;padding-bottom:12px}.share-heading{margin-bottom:8px}.share-heading p,.share-collaborators{display:none}.share-panel{gap:8px}.share-qr-card{gap:8px;padding:12px}.share-qr-frame{width:min(100%,clamp(136px,22svh,200px))}.share-actions,.share-secondary-actions{gap:8px}.share-primary-button,.share-secondary-actions button{min-height:40px;padding:8px 12px}}@media (height<=740px) and (width<=767px){.share-content{padding-bottom:calc(72px + env(safe-area-inset-bottom))}}
