.mascot-wrap{width:132px;height:132px}.guide-small .mascot-wrap{width:84px;height:84px}.mascot-sprite{display:block;width:100%;height:100%;background-image:url('assets/dolphinho-sprites.png');background-size:200% 200%;background-position:0 0;animation:dolphin-wave 7s step-end infinite,dolphin-float 4s ease-in-out infinite;transform-origin:50% 75%}.mascot-wrap[data-mood=happy] .mascot-sprite{animation:dolphin-celebrate 6s step-end infinite,dolphin-float 3.5s ease-in-out infinite}.mascot-wrap[data-mood=thoughtful] .mascot-sprite{animation:dolphin-wink 8s step-end infinite,dolphin-float 5s ease-in-out infinite}.mascot-wrap.is-cheering .mascot-sprite{animation:dolphin-cheer .9s ease-in-out;background-position:100% 100%}.mascot-wrap:after{content:'✧';position:absolute;right:7px;top:20px;color:#c38483;font-size:17px;animation:guide-sparkle 6s ease-in-out infinite;pointer-events:none}.guide-small .mascot-wrap:after{font-size:12px;right:0;top:5px}.album-cover-editor{background:linear-gradient(130deg,#d7bfac,#e7d3bf);border:1px solid #d8bdad;border-radius:16px;padding:27px;margin:20px 0}.cover-scene{height:310px;display:grid;place-items:center;perspective:1000px}.cover-book{width:210px;height:285px;border:1px solid #ae6471;border-left:9px solid #713744;background:#a54d61;border-radius:3px 10px 10px 3px;box-shadow:12px 15px 25px #5c332d33;transform:rotate(-6deg) rotateY(-12deg);padding:19px 15px;color:#fff0db;position:relative;text-align:center}.cover-book:before{content:'';position:absolute;left:-6px;right:0;top:5px;height:1px;background:#f0b5a65c}.cover-book .eyebrow{font-size:6px;letter-spacing:1.6px}.cover-photo-window{height:172px;margin:13px 0 11px;overflow:hidden;border:5px solid #f3decb;position:relative}.cover-photo-window img{object-fit:cover;object-position:var(--cover-x,50%) var(--cover-y,50%);transform:scale(var(--cover-zoom,1));transform-origin:var(--cover-x,50%) var(--cover-y,50%)}.cover-book h3{font-size:19px;font-family:var(--serif);font-style:italic;font-weight:500;letter-spacing:-.6px;overflow-wrap:anywhere}.cover-book>small{font-size:6px;letter-spacing:2px;margin-top:8px;display:block}.cover-controls{background:#fff6ea80;padding:17px;border-radius:10px;margin-top:20px}.cover-controls label{font-size:9px;margin-bottom:13px}.cover-controls input[type=range]{padding:0;border:0;background:transparent;accent-color:#af5266;margin-top:10px;height:18px}.cover-controls .field-row{gap:20px}.cover-controls label:last-child{margin:0}.cover-controls>.chip{margin-top:8px}.cover-thumbnails{display:flex;gap:7px;overflow-x:auto;padding-bottom:5px;margin:14px 0 0}.cover-thumb{width:55px;height:67px;padding:3px;background:#fff;border:1px solid #c7a89a;border-radius:7px;flex-shrink:0;position:relative}.cover-thumb.active{border:2px solid #af5266}.cover-thumb img{border-radius:4px}.cover-thumb span{font-size:6px;position:absolute;left:5px;right:5px;bottom:6px;text-align:center;background:#fff9eecc;padding:3px;color:#875c53}.album-intro-icon{display:inline-flex;border:1px solid #dcb5a0;border-radius:8px;width:40px;height:45px;align-items:center;justify-content:center;font-size:23px;color:#ad5f68;margin-bottom:10px}.moment-editor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.moment-editor-card{position:relative;border:1px solid #dfccb8;border-radius:7px;background:#fbf1df;padding:17px 9px 10px;text-align:center;box-shadow:0 3px 5px #7e523815;aspect-ratio:.85}.moment-editor-card:before{content:'▣';display:grid;place-items:center;height:50%;background:#fff9ed;margin:0 4px 10px;font-size:25px;color:#b9a283;border:1px solid #e3d3bb}.moment-editor-card input{font-family:var(--serif);font-style:italic;font-size:10px;padding:7px;text-align:center;border:1px solid #e3d3bb;line-height:1.5;margin-top:0}.moment-editor-card button{position:absolute;right:5px;top:3px;background:transparent;border:0;color:#9d7765;font-size:15px}.moments-header{display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:1px;color:#9e7d67}.openwhen-editor{background:#ecdfd0;border:1px solid #d5bdaa;border-radius:13px;padding:18px;margin-bottom:17px}.openwhen-editor summary{font-family:var(--serif);font-size:20px;font-style:italic;font-weight:500;color:#785144}.openwhen-editor label{margin-top:20px}.openwhen-editor textarea{font-family:var(--serif);line-height:1.7;font-size:14px;min-height:140px}.openwhen-editor .text-button{font-size:8px}.album-cassette-note{display:flex;align-items:center;gap:14px;padding:18px;background:#eadbd0;border-radius:12px;margin-top:18px}.album-cassette-note>span{font-size:35px;color:#a46b68}.album-cassette-note p{font-size:10px;line-height:1.8;color:#8c6d5e}.album-chapters-summary{display:flex;align-items:center;gap:12px;margin-bottom:20px;background:#eddbd0;border-radius:10px;padding:14px}.album-chapters-summary>span{font-size:25px;color:#ad5f68}.album-chapters-summary b{font-size:11px;font-weight:500}.album-chapters-summary small{display:block;font-size:8px;color:#957465;margin-top:5px}.album-pages-stage{background:#f9eddb;border:6px solid #e7d0b6;border-left:9px solid #a35d64;border-right:9px solid #a35d64;border-radius:3px 7px 7px 3px;box-shadow:0 10px 30px #78523e23;min-height:370px;height:auto;display:grid;grid-template-columns:1fr 1fr;position:relative;color:#684837;overflow:hidden;animation:album-page-turn .5s ease-out;transform-origin:left center}.album-pages-stage:after{content:'';position:absolute;top:0;bottom:0;left:50%;width:18px;transform:translateX(-50%);background:linear-gradient(90deg,#70573500,#70573520,#70573500);pointer-events:none;z-index:3}.album-page{padding:27px 22px;min-width:0;position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.album-page .eyebrow{font-size:7px;color:#957457;letter-spacing:1.2px}.album-page h3{font-family:var(--serif);font-weight:500;font-size:28px;line-height:1.25;margin:17px 0;letter-spacing:-1px;overflow-wrap:anywhere}.album-page p{font-family:var(--serif);font-size:15px;line-height:1.8;white-space:pre-line;overflow-wrap:anywhere}.album-page small{font-size:8px;color:#a58464;line-height:1.8;margin-top:15px}.album-page .photo-print{width:100%;background:#fffaf0;padding:8px 8px 18px;box-shadow:0 9px 18px #7e523823;transform:rotate(-4deg);margin:13px 0}.album-page:nth-child(2) .photo-print{transform:rotate(5deg)}.photo-print img{height:220px}.photo-print>span{font-family:var(--serif);font-size:12px;font-style:italic;display:block;margin-top:12px;color:#9b7058}.album-preview-cover{background:#e7d1ba;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:470px;border-radius:12px;position:relative}.album-preview-cover .cover-book{transform:rotate(-4deg);width:235px;height:320px;padding:23px}.album-preview-cover .cover-photo-window{height:195px}.album-preview-cover .cover-book h3{font-size:23px}.album-preview-cover>p{font-size:8px;letter-spacing:1.5px;margin-top:30px;color:#957465}.wax-envelope{width:190px;max-width:100%;height:135px;background:#d6b891;border:1px solid #c09a6e;position:relative;margin:20px 0;cursor:pointer;border-radius:3px;box-shadow:0 10px 20px #6d4b2420;display:grid;place-items:center;color:#b05465;font-size:27px}.wax-envelope:before{content:'';position:absolute;left:0;right:0;top:0;height:65%;background:#ecd1aa;clip-path:polygon(0 0,100% 0,50% 100%);transition:transform .5s;transform-origin:top}.wax-envelope:after{content:'♡';display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#b04f62;color:#f2d3ba;z-index:1;font-size:20px}.wax-envelope.open:before{transform:rotateX(160deg)}.wax-envelope.open:after{opacity:.5}.album-letter-paper{background:#fff7e7;padding:20px;border:1px solid #ddc8a9;box-shadow:0 4px 12px #7b543819;max-height:300px;overflow-y:auto;text-align:left;width:100%;animation:letter-unfold .4s ease}.album-letter-paper p{font-family:var(--serif);font-size:15px;line-height:1.9;white-space:pre-line}.album-letter-paper em{display:block;text-align:right;margin-top:20px;font-size:17px}.cassette{width:190px;max-width:100%;height:122px;background:#654346;border:5px solid #8e6661;border-radius:11px;padding:12px;position:relative;box-shadow:0 13px 19px #78523e23;margin:24px 0}.cassette-label{background:#f3e1c5;height:48px;border-radius:3px;font-family:var(--serif);font-size:13px;color:#725240;display:grid;place-items:center;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;padding:5px}.cassette-reels{display:flex;justify-content:space-between;padding:10px 10px}.cassette-reels span{height:29px;width:29px;border:6px dotted #d6b895;background:#654346;border-radius:50%;animation:spin 9s linear infinite}.cassette:after{content:'';position:absolute;height:10px;left:28px;right:28px;bottom:3px;border:2px solid #a38174;border-radius:5px}.album-timeline-list{display:flex;flex-direction:column;gap:17px;width:100%;max-height:310px;overflow:auto;text-align:left;border-left:1px solid #c29a70;padding-left:18px}.album-timeline-item{position:relative}.album-timeline-item:before{content:'♡';position:absolute;left:-26px;top:2px;font-size:13px;background:#f9eddb;color:#b86873}.album-timeline-item b{font-family:var(--serif);font-size:16px;font-weight:500}.album-timeline-item small{display:block;font-size:7px;margin-top:7px}.album-timeline-item p{font-family:var(--sans);font-size:8px;margin-top:6px;line-height:1.6}.album-slides-spread,.album-letters-spread,.album-places-spread{grid-template-columns:1fr;min-height:420px}.album-slides-spread:after,.album-letters-spread:after,.album-places-spread:after{display:none}.album-slides-spread{padding:28px 25px;background:#efe7d6}.album-spread-title{font-family:var(--serif);font-weight:500;font-size:27px;text-align:center;color:#74513d;margin-bottom:15px}.slide-light-table{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.interactive-slide{position:relative;border:3px solid #dacfb8;border-radius:5px;background:#fffaf0;padding:7px;box-shadow:0 5px 8px #785f3e13;min-height:103px;text-align:center;cursor:pointer;margin:0}.slide-placeholder{height:60px;display:grid;place-items:center;background:#f5ecdc;border:1px solid #e8d6bc;font-size:23px;color:#c4b090}.interactive-slide>img{height:60px;object-fit:cover}.interactive-slide>b{font-family:var(--serif);font-weight:500;font-style:italic;font-size:10px;line-height:1.4;display:block;margin:7px 0 2px;color:#8a654d}.interactive-slide>small{font-size:6px;margin-top:4px;color:#a1846c;display:block}.album-spread-note{font-size:8px;color:#a18365;line-height:1.8;text-align:center;margin-top:18px}.album-letters-spread{background:#e4cdb5;padding:28px 25px}.letter-drawer{padding:20px;background:#987554;border:1px solid #7c5c3f;border-radius:5px;box-shadow:inset 0 0 15px #52371d27}.drawer-letter{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f9e9cc;border:1px solid #d7b991;padding:15px;margin-bottom:7px;width:100%;text-align:left;font-family:var(--serif);font-size:15px;font-style:italic;color:#875a42;transform:rotate(-1deg);box-shadow:0 3px 6px #37200e20}.drawer-letter:nth-child(2n){background:#efd7bf;transform:rotate(1deg)}.drawer-letter>span{font-size:10px;color:#bc7b74}.opened-drawer-letter{background:#fff6e4;border:1px solid #d7b891;border-radius:3px;padding:22px;margin-top:20px;animation:letter-unfold .4s ease}.opened-drawer-letter h4{font-size:22px;letter-spacing:-.5px;color:#98654a}.opened-drawer-letter p{font-family:var(--serif);font-size:16px;line-height:1.9;white-space:pre-line;color:#7d5a43;margin-top:17px}.opened-drawer-letter small{display:block;font-family:var(--serif);font-style:italic;text-align:right;font-size:15px;margin-top:15px;color:#b05d68}.album-places-spread{padding:28px 24px}.album-atlas{display:grid;grid-template-columns:1fr 1fr;gap:12px}.album-place-card{padding:12px;border:1px solid #dcc5a4;border-radius:4px;background:#fff6e5;min-width:0}.album-place-card img{height:95px;border:4px solid #fffaf0;margin-bottom:10px}.album-place-card h4{font-size:17px;letter-spacing:-.4px;color:#94634c;margin:8px 0}.album-place-card p{font-size:9px;line-height:1.8;color:#8f735b}.album-place-card small{font-size:7px;color:#b38a70}.future-destinations{border-top:1px dashed #cba978;margin-top:20px;padding-top:18px}.future-destinations h4{font-size:20px;letter-spacing:-.5px;color:#986a4b}.future-destinations p{font-size:10px;line-height:1.8;color:#967252;margin-top:10px}.album-turn-back .album-pages-stage{animation-name:album-page-turn-back}
@keyframes dolphin-wave{0%,58%,100%{background-position:0 0}62%,70%,78%{background-position:100% 0}66%,74%{background-position:0 100%}84%,90%{background-position:100% 100%}}@keyframes dolphin-celebrate{0%,50%,100%{background-position:0 0}54%,70%{background-position:100% 100%}60%,78%{background-position:100% 0}85%{background-position:0 100%}}@keyframes dolphin-wink{0%,73%,100%{background-position:0 0}76%,83%{background-position:0 100%}87%,92%{background-position:100% 0}}@keyframes dolphin-float{50%{transform:translateY(-5px) rotate(2deg)}}@keyframes dolphin-cheer{0%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(-11px) rotate(-7deg)}65%{transform:translateY(-6px) rotate(6deg)}}@keyframes guide-sparkle{0%,65%,100%{opacity:0;transform:scale(.5)}75%,85%{opacity:.8;transform:scale(1)}}@keyframes album-page-turn{from{opacity:.4;transform:perspective(1000px) rotateY(-16deg)}to{opacity:1;transform:perspective(1000px) rotateY(0)}}@keyframes album-page-turn-back{from{opacity:.4;transform:perspective(1000px) rotateY(16deg)}to{opacity:1;transform:perspective(1000px) rotateY(0)}}@keyframes letter-unfold{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}
@media(max-width:700px){.mascot-wrap{width:116px;height:116px}.guide-small .mascot-wrap{width:72px;height:72px}.album-cover-editor{padding:22px 18px}.cover-scene{height:285px}.cover-book{width:195px;height:265px;padding:17px 13px}.cover-photo-window{height:158px}.cover-book h3{font-size:18px}.moment-editor-grid{gap:7px}.moment-editor-card{padding:15px 7px 8px}.moment-editor-card input{font-size:9px;padding:5px}.moment-editor-card:before{font-size:20px;margin-bottom:7px}.album-pages-stage{min-height:340px;border-width:5px}.album-page{padding:23px 13px}.album-page h3{font-size:22px;margin:14px 0}.album-page p{font-size:13px}.album-page small{font-size:7px}.album-page .eyebrow{font-size:6px;letter-spacing:.8px}.photo-print img{height:175px}.photo-print>span{font-size:10px}.album-preview-cover{min-height:430px}.album-preview-cover .cover-book{width:210px;height:290px}.album-preview-cover .cover-photo-window{height:170px}.album-preview-cover .cover-book h3{font-size:20px}.wax-envelope{height:107px;width:145px}.album-letter-paper{padding:13px;max-height:270px}.album-letter-paper p{font-size:12px;line-height:1.8}.album-letter-paper em{font-size:14px}.cassette{height:103px;padding:9px;border-width:4px}.cassette-label{font-size:10px;height:40px}.cassette-reels{padding:6px}.cassette-reels span{width:23px;height:23px;border-width:4px}.album-timeline-item b{font-size:13px}.album-timeline-list{max-height:285px;padding-left:12px;gap:13px}.album-timeline-item:before{left:-20px}.album-slides-spread,.album-letters-spread,.album-places-spread{padding:25px 15px}.slide-light-table{grid-template-columns:repeat(3,1fr);gap:7px}.interactive-slide{padding:5px;min-height:98px}.slide-placeholder,.interactive-slide>img{height:50px}.interactive-slide>b{font-size:9px}.interactive-slide>small{font-size:5px}.album-spread-title{font-size:24px}.letter-drawer{padding:13px}.drawer-letter{font-size:13px;padding:14px 12px}.opened-drawer-letter{padding:18px}.opened-drawer-letter h4{font-size:20px}.opened-drawer-letter p{font-size:14px}.album-place-card{padding:9px}.album-place-card h4{font-size:15px}.album-place-card p{font-size:8px}.album-place-card img{height:90px}.future-destinations p{font-size:9px}.album-atlas{gap:9px}}
@media(prefers-reduced-motion:reduce){.mascot-sprite,.mascot-wrap.is-cheering .mascot-sprite{animation:none!important;background-position:0 0}.mascot-wrap:after{display:none}.album-pages-stage,.album-letter-paper,.opened-drawer-letter{animation:none!important}.cassette-reels span{animation:none!important}.wax-envelope:before{transition:none}}

.cover-photo-window img{width:100%;height:100%;display:block}.album-page img{max-height:280px;width:100%;object-fit:cover;border:6px solid #fff7ea}.album-page p,.opened-drawer-letter p,.album-letter-paper p{white-space:pre-wrap}.mascot-wrap{position:relative}#wizard-preview:has(.album-pages-stage),#wizard-preview:has(.slide-light-table){width:min(820px,94vw)}
