/* Personal photographs always keep their entire original composition. */
.hero-right{width:min(100%,330px);justify-self:center}.hero-polaroid .hero-photo-button img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}.hero-photo-button{padding:0;background:#fffdf9}.hero-polaroid{padding:13px 13px 10px}.hero-right .anime-sticker{bottom:33px;right:-23px}.photo-thumbs img{object-fit:contain;background:#faf7ee}.photo-thumbs button{width:56px;height:52px}
.book-photo{position:relative;display:block;width:fit-content;max-width:100%;padding:12px 12px 47px;background:#fffef9;border:1px solid #e6e0d2;box-shadow:3px 5px 12px #7f735a1c;transform:rotate(2deg);text-align:center;flex-shrink:1;z-index:3}.book-photo:hover{filter:brightness(1.015)}.book-photo>img{display:block;width:auto;height:auto;max-width:100%;max-height:470px;max-height:min(58vh,470px);aspect-ratio:auto;object-fit:contain;box-shadow:none}.book-photo-caption{position:absolute;left:10px;right:10px;bottom:16px;font-family:var(--serif);font-size:11px;letter-spacing:2px;color:#7b796a;line-height:1.8}.book-photo-meta{position:absolute;left:12px;right:12px;top:calc(100% + 15px);font-family:var(--hand);font-size:12px;letter-spacing:1px;color:#b2a58d}.book-photo:before{content:'';position:absolute;top:-12px;left:calc(50% - 36px);width:72px;height:25px;background:#dbe1c6b3;clip-path:polygon(2% 1%,98% 4%,100% 97%,0 100%);transform:rotate(-8deg);z-index:2}.frame-polaroid{transform:rotate(-3deg);background:#fffef9;padding:13px 13px 55px;border-color:#e9e4d7}.frame-polaroid .book-photo-caption{bottom:19px}.frame-film{background:#44483e;border-color:#31382b;padding:23px 14px 42px;transform:rotate(2deg);box-shadow:5px 7px 13px #4c51332b}.frame-film:before{background:#e9c9c3b3;transform:rotate(6deg)}.frame-film:after{content:'';position:absolute;left:11px;right:11px;top:7px;height:7px;background:repeating-linear-gradient(90deg,#e7dfc2 0 11px,transparent 11px 21px);opacity:.9}.frame-film .book-photo-caption{color:#e7e0cc;bottom:12px;font-size:10px}.frame-film .book-photo-meta{color:#9f997f}.frame-deckle{padding:18px 18px 49px;background:#f5eddc;border:1px solid #d1c0a4;outline:4px solid #f8f1e2;outline-offset:2px;box-shadow:0 0 0 7px #d9cbb34d,3px 6px 15px #7f735a20;transform:rotate(-2deg)}.frame-deckle:before{background:#ded8bcbf;width:85px;left:calc(50% - 42px)}.frame-deckle>img{outline:1px solid #d6c8ad;outline-offset:5px}.frame-travel{padding:17px 17px 48px;background:#eef1e5;border:1px solid #bec9ad;box-shadow:inset 0 0 0 6px #dde5d0,4px 6px 15px #6e805326;transform:rotate(2deg)}.frame-travel:before{background:#e6d7acc7;left:auto;right:-8px;top:12px;transform:rotate(40deg)}.frame-travel .book-photo-caption{color:#78866a}.frame-birthday{padding:17px 17px 51px;background:#fbf0ef;border:1px solid #d8b9be;box-shadow:inset 0 0 0 6px #f8e3e5,4px 6px 15px #9b738020;transform:rotate(-2deg)}.frame-birthday:before{background:#d7d1e4bb;transform:rotate(7deg)}.frame-birthday .book-photo-caption{color:#a17884}

.photo-book{position:relative;outline-offset:8px;padding-bottom:10px}
.photo-book:focus-visible{outline:1px dashed #9ca98d;outline-offset:7px}
.book-rest{position:relative;max-width:min(900px,max(680px,calc((100svh - 145px)*1.3846)));margin:0 auto;padding:8px 0 16px;isolation:isolate}
.book-underlay{position:absolute;inset:5px -6px 7px;background:#a4b19b;border-radius:5px 9px 9px 5px;box-shadow:0 4px 0 #7d9073,0 7px 0 #f7f0df,0 9px 0 #d7ceba,0 12px 0 #f5eddb,0 24px 38px #68765122;z-index:-1}
.flip-book{--leaf-height:650px;margin:auto;position:relative;user-select:none;-webkit-user-select:none;touch-action:pan-y;filter:drop-shadow(0 4px 6px #6e68481a)}
.flip-leaf{background:#fffaf0;color:#69705c;border:1px solid #e0d7c5;overflow:hidden}
.flip-leaf.--left{background:linear-gradient(90deg,#fdf9ef 92%,#ece4d1 100%);border-radius:3px 0 0 3px}
.flip-leaf.--right{background:linear-gradient(90deg,#eae2ce 0,#fcf8ed 6%,#fffaf1 22%);border-radius:0 3px 3px 0}
.leaf-content{position:relative;height:100%;width:100%;padding:25px 29px 20px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:12px;isolation:isolate}
.leaf-content>*:not(.leaf-doodle){position:relative;z-index:1}
.leaf-heading{display:flex;justify-content:space-between;align-items:center;color:#8b967a;font-size:9px;letter-spacing:2px}
.leaf-number{font-family:var(--hand);font-size:20px;letter-spacing:0;color:#b8ab90}
.leaf-content h3{font-family:var(--serif);font-weight:500;font-size:22px;line-height:1.6;letter-spacing:1px;margin:0;color:#67715d}
.leaf-photo-space{display:flex;align-items:center;justify-content:center;min-height:0;min-width:0;padding:15px 8px 12px}
.book-photo{max-width:100%;flex-shrink:1;margin:0;cursor:zoom-in;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.book-photo>img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(var(--leaf-height,650px) - 295px);aspect-ratio:auto;object-fit:contain;pointer-events:none}
.book-photo-caption{font-size:10px;letter-spacing:1px;line-height:1.7}
.leaf-note{font-family:var(--serif);font-size:11px;text-align:center;line-height:1.9;letter-spacing:.4px;color:#968b75;margin:0;padding-top:4px}
.leaf-footer{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #d8cdb84f;padding-top:10px;font-size:8px;letter-spacing:1px;color:#aaa28c}
.leaf-doodle{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;fill:none;stroke:#9aaa87;stroke-width:1;opacity:.4;vector-effect:non-scaling-stroke}
.leaf-doodle .doodle-pencil{stroke:#ccb68c;stroke-width:.6}.leaf-doodle .doodle-flower{stroke:#ba8d9c;stroke-width:.9}
.book-cover{background:#a8b89b!important;border:1px solid #849475!important;color:#fff9e9!important}
.cover-content{height:100%;padding:10% 12%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:inset 9px 0 12px #6273542b,inset 0 0 0 9px #ffffff10;background:repeating-linear-gradient(90deg,#ffffff05 0 1px,transparent 1px 4px)}
.cover-flower{font-size:53px;line-height:1;color:#f6edd6;margin-bottom:24px}.cover-hand{font-family:var(--hand);font-size:16px;margin:0 0 17px;line-height:1.6}
.cover-content h3{font-family:var(--serif);font-size:clamp(28px,3vw,44px);font-weight:500;line-height:1.65;letter-spacing:5px;margin:0;color:inherit}
.cover-rule{width:44px;height:1px;background:#f5eac87d;margin:22px auto 8px}.cover-content>p:not(.cover-hand){font-size:11px;line-height:2.3;letter-spacing:2px}.cover-date{font-size:9px;letter-spacing:2px;line-height:2.5;margin-top:auto;padding-top:22px}
.closing-leaf{display:flex;flex-direction:column;justify-content:center;padding:35px;gap:21px}
.closing-leaf-flower{font-size:52px;color:#c39ba2}.closing-leaf h3{font-size:26px;line-height:1.9}.closing-leaf>p:not(.cover-hand){font-size:12px;line-height:2.5;color:#8a8b77;margin:0}.closing-leaf .closing-sign{font-size:10px!important}.closing-leaf .leaf-footer{position:absolute;bottom:22px;left:29px;right:29px}
.back-cover{background:#9aab8e!important}.back-cover .cover-flower{margin-bottom:32px}
.book-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:26px 3px 15px;max-width:750px;margin:auto}
.book-turn{min-width:104px;padding:11px 20px;border:1px solid #c7d0bb;border-radius:24px;color:#718264;background:#eff2e6;font-size:11px;letter-spacing:1px;transition:background .15s}
.book-turn:hover:not(:disabled){background:#e3ead7}.book-turn:disabled{opacity:.4;cursor:default}.book-counter{text-align:center;color:#92947d;font-size:10px;letter-spacing:1px}
.book-page-tabs{display:flex;align-items:center;justify-content:center;gap:11px;padding:9px 0}
.book-page-tab{width:44px;height:49px;padding:4px;background:#fffdf7;border:1px solid #ded7c6;opacity:.58;transform:rotate(-3deg);box-shadow:0 2px 4px #756b5210}
.book-page-tab:nth-child(odd){transform:rotate(3deg)}.book-page-tab[aria-pressed=true]{opacity:1;border-color:#b48b99;outline:2px solid #ead5da;outline-offset:2px}.book-page-tab img{display:block;width:100%;height:100%;object-fit:contain}
.book-cover-tab{color:#8b947d;font-size:9px;background:none;padding:7px 3px;letter-spacing:1px}.book-cover-tab[aria-pressed=true]{color:#ad7888;text-decoration:underline;text-underline-offset:5px}
.album-note{font-size:9px;line-height:2.2;margin-top:15px}.album-section .section-top{margin-bottom:33px}
.photo-book[data-ready=false] .flip-book{height:650px;overflow:hidden}.photo-book[data-ready=false] .flip-leaf{display:none}.photo-book[data-ready=false] .flip-leaf:nth-child(2){display:block;height:100%;width:50%;margin:auto}
.photo-book[data-orientation=portrait] .book-underlay{display:none}.photo-book[data-orientation=portrait] .flip-book{filter:drop-shadow(3px 7px 4px #776e4926)}
@media(max-width:1050px){.hero-right{width:min(100%,300px)}.leaf-content{padding:22px 22px 18px;gap:9px}.leaf-content h3{font-size:20px}.leaf-note{font-size:10px}.book-photo{padding-left:10px;padding-right:10px}.frame-film{padding-top:22px}.frame-deckle,.frame-travel,.frame-birthday{padding-left:13px;padding-right:13px}}
@media(max-width:700px){.hero-right{width:calc(100% - 36px);max-width:285px;margin:0;justify-self:center}.hero-polaroid .hero-photo-button img{height:auto;aspect-ratio:auto;object-fit:contain}.book-rest{padding:8px 0 10px}.leaf-content{padding:18px 22px;gap:8px}.leaf-heading{font-size:8px}.leaf-content h3{font-size:19px}.leaf-note{font-size:10px}.book-photo{max-width:100%;padding-bottom:39px}.book-photo>img{max-height:calc(var(--leaf-height,500px) - 250px)}.book-photo-caption{bottom:11px;font-size:9px}.frame-polaroid .book-photo-caption{bottom:13px}.frame-film .book-photo-caption{bottom:11px;font-size:9px}.frame-deckle{outline-width:2px;outline-offset:2px}.leaf-footer{font-size:7px;padding-top:8px}.book-controls{gap:7px;padding:22px 0 12px}.book-turn{min-width:81px;padding:10px 12px;font-size:10px}.book-counter{font-size:9px;letter-spacing:0}.book-page-tabs{gap:8px}.book-page-tab{width:35px;height:42px;padding:3px}.book-cover-tab{font-size:8px;padding:5px 0}.album-note{font-size:8px;letter-spacing:.3px}.cover-content h3{font-size:30px}.cover-flower{font-size:43px;margin-bottom:17px}.cover-hand{font-size:14px}.cover-date{font-size:8px}.closing-leaf{padding:28px;gap:16px}.closing-leaf h3{font-size:24px}.closing-leaf>p:not(.cover-hand){font-size:11px}.photo-book[data-ready=false] .flip-book{height:500px}.photo-book[data-ready=false] .flip-leaf:nth-child(2){width:100%}}
@media(prefers-reduced-motion:reduce){.book-turn{transition:none}}
