@font-face{font-family:Caprasimo;src:url(/assets/caprasimo.ttf) format('truetype');font-display:swap}@font-face{font-family:DogeSans;src:url(/assets/sans.ttf) format('truetype');font-display:swap}@font-face{font-family:DogeSans;src:url(/assets/sans-bold.ttf) format('truetype');font-weight:700;font-display:swap}
.keepsake-book{--book-ink:#293e3a;box-sizing:border-box;position:fixed;inset:0;margin:auto;width:min(1120px,calc(100vw - 48px));height:min(760px,calc(100dvh - 56px));max-height:none;max-width:none;padding:0;border:8px solid #526f8d;border-left-width:14px;border-radius:10px 18px 18px 10px;background:#fff6dc;color:var(--book-ink);font:16px/1.5 DogeSans,system-ui,sans-serif;box-shadow:0 28px 100px #111b30a0,5px 6px 0 #b9ad8c,9px 10px 0 #54728b;overflow:hidden}
.keepsake-book[open]{display:grid;grid-template-columns:34% minmax(0,1fr)}.keepsake-book::backdrop{background:#101b28b8;backdrop-filter:blur(8px)}.keepsake-book *{box-sizing:border-box}.keepsake-book button,.keepsake-book input,.keepsake-book textarea{font:inherit;color:inherit}.keepsake-book button,.keepsake-book a{touch-action:manipulation}.keepsake-book button{cursor:pointer}.keepsake-book button:disabled{cursor:wait;opacity:.6}.keepsake-book :focus-visible{outline:3px solid #3d6eaa;outline-offset:4px}.keepsake-book a{color:inherit;text-underline-offset:4px}.keepsake-cover{padding:42px 32px 28px;background:repeating-linear-gradient(0deg,#ffffff04 0 1px,transparent 1px 4px),#bed9e5;box-shadow:inset -10px 0 24px #3b526b17;display:flex;flex-direction:column;align-items:flex-start;position:relative}.keepsake-cover:after{content:'';position:absolute;left:100%;top:0;bottom:0;width:24px;background:linear-gradient(90deg,#756e4330,transparent);pointer-events:none;z-index:2}.keepsake-kicker{font-size:10px;letter-spacing:1.8px;font-weight:700;margin:0 0 22px}.keepsake-cover h2{font:clamp(34px,3.7vw,51px)/1.04 Caprasimo,Georgia,serif;letter-spacing:-1.5px;margin:0 0 36px}.keepsake-photo{position:relative;transform:rotate(-5deg);background:#fffaf0;padding:12px 12px 16px;box-shadow:1px 5px 9px #213d4630;width:min(220px,100%);margin:auto 0 24px}.keepsake-photo:before{content:'';width:82px;height:26px;position:absolute;top:-12px;left:30%;background:#e5bb7bd9;transform:rotate(8deg);box-shadow:0 1px 2px #795f3220}.keepsake-photo img{width:100%;display:block;aspect-ratio:1;object-fit:cover;background:#e5c887}.keepsake-photo span{font-size:12px;display:block;text-align:center;margin-top:13px}.keepsake-owner{font-size:12px;margin:20px 0 8px}.keepsake-cover>a{font-size:13px;min-height:44px;display:flex;align-items:center}.keepsake-sheet{position:static;padding:48px 38px 22px;overflow:auto;overscroll-behavior:contain;background:radial-gradient(ellipse at 100% 0,#fffdf1,transparent 80%),#fff4d8;scrollbar-color:#b8ac8c transparent}.keepsake-close{position:absolute;top:10px;right:10px;width:44px;height:44px;display:grid;place-items:center;background:none;border:0;border-radius:50%;font-size:29px!important;line-height:1}.keepsake-close:hover{background:#e8dcbf}.keepsake-page h3{font:clamp(28px,3vw,39px)/1.13 Caprasimo,Georgia,serif;letter-spacing:-.7px;margin:0 0 22px}.keepsake-intro{font-size:18px;line-height:1.6;max-width:390px;margin:25px 0 32px}.keepsake-primary{min-height:48px;padding:12px 19px;border:1px solid #29443c;background:#29443c;color:#fff9e9!important;border-radius:6px;font-weight:700!important;line-height:1.3!important;font-size:14px!important;box-shadow:0 3px 0 #142c24}.keepsake-primary:hover{background:#3b5c4e}.keepsake-text{border:0;background:none;padding:10px 0;min-height:44px;text-decoration:underline;text-underline-offset:4px;font-size:14px!important;font-weight:700!important}.keepsake-fine{font-size:12px;line-height:1.65;color:#657160;margin:25px 0 0}.keepsake-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 18px;border-bottom:1px solid #cdc5a7;padding-bottom:25px;margin-bottom:28px}.keepsake-heading .keepsake-kicker{margin-bottom:12px}.keepsake-heading h3{font-size:29px;margin-bottom:8px}.keepsake-empty{margin:35px 0 10px;min-height:260px;padding:34px 28px;border:1px dashed #b8b69c;text-align:center;background:repeating-linear-gradient(0deg,transparent 0 33px,#d8cfa53b 33px 34px)}.keepsake-stamp{display:inline-block;font-size:10px;letter-spacing:2px;color:#52768c;border:2px solid #7e9cad;padding:7px 10px;transform:rotate(-5deg)}.keepsake-empty h4{font:24px/1.2 Caprasimo,Georgia,serif;margin:27px 0 16px}.keepsake-empty p{font-size:15px;margin:0 auto 10px;max-width:300px}.keepsake-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 22px}.keepsake-card{min-width:0;background:#fffdf3;padding:10px;box-shadow:1px 4px 7px #76684626;align-self:start;border:1px solid #e7ddc4}.keepsake-card:nth-child(3n+2){transform:rotate(1.5deg)}.keepsake-picture{position:relative;display:flex;align-items:center;justify-content:center;min-height:145px;aspect-ratio:1.25;background:#d6e4df;text-decoration:none;overflow:hidden}.keepsake-card:nth-child(3n+2) .keepsake-picture{background:#e9c9a7}.keepsake-card:nth-child(3n+3) .keepsake-picture{background:#d5d5e8}.keepsake-picture img{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.keepsake-link-title{font:23px/1.2 Caprasimo,Georgia,serif;text-align:center;padding:20px;overflow-wrap:anywhere}.keepsake-source{position:absolute;bottom:0;left:0;right:0;text-align:center;background:#fffaf0e8;font-size:10px;letter-spacing:.5px;padding:5px 8px;overflow-wrap:anywhere}.keepsake-card-copy{padding:15px 7px 0}.keepsake-card h4{font:19px/1.25 Caprasimo,Georgia,serif;margin:0 0 12px;overflow-wrap:anywhere}.keepsake-note{font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 12px}.keepsake-card-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e5dfcf;font-size:12px;gap:15px}.keepsake-card-foot a{display:inline-flex;align-items:center;min-height:44px}.keepsake-card-foot .keepsake-text{font-size:12px!important}.keepsake-back{display:block;margin:-8px 0 20px}.keepsake-form{display:grid;gap:19px}.keepsake-form label{font-size:13px;font-weight:700;display:block}.keepsake-form input,.keepsake-form textarea{display:block;width:100%;min-height:48px;padding:12px 13px;border:1px solid #c4bea6;border-radius:4px;background:#fffdf4;margin-top:7px;font-size:16px;line-height:1.4}.keepsake-form textarea{resize:vertical;max-height:260px}.keepsake-form-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:5px}.keepsake-status{font-size:14px;color:#365f43;white-space:pre-line;margin:16px 0 0;overflow-wrap:anywhere}.keepsake-status:empty{display:none}.memory-keep{display:block;width:100%;min-height:44px;border:1px dashed #9aa997;background:transparent;border-radius:4px;font:700 13px DogeSans,system-ui,sans-serif;color:#3e5e4c;cursor:pointer;margin-top:12px}.memory-keep:hover{background:#e8edda}.scrapbook-personal{display:inline-flex;gap:14px;align-items:center;min-height:48px;padding:12px 20px;border:1px solid #9db5c0;background:#cee2e9;color:inherit;border-radius:5px;font:700 15px DogeSans,system-ui,sans-serif;cursor:pointer;margin:0 0 8px}.scrapbook-personal:hover{background:#bed9e5}
@media(max-width:760px){.keepsake-book{width:calc(100vw - 24px);height:calc(100dvh - 32px);border-width:5px;border-left-width:8px;border-radius:7px 13px 13px 7px}.keepsake-book[open]{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.keepsake-cover{padding:22px 56px 20px 24px;min-height:118px;box-shadow:inset 0 -5px 14px #3b526b12}.keepsake-cover:after{display:none}.keepsake-cover .keepsake-kicker{margin:0 0 10px;font-size:9px;letter-spacing:1.3px}.keepsake-cover h2{font-size:30px;letter-spacing:-.8px;margin:0}.keepsake-cover h2 br{display:none}.keepsake-photo,.keepsake-owner,.keepsake-cover>a{display:none}.keepsake-sheet{padding:26px 23px 23px;position:static}.keepsake-close{top:8px;right:7px;background:#ffffff70;z-index:3}.keepsake-page h3{font-size:29px}.keepsake-page>.keepsake-kicker{margin-bottom:15px}.keepsake-heading{gap:15px;margin-bottom:24px;padding-bottom:22px}.keepsake-heading h3{font-size:27px}.keepsake-intro{font-size:17px}.keepsake-grid{gap:22px 14px}.keepsake-card{padding:8px}.keepsake-card-copy{padding:13px 4px 0}.keepsake-picture{min-height:125px}.keepsake-link-title{font-size:20px;padding:16px}.keepsake-form{gap:17px}.keepsake-empty{margin:10px 0;padding:30px 20px;min-height:250px}.keepsake-card h4{font-size:19px}}
@media(max-width:450px){.keepsake-grid{grid-template-columns:1fr}.keepsake-picture{aspect-ratio:1.7}.keepsake-link-title{font-size:27px}.keepsake-card h4{font-size:22px}.keepsake-note{font-size:15px}.keepsake-heading .keepsake-primary{width:100%}.keepsake-cover h2{font-size:26px}.keepsake-form-actions .keepsake-primary{width:100%}}
@media(prefers-reduced-motion:no-preference){.keepsake-book[open]{animation:book-open .25s ease-out}@keyframes book-open{from{opacity:0;transform:translateY(12px) rotate(-1deg)}to{opacity:1;transform:none}}}
.keepsake-remove-slip{flex-basis:100%;padding:16px 18px;background:#efd4bd;border:1px solid #c7a78d;border-radius:3px}.keepsake-remove-slip p{font:14px/1.5 DogeSans,system-ui,sans-serif;margin:0 0 9px}.keepsake-remove-slip button+button{margin-left:24px}
