@font-face{font-family:Inter;src:url('/assets/fonts/InterVariable.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:#242924;background:#f5f5f3;font-synthesis:none;--muted:#82867f;--line:#e4e5df;--green:#66775d;--glass:rgba(255,255,255,.62)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #8b9d7a;outline-offset:4px}button{border:0;background:none}a{color:inherit;text-decoration:none}svg{width:20px;height:20px;flex-shrink:0}button svg{pointer-events:none}img{display:block;max-width:100%}[hidden]{display:none!important}h1,h2,h3,p{margin:0}button,select{touch-action:manipulation}
.initial-loading,.center-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:40px;text-align:center}.initial-loading{color:var(--muted);font-size:14px}.center-page p{color:var(--muted);max-width:520px;line-height:1.6}
.brand-mark{width:43px;height:43px;border-radius:14px;background:#283029;color:#f5f5ef;display:inline-flex;align-items:center;justify-content:center;font-size:30px;font-weight:450;position:relative;letter-spacing:-4px;padding-right:5px;box-shadow:0 4px 8px #20282012;flex-shrink:0}.brand-mark>span{position:absolute;right:10px;top:9px;width:6px;height:6px;border-radius:50%;background:#c2cdb9}
.sidebar{width:232px;position:fixed;inset:0 auto 0 0;background:#eeefebd9;border-right:1px solid #e0e2da;display:flex;flex-direction:column;padding:37px 20px 20px;z-index:10;backdrop-filter:blur(30px)}.brand{display:flex;align-items:center;gap:13px;padding-left:13px}.brand>span:last-child{font-size:30px;font-weight:500;letter-spacing:-1.5px}.brand-sub{display:block;font-size:8px;letter-spacing:2px;margin-top:3px;color:#858c80;font-weight:550}.sidebar-body{margin-top:63px;flex:1;display:flex;flex-direction:column}.nav-label{color:#93988d;font-size:9px;letter-spacing:1.7px;padding-left:17px;margin-bottom:15px;font-weight:600}.nav-item{display:flex;width:100%;align-items:center;gap:12px;padding:13px 15px;font-size:12px;color:#7c8376;border-radius:12px;margin-bottom:5px;text-align:left;font-weight:500}.nav-item svg{width:17px;height:17px}.nav-item.active{background:#ffffffe8;color:#303b2c;box-shadow:0 3px 10px #26352205,inset 0 1px 1px #fff}.nav-number{margin-left:auto;font-size:10px;opacity:.65}.sidebar-note{margin-top:auto;padding:35px 16px 37px}.sidebar-note p{font-size:11px;line-height:1.9;color:#9a9e94}.small-orbit{width:30px;height:30px;border:1px solid #cbd1c2;border-radius:50%;margin-bottom:17px;position:relative}.small-orbit:after{content:'';position:absolute;width:22px;height:22px;border:1px solid #d9ddcf;border-radius:50%;left:12px;top:8px}.sidebar-footer{border-top:1px solid #dde0d6;padding:20px 2px 0;display:flex;align-items:center;gap:10px;font-size:10px}.sidebar-footer small{display:block;margin-top:4px;font-size:9px;color:var(--muted)}.avatar{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#dce1d3;color:#65715b;font-size:11px}.sidebar-footer .icon-button{margin-left:auto;width:28px;height:28px;color:#93998c}.sidebar-footer svg{width:15px;height:15px}
.workspace{margin-left:232px}.topbar{height:86px;margin:0 49px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.breadcrumb{display:flex;align-items:center;gap:10px;color:#8b9086;font-size:11px}.breadcrumb svg{width:12px;height:12px}.breadcrumb span:last-child:not(:first-child){color:#454c40}.topbar-right{display:flex;align-items:center;gap:20px}.beta-badge{font-size:8px;letter-spacing:1.7px;font-weight:550;border:1px solid #d9ddd2;padding:5px 8px;border-radius:5px;color:#8a9380}.icon-button{width:37px;height:37px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:background .18s}.icon-button:hover{background:#72836512}.topbar .icon-button{color:#8d9585}.topbar .icon-button svg{width:17px;height:17px}main{max-width:1510px;margin:0 auto;padding:44px 49px 28px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:31px}.eyebrow{font-size:9px;letter-spacing:2px;color:#929a88;font-weight:550;margin-bottom:13px}.page-heading h1{font-size:32px;letter-spacing:-1.5px;font-weight:450;line-height:1.2}.page-heading p{color:#91958b;font-size:11px;margin-top:12px;line-height:1.7}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:11px;padding:12px 17px;font-size:10px;font-weight:500;border:1px solid #d9ded2;background:#fff5;white-space:nowrap;transition:background .2s,transform .2s}.button:hover{background:#fff;transform:translateY(-1px)}.button svg{width:15px;height:15px}.glass{background:linear-gradient(135deg,#ffffffb3,#ffffff70);border:1px solid #ffffffd9;box-shadow:inset 0 1px 1px #fff9,0 4px 16px #24301807;backdrop-filter:blur(24px) saturate(1.25);-webkit-backdrop-filter:blur(24px) saturate(1.25)}.dark{background:#2c352b;color:#fff;border-color:#2c352b;box-shadow:0 4px 10px #2938230a}.dark:hover{background:#414f3c}.glass-dark{color:#fff;background:linear-gradient(130deg,#363b3d80,#191c1f70);border:1px solid #ffffff2b;box-shadow:inset 0 1px .5px #ffffff2a,0 8px 30px #0002;backdrop-filter:blur(28px) saturate(1.2);-webkit-backdrop-filter:blur(28px) saturate(1.2)}
.featured{height:344px;border-radius:18px;overflow:hidden;position:relative;background:#d9d7cf}.featured>img{width:100%;height:100%;object-fit:cover;object-position:center 45%;transition:transform 1.2s}.featured:hover>img{transform:scale(1.025)}.featured-shade{position:absolute;inset:0;background:linear-gradient(90deg,#111c16b3 0%,#18251c50 45%,#0000 80%),linear-gradient(0deg,#0003,transparent 65%)}.featured-content{position:absolute;left:36px;bottom:33px;color:#fff}.feature-label{font-size:8px;letter-spacing:2.2px;color:#ffffffe0}.featured h2{font-size:32px;letter-spacing:-1.2px;font-weight:400;margin:13px 0 9px}.featured p{font-size:10px;color:#fffc}.feature-button{margin-top:24px;border-radius:10px;padding:11px 14px;font-size:9px}.feature-button:hover{background:#ffffff36}.featured-corner{position:absolute;right:25px;bottom:27px;color:#fffd;font-size:9px;letter-spacing:2px}
.collection{margin-top:34px}.collection-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:15px}.segmented{background:#e9ece4;border-radius:10px;padding:4px;display:flex}.segmented button{font-size:10px;padding:8px 16px;border-radius:7px;color:#8a9281}.segmented .selected{background:#fff;color:#3f4938;box-shadow:0 1px 4px #26301e0a}.search{display:flex;align-items:center;gap:10px;color:#91998a;border:1px solid #e2e5dc;border-radius:10px;padding:10px 13px;background:#fff7}.search svg{width:14px;height:14px}.search input{border:0;outline:0;background:none;width:145px;font-size:10px;color:#3e4937}.search input::placeholder{color:#9ca394}.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.album-cover{width:100%;aspect-ratio:1.3;border-radius:13px;overflow:hidden;position:relative;padding:0;background:#e5e7df;display:block}.album-cover img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.album-cover:hover img{transform:scale(1.045)}.album-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0003,transparent 45%);pointer-events:none}.cover-count{position:absolute;left:13px;bottom:12px;color:white;font-size:9px;z-index:1;letter-spacing:.2px}.cover-open{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#ffffff36;backdrop-filter:blur(12px);color:white;opacity:0;transition:opacity .2s;z-index:1}.album-cover:hover .cover-open{opacity:1}.cover-open svg{width:13px;height:13px}.album-caption{display:flex;align-items:center;justify-content:space-between;padding:16px 0}.title-button{font-size:12px;font-weight:500;letter-spacing:-.2px;text-align:left;padding:0}.album-caption p{font-size:9px;color:#969d8d;margin-top:7px;display:flex;gap:5px;align-items:center}.album-menu{color:#8f9786;width:28px;height:28px}.album-menu svg{width:17px;height:17px}.status-dot{width:5px;height:5px;display:inline-block;border-radius:50%;background:#95a883;flex-shrink:0}.empty-cover{height:100%;display:grid;place-items:center;color:#a0ab95}.empty-cover svg{width:40px;height:40px}.empty-state{padding:80px 20px;text-align:center;color:#9aa28f}.empty-state>svg{width:28px;height:28px;margin:0 auto 15px}.empty-state h2{font-weight:450;color:#69735f;font-size:19px;letter-spacing:-.5px}.empty-state p{font-size:12px;line-height:1.8;margin-top:10px}.library-footer{border-top:1px solid var(--line);display:flex;align-items:center;gap:8px;margin-top:21px;padding-top:23px;font-size:8px;color:#a0a795}.footer-wordmark{margin-left:auto;font-family:Georgia,serif;font-style:italic;font-size:14px;color:#929d86}
.album-back{margin-bottom:27px}.text-button{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#808b73;padding:0}.text-button svg{width:15px;height:15px}.album-heading{margin-bottom:32px}.heading-actions{display:flex;gap:9px;align-items:center}.heading-actions .icon-button{color:#89947c}.album-tools{display:flex;align-items:center;justify-content:space-between;padding-bottom:21px;margin-bottom:22px;border-bottom:1px solid var(--line);gap:12px}.mode-pills{display:flex;gap:6px}.mode-pills button{display:flex;align-items:center;gap:7px;font-size:10px;color:#929b87;border-radius:8px;padding:8px 11px}.mode-pills button svg{width:15px;height:15px}.mode-pills button.selected{background:#e8ecdf;color:#526045}.small-muted{font-size:10px;color:#a1a797}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.photo-tile{aspect-ratio:1.2;padding:0;overflow:hidden;background:#e6e8e0;border-radius:9px;position:relative}.photo-tile img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.photo-tile:hover img{transform:scale(1.04)}.photo-tile span{position:absolute;bottom:9px;right:11px;color:#fff;font-size:9px;text-shadow:0 1px 4px #0009;opacity:0}.photo-tile:hover span{opacity:1}.chapter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:28px}.chapter{display:flex;align-items:center;gap:12px;text-align:left;padding:9px;border-radius:12px;min-width:0}.chapter>img{width:50px;height:50px;object-fit:cover;border-radius:7px}.chapter>span{font-size:11px;flex:1}.chapter small{display:block;font-size:9px;color:#9ba48f;margin-top:5px}.chapter>svg{width:14px;color:#8d9980}.guest-workspace{max-width:1370px;margin:auto}.guest-header{height:90px;margin:0 49px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.guest-brand{font-size:28px;letter-spacing:-1.5px;font-weight:500;display:flex;gap:16px;align-items:center}.guest-brand span{font-size:10px;color:#9ba58f;letter-spacing:0;font-weight:400}.shared-label{display:flex;gap:8px;align-items:center;font-size:10px;color:#9aa48e}.shared-label svg{width:13px;height:13px}.guest-workspace .album-back{display:none}
.login-page{min-height:100dvh;display:grid;place-items:center;padding:30px;position:relative;overflow:hidden;background:#eef0e9}.login-decoration{position:absolute;inset:-20%;background:radial-gradient(ellipse at 20% 25%,#dbe1cfaa,transparent 40%),radial-gradient(ellipse at 80% 70%,#c9d4bd80,transparent 40%),linear-gradient(135deg,#f6f5f1,#e5e9df);filter:blur(40px)}.login-card{position:relative;width:440px;max-width:100%;padding:45px;border-radius:28px}.login-card>.brand-mark{margin-bottom:36px}.login-card h1{font-weight:450;font-size:28px;letter-spacing:-1.3px;margin-bottom:14px}.login-card>p{font-size:11px;line-height:1.8;color:#8d9684;margin-bottom:28px}.login-card .form-error{margin:10px 0}.demo-button{margin-top:23px;display:block;width:100%;text-align:center}.wide{width:100%}.field{display:block;font-size:11px;color:#737e67;margin-bottom:20px;line-height:1.6}.field input,.field select,.field textarea{display:block;width:100%;border:1px solid #d7ddce;background:#ffffff7a;border-radius:10px;padding:12px;margin-top:7px;color:#35432c;font-size:12px;min-height:42px}.field textarea{resize:vertical}.field .optional{color:#a2aa98;font-size:9px}.form-error{font-size:11px;color:#b04e43;line-height:1.6;min-height:1em}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.glass-modal{padding:30px;border:1px solid #ffffffec;border-radius:25px;background:linear-gradient(125deg,#fafbf7f5,#f1f3eae8);backdrop-filter:blur(40px) saturate(1.2);-webkit-backdrop-filter:blur(40px) saturate(1.2);box-shadow:0 25px 100px #16201035,inset 0 1px 1px #fff;width:570px;max-width:calc(100vw - 32px);max-height:90dvh;overflow:auto;color:#34402c}.glass-modal::backdrop{background:#15200e48;backdrop-filter:blur(7px)}.modal-heading{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:25px}.modal-heading h2{font-size:24px;font-weight:450;letter-spacing:-1px}.modal-heading p{font-size:11px;color:#8b977d;margin-top:9px}.modal-heading .eyebrow{font-size:8px;margin-bottom:10px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px;flex-wrap:wrap}.modal-actions .button{font-size:10px;padding:11px 13px}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:21px 0;cursor:pointer;position:relative}.toggle-row>span:first-child{font-size:12px}.toggle-row small{display:block;font-size:10px;line-height:1.6;color:#929e83;margin-top:5px}.toggle-row input{opacity:0;position:absolute;right:0;width:42px;height:26px;cursor:pointer}.switch{width:36px;height:21px;border-radius:14px;background:#d4dacb;position:relative;flex-shrink:0;pointer-events:none;transition:background .2s;box-shadow:inset 0 1px 3px #0001}.switch:after{content:'';position:absolute;left:3px;top:3px;width:15px;height:15px;background:white;border-radius:50%;box-shadow:0 1px 3px #0002;transition:transform .2s}.toggle-row input:checked+.switch{background:#738e5f}.toggle-row input:checked+.switch:after{transform:translateX(15px)}.toggle-row input:focus-visible+.switch{outline:2px solid #879e75;outline-offset:4px}.share-url{display:flex;align-items:center;gap:10px;border-radius:9px;background:#e5eadf;padding:12px;color:#89977c}.share-url svg{width:15px;height:15px}.share-url input{font-size:10px;background:none;border:0;width:100%;color:#6b7a5b}.local-notice{font-size:10px;color:#8c967e;line-height:1.7;margin:12px 0 25px}.mode-explainer>div{display:flex;gap:20px;padding:20px 0;border-bottom:1px solid #dfe5d5}.mode-explainer>div>svg{width:27px;height:27px;color:#7d8e6c;margin-top:2px}.mode-explainer h3{font-size:14px;font-weight:500;margin-bottom:6px}.mode-explainer p{font-size:11px;color:#7b8a6d;line-height:1.7}.mode-explainer small{display:block;font-size:10px;color:#a0a990;line-height:1.6;margin-top:5px}.modal-footnote{font-size:10px;line-height:1.8;color:#939f84;margin-top:22px}
.viewing{overflow:hidden;overscroll-behavior:none}.viewer{position:fixed;inset:0;z-index:50;background:#08090a;overflow:hidden;color:white;outline:0;isolation:isolate;overscroll-behavior:none}.viewer:fullscreen{width:100%;height:100%}.view-canvas{position:absolute;inset:0;display:flex}.photo-cell{position:relative;flex:1;overflow:hidden;min-width:0;min-height:0;touch-action:none;user-select:none;-webkit-user-select:none;cursor:default}.photo-cell img{position:absolute;top:50%;left:50%;max-width:none;object-fit:contain;will-change:transform;pointer-events:none;user-select:none;-webkit-user-select:none}.photo-cell.zoomed{cursor:grab}.photo-cell.zoomed:active{cursor:grabbing}.book-spread{padding:25px;gap:14px}.book-spread.landscape{flex-direction:row}.book-spread.portrait{flex-direction:column}.blank-page{flex:1;min-height:0;min-width:0}.mode-book .view-canvas:not(.film-track){animation:none}.film-track{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;gap:28px;padding:0 12%;align-items:center;scrollbar-width:none}.film-track::-webkit-scrollbar{display:none}.film-track .film-cell{flex:0 0 100%;height:84%;scroll-snap-align:center;overflow:hidden}.film-track.portrait{flex-direction:column;overflow-x:hidden;overflow-y:auto;scroll-snap-type:y mandatory;padding:12vh 0}.film-track.portrait .film-cell{width:89%;height:auto;flex:0 0 76vh;min-height:76vh}.film-track.dragging{scroll-snap-type:none}.viewer-chrome{position:absolute;z-index:3;opacity:0;pointer-events:none;transition:opacity .28s ease,transform .28s ease}.chrome-visible .viewer-chrome{opacity:1;pointer-events:auto}.viewer-top{left:max(25px,env(safe-area-inset-left));right:max(25px,env(safe-area-inset-right));top:max(22px,env(safe-area-inset-top));display:flex;align-items:flex-start;justify-content:space-between;gap:15px;transform:translateY(-8px)}.chrome-visible .viewer-top{transform:none}.viewer-title{display:flex;align-items:center;gap:9px;padding:7px 17px 7px 7px;border-radius:19px;min-width:0}.viewer-title .icon-button{width:33px;height:33px}.viewer-title strong{display:block;font-size:10px;font-weight:500;line-height:1.7;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-count{display:block;font-size:8px;letter-spacing:1.3px;color:#ffffff85;margin-top:2px}.viewer-actions{display:flex;border-radius:18px;padding:7px;gap:2px}.viewer-actions .icon-button{width:33px;height:33px}.viewer-actions svg{width:17px;height:17px}.glass-dark .icon-button:hover{background:#fff2}.viewer-bottom{bottom:max(27px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%,8px);display:flex;flex-direction:column;align-items:center;gap:15px}.chrome-visible .viewer-bottom{transform:translate(-50%,0)}.viewer-mode-bar{display:flex;padding:5px;border-radius:17px;gap:3px}.viewer-mode-bar button{display:flex;align-items:center;gap:7px;border-radius:12px;padding:10px 12px;font-size:10px;color:#ffffff96;white-space:nowrap}.viewer-mode-bar button svg{width:16px;height:16px}.viewer-mode-bar button.selected{background:#ffffff21;box-shadow:inset 0 1px .5px #ffffff25;color:#fff}.gesture-note{font-size:8px;letter-spacing:.4px;color:#ffffff63;text-shadow:0 1px 5px #000}.viewer-nav{top:50%;transform:translateY(-50%);display:grid;place-items:center;width:38px;height:55px;border-radius:20px;background:#25292a55;border:1px solid #ffffff1a;backdrop-filter:blur(20px);color:#fffa}.viewer-nav svg{width:17px;height:17px}.previous{left:22px}.next{right:22px}.viewer-nav:disabled{opacity:0!important;pointer-events:none!important}.exif-panel{position:absolute;z-index:5;right:max(25px,env(safe-area-inset-right));top:90px;width:310px;max-height:calc(100dvh - 185px);overflow:auto;border-radius:20px;padding:20px;color:#fff;animation:info-enter .22s ease}.exif-panel header{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.3px;color:#fffb;margin-bottom:20px}.exif-panel header .icon-button{width:25px;height:25px}.exif-panel header svg{width:15px;height:15px}.exif-panel h2{font-size:14px;font-weight:450;overflow-wrap:anywhere;line-height:1.6}.exif-dimensions{font-size:9px;color:#fff7;margin-top:5px}.exif-panel dl{margin:23px 0 0}.exif-panel dl>div{padding:12px 0;border-top:1px solid #ffffff17;display:flex;justify-content:space-between;gap:20px;font-size:10px;line-height:1.6}.exif-panel dt{color:#ffffff70;flex-shrink:0}.exif-panel dd{margin:0;text-align:right;overflow-wrap:anywhere}.no-exif{font-size:11px;color:#fff9;line-height:1.8;margin:25px 0 6px}.exif-panel .button{margin-top:18px}.toast{position:fixed;left:50%;bottom:max(28px,env(safe-area-inset-bottom));transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:100;padding:14px 21px;border-radius:14px;background:#293126e8;color:#f5f7f1;backdrop-filter:blur(22px);font-size:11px;line-height:1.6;max-width:calc(100vw - 40px);box-shadow:0 10px 35px #0002;transition:opacity .2s,transform .2s;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes page-enter{from{opacity:.4;transform:translateX(14px)}to{opacity:1;transform:none}}@keyframes info-enter{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(min-width:1550px){main{padding-top:56px}.featured{height:420px}.page-heading h1{font-size:38px}.album-grid{gap:32px}}
@media(max-width:1100px){.sidebar{width:195px;padding-left:13px;padding-right:13px}.workspace{margin-left:195px}.topbar{margin:0 32px}main{padding:34px 32px 25px}.page-heading h1{font-size:29px}.featured{height:310px}.album-grid{gap:18px}.sidebar-note{padding-left:14px}.brand{padding-left:10px}.brand>span:last-child{font-size:27px}.brand-sub{font-size:7px}.heading-actions .button{padding:10px}.small-muted{display:none}}
@media(max-width:800px){.sidebar{width:78px;padding:25px 12px 18px}.brand{padding-left:5px}.brand>span:last-child,.nav-label,.nav-item>span,.sidebar-note,.sidebar-footer>div,.sidebar-footer>.icon-button{display:none}.sidebar-body{margin-top:43px}.nav-item{justify-content:center;padding:15px 10px;margin-bottom:10px}.nav-item svg{width:20px;height:20px}.sidebar-footer{justify-content:center;padding-top:20px}.workspace{margin-left:78px}.topbar{height:73px;margin:0 26px}main{padding:30px 26px 24px}.page-heading h1{font-size:27px}.eyebrow{font-size:8px}.page-heading p{font-size:10px}.featured{height:315px}.featured-content{left:26px;bottom:27px}.featured h2{font-size:29px}.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.album-cover{aspect-ratio:1.18}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.album-heading{align-items:flex-start}.heading-actions{gap:5px;flex-wrap:wrap;justify-content:flex-end}.album-tools{flex-wrap:wrap}.chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guest-header{margin:0 26px}.guest-workspace main{padding:30px 26px}.heading-actions>.icon-button{display:none}}
@media(max-width:540px){.sidebar{width:62px;padding:22px 8px 15px}.brand{padding-left:4px}.brand-mark{width:36px;height:36px;font-size:27px;border-radius:12px}.brand-mark>span{right:8px;top:7px;width:5px;height:5px}.workspace{margin-left:62px}.topbar{height:68px;margin:0 19px}.topbar-right{gap:10px}.topbar-right>.icon-button{display:none}.breadcrumb{font-size:9px}.breadcrumb span:not(:first-child){max-width:95px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.beta-badge{font-size:7px;padding:4px 5px;letter-spacing:1px}.sidebar-body{margin-top:37px}.nav-item{padding:12px 8px}.nav-item svg{width:18px;height:18px}main{padding:30px 18px 22px}.page-heading{align-items:flex-start;gap:10px;margin-bottom:25px}.page-heading h1{font-size:25px;letter-spacing:-1.1px;max-width:225px}.page-heading p{font-size:9px;line-height:1.9;max-width:200px}.eyebrow{font-size:7px;letter-spacing:1.5px;margin-bottom:10px}.refresh-button{padding:9px;border-radius:50%;margin-top:18px}.refresh-button span{display:none}.refresh-button svg{width:13px;height:13px}.featured{height:330px;border-radius:14px}.featured>img{object-position:60% center}.featured-shade{background:linear-gradient(0deg,#0d1c14b3,transparent 85%)}.featured-content{left:21px;bottom:25px;right:20px}.featured h2{font-size:27px}.feature-label{font-size:7px}.featured-corner{display:none}.featured p{font-size:9px}.feature-button{font-size:8px;margin-top:18px}.collection{margin-top:25px}.collection-toolbar{flex-direction:column;align-items:stretch;gap:15px;margin-bottom:20px}.segmented{align-self:flex-start}.segmented button{font-size:9px;padding:7px 13px}.search{padding:9px 12px}.search input{width:100%;font-size:10px}.album-grid{grid-template-columns:1fr;gap:16px}.album-cover{aspect-ratio:1.33}.title-button{font-size:12px}.album-caption{padding-top:13px;padding-bottom:8px}.library-footer{font-size:7px;line-height:1.8;padding-top:18px;flex-wrap:wrap}.footer-wordmark{display:none}.album-heading{display:block}.heading-actions{justify-content:flex-start;margin-top:20px}.heading-actions .button{font-size:10px;padding:10px 14px}.heading-actions>.icon-button{display:inline-flex}.album-back{margin-bottom:24px}.mode-pills{gap:2px;justify-content:space-between;width:100%}.mode-pills button{padding:9px 7px;font-size:8px;gap:5px}.mode-pills svg{width:13px;height:13px}.photo-grid{gap:7px}.photo-tile{aspect-ratio:.9;border-radius:6px}.chapter-grid{grid-template-columns:1fr;gap:9px}.guest-header{height:75px;margin:0 20px}.guest-brand span{display:none}.guest-brand{font-size:25px}.shared-label{font-size:8px}.guest-workspace main{padding:30px 20px}.guest-workspace .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guest-workspace .photo-tile{aspect-ratio:1}.viewer-top{top:max(15px,env(safe-area-inset-top));left:12px;right:12px;gap:8px}.viewer-title{border-radius:15px;padding:5px 11px 5px 5px;gap:4px}.viewer-title strong{font-size:9px;max-width:130px}.viewer-title .icon-button{width:27px;height:32px}.viewer-title .icon-button svg{width:15px;height:15px}.viewer-actions{padding:5px;border-radius:15px;gap:0}.viewer-actions .icon-button{width:30px;height:32px}.viewer-actions svg{width:15px;height:15px}.viewer-mode-bar{border-radius:15px}.viewer-mode-bar button{padding:10px;gap:0}.viewer-mode-bar button span{display:none}.viewer-mode-bar button svg{width:19px;height:19px}.viewer-bottom{bottom:max(24px,env(safe-area-inset-bottom));gap:12px}.gesture-note{font-size:7px;white-space:nowrap}.viewer-nav{width:28px;height:44px}.previous{left:10px}.next{right:10px}.book-spread{padding:8px;gap:7px}.film-track{gap:14px;padding-left:13%;padding-right:13%}.film-track.portrait{gap:23px}.exif-panel{top:80px;right:12px;width:calc(100% - 24px);max-width:310px;max-height:calc(100dvh - 175px);padding:19px}.glass-modal{padding:24px;border-radius:22px}.modal-heading h2{font-size:23px}.modal-actions{gap:7px}.modal-actions .button{flex:1}.modal-actions .button:last-child{flex-basis:100%}.form-columns{gap:12px}.login-card{padding:32px 26px}.login-card h1{font-size:27px}.login-page{padding:23px}.toast{font-size:10px;min-width:230px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Photograph-first motion and automatically composed photo books. */
:root{--motion-ease:cubic-bezier(.22,.75,.18,1)}
.workspace main>.page-heading,.workspace main>.album-back,.guest-workspace main>.page-heading{animation:content-arrive .48s var(--motion-ease) both}
.collection,.photo-grid,.chapter-grid{animation:content-arrive .6s var(--motion-ease) both}
.album-card{animation:content-arrive .55s var(--motion-ease) both}
.album-card:nth-child(2){animation-delay:55ms}.album-card:nth-child(3){animation-delay:100ms}.album-card:nth-child(n+4){animation-delay:140ms}
.button,.icon-button,.nav-item,.mode-pills button,.segmented button,.viewer-mode-bar button{transition:background .25s ease,color .25s ease,box-shadow .3s ease,transform .35s var(--motion-ease)}
.button:active,.icon-button:active{transform:scale(.955)}
.album-cover img,.photo-tile img{transition:transform .75s var(--motion-ease)}
.photo-tile:active img,.album-cover:active img{transform:scale(.985)}
.viewer-chrome{transition:opacity .38s ease,transform .48s var(--motion-ease)}
.view-canvas{z-index:0;perspective:2200px}
.view-canvas.scene-leaving{z-index:1;pointer-events:none;contain:layout style;animation:none!important}
.view-canvas.scene-leaving *{pointer-events:none!important}
.book-stage{display:grid;place-items:center;background:#11120f}
.book-object{position:relative;width:min(92vw,133vh,1340px);aspect-ratio:1.55;flex:none;border-radius:3px 6px 6px 3px;background:#f3f1e9;box-shadow:0 2px 0 #cac7be,0 4px 0 #e7e3d8,0 6px 0 #b5b3aa,0 30px 60px #0009;transform-style:preserve-3d;will-change:transform}
.book-paper{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,#e9e6dc 0%,#f5f3ec 2%,#f4f2eb 46%,#e9e6dc 49.7%,#d5d0c4 50%,#efede4 50.5%,#f6f4ed 54%,#f5f3ec 98%,#e8e5db 100%)}
.book-layout{position:absolute;inset:clamp(22px,4.2vw,58px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5.5vw,76px);min-width:0;min-height:0}
.book-photo{background:transparent;min-width:0;min-height:0}
.book-column{display:grid;min-width:0;min-height:0;grid-template-rows:1fr}
.book-column-pair{grid-template-rows:1fr 1fr;gap:clamp(14px,2.2vw,30px)}
.layout-hero .book-layout{display:flex;inset:clamp(30px,5vw,68px)}
.layout-single .book-layout{grid-template-columns:1fr 1fr}
.book-spine{position:absolute;inset:0 auto 0 50%;width:30px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,#0000000c 35%,#00000020 48%,#fff3 53%,#00000006 66%,transparent);pointer-events:none;z-index:2}
.book-stage.portrait .book-object{width:min(88vw,56.3vh,950px);aspect-ratio:.67}
.book-stage.portrait .book-paper{background:linear-gradient(0deg,#e9e6dc 0%,#f5f3ec 2%,#f4f2eb 46%,#e9e6dc 49.7%,#d5d0c4 50%,#efede4 50.5%,#f6f4ed 54%,#f5f3ec 98%,#e8e5db 100%)}
.book-stage.portrait .book-layout{grid-template-columns:1fr;grid-template-rows:1fr 1fr;gap:clamp(28px,5.5vh,76px);inset:clamp(22px,4.2vw,58px)}
.book-stage.portrait .book-column-pair{grid-template-columns:1fr 1fr;grid-template-rows:1fr;gap:clamp(14px,2.2vw,30px)}
.book-stage.portrait .layout-hero .book-layout{display:flex;inset:clamp(26px,4.5vw,56px)}
.book-stage.portrait .book-spine{inset:50% 0 auto;width:auto;height:30px;transform:translateY(-50%);background:linear-gradient(0deg,transparent,#0000000c 35%,#00000020 48%,#fff3 53%,#00000006 66%,transparent)}
.turning-leaf{position:absolute!important;inset:auto;box-shadow:0 25px 45px #0005;z-index:3}
.stack-stage{display:grid;place-items:center;overflow:visible}
.photo-stack{position:relative;width:calc(100% - 70px);height:calc(100% - 70px);max-width:1800px;perspective:1800px}
.stack-active{position:absolute;inset:0;z-index:3;overflow:visible;transform-origin:50% 65%;will-change:transform}
.stack-active img{box-shadow:0 12px 38px #0008,0 0 0 1px #ffffff0d}
.stack-ghost{position:absolute;left:50%;top:50%;overflow:hidden;border:2px solid #e2e3dd75;box-shadow:0 8px 22px #0006;pointer-events:none;transform-origin:center}
.stack-ghost img{position:absolute;left:50%;top:50%;width:100%;height:100%;object-fit:cover;transform:translate(-50%,-50%);max-width:none}
.stack-ghost .ghost-rotated{transform:translate(-50%,-50%) rotate(90deg)}
.ghost-1{z-index:2;transform:translate(calc(-50% + 4px),calc(-50% + 6px)) rotate(.45deg) scale(.992);opacity:.7}
.ghost-2{z-index:1;transform:translate(calc(-50% - 3px),calc(-50% + 12px)) rotate(-.65deg) scale(.984);opacity:.45}
.exif-panel{animation:panel-arrive .4s var(--motion-ease) both}
@keyframes content-arrive{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@keyframes panel-arrive{from{opacity:0;transform:translateX(12px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:540px){.book-object{width:min(94vw,133vh)}.book-layout{inset:16px;gap:24px}.book-stage.portrait .book-object{width:min(92vw,61vh);aspect-ratio:.67}.book-stage.portrait .book-layout{inset:20px;gap:36px}.photo-stack{width:calc(100% - 26px);height:calc(100% - 38px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Measured photo rectangles: one paper page in portrait, balanced spreads in landscape. */
.book-stage .book-object.smart-book .book-layout{inset:0;display:block;z-index:1}
.book-stage .smart-book .book-photo{position:absolute;flex:none;overflow:hidden}
.book-object.smart-book.is-single{border-radius:3px 6px 6px 3px}
.book-object.smart-book.is-single .book-paper{background:linear-gradient(90deg,#e4e0d5 0%,#f3f1e9 2.5%,#f6f4ed 5%,#f4f2ea 97%,#eae6da 100%)}
.book-object.smart-book.is-single .book-spine{display:none}
.book-object.smart-book.is-spread .book-paper{background:linear-gradient(90deg,#e9e6dc 0%,#f5f3ec 2%,#f4f2eb 46%,#e9e6dc 49.7%,#d5d0c4 50%,#efede4 50.5%,#f6f4ed 54%,#f5f3ec 98%,#e8e5db 100%)}
.book-object.smart-book.is-spread .book-spine{inset:0 auto 0 50%;width:26px;height:auto;transform:translateX(-50%);background:linear-gradient(90deg,transparent,#0000000c 35%,#00000020 48%,#fff3 53%,#00000006 66%,transparent)}
.book-object.smart-book.layout-hero .book-spine{z-index:0}

/* Natural-aspect photo mosaic; density changes keep the current photograph in view. */
.album-tools{position:sticky;top:12px;z-index:15;padding:10px 12px;margin:0 -12px 22px;border:1px solid #ffffffb0;border-radius:15px;background:#f5f5f3d9;backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);box-shadow:0 4px 20px #28302907}
.mosaic-zoom{display:flex;align-items:center;gap:8px;flex-shrink:0;color:#7a846e;font-size:10px}
.mosaic-zoom label{margin-right:3px}.mosaic-zoom .icon-button{width:32px;height:34px;border-radius:10px}.mosaic-zoom .icon-button:hover{background:#e6eadd}.mosaic-zoom svg{width:16px;height:16px}
.mosaic-zoom input{width:108px;height:32px;margin:0;accent-color:#718265;cursor:ew-resize;touch-action:none}.mosaic-zoom output{min-width:39px;text-align:right;font-size:9px;font-variant-numeric:tabular-nums}
.photo-grid.mosaic-grid{display:block;position:relative;width:100%;gap:0;touch-action:pan-y;overflow-anchor:none}
.mosaic-grid .photo-tile{position:absolute;aspect-ratio:auto;margin:0;padding:0;border-radius:7px;transform-origin:top left;touch-action:pan-y;background:#e6e8e0;transition:box-shadow .25s}
.mosaic-grid .photo-tile img{width:100%;height:100%;object-fit:contain;transform:none;transition:opacity .25s}
.mosaic-grid .photo-tile:hover img{transform:none}.mosaic-grid .photo-tile:hover{box-shadow:0 0 0 2px #8a9c7a}.mosaic-grid.pinching .photo-tile{pointer-events:none}
@media(max-width:1150px){.album-tools{flex-wrap:wrap}.mosaic-zoom{margin-left:auto}}
@media(max-width:540px){.album-tools{gap:8px;padding:8px;margin-left:-8px;margin-right:-8px;top:8px}.mosaic-zoom{width:100%;justify-content:flex-end;gap:5px}.mosaic-zoom label{margin-right:auto}.mosaic-zoom input{width:100px;flex:1;min-width:40px;max-width:140px}.mosaic-grid .photo-tile{border-radius:5px}}

/* A quiet, full-width library with appearance shared by every app surface. */
:root{--page:#f7f7f5;--surface:#ffffffa6;--solid:#fff;--panel:linear-gradient(140deg,#ffffffed,#f3f4f0f5);--ink:#25282a;--muted:#777d81;--line:#171b2012;--edge:#fff9;--hover:#171b2009;--selected:#171b2010;--accent:#818c7a;--primary:#292e29;--primary-ink:#fff;--shadow:0 12px 38px #1118200c;color:var(--ink);background:var(--page);color-scheme:light}
:root[data-theme=dark]{--page:#111214;--surface:#232528b3;--solid:#232528;--panel:linear-gradient(140deg,#2c2f32ed,#202225f5);--ink:#e9ebed;--muted:#969ca2;--line:#ffffff12;--edge:#ffffff13;--hover:#ffffff0c;--selected:#ffffff13;--accent:#a6b29f;--primary:#dfe4dc;--primary-ink:#1d231c;--shadow:0 12px 44px #0004;color-scheme:dark}
html{background:var(--page);scrollbar-color:var(--muted) var(--page)}body{background:var(--page);color:var(--ink)}
.workspace,.guest-workspace{margin:0 auto;max-width:1680px;width:100%}.topbar{height:76px;margin:0 40px;border:0;position:relative;z-index:30;gap:20px}.wordmark{font-size:23px;font-weight:550;letter-spacing:-1.2px;color:var(--ink);user-select:none}main,.guest-workspace main{max-width:none;padding:26px 40px 40px}.page-heading{margin-bottom:30px;gap:20px}.page-heading h1{font-size:28px;letter-spacing:-1px;font-weight:450;max-width:none}.page-heading p{color:var(--muted);font-size:11px;line-height:1.7;margin-top:8px;max-width:none}.album-heading{margin-bottom:28px}.heading-actions{margin:0}.heading-actions .button{padding:10px 14px}
.glass{background:var(--surface);border-color:var(--edge);box-shadow:inset 0 1px 0 var(--edge),0 4px 16px #00000005}.icon-button:hover{background:var(--hover)}.button{background:var(--surface);border-color:var(--line);color:var(--ink)}.button:hover{background:var(--solid)}.button.dark{background:var(--primary);color:var(--primary-ink);border-color:transparent;box-shadow:none}.button.dark:hover{filter:brightness(1.08)}
.app-menu{position:relative}.app-menu>summary{list-style:none;width:40px;height:40px;color:var(--ink);cursor:pointer}.app-menu>summary::-webkit-details-marker{display:none}.app-menu>summary svg{width:24px;height:24px;stroke-width:2.3}.app-menu[open]>summary{background:var(--selected)}.menu-panel{position:absolute;right:0;top:calc(100% + 9px);width:264px;border-radius:19px;padding:8px;background:var(--panel);box-shadow:var(--shadow);transform-origin:top right;backdrop-filter:blur(32px) saturate(1.3);-webkit-backdrop-filter:blur(32px) saturate(1.3);max-height:calc(100dvh - 100px);overflow-y:auto}.menu-item{display:flex;align-items:center;gap:11px;width:100%;padding:12px 11px;border-radius:11px;font-size:12px;text-align:left;color:var(--ink)}.menu-item>svg{width:17px;height:17px;color:var(--muted)}.menu-item>svg:last-child:not(:first-child){margin-left:auto;width:14px;height:14px}.menu-item:hover,.menu-item.active{background:var(--hover)}.menu-divider{height:1px;background:var(--line);margin:6px 7px}.menu-label{display:block;color:var(--muted);font-size:10px;padding:10px 12px 9px}.appearance-options{display:flex;gap:3px;padding:3px;background:var(--hover);border-radius:10px;margin:0 7px 10px}.appearance-options button{flex:1;padding:9px 4px;border-radius:8px;color:var(--muted);font-size:11px}.appearance-options [aria-pressed=true]{color:var(--ink);background:var(--selected);box-shadow:0 1px 3px #0001}
.collection{margin-top:0}.library-heading .search{margin:0;width:210px}.search{border-color:var(--line);background:transparent;color:var(--muted)}.search input{color:var(--ink);min-width:0;width:100%}.search input::placeholder{color:var(--muted)}.album-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.album-cover{border-radius:10px;background:var(--surface)}.album-caption{padding:13px 0 6px}.album-caption p,.album-menu{color:var(--muted)}.album-caption p{margin-top:5px}.title-button{font-size:12px}.album-cover:hover img{transform:scale(1.02)}.empty-state{color:var(--muted)}.empty-state h2{color:var(--ink)}
.album-tools{top:10px;border-color:var(--edge);background:var(--surface);box-shadow:inset 0 1px 0 var(--edge);margin:0 0 18px;padding:6px 8px;border-radius:13px;flex-wrap:nowrap}.mode-pills{gap:2px;width:auto}.mode-pills button{color:var(--muted);padding:9px 10px}.mode-pills button.selected{background:var(--selected);color:var(--ink)}.mosaic-zoom{color:var(--muted);gap:6px;width:auto;margin-left:auto}.mosaic-zoom .icon-button:hover{background:var(--hover)}.mosaic-zoom input{accent-color:var(--accent);flex:none;max-width:120px;min-width:0;width:108px}.mosaic-zoom output{font-size:9px;min-width:38px}.mosaic-grid .photo-tile{background:var(--surface);border-radius:5px}.mosaic-grid .photo-tile:hover{box-shadow:0 0 0 2px var(--accent)}.chapter{background:var(--surface)}.chapter small,.chapter>svg,.text-button,.small-muted,.eyebrow{color:var(--muted)}
.glass-modal{background:var(--panel);color:var(--ink);border-color:var(--edge);box-shadow:var(--shadow);font-size:12px}.glass-modal::backdrop{background:#0006}.field,.field .optional,.modal-heading p,.toggle-row small,.local-notice,.modal-footnote,.mode-explainer p,.mode-explainer small,.mode-explainer>div>svg{color:var(--muted)}.field input,.field select,.field textarea{color:var(--ink);background:var(--hover);border-color:var(--line)}.share-url{background:var(--hover);color:var(--muted)}.share-url input{color:var(--ink)}.mode-explainer>div{border-color:var(--line)}.switch{background:var(--selected)}.toggle-row input:checked+.switch{background:#728465}.login-page{background:var(--page)}.login-decoration{background:radial-gradient(ellipse at 30% 20%,var(--selected),transparent 65%);filter:blur(40px)}.login-card>p{color:var(--muted)}.brand-mark{background:var(--primary);color:var(--primary-ink);box-shadow:none}
@media(min-width:1440px){.album-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:800px){.topbar{height:68px;margin:0 24px}main,.guest-workspace main{padding:22px 24px 28px}.page-heading h1{font-size:26px}.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.mode-pills button{padding:9px}.mode-pills button span{display:none}.mosaic-zoom{gap:4px}.mosaic-zoom input{width:100px}.heading-actions .button{font-size:10px}}
@media(max-width:540px){.topbar{height:64px;margin:0 18px}.wordmark{font-size:21px}main,.guest-workspace main{padding:18px 16px 24px}.page-heading{display:flex;align-items:center;margin-bottom:25px;gap:12px}.page-heading h1{font-size:24px}.page-heading p{font-size:10px}.heading-actions{flex-shrink:0}.heading-actions .button{padding:10px}.heading-actions .button svg{display:none}.album-tools{top:8px;padding:5px;gap:3px;margin:0 0 12px}.mode-pills{gap:0;justify-content:flex-start}.mode-pills button{padding:9px 8px;gap:0}.mode-pills button svg{width:16px;height:16px}.mosaic-zoom{gap:0}.mosaic-zoom .icon-button{width:28px;height:34px}.mosaic-zoom input{width:65px;flex:none}.mosaic-zoom output{display:none}.library-heading{align-items:flex-start;flex-wrap:wrap}.library-heading .search{width:100%;margin-top:5px}.album-grid{gap:18px 12px}.album-cover{aspect-ratio:1.02;border-radius:8px}.cover-count{font-size:8px;left:9px;bottom:9px}.album-caption{padding-top:10px;gap:5px}.title-button{font-size:11px}.album-menu{width:26px;min-width:26px}.album-caption p{font-size:8px}.menu-panel{width:min(264px,calc(100vw - 36px))}.mosaic-grid .photo-tile{border-radius:4px}}
