@charset "UTF-8";
.keepsake-entry{display:flex;align-items:center;gap:26px;border:1px solid #e5bdce;background:linear-gradient(110deg,#f9e7ee,#fff8fa 76%);padding:25px 34px;margin:12px 0 34px;position:relative;overflow:hidden}.keepsake-entry-copy{flex:1;min-width:0}.keepsake-eyebrow{font-size:9px;font-weight:600;letter-spacing:.18em;color:#a0617d;line-height:1.6;display:block}.keepsake-entry h3{font-family:var(--serif);font-size:27px;line-height:1.4;font-weight:400;margin:5px 0 6px}.keepsake-entry p{font-size:12px;color:var(--muted);margin:0}.keepsake-entry>.button{flex-shrink:0;min-height:44px;padding:10px 22px;font-size:13px}.keepsake-paper{flex-shrink:0;width:70px;height:86px;position:relative;background:#fffdfb;box-shadow:0 5px 17px #92567516;transform:rotate(-8deg);padding:8px;display:flex;flex-direction:column;justify-content:space-between;color:#a4496d;font-size:9px;letter-spacing:.13em}.keepsake-paper::before{content:"";position:absolute;z-index:-1;inset:-3px 2px 4px -5px;background:#fff5f8;border:1px solid #e6c8d4;transform:rotate(17deg)}.keepsake-paper span{display:grid;place-content:center;background:#f2cdda;flex:1}.keepsake-paper i{font-family:serif;font-size:17px;line-height:1;padding-top:6px;text-align:right;font-style:normal}.keepsake-dialog{padding:0;border:1px solid #e7bbce;border-radius:5px;width:min(1120px,calc(100% - 48px));max-width:none;max-height:calc(100dvh - 48px);background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain;box-shadow:0 20px 100px #37132533}.keepsake-dialog::backdrop{background:#36232bbb;backdrop-filter:blur(6px)}.keepsake-heading{padding:24px 30px 22px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:15px}.keepsake-heading h2{font-family:var(--serif);font-size:31px;font-weight:400;line-height:1.3;margin:7px 0 0}.keepsake-close{border:1px solid #ddbbca;border-radius:50%;background:transparent;flex-shrink:0;width:42px;height:42px;font-size:31px;line-height:1;color:#87425f;display:grid;place-content:center}.keepsake-close:hover{background:#f4dce6}.keepsake-workspace{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);align-items:start}.keepsake-preview{background:#f2dce6;padding:24px 29px;position:sticky;top:0;min-width:0;align-self:stretch;display:flex;flex-direction:column}.keepsake-preview-label,.keepsake-preview-foot{display:flex;justify-content:space-between;align-items:center;color:#9a687e;font-size:9px;letter-spacing:.15em}.keepsake-preview-label>span:last-child{font-size:21px;line-height:1;letter-spacing:0}.keepsake-canvas-wrap{flex:1;min-height:390px;display:flex;align-items:center;justify-content:center;padding:22px 0}.keepsake-canvas-wrap canvas{display:block;max-width:100%;width:auto;height:auto;max-height:545px;box-shadow:0 12px 35px #6e354225;object-fit:contain}.keepsake-preview-foot{letter-spacing:.06em}.keepsake-credits{padding-top:15px;margin-top:15px;border-top:1px solid #e2becd;display:flex;flex-direction:column;gap:5px}.keepsake-credits a{font-size:10px;line-height:1.65;color:#886476;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.keepsake-editor{padding:26px 30px 25px;min-width:0}.keepsake-fieldset{min-width:0;border:0;padding:0;margin:0 0 23px}.keepsake-fieldset legend{font-size:13px;font-weight:600;letter-spacing:.02em;margin-bottom:12px;padding:0}.keepsake-fieldset legend>span{font-size:10px;color:#bd7f99;font-weight:400;letter-spacing:.06em;margin-right:9px}.keepsake-templates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.keepsake-template{border:1px solid #e8cbd7;background:#fffafc;border-radius:3px;display:flex;align-items:center;justify-content:center;gap:10px;min-height:67px;padding:9px 5px;font-size:12px;transition:background .2s,border-color .2s}.keepsake-template[aria-pressed=true]{border-color:#ac4b70;background:#f9e4ec;color:#9e2954;box-shadow:inset 0 0 0 1px #ac4b70}.keepsake-template:hover{background:#f9e9ef}.keepsake-template-icon{width:23px;height:29px;background:#fffaf9;border:1px solid #b88199;position:relative;display:block;flex-shrink:0;padding:3px}.keepsake-template-icon i{background:#e5b3c7;display:block;width:100%;height:18px}.keepsake-template-icon i+i{display:none}.keepsake-icon-ticket{width:30px;height:21px;display:flex;align-items:center;padding:3px;gap:3px}.keepsake-icon-ticket i{width:11px;height:13px}.keepsake-icon-ticket::after{content:"";height:13px;border-left:1px dashed #b88199}.keepsake-icon-collage{width:27px;height:27px;display:flex;gap:2px;padding:3px}.keepsake-icon-collage i{width:9px;height:15px}.keepsake-icon-collage i+i{display:block;margin-top:4px}.keepsake-photo-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.keepsake-photo-tabs{display:flex;gap:12px;min-width:0}.keepsake-photo-tabs button{border:0;border-bottom:1px solid transparent;background:none;padding:3px 0;color:#977486;font-size:11px;white-space:nowrap}.keepsake-photo-tabs button[aria-pressed=true]{color:var(--pink-dark);border-bottom-color:var(--pink-dark)}.keepsake-photo-tabs button span{font-size:9px;margin-left:2px}.keepsake-photo-toolbar>span{font-size:10px;color:#a97a8e;white-space:nowrap}.keepsake-photo-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;max-height:164px;overflow:auto;padding:4px 5px 4px 4px;margin:-4px -5px -4px -4px;scrollbar-width:thin;scrollbar-color:#d99ab3 transparent;overscroll-behavior:contain}.keepsake-photo{padding:0;border:2px solid transparent;border-radius:2px;background:#eddae2;aspect-ratio:1;position:relative;min-width:0;overflow:hidden}.keepsake-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}.keepsake-photo[aria-pressed=true]{border-color:#a82c55;box-shadow:0 0 0 1px #a82c55}.keepsake-photo-number{position:absolute;right:3px;bottom:3px;width:19px;height:19px;background:#fff8facf;color:#9b3760;border-radius:50%;font-size:11px;line-height:19px;text-align:center}.keepsake-photo[aria-pressed=true] .keepsake-photo-number{background:#a82c55;color:white}.keepsake-hint{font-size:10px;color:#a27c8d;line-height:1.7;margin:8px 0 0}.keepsake-no-photos{grid-column:1/-1;text-align:center;background:#f7e9ef;padding:23px 12px;font-size:12px;line-height:1.9;color:#9a7285}.keepsake-no-photos button{font-size:12px;background:none;border:0;color:var(--pink-dark);padding:7px}.keepsake-writing{margin-bottom:18px}.keepsake-writing label{display:block;font-size:11px;color:#80576b}.keepsake-input-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:11px}.keepsake-writing input,.keepsake-writing textarea{display:block;width:100%;min-width:0;border:1px solid #e6c9d6;border-radius:3px;background:#fffdfd;color:#543344;line-height:1.5;font-size:12px;padding:10px 11px;margin-top:5px;font-family:var(--body)}.keepsake-writing input{height:40px}.keepsake-writing input[type=date]{appearance:none;-webkit-appearance:none}.keepsake-writing textarea{resize:vertical;min-height:67px;max-height:135px}.keepsake-writing input:focus-visible,.keepsake-writing textarea:focus-visible{outline:2px solid #a82c55;outline-offset:2px}.keepsake-optional{font-size:10px;color:#b18c9c;margin-left:8px}.keepsake-export{border-top:1px solid var(--line);padding-top:13px}.keepsake-export #keepsake-status{min-height:20px;font-size:11px;color:#936078;margin:0 0 10px;line-height:1.7}.keepsake-export>.button{width:100%;min-height:45px;font-size:13px;gap:25px}.keepsake-export>.button:disabled{opacity:.55}.keepsake-export .keepsake-privacy{font-size:10px;text-align:center;color:#a07c8c;line-height:1.7;margin:10px 0 0}.keepsake-dialog button:focus-visible{outline-offset:2px}
@media(max-width:1000px){.keepsake-template{flex-direction:column;gap:6px;font-size:11px;min-height:79px}.keepsake-editor{padding:24px}.keepsake-preview{padding:24px}.keepsake-photo-list{grid-template-columns:repeat(5,minmax(0,1fr));max-height:145px}.keepsake-heading{padding:22px 24px}.keepsake-canvas-wrap{min-height:360px}}
@media(max-width:760px){.keepsake-entry{padding:22px;gap:18px;flex-wrap:wrap;margin-bottom:29px}.keepsake-entry-copy{flex-basis:calc(100% - 80px)}.keepsake-entry h3{font-size:26px}.keepsake-entry p{font-size:11px;max-width:230px}.keepsake-paper{width:52px;height:67px;font-size:7px}.keepsake-paper i{font-size:14px}.keepsake-entry>.button{margin-left:70px;min-height:41px;font-size:12px;padding:9px 20px}.keepsake-entry .keepsake-eyebrow{font-size:8px;letter-spacing:.12em}.keepsake-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:5px}.keepsake-heading{padding:20px}.keepsake-heading h2{font-size:24px;margin-top:6px}.keepsake-heading .keepsake-eyebrow{font-size:8px}.keepsake-close{width:36px;height:36px;font-size:28px}.keepsake-workspace{grid-template-columns:1fr}.keepsake-preview{position:relative;padding:18px 25px 17px;min-height:0}.keepsake-canvas-wrap{min-height:0;padding:17px 0}.keepsake-canvas-wrap canvas{max-height:350px;max-width:100%;width:auto}.keepsake-preview-label,.keepsake-preview-foot{font-size:8px}.keepsake-credits{margin-top:11px;padding-top:9px;gap:3px}.keepsake-credits a{font-size:9px}.keepsake-editor{padding:24px 20px}.keepsake-template{flex-direction:row;min-height:62px;gap:8px;font-size:11px}.keepsake-templates{gap:7px}.keepsake-photo-list{grid-template-columns:repeat(5,minmax(0,1fr));max-height:157px}.keepsake-fieldset{margin-bottom:23px}.keepsake-writing{margin-bottom:20px}.keepsake-writing input,.keepsake-writing textarea{font-size:16px}.keepsake-writing textarea{min-height:78px}.keepsake-writing input{height:44px;padding:9px}.keepsake-photo-tabs button{font-size:12px}.keepsake-fieldset legend{font-size:13px}.keepsake-hint{font-size:11px}.keepsake-writing label{font-size:12px}.keepsake-photo-number{width:19px;height:19px}.keepsake-export #keepsake-status{font-size:12px}.keepsake-export>.button{min-height:47px;font-size:14px}.keepsake-export .keepsake-privacy{font-size:10px}}
@media(max-width:370px){.keepsake-heading h2{font-size:21px}.keepsake-heading{padding:17px}.keepsake-editor{padding:22px 16px}.keepsake-template{gap:5px;font-size:10px}.keepsake-template-icon{transform:scale(.85)}.keepsake-input-row{gap:9px}.keepsake-photo-tabs{gap:8px}.keepsake-entry{padding:19px;gap:15px}.keepsake-entry>.button{margin-left:67px}}
