@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap";:root{font-family:DM Sans,sans-serif;color:#344239;background:#faf9f5}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{background:#6d856f;color:#fff;border:1px solid #6d856f;padding:11px 17px;border-radius:7px;cursor:pointer}button:hover{filter:brightness(.96)}button.outline{background:#fff;color:#516956;border-color:#c9d1c6}header{display:flex;align-items:center;gap:24px;justify-content:space-between;padding:18px 5%;background:#fff;border-bottom:1px solid #ece9df;min-height:82px}.logo{font:30px "DM Serif Display",serif;text-decoration:none;color:#344239;white-space:nowrap}.logo em{font-weight:400}.sub{font-size:12px;color:#829080}h1,h2,h3{font-family:"DM Serif Display",serif;font-weight:400}h1{font-size:44px;margin:4px 0 10px}h2{font-size:28px}.layout{max-width:1400px;margin:auto;display:grid;grid-template-columns:255px minmax(0,1fr);min-height:75vh}aside{padding:35px 20px;border-right:1px solid #ebe9e1;background:#f5f5ee}aside h3{font-size:23px}.collection{width:100%;text-align:left;background:transparent;color:#3c4a40;border:0;margin-bottom:8px}.collection.active{background:#e4e9df}.collection small{display:block;color:#829080}.full{width:100%;margin-top:15px}.small{font-size:12px;color:#7c887c;line-height:1.7}.content{padding:35px 42px}.welcome{background:#eef0e7;border-radius:14px;padding:40px;background-image:linear-gradient(110deg,#eef0e7,#faf5ed)}.welcome p{color:#6c7c70}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#829782}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:35px;flex-wrap:wrap}.toolbar>div{display:flex;gap:9px;flex-wrap:wrap}.count{font:14px DM Sans,sans-serif;color:#839086}.album-grid,.keepsake-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px}.album,.keepsake{padding:0 0 15px;overflow:hidden;text-align:left;border:1px solid #e3e4dc;border-radius:11px;background:#fff;color:#344239}.album-cover,.keepsake-cover{height:145px;background:linear-gradient(135deg,#e2e8dc,#f2e9da);display:grid;place-items:center;font:55px "DM Serif Display",serif;color:#78917d}.keepsake-cover{height:110px}.album strong,.keepsake strong{display:block;padding:12px 13px 3px}.album small,.keepsake small{display:block;padding:0 13px;color:#829080}footer{padding:25px 5%;border-top:1px solid #e7e7de;font-size:12px;color:#8b948b}footer a{color:inherit}.auth{max-width:550px;margin:65px auto;padding:25px;text-align:center}.auth p{color:#78867b;line-height:1.7}#signin{display:flex;justify-content:center;margin-top:30px}dialog{border:1px solid #e4e5dd;border-radius:15px;box-shadow:0 18px 80px #263d2b33;width:min(530px,95vw);max-height:85vh;overflow:auto;padding:25px;background:#fff}dialog::backdrop{background:#1b302a80}.dialog-header{display:flex;align-items:center;justify-content:space-between}.dialog-header h2{margin:0 0 12px}.close{background:transparent;color:#66756a;border:0;font-size:26px;padding:2px 8px}form{display:grid;gap:15px}label{display:grid;gap:6px;font-size:13px;font-weight:600}input,select,textarea{width:100%;padding:11px;border:1px solid #cdd6cc;border-radius:7px;background:#fff}#notice{position:fixed;bottom:22px;right:22px;max-width:450px;background:#344d3b;color:#fff;padding:15px 20px;border-radius:10px;z-index:999}#viewer{display:flex;justify-content:center;gap:5px;background:#eee9dd;padding:18px;min-height:180px}#viewer img{max-width:49%;max-height:390px;object-fit:contain;box-shadow:0 4px 18px #0002}.viewer-actions{display:flex;gap:10px;margin:15px 0}@media(max-width:800px){.layout{grid-template-columns:1fr}aside{border-right:0;border-bottom:1px solid #e6e6dd;padding:18px}.content{padding:22px}.welcome{padding:25px}.sub{display:none}h1{font-size:34px}.logo{font-size:24px}.album-grid,.keepsake-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.card-dialog{width:min(960px,96vw)}.card-stage{perspective:1600px;overflow:auto;align-items:center;min-height:420px;padding:30px 18px!important;background:radial-gradient(circle at 50% 35%,#faf6ee,#e9e2d5)!important}.card-book{width:min(360px,72vw);height:390px;position:relative;transform-style:preserve-3d;transition:width .65s ease,transform .35s ease;flex:none}.card-book.is-open{width:min(740px,90vw)}.card-inside{position:absolute;inset:0;display:none;background:#fffdf8;box-shadow:0 12px 35px #34281a25}.card-book.is-open .card-inside{display:block}.card-pages{display:grid;grid-template-columns:1fr 1fr;width:100%;height:100%}.card-page{min-width:0;min-height:0;overflow:hidden;background:#fffdf9;border:1px solid #e8dfd2}.card-page:first-child{box-shadow:inset -10px 0 16px -15px #574839}.card-spread{height:100%;width:100%;background:#fffdf9}.card-stage .card-page img,.card-stage .card-spread img,.card-stage .card-cover img{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;box-shadow:none}.card-blank{width:100%;height:100%;background:#fffdf9}.card-cover{position:absolute;inset:0;background:#fffdf8;box-shadow:0 12px 35px #34281a30;transform-origin:left center;backface-visibility:hidden;transition:transform .8s cubic-bezier(.22,.61,.36,1),opacity .35s}.card-book.is-open .card-cover{transform:rotateY(-165deg);opacity:0;pointer-events:none}.card-empty{padding:50px 15px;color:#7b8278;text-align:center}.card-book.is-zoomed{transform:scale(1.3)}.card-stage.back-mode .card-cover{transform:none;opacity:1}.viewer-actions{flex-wrap:wrap}@media(max-width:650px){.card-stage{min-height:320px;padding:20px 10px!important}.card-book{height:290px;width:min(255px,70vw)}.card-book.is-open{width:min(520px,90vw)}.card-book.is-zoomed{transform:scale(1.1)}.card-dialog{padding:15px}}@media(prefers-reduced-motion:reduce){.card-book,.card-cover{transition:none!important}.card-book.is-open .card-cover{display:none}}.logo{display:inline-flex;align-items:center;gap:12px;line-height:1.1}.logo .brand-icon{width:44px;height:52px;max-width:44px;max-height:52px;object-fit:contain;flex:none;display:block}.signin-page{min-height:calc(100vh - 190px);display:flex;align-items:center;justify-content:center;padding:64px 22px;background:linear-gradient(125deg,#f8f6f0,#edf1e9)}.signin-panel{width:min(100%,670px);text-align:center;background:#fffefa;border:1px solid #e8e6dc;border-radius:18px;padding:clamp(30px,5vw,66px);box-shadow:0 18px 60px #3442390d}.signin-panel h1{font-size:clamp(35px,4vw,54px);line-height:1.15;margin:0 0 20px}.signin-panel h1 em{color:#819782}.signin-panel>p:not(.eyebrow){color:#6b796e;line-height:1.8;max-width:470px;margin:0 auto 24px}.signin-panel .signin-note{font-size:12px;margin:20px auto 0!important;color:#839084!important}.signin-panel button{padding:14px 24px}@media(max-width:600px){header{gap:10px;padding:14px 5%}.logo{font-size:24px}.logo .brand-icon{width:36px;height:43px;max-width:36px;max-height:43px}.sub{display:none}}body{background:#fcfaf6;color:#344239}header{padding:14px 4%;min-height:84px}header .logo{font-size:31px}.premium-layout{max-width:none;grid-template-columns:265px minmax(0,1fr);min-height:calc(100vh - 150px)}.sidebar{background:#faf8f3;padding:32px 19px;border-right:1px solid #eae6dc}.sidebar-heading{font-size:10px;font-weight:700;letter-spacing:2px;color:#89988a;margin:12px 12px 16px}.side-nav{display:grid;gap:5px}.side-link{background:transparent;border:0;color:#526156;text-align:left;padding:12px 13px;font-size:14px;display:flex;align-items:center;gap:12px}.side-link span{font-size:19px;width:24px;text-align:center;color:#819584}.side-link.current{background:#e7ebdf;color:#33493a;font-weight:700}.side-divider{height:1px;background:#e7e6dd;margin:25px 5px}.collection-list{display:grid;gap:5px}.collection{display:flex;align-items:center;gap:10px;border-radius:8px;margin:0;padding:12px 9px;font-size:13px}.collection span:last-child{min-width:0}.collection-dot{font-size:21px;color:#829683}.collection small{font-size:11px;margin-top:3px}.new-collection{font-size:12px}.sidebar-note{margin:36px 8px 0;padding:17px 13px;background:#f0f0e8;border-radius:10px;font-size:12px;line-height:1.75;color:#7d887c}.sidebar-note span{display:block;color:#8a9c85;font-size:22px}.premium-content{max-width:1450px;width:100%;margin:auto;padding:34px clamp(24px,4vw,68px) 75px}.premium-welcome{position:relative;display:flex;justify-content:space-between;align-items:center;min-height:210px;padding:42px 48px;background:linear-gradient(110deg,#ecf0e8,#f9f2e9);overflow:hidden}.premium-welcome h1{font-size:clamp(36px,3.6vw,55px);line-height:1.12}.premium-welcome p:not(.eyebrow){font-size:15px}.welcome-flourish{display:flex;align-items:center;gap:8px;font:50px "DM Serif Display",serif;color:#c5b6a1;opacity:.75;transform:rotate(-12deg);margin-right:35px}.welcome-flourish span:first-child,.welcome-flourish span:last-child{font-size:24px;color:#91a18c}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:35px 0 20px}.section-head .eyebrow{margin:0 0 7px}.section-head h2{font-size:30px;margin:0}.section-actions{display:flex;gap:9px;flex-wrap:wrap}.section-actions button{font-size:13px}.premium-albums{grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}.album-card{position:relative;background:#fff;border:1px solid #e7e3d9;border-radius:13px;overflow:hidden;box-shadow:0 4px 15px #3140340a;transition:transform .2s,box-shadow .2s}.album-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px #31403416}.album-open{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left;color:inherit}.album-art{height:190px;background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:22px;position:relative;text-align:center;gap:10px}.album-art:after{content:"";position:absolute;inset:12px;border:1px solid #ffffff77;border-radius:3px;pointer-events:none}.album-art-title{font:clamp(21px,2vw,30px) "DM Serif Display",serif;max-width:90%;line-height:1.1;position:relative;z-index:1}.album-art-decoration{font-size:22px;position:relative;z-index:1}.album-art-caption{font-size:9px;letter-spacing:2px;position:relative;z-index:1}.theme-sage{background:linear-gradient(145deg,#b9c8b7,#e7e9d9);color:#385644}.theme-linen{background:linear-gradient(145deg,#e6d8bd,#faf3e6);color:#745c42}.theme-rose{background:linear-gradient(145deg,#dcbeb6,#f7e6df);color:#78544c}.theme-midnight{background:linear-gradient(145deg,#344a54,#83949b);color:#fffaf0}.theme-gold{background:linear-gradient(145deg,#c4a879,#f3e6ca);color:#634d32}.album-art.has-photo{color:#fff}.album-card-info{padding:17px 17px 20px;display:flex;flex-direction:column;gap:6px}.album-card-info strong{font:23px "DM Serif Display",serif}.album-card-info span{font-size:12px;color:#8a9287}.album-edit{position:absolute;right:12px;top:12px;background:#fffcf5e8;color:#526c58;border:1px solid #d8dace;border-radius:50%;width:32px;height:32px;padding:0;display:grid;place-items:center}.new-album-tile{min-height:266px;background:#fbfaf7;border:1.5px dashed #b7c2b2;color:#344239;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;border-radius:13px;text-align:center;padding:20px}.new-album-tile strong{font:23px "DM Serif Display",serif}.new-album-tile small{color:#859184}.add-round{display:grid;place-items:center;background:#718b75;color:#fff;border-radius:50%;font-size:28px;width:48px;height:48px}.memory-heading{margin-top:52px}.keepsake-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.memory-card{padding:0;text-align:left;overflow:hidden;background:#fff;border:1px solid #e6e3da;border-radius:12px;color:#344239}.memory-art{height:150px;background:linear-gradient(130deg,#ecece2,#f6eee5);background-position:center;background-size:cover;display:grid;place-items:center;font:55px "DM Serif Display",serif;color:#a4b2a0}.memory-meta{padding:14px 16px 18px;display:grid;gap:6px}.memory-meta strong{font:21px "DM Serif Display",serif}.memory-meta small{color:#899486}.empty-state{grid-column:1/-1;min-height:195px;border:1px dashed #d5dace;border-radius:12px;background:#fffefa;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px}.empty-state h3{font-size:23px;margin:4px 0}.empty-state p{color:#7c887d;font-size:13px;max-width:370px;line-height:1.6}.empty-icon{font-size:33px;color:#9bac9a}.back-to-albums{margin-top:20px;background:transparent;border:0;color:#657c68;padding:4px}.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.person-card{background:#fff;border:1px solid #e7e5dc;border-radius:12px;padding:20px;display:grid;gap:8px}.person-avatar{font-size:27px;color:#92a491}.person-card small{color:#8c958c}.modal-description{font-size:13px;color:#7e8a7f;line-height:1.7}@media(max-width:1100px){.premium-albums,.keepsake-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-content{padding:28px}.welcome-flourish{margin-right:0}}@media(max-width:760px){.premium-layout{grid-template-columns:1fr}.sidebar{padding:15px;border-right:0;border-bottom:1px solid #eae6dc}.side-nav{display:flex;overflow-x:auto}.side-link{white-space:nowrap;font-size:12px}.side-divider,.sidebar-note{display:none}.sidebar-heading{margin:10px 3px}.collection-list{display:flex;overflow-x:auto}.collection{min-width:170px}.new-collection{width:auto;margin:10px 0}.premium-content{padding:20px 15px 50px}.premium-welcome{padding:30px 24px;min-height:165px}.welcome-flourish{display:none}.premium-welcome h1{font-size:36px}.section-head{align-items:flex-start;flex-direction:column;gap:14px}.premium-albums,.keepsake-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.album-art{height:150px}.album-art-title{font-size:23px}.album-card-info strong{font-size:20px}.album-card-info{padding:12px}.new-album-tile{min-height:230px}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.premium-albums,.keepsake-grid{grid-template-columns:1fr}.album-art{height:180px}.premium-welcome h1{font-size:31px}}.upload-dialog{width:min(900px,96vw)}.upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.upload-slot{border:1px solid #dce2d7;background:#fbfaf6;border-radius:12px;padding:13px;display:flex;flex-direction:column;gap:10px}.upload-slot strong{font:19px "DM Serif Display",serif}.upload-preview{height:150px;display:grid;place-items:center;background:#f0efe9;border-radius:7px;overflow:hidden;color:#899587;font-size:12px}.upload-preview img{height:100%;width:100%;object-fit:contain}.upload-options{display:flex;gap:7px;flex-wrap:wrap}.upload-pick{display:inline-flex;cursor:pointer;padding:9px 10px;background:#fff;border:1px solid #bfcbbd;border-radius:7px;color:#506b55;font-size:12px;font-weight:600}.upload-remove{font-size:12px;padding:6px}.upload-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.upload-status{font-size:13px;color:#647f69}.card-dialog{width:min(1160px,97vw)}.card-stage{min-height:0!important;max-height:72vh;padding:22px!important;overflow:auto}.card-book{height:min(64vh,650px);width:min(45vh,420px);aspect-ratio:2/3}.card-book.is-open{width:min(90vh,840px)}.card-stage .card-page img,.card-stage .card-spread img,.card-stage .card-cover img{object-fit:cover;object-position:center}.card-book.is-open .card-cover{opacity:0}.card-book.is-zoomed{transform:scale(1.15)}.page-thumbnails{display:flex;gap:9px;overflow-x:auto;padding:12px 0}.page-thumb{flex:0 0 86px;padding:6px;background:#faf9f5;color:#526754;border:1px solid #e0e5da;display:grid;gap:4px;font-size:10px;text-transform:capitalize}.page-thumb img{width:100%;height:70px;object-fit:contain}.viewer-actions{justify-content:center}@media(max-width:700px){.upload-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-book{height:min(60vh,480px);width:min(40vh,300px)}.card-book.is-open{width:min(80vh,600px)}.card-stage{padding:12px!important}}@media(max-width:440px){.upload-grid{grid-template-columns:1fr 1fr}.upload-preview{height:115px}.upload-pick{font-size:11px}.card-book{height:310px;width:210px}.card-book.is-open{width:420px}.card-stage{justify-content:flex-start!important}}.card-dialog{width:min(1080px,96vw)!important;max-height:min(94dvh,960px)!important;overflow:hidden!important;padding:clamp(14px,2vw,24px)!important;display:flex;flex-direction:column;gap:8px}.card-dialog .dialog-header{flex:none}.card-dialog .dialog-header h2{font-size:clamp(23px,2.4vw,34px);margin:0}.card-dialog>p{margin:0;flex:none;line-height:1.4}.card-dialog .card-stage{flex:1 1 auto;min-height:180px!important;max-height:none!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:clamp(12px,2vh,22px)!important;border-radius:9px;background:radial-gradient(ellipse at 50% 40%,#f9f6f0,#eae4d9)!important}.card-dialog .card-book{--page-h:min(54dvh,560px);height:var(--page-h)!important;width:calc(var(--page-h)*.67)!important;aspect-ratio:unset!important;position:relative;flex:none;transition:width .55s ease,transform .25s ease}.card-dialog .card-book.is-open{width:calc(var(--page-h)*1.34)!important}.card-dialog .card-inside,.card-dialog .card-cover,.card-dialog .card-spread{height:100%;width:100%}.card-dialog .card-cover{overflow:hidden;transform-origin:left center}.card-dialog .card-cover img,.card-dialog .card-page img,.card-dialog .card-spread img{display:block;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important;box-shadow:none!important}.card-dialog .card-pages{height:100%;width:100%;gap:0}.card-dialog .card-page{height:100%;min-width:0;overflow:hidden}.card-dialog .card-book.is-open .card-cover{opacity:0;pointer-events:none}.card-dialog .page-thumbnails{flex:none;padding:6px 0;gap:8px;max-height:98px;overflow-x:auto}.card-dialog .page-thumb{flex:0 0 68px;padding:4px;font-size:10px;gap:2px}.card-dialog .page-thumb img{height:50px;object-fit:cover}.card-dialog .viewer-actions{flex:none;margin:3px 0 0;gap:8px;flex-wrap:wrap;justify-content:center}.card-dialog .viewer-actions button{padding:9px 13px;font-size:13px}.card-dialog .card-book.is-zoomed{transform:scale(1.12)}@media(max-height:720px){.card-dialog .card-book{--page-h:min(43dvh,400px)}.card-dialog .page-thumbnails{max-height:78px}.card-dialog .page-thumb img{height:35px}}@media(max-width:650px){.card-dialog{max-height:96dvh!important}.card-dialog .card-book{--page-h:min(44dvh,420px)}.card-dialog .card-book.is-open{--page-h:min(42dvh,390px)}.card-dialog .card-stage{min-height:150px!important;padding:10px!important}.card-dialog .viewer-actions button{font-size:12px;padding:8px 10px}.card-dialog .page-thumb{flex-basis:58px}.card-dialog .page-thumb img{height:44px}}@media(max-width:440px){.card-dialog .card-book{--page-h:min(42dvh,370px)}.card-dialog .card-book.is-open{--page-h:min(30dvh,290px)}.card-dialog .card-stage{justify-content:center!important}.card-dialog .page-thumbnails{max-height:78px}}@media(prefers-reduced-motion:reduce){.card-dialog .card-book,.card-dialog .card-cover{transition:none!important}}.manage-dialog{width:min(1050px,96vw);max-height:92dvh;overflow:auto}.manage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:16px}.manage-page{background:#faf9f5;border:1px solid #e0e3d9;border-radius:12px;padding:16px}.manage-page h3{font:22px "DM Serif Display",serif;text-transform:capitalize}.manage-preview{height:220px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#e9e6dd;border-radius:8px}.manage-preview img{width:100%;height:100%;object-fit:cover;transition:transform .18s ease}.manage-controls{display:grid;gap:9px;margin-top:12px}.manage-controls label{font-size:12px;color:#566c59;display:grid;gap:4px}.manage-controls input{width:100%}.danger{color:#a44f4a!important;border-color:#dcbcb8!important}.trash-items{display:grid;gap:10px}.trash-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px;border:1px solid #e5e5dc;border-radius:8px}.trash-row small{display:block;color:#7d887e}.card-dialog .card-cover{backface-visibility:hidden;will-change:transform}.card-dialog .card-book{perspective:1200px}.card-dialog .card-stage{touch-action:pan-y}@media(prefers-reduced-motion:reduce){.manage-preview img{transition:none}}
