/* Each small object belongs to its chapter. */
.theme-sticker{position:absolute;object-fit:contain;pointer-events:none;z-index:4}
.stage-masks{right:-1%;top:18%;width:19%;height:13%;transform:rotate(8deg)}
.rhythm-notes{right:-4%;bottom:-3%;width:31%;height:15%;transform:rotate(9deg)}
.friends-camera{left:-3%;top:59%;width:27%;height:16%;transform:rotate(-10deg)}
.listening-headphones{left:13%;bottom:1%;width:22%;height:15%;transform:rotate(-9deg)}
.snow-pass{position:absolute;right:-5%;top:32%;width:27%;height:38%;padding:0;transform:rotate(7deg);z-index:4;transition:transform .25s}
.snow-pass:hover{transform:rotate(2deg) translateY(-4px)}.pass-paper{inset:0;width:100%;height:100%}.pass-writing{position:absolute;left:8%;right:8%;top:44%;text-align:center;display:flex;flex-direction:column;gap:7px;color:#566977;font-size:23px;line-height:1.2}.pass-writing small{font:17px var(--hand);text-decoration:underline;text-underline-offset:3px}
.photo-pocket{position:absolute;left:20%;top:68%;width:74%;height:27%;padding:0;transform:rotate(-4deg);z-index:3;filter:drop-shadow(1px 4px 4px #72556120);transition:transform .25s}.photo-pocket:hover{transform:rotate(-1deg) translateY(-4px)}.pocket-prints{position:absolute;left:5%;right:5%;top:0;height:80%;display:block}.pocket-prints img{position:absolute;top:0;width:47%;height:100%;padding:5px 5px 14px;background:#fffdf8;object-fit:cover;transform:rotate(-9deg);box-shadow:0 1px 4px #8069742b}.pocket-prints img:nth-child(2){left:47%;transform:rotate(11deg)}.pocket-paper{position:absolute;left:0;bottom:0;width:100%;height:70%;background:#eedce0;border:1px solid #d6bbc5;border-radius:2px;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:26px;line-height:1.2;box-shadow:inset 0 -5px 8px #b893a00b}.pocket-paper:before{content:'';position:absolute;inset:0;background:linear-gradient(32deg,transparent 48%,#d4b7c244 49%,#d4b7c200 50%),linear-gradient(-32deg,transparent 48%,#d4b7c244 49%,#d4b7c200 50%);pointer-events:none}.pocket-paper small{font-size:18px;text-decoration:underline;text-underline-offset:4px;margin-top:6px}.pocket-paper>span,.pocket-paper>small{position:relative}
.album-viewer{padding:28px 32px 21px;border:1px solid #dec5ce;border-radius:5px;background:#faf5ed;color:var(--ink);max-width:min(920px,94vw);width:760px;max-height:94dvh;box-shadow:0 20px 70px #49314066;overflow:auto}.album-viewer::backdrop{background:#514349b8;backdrop-filter:blur(5px)}.album-close{position:absolute;right:18px;top:11px;min-height:44px;font-size:23px}.album-close>span{padding-left:8px;font-size:28px}.album-title{font:37px/1.3 var(--script);padding:5px 80px 23px 5px}.album-print{background:#fffdf8;padding:9px 9px 12px;box-shadow:1px 3px 8px #51434916}.album-image{width:100%;height:min(53dvh,560px);object-fit:contain;background:#fffdf8}.album-print figcaption{text-align:center;font-size:21px;line-height:1.3;padding-top:8px}.album-controls{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:12px}.album-controls button{min-height:44px;padding:5px 8px;font-size:21px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.album-controls button:disabled{opacity:.3;text-decoration:none}.album-position{font-size:18px;color:#896879}.album-thumbnails{display:flex;justify-content:center;gap:9px;margin-top:12px;padding:3px 2px;flex-wrap:wrap}.album-thumbnail{width:61px;height:55px;padding:3px;background:#fff;border:1px solid #deccd2}.album-thumbnail img{width:100%;height:100%;object-fit:cover}.album-thumbnail[aria-current=true]{outline:2px solid #ad718b;outline-offset:2px}.album-close:hover,.album-controls button:hover{color:#a25877}
@media(min-width:1001px) and (max-width:1150px){.pass-writing{font-size:19px}.pass-writing small{font-size:15px}.pocket-paper{font-size:22px}.pocket-paper small{font-size:16px}.rhythm-notes{bottom:0;width:28%}}
@media(max-width:1000px){.stage-masks{top:20%;width:20%;right:0}.rhythm-notes{width:30%;height:13%;bottom:-1%;right:-2%}.snow-pass{width:27%;height:36%;right:-5%;top:33%}.pass-writing{font-size:21px;gap:6px}.pass-writing small{font-size:16px}.friends-camera{width:24%;top:60%;left:-2%}.photo-pocket{height:27%;top:68%;width:76%;left:20%}.pocket-paper{font-size:24px}.pocket-paper small{font-size:17px}.listening-headphones{left:11%;width:24%;bottom:3%}.album-viewer{padding:23px 14px 16px;max-width:95vw}.album-title{font-size:32px;padding:12px 60px 18px 0}.album-image{height:min(49dvh,470px)}.album-print figcaption{font-size:19px}.album-controls button{font-size:19px;padding-inline:2px}.album-thumbnails{gap:8px}.album-thumbnail{width:53px;height:49px}.album-close{right:12px;top:5px}}
@media(max-width:370px){.pass-writing{font-size:18px;gap:5px}.pass-writing small{font-size:14px}.pocket-paper{font-size:21px}.pocket-paper small{font-size:15px}.album-title{font-size:29px}.album-controls button{font-size:17px}.album-position{font-size:16px}}
@media(prefers-reduced-motion:reduce){.photo-pocket,.snow-pass{transition:none}}
/* Label stays on the physical pass, above its raster paper. */
.snow-pass{width:33%;height:auto;aspect-ratio:3/4;right:-7%;top:32%}
.pass-writing{z-index:5;left:18%;right:18%;top:43%;font-size:22px;gap:5px}
.pass-writing small{font-size:16px;white-space:nowrap}
@media(min-width:1001px){.intro-collage{left:-5%;width:110%}}
@media(max-width:1000px){.snow-pass{width:39%;height:auto;right:-7%;top:33%}.pass-writing{font-size:19px;gap:4px}.pass-writing small{font-size:15px}}
@media(max-width:370px){.pass-writing{font-size:17px;gap:3px}.pass-writing small{font-size:14px}}
/* Paper chapter slips, with their roots tucked beneath the book edge. */
@media(min-width:1001px){
 .page-tabs{left:94%;top:14%;gap:9px;z-index:-3}
 .page-tabs button,.page-tabs button:nth-child(n){--slip:#e4cbd2;--tilt:-.7deg;width:158px;min-height:46px;padding:8px 12px 8px 48px;border:0;border-radius:0;background:repeating-linear-gradient(0deg,#ffffff00 0 2px,#7d556607 2px 3px),var(--slip);box-shadow:1px 2px 2px #7056631a;clip-path:polygon(0 2%,96% 0,100% 6%,99% 94%,96% 99%,0 97%);transform:rotate(var(--tilt));font-size:19px;color:#745861;transition:transform .2s}
 .page-tabs button:nth-child(2){--slip:#ded0d9;--tilt:.8deg}.page-tabs button:nth-child(3){--slip:#e6d7cb;--tilt:-1.2deg}.page-tabs button:nth-child(4){--slip:#d5e0e1;--tilt:.5deg}.page-tabs button:nth-child(5){--slip:#e3c7d1;--tilt:-.8deg}.page-tabs button:nth-child(6){--slip:#ddd3da;--tilt:1deg}
 .page-tabs button:before{content:'';position:absolute;left:31px;top:5px;bottom:5px;width:19px;background:#f4eee264;transform:rotate(-5deg);border-inline:1px solid #dbc9b837;pointer-events:none}
 .page-tabs button[aria-selected=true]{transform:rotate(var(--tilt));background:repeating-linear-gradient(0deg,#ffffff00 0 2px,#7d556607 2px 3px),var(--slip);border:0;color:#573d49}
 .page-tabs button[aria-selected=true]>span{border-bottom:1px solid #8d586da8;border-radius:0 0 43% 25%;padding-bottom:3px}
 .page-tabs button:hover{transform:translateX(3px) rotate(var(--tilt))}
}
@media(min-width:1001px) and (max-width:1150px){.page-tabs button,.page-tabs button:nth-child(n){width:149px;padding-left:43px;font-size:17px}}
@media(max-width:1000px){
 .page-tabs{gap:5px;z-index:3}
 .page-tabs button,.page-tabs button:nth-child(n){border:0;border-radius:0;box-shadow:0 1px 1px #74546216;background-image:repeating-linear-gradient(0deg,#ffffff00 0 2px,#7d556609 2px 3px);clip-path:polygon(1% 3%,98% 0,100% 96%,0 100%);position:relative;overflow:visible}
 .page-tabs button:before{content:'';position:absolute;left:38%;bottom:-2px;height:9px;width:27%;background:#f5eddb7d;transform:rotate(-3deg);pointer-events:none}
 .page-tabs button[aria-selected=true]{transform:translateY(-1px);border:0;background-color:#e6ccd4}
 .page-tabs button[aria-selected=true]>span{border-bottom:1px solid #8d586da8;padding-bottom:2px}
}
/* Doodles are pencil marks on the page, contained within its margins. */
.theme-sticker{filter:none;opacity:.9}
.outside-mountains{left:2%;bottom:0;width:94%;height:29%;object-fit:contain;object-position:center top;z-index:0;opacity:.68}
.stage-masks{width:19%;opacity:.8}.rhythm-notes{opacity:.85}.friends-camera{opacity:.8}.listening-headphones{opacity:.85}
.intro-wings{opacity:.8}
@media(max-width:1000px){.outside-mountains{left:3%;bottom:0;width:92%;height:24%}}
/* Real photograph piles: every visible layer comes from the album. */
.photo-stack{position:absolute;z-index:2;padding:0;background:transparent;text-align:left;overflow:visible;isolation:isolate}
.stack-sheet{position:absolute;inset:0;display:block;background:#fffdf7;padding:8px 8px 29px;box-shadow:1px 2px 3px #56433c25;transform-origin:50% 70%;transition:transform .25s}
.stack-sheet img{width:100%;height:100%;object-fit:cover;object-position:center}
.stack-sheet:nth-child(1){transform:translate(-8px,-14px) rotate(-10deg);z-index:0}
.stack-sheet:nth-child(2){transform:translate(28px,-5px) rotate(10deg);z-index:1}
.stack-sheet.stack-top{transform:none;z-index:5}
.stack-caption{position:absolute;left:10px;right:8px;bottom:4px;font-size:18px;line-height:1.2;white-space:nowrap;color:#756169}
.snow-stack{left:13%;top:30%;width:59%;height:61%;transform:rotate(-4deg)}
.snow-stack:hover .stack-sheet:nth-child(1){transform:translate(-12px,-17px) rotate(-12deg)}
.snow-stack:hover .stack-sheet:nth-child(2){transform:translate(33px,-8px) rotate(12deg)}
.snow-stack .stack-top img{object-position:50% 50%}
.keepsake-stack{left:27%;top:69%;width:59%;height:27%;transform:rotate(-3deg)}
.keepsake-stack .stack-sheet:nth-child(1){transform:translate(-23px,-6px) rotate(-13deg);z-index:0}
.keepsake-stack .stack-sheet:nth-child(2){transform:translate(25px,-10px) rotate(11deg);z-index:1}
.keepsake-stack .stack-sheet:nth-child(3){transform:translate(10px,-23px) rotate(4deg);z-index:2}
.keepsake-stack .stack-sheet:nth-child(4){transform:translate(-12px,-12px) rotate(-7deg);z-index:3}
.keepsake-stack .stack-sheet:nth-child(5){transform:translate(12px,-6px) rotate(6deg);z-index:4}
.keepsake-stack .stack-sheet.stack-top{transform:none;z-index:5}
.keepsake-stack .stack-top img{object-position:50% 25%}
.keepsake-stack:hover .stack-sheet:nth-child(1){transform:translate(-28px,-10px) rotate(-15deg)}
.keepsake-stack:hover .stack-sheet:nth-child(2){transform:translate(31px,-13px) rotate(13deg)}
.friends-camera{left:0;top:62%;width:22%;height:15%}
@media(min-width:1001px) and (max-width:1150px){.stack-sheet{padding:6px 6px 25px}.stack-caption{font-size:15px;left:8px}.snow-stack{width:58%}.keepsake-stack{top:70%;height:26%}}
@media(max-width:1000px){.snow-stack{left:14%;top:31%;width:60%;height:60%}.stack-sheet{padding:7px 7px 28px}.stack-caption{font-size:17px}.keepsake-stack{left:24%;top:70%;width:64%;height:26%}.keepsake-stack .stack-sheet:nth-child(1){transform:translate(-15px,-6px) rotate(-12deg)}.keepsake-stack .stack-sheet:nth-child(2){transform:translate(19px,-10px) rotate(10deg)}.friends-camera{width:22%;top:62%;left:-1%}}
@media(max-width:370px){.snow-stack .stack-sheet:nth-child(2){transform:translate(21px,-6px) rotate(9deg)}.stack-caption{font-size:15px;left:8px}.keepsake-stack{left:24%;width:62%;height:25%}.keepsake-stack .stack-sheet{padding:6px 6px 26px}}
@media(prefers-reduced-motion:reduce){.stack-sheet{transition:none}}
/* One familiar play symbol; the accessible name stays on the video button. */
.film-action{left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%);display:grid;place-items:center;width:46px;height:46px;min-height:0;padding:6px;border:1px solid #fffaf19e;border-radius:50%;background:#fffaf1dc;box-shadow:none;color:#695561}
.film-action svg{width:27px;height:27px}
.photo-button:hover .film-action{background:#fffaf1}
.volleyball-doodle{left:-4%;top:72%;width:19%;height:16%;transform:rotate(-13deg);opacity:.82}
@media(max-width:1000px){.film-action{width:44px;height:44px;padding:6px}.volleyball-doodle{left:-4%;top:72%;width:21%;height:15%}}
