/* Four functional chapters, with paper leaves and persistent music. */
.photo-entry{min-width:0;text-align:center;transform:rotate(-2deg)}.photo-entry:nth-child(2n){transform:rotate(3deg)}.photo-entry .memory-card{width:100%;transform:none}.edit-photo-text{font-size:10px;color:#876073;padding:10px 6px;min-height:36px;text-decoration:underline;text-underline-offset:4px}.caption-thumbnail{display:block;max-width:170px;max-height:180px;object-fit:contain;margin:0 auto 24px}.memory-polaroid figcaption{overflow-wrap:anywhere}.journey-scroll{padding-right:12px}.journey-people{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:30px}.journey-person{display:flex;gap:14px;align-items:center;padding:17px;background:#e4edf3;border:1px solid #172b4d22}.journey-person:nth-child(2){background:#f5e4e8}.journey-person img{object-fit:contain;width:65px;height:65px}.journey-person h2{font-family:var(--hand);font-size:30px;margin:0}.journey-person p{font-size:11px;line-height:1.6;margin:4px 0;overflow-wrap:anywhere}.journey-person small{font-size:8px;color:var(--muted)}.journey-title{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:18px 0}.journey-title h2{font-family:var(--hand);font-size:29px;margin:0}.journey-title>span{font-size:10px;color:var(--muted)}.journey-timeline{position:relative;padding:8px 7px 10px 31px}.journey-timeline:before{content:'';position:absolute;top:0;bottom:0;left:8px;width:2px;background:repeating-linear-gradient(170deg,#c77d9380 0 8px,#e9a9bb 8px 13px);box-shadow:2px 0 0 #e9a9bb33;transform:rotate(-.3deg)}.journey-entry{position:relative;background:#f5ebdd77;border:1px solid #172b4d20;padding:24px;margin-bottom:35px;box-shadow:3px 4px 0 #172b4d08}.journey-entry:nth-child(2n){background:#e4edf344}.journey-entry:before{content:'';position:absolute;width:12px;height:12px;border:3px solid #fffefa;background:#c58299;box-shadow:0 0 0 1px #c58299;left:-29px;top:27px;border-radius:50%}.journey-entry:after{content:'';position:absolute;left:-19px;top:33px;width:19px;border-top:1px solid #c58299}.journey-entry>header{display:flex;justify-content:space-between;gap:12px;font-size:10px;padding-bottom:15px;border-bottom:1px dashed #172b4d25}.journey-entry time{font-size:9px;color:var(--muted)}.journey-answer{margin-top:18px}.journey-answer>span{font-size:9px;color:#8b6373}.journey-answer p{font-size:12px;line-height:1.8;margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere}.journey-entry>footer{display:flex;justify-content:flex-end;gap:20px;margin-top:22px;font-size:10px;color:var(--muted)}.journey-collage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 14px;margin:30px 0 12px;padding:0 3px}.journey-collage figure{position:relative;background:#fffefa;padding:6px 6px 8px;box-shadow:2px 3px 5px #172b4d20;transform:rotate(-4deg);margin:0;min-width:0}.journey-collage figure:nth-child(2n){transform:rotate(5deg);background:#f8e9ed}.journey-collage figure:before{content:'';position:absolute;width:40px;height:15px;top:-8px;left:calc(50% - 20px);background:#c8d9eab3;transform:rotate(-6deg)}.journey-collage img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;display:block}.journey-collage figcaption{font-family:var(--hand);font-size:18px;text-align:center;margin-top:6px}.journey-empty{text-align:center;position:relative;padding:35px 15px 45px}.journey-empty img{object-fit:contain}.journey-empty h2{font-family:var(--hand);font-size:30px;font-weight:400}.journey-empty p{font-size:12px;line-height:1.9}.journey-empty button{margin-top:14px}.track-photo-previews{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.track-photo-previews>div{position:relative}.track-photo-previews img{width:100%;aspect-ratio:1;object-fit:cover;border:5px solid #f5ebdd}.track-photo-previews button{position:absolute;right:0;top:0;background:#172b4d;color:white;border-radius:50%;width:27px;height:27px;font-size:20px}.feature-form-progress{line-height:1.7}
@media(max-width:700px){.journey-scroll{padding-right:4px}.journey-people{grid-template-columns:1fr;gap:10px;margin-bottom:24px}.journey-person{padding:12px;gap:12px}.journey-person img{width:48px;height:48px}.journey-person h2{font-size:25px}.journey-person p{font-size:10px}.journey-title h2{font-size:24px}.journey-title>span{font-size:8px}.journey-timeline{padding-left:23px;padding-right:1px}.journey-timeline:before{left:5px}.journey-entry{padding:18px 15px;margin-bottom:30px}.journey-entry:before{left:-24px;top:23px;width:10px;height:10px}.journey-entry:after{left:-14px;top:28px;width:14px}.journey-entry>header{display:block;font-size:9px}.journey-entry time{display:block;margin-top:7px;font-size:8px}.journey-answer p{font-size:11px}.journey-answer>span{font-size:8px}.journey-collage{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 12px;margin-top:26px}.journey-collage figcaption{font-size:14px}.journey-collage figure{padding:5px}.track-photo-previews{grid-template-columns:repeat(3,minmax(0,1fr))}.journey-empty{padding:25px 0}.journey-empty h2{font-size:25px}.journey-empty p{font-size:10px}.edit-photo-text{font-size:9px}.feature-field textarea{font-size:16px}}
body.book-reading{padding-bottom:78px;overflow-x:clip}.book-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.book-topline .hand-note{font-family:var(--hand);font-size:23px;color:#9a607b;transform:rotate(-4deg)}.chapter-tabs{display:flex;gap:8px;align-items:end;padding-left:15px;margin-bottom:-1px;position:relative;z-index:8}.chapter-tabs>button{border:1px solid #172b4d36;border-bottom:0;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;font-weight:550;padding:10px 15px 12px;background:#e2e9ee;transform:rotate(-1deg);min-height:47px;border-radius:3px 3px 0 0;min-width:150px}.chapter-tabs>button:nth-child(2){background:#eed9dc;transform:rotate(1deg)}.chapter-tabs>button:nth-child(3){background:#eee2cd}.chapter-tabs>button:nth-child(4){background:#dce5ec;transform:rotate(1deg)}.chapter-tabs>button.active{background:var(--white);padding-top:15px;z-index:2}.chapter-tabs img{width:27px;height:27px;object-fit:contain;transform:rotate(-9deg)}.tab-number{font-size:8px;color:#6c7789;letter-spacing:.1em}.chapter-book{height:710px;position:relative;perspective:1800px;perspective-origin:50% 45%;background:#e0d5c4;border-radius:3px 6px 6px 3px;box-shadow:4px 4px 0 #d9cfc0,6px 6px 0 #b7ada0,9px 13px 25px #172b4d1c}.chapter-sheet{position:absolute;inset:0;transform-origin:0 50%;transform-style:preserve-3d;transition:transform .76s cubic-bezier(.36,.08,.22,1);transform:rotateY(0deg)}.chapter-sheet.turned{transform:rotateY(-180deg)}.chapter-front,.chapter-back{position:absolute;inset:0;border:1px solid #b7ada0;border-radius:3px 6px 6px 3px;backface-visibility:hidden;-webkit-backface-visibility:hidden}.chapter-front{background:var(--white);transform:translateZ(.7px);padding:32px 35px;display:flex;flex-direction:column;overflow:hidden;box-shadow:inset 9px 0 12px -10px #172b4d44}.chapter-front:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#172b4d26,transparent 18%,transparent 75%,#172b4d33);opacity:0}.turning .chapter-front:after{animation:turning-shadow .76s ease}.chapter-back{background:var(--cream);background-image:repeating-linear-gradient(0deg,transparent,transparent 28px,#172b4d0d 28px,#172b4d0d 29px);transform:rotateY(180deg) translateZ(.7px);display:grid;place-items:center;text-align:center;font-family:var(--hand);font-size:28px;color:#778196;box-shadow:inset -9px 0 12px -10px #172b4d66}.chapter-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 4px 21px;border-bottom:1px solid var(--line);margin-bottom:22px;flex-shrink:0}.chapter-heading h1{font-size:46px;margin:12px 0}.chapter-heading p{font-size:12px;color:var(--muted);line-height:1.6}.small-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:36px;padding:9px 14px;border:1px solid var(--navy);font-size:11px;border-radius:2px;background:var(--white)}.small-button.primary{background:var(--navy);color:var(--white)}.small-button:hover{transform:translateY(-1px)}.sheet-scroll{overflow-y:auto;min-height:0;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b7c5d3 transparent;padding-right:7px}.music-spread{display:grid;grid-template-columns:1fr 1fr;gap:50px;min-height:0;height:100%;position:relative;overflow-y:auto;scrollbar-width:thin}.music-spread:after{content:'';position:absolute;top:-32px;bottom:-32px;left:50%;width:25px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,#172b4d08 30%,#172b4d22 50%,#172b4d05 68%,transparent);pointer-events:none}.music-greeting{padding:15px 5px 10px 4px;position:relative}.music-greeting h1{font-size:48px;line-height:1.09;letter-spacing:-.065em;margin:23px 0}.music-greeting h1 em{position:relative;z-index:0}.music-greeting h1 em:after{content:'';position:absolute;left:0;right:-4px;bottom:0;height:11px;background:var(--pink);transform:rotate(-2deg);z-index:-1}.music-greeting>p{font-size:12px;color:var(--muted);line-height:1.9}.music-greeting .inside-characters{margin-top:25px;height:185px}.music-feature{padding:17px 8px 15px;text-align:center}.music-feature h2{font-size:29px;margin:13px 0 32px;font-weight:500}.music-feature .music-square{width:225px;height:225px}.music-feature .cassette{width:188px;height:145px}.music-feature .cassette-caption{font-size:19px}.music-feature .song-details{margin-top:23px}.one-song-note{font-family:var(--hand);font-size:18px;line-height:1.25;color:#768095;max-width:280px;margin:20px auto 0}.available-songs{border-top:1px dashed var(--line);margin:20px auto 0;padding-top:10px;max-width:320px;text-align:left}.available-songs button{display:block;width:100%;text-align:left;font-size:11px;padding:8px;border-bottom:1px solid #172b4d0d}.available-songs button:hover{background:#6f9cc618}.chapter-navigation{display:flex;align-items:center;justify-content:space-between;margin-top:20px;gap:15px}.chapter-navigation button{font-size:12px;padding:7px 3px}.chapter-navigation button:disabled{cursor:default;opacity:.3}.chapter-navigation>span{font-size:9px;letter-spacing:.14em}.chapter-swipe-note{display:none;text-align:center;font-family:var(--hand);font-size:18px;color:#788096;line-height:1.3;margin-top:7px}.book-sync{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:20px;font-size:9px;line-height:1.5;color:#717987}.book-sync button{text-decoration:underline;text-underline-offset:4px;white-space:nowrap}.feature-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:29px 25px;padding:16px 12px 25px;align-items:start}.memory-card{padding:0;transform:rotate(-2deg);text-align:center;min-width:0}.memory-card:nth-child(2n){transform:rotate(3deg)}.memory-polaroid{background:var(--white);box-shadow:1px 3px 10px #172b4d24;padding:10px 10px 12px;margin:0;position:relative}.memory-polaroid:before{content:'';position:absolute;width:70px;height:21px;top:-10px;left:calc(50% - 35px);background:#e9a9bb9c;transform:rotate(-5deg);z-index:2;clip-path:polygon(2% 0,100% 9%,97% 100%,0 92%)}.memory-polaroid.blue-memory:before{background:#6f9cc67c;transform:rotate(7deg)}.memory-polaroid img{width:100%;aspect-ratio:1;object-fit:cover;background:#e7e3dc}.memory-polaroid figcaption{font-family:var(--hand);font-size:22px;line-height:1.1;margin-top:12px;overflow-wrap:anywhere}.memory-polaroid small{font-size:8px;color:var(--muted);display:block;margin-top:8px}.writing-filters{display:flex;gap:8px;flex-shrink:0;margin:-6px 0 18px}.writing-filters button{font-size:11px;border:1px solid transparent;padding:5px 13px;border-radius:2px}.writing-filters button[aria-pressed=true]{background:var(--cream);border-color:var(--line)}.letters-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:30px;flex:1;align-items:start}.writing-card{display:block;background:#f8f0e2;border:1px solid var(--line);padding:20px;text-align:left;width:100%;margin-bottom:17px;transform:rotate(-1deg)}.writing-card:nth-child(2n){background:#efdae1;transform:rotate(1deg)}.writing-card.selected{outline:1px solid #6f9cc6;outline-offset:3px}.writing-card>span{font-size:8px;letter-spacing:.06em;color:#626e80}.writing-card h2{font-size:25px;line-height:1.2;font-weight:500;margin:13px 0}.writing-card p{font-family:var(--hand);font-size:22px;white-space:pre-wrap;line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.writing-card small{font-size:9px;color:#697381;display:block;margin-top:18px}.writing-empty{text-align:center;padding:38px 13px;background:#f5ebdd77;border:1px dashed #172b4d33}.writing-empty img{width:65px;height:82px;object-fit:contain;margin:0 auto 20px;transform:rotate(12deg)}.writing-empty h2{font-size:29px;font-weight:500;letter-spacing:-.04em;line-height:1.15}.writing-empty p{font-size:12px;color:var(--muted);margin:15px 0 22px}.writing-empty .small-button{font-size:10px;padding:8px 11px}.unwritten-paper{min-height:390px;background:repeating-linear-gradient(transparent,transparent 31px,#172b4d12 31px,#172b4d12 32px);display:grid;place-items:center;transform:rotate(1deg)}.unwritten-paper span{font-family:var(--hand);font-size:34px;color:#99a2ac;transform:rotate(-7deg);text-align:center}.letter-paper{padding:22px 24px;background:#fffaf0;border:1px solid #172b4d12;position:relative}.letter-paper h2{font-size:33px;font-weight:500;line-height:1.2;margin:15px 0}.letter-dedication{font-size:10px;color:var(--muted)}.poem-body{font-family:var(--hand);font-size:26px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;margin:23px 0;background:repeating-linear-gradient(transparent,transparent 40px,#172b4d10 40px,#172b4d10 41px)}.letter-actions{display:flex;justify-content:space-between;align-items:center;font-size:10px;gap:15px;padding-top:15px;border-top:1px dashed var(--line)}.letter-actions button:last-child{color:#9c586f}.tracker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;align-items:start;flex:1}.person-tracker{background:#fcf7ee;border:1px solid var(--line);padding:24px 22px;min-width:0}.person-tracker:nth-child(2){background:#edf1f4}.person-tracker>header{display:flex;align-items:center;gap:11px;margin-bottom:22px}.person-tracker>header img{width:72px;height:72px;object-fit:contain;--tilt:-8deg;animation:paper-character 3.7s steps(1,end) infinite}.person-tracker:nth-child(2)>header img{--tilt:9deg;animation-delay:-1.3s}.person-tracker h2{font-size:32px;margin-top:5px;font-weight:500}.person-tracker>header .eyebrow{font-size:7px;letter-spacing:.12em}.profile-state{margin-left:auto;align-self:start;text-align:right;font-size:8px;max-width:80px;color:var(--muted);line-height:1.4}.latest-update{padding:15px;background:#e9a9bb28;border-left:2px solid var(--pink);margin-bottom:22px}.person-tracker:nth-child(2) .latest-update{background:#6f9cc620;border-left-color:var(--blue)}.latest-update>div{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.latest-update .eyebrow{font-size:7px;letter-spacing:.1em}.latest-update button{font-size:9px;text-decoration:underline;text-underline-offset:3px;padding:0}.latest-update>small{font-size:8px;color:var(--muted)}.latest-update>p{font-size:12px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:6px}.tracker-field{display:block;margin-bottom:16px}.tracker-field>span{display:block;font-size:9px;font-weight:600;margin-bottom:6px;letter-spacing:.025em}.tracker-field input,.tracker-field textarea{width:100%;background:#fffefa77;border:1px solid #172b4d2d;border-radius:2px;padding:9px 10px;font-size:12px;line-height:1.6}.tracker-field textarea{resize:vertical;min-height:82px}.tracker-field textarea:focus{min-height:100px}.focus-fields{border-top:1px dashed var(--line);padding-top:18px;margin-top:18px}.tracker-targets,.tracker-history{border-top:1px dashed var(--line);margin-top:22px;padding-top:20px}.tracker-section-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px}.tracker-section-title h3{font-family:var(--serif);font-size:19px;font-weight:500;letter-spacing:-.03em;margin:0}.tracker-section-title button,.tracker-section-title>span{font-size:9px;white-space:nowrap}.tracker-section-title button{text-decoration:underline;text-underline-offset:4px}.target-progress{height:6px;background:#172b4d15;border-radius:2px;overflow:hidden}.target-progress span{height:100%;display:block;background:var(--pink);transition:width .2s}.person-tracker:nth-child(2) .target-progress span{background:var(--blue)}.target-count{font-size:9px;color:var(--muted);margin:8px 0 13px}.target-row{display:flex;align-items:start;gap:9px;padding:8px 0;border-bottom:1px solid #172b4d12}.target-row input{width:16px;height:16px;accent-color:var(--navy);margin:4px 0 0;cursor:pointer;flex-shrink:0}.target-row label{font-size:12px;flex:1;overflow-wrap:anywhere;cursor:pointer}.target-row label.done{text-decoration:line-through;color:var(--muted)}.target-row button,.timeline-entry button{font-size:16px;color:#98687a;padding:0 4px}.tracker-placeholder{font-size:11px;color:var(--muted);font-style:italic}.timeline-entry{border-left:2px solid #6f9cc666;padding-left:11px;margin-top:16px}.timeline-entry>div{display:flex;justify-content:space-between;align-items:center;gap:8px}.timeline-entry small{font-size:8px;color:var(--muted)}.timeline-entry p{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:5px}.tracker-history details{margin-top:15px}.tracker-history summary{font-size:10px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.floating-music{position:fixed;bottom:15px;left:50%;transform:translateX(-50%);background:var(--navy);color:var(--white);width:360px;max-width:calc(100vw - 28px);padding:11px 14px;display:flex;align-items:center;gap:11px;border:1px solid #fffefa55;border-radius:4px;box-shadow:0 4px 25px #172b4d26;z-index:20}.floating-music>img{width:37px;height:34px;object-fit:contain;transform:rotate(-13deg)}.floating-song-link{flex:1;text-align:left;min-width:0;padding:0}.floating-song-link strong{display:block;font-size:11px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floating-song-link>span{font-size:8px;color:#c7d4e3;display:block}.floating-control{width:30px;height:30px;display:grid;place-items:center;background:var(--pink);border-radius:50%;color:var(--navy);padding:8px;flex-shrink:0}.floating-control:last-child{background:transparent;color:var(--cream);border:1px solid #fffefa66}.floating-control svg{fill:currentColor;width:13px;height:13px}.feature-dialog{width:min(630px,calc(100vw - 32px));max-height:calc(100dvh - 36px);padding:0;border:1px solid var(--navy);border-radius:3px;background:var(--white);color:var(--navy);box-shadow:7px 7px 0 #172b4d25;overflow-y:auto}.feature-dialog::backdrop{background:#172b4d66;backdrop-filter:blur(4px)}.feature-modal-inner{padding:30px}.feature-modal-inner>header{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:25px}.feature-modal-inner>header h2{font-size:33px;font-weight:500;letter-spacing:-.04em;line-height:1.15}.feature-modal-inner>header>button{font-size:27px;padding:0 3px;line-height:1}.feature-field{display:block;margin-bottom:17px}.feature-field>span{display:block;font-size:10px;font-weight:550;margin-bottom:6px}.feature-field input,.feature-field textarea,.feature-field select{display:block;width:100%;border:1px solid #172b4d3b;background:#f5ebdd66;padding:10px 12px;font-size:13px;border-radius:2px;min-height:42px}.feature-field textarea{resize:vertical;min-height:130px;line-height:1.7}.feature-field .writing-input{font-family:var(--hand);font-size:25px;min-height:240px}.feature-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.feature-form-hint{font-size:11px;line-height:1.65;color:var(--muted);margin:5px 0 20px}.feature-form-error{font-size:12px;color:#a6405b;white-space:pre-wrap;margin:12px 0}.feature-form-progress{font-size:12px;margin:12px 0}.feature-modal-inner footer{display:flex;justify-content:end;gap:23px;align-items:center;margin-top:23px;font-size:12px}.feature-upload{padding:22px;display:block;border:1px dashed #172b4d66;background:#f5ebdd99;text-align:center;margin-bottom:14px;font-size:13px}.feature-upload input{display:block;max-width:100%;font-size:11px;margin-top:12px;width:100%}.photo-reader{display:block;width:100%;max-height:65dvh;object-fit:contain;background:#f5ebdd}.photo-caption{text-align:center;margin-top:17px}.reading-footer{border-top:1px dashed var(--line);padding-top:15px}
@media(max-width:1050px){.chapter-tabs>button{min-width:130px;padding-left:12px;padding-right:12px;font-size:11px}.chapter-front{padding:28px}.music-spread{gap:40px}.music-greeting h1{font-size:41px}.music-feature h2{font-size:27px}.music-feature .music-square{width:212px;height:212px}.music-feature .cassette{width:177px;height:140px}.chapter-heading h1{font-size:42px}.feature-gallery{gap:25px 20px}.memory-polaroid figcaption{font-size:21px}.tracker-grid{gap:20px}.person-tracker{padding:20px 17px}.person-tracker>header img{width:64px;height:64px}.person-tracker h2{font-size:29px}.profile-state{font-size:7px;max-width:65px}.music-greeting .inside-characters img{width:112px;height:128px}.music-greeting .inside-characters .handwritten{font-size:17px}}
@media(max-width:800px){.chapter-tabs{gap:6px;padding-left:6px}.chapter-tabs>button{min-width:0;flex:1;font-size:10px;padding:9px 10px;gap:7px}.chapter-tabs img{width:23px;height:23px}.tab-number{font-size:7px}.chapter-front{padding:25px}.chapter-heading{gap:12px}.chapter-heading h1{font-size:39px}.chapter-heading p{font-size:11px}.chapter-heading .small-button{font-size:10px;padding:8px 11px}.chapter-heading .eyebrow{font-size:7px}.music-spread{gap:32px}.music-greeting h1{font-size:36px}.music-greeting>p{font-size:11px}.music-feature{padding-left:2px;padding-right:2px}.music-feature .eyebrow{font-size:7px}.music-feature h2{font-size:25px}.music-feature .music-square{width:185px;height:185px}.music-feature .cassette{width:155px;height:125px}.music-feature .cassette-caption{font-size:17px}.feature-gallery{grid-template-columns:1fr 1fr}.letters-layout{gap:20px}.writing-card{padding:16px}.letter-paper{padding:18px}.letter-paper h2{font-size:28px}.poem-body{font-size:24px}.person-tracker{padding:19px 14px}.person-tracker h2{font-size:27px}.person-tracker>header{gap:8px}.person-tracker>header img{width:55px;height:55px}.profile-state{font-size:6px;max-width:58px}.tracker-section-title h3{font-size:17px}.tracker-section-title button{font-size:8px}.book-topline .hand-note{font-size:20px}.book-topline .eyebrow{font-size:7px}}
@media(max-width:700px){.inside-scene{padding:27px 23px 34px}.book-topline{margin-bottom:22px;gap:14px}.book-topline .eyebrow{font-size:6px;max-width:140px;line-height:1.6;letter-spacing:.12em}.book-topline .hand-note{font-size:19px;max-width:160px;text-align:right;line-height:1.1}.chapter-tabs{padding-left:0;gap:5px}.chapter-tabs>button{font-size:9px;gap:5px;padding:9px 8px 10px;min-height:45px;flex-direction:column;justify-content:center;position:relative;line-height:1.25}.chapter-tabs img{display:none}.chapter-tabs .tab-number{font-size:6px;line-height:1}.chapter-tabs>button.active{padding-top:13px}.chapter-book{height:clamp(560px,calc(100svh - 235px),710px);touch-action:pan-y;perspective:1450px}.chapter-front{padding:24px 22px;overflow:hidden}.chapter-front:after{border-radius:3px 6px 6px 3px}.chapter-heading{display:block;padding:0 0 16px;margin-bottom:17px}.chapter-heading h1{font-size:35px;margin:10px 0}.chapter-heading p{font-size:10px;max-width:270px}.chapter-heading .eyebrow{font-size:6px;letter-spacing:.13em}.chapter-heading>.small-button{margin-top:14px;font-size:9px;min-height:32px;padding:7px 11px}.music-spread{display:block;overflow-y:auto;padding-right:3px}.music-spread:after{display:none}.music-greeting{padding:0}.music-greeting .eyebrow{font-size:6px}.music-greeting h1{font-size:32px;line-height:1.06;margin:13px 0 11px}.music-greeting h1 br{display:none}.music-greeting h1 br:after{content:' '}.music-greeting h1 em{display:inline-block;margin:0 5px 0 0}.music-greeting>p{font-size:10px;line-height:1.7}.music-greeting .inside-characters{display:none}.music-feature{padding:23px 0 3px;text-align:center}.music-feature>.eyebrow{font-size:6px;letter-spacing:.12em}.music-feature h2{font-size:24px;margin:10px 0 26px}.music-feature .music-square{width:182px;height:182px}.music-feature .cassette{width:153px;height:121px}.music-feature .cassette-caption{font-size:16px}.music-feature .square-top{font-size:5px;top:11px;left:12px;letter-spacing:.1em}.music-feature .square-star{right:8px;bottom:10px}.music-feature .song-details{margin-top:22px}.music-feature .song-details h3{font-size:13px}.music-feature .song-details p{font-size:10px}.music-feature .music-controls{margin-top:13px;gap:10px}.music-feature .music-control{padding:8px 16px;min-width:88px;font-size:10px}.music-feature .music-state{font-size:8px;margin-top:10px}.one-song-note{font-size:16px;margin-top:16px}.available-songs{margin-top:15px;padding-top:7px}.available-songs button{font-size:10px;padding:8px 5px}.chapter-navigation{margin-top:17px}.chapter-navigation button{font-size:11px}.chapter-navigation>span{font-size:8px}.chapter-swipe-note{display:block;font-size:17px;max-width:300px;margin-left:auto;margin-right:auto}.book-sync{font-size:8px;align-items:start;margin-top:18px;gap:10px}.book-sync>span{max-width:245px}.feature-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 16px;padding:12px 6px 20px}.memory-polaroid{padding:7px 7px 10px}.memory-polaroid img{aspect-ratio:4/4.5}.memory-polaroid figcaption{font-size:19px;margin-top:10px}.memory-polaroid small{font-size:6px;line-height:1.4;margin-top:7px}.memory-polaroid:before{height:17px;width:55px;left:calc(50% - 27px);top:-8px}.writing-filters{margin:0 0 17px;gap:3px}.writing-filters button{font-size:10px;padding:5px 10px}.letters-layout{display:block;padding-right:3px}.letters-layout #letter-reader{display:none}.writing-card{padding:20px;margin-bottom:20px}.writing-card h2{font-size:27px}.writing-card p{font-size:22px}.writing-card>span{font-size:7px}.writing-empty{padding:30px 14px}.writing-empty h2{font-size:28px}.writing-empty p{font-size:11px}.writing-empty img{height:67px;width:55px;margin-bottom:18px}.writing-empty .small-button{font-size:9px}.tracker-grid{display:block;padding-right:4px}.person-tracker{padding:20px 17px;margin-bottom:22px}.person-tracker>header{gap:11px}.person-tracker>header img{width:66px;height:66px}.person-tracker h2{font-size:30px}.person-tracker>header .eyebrow{font-size:6px}.profile-state{font-size:7px;max-width:70px}.latest-update{padding:13px}.latest-update>p{font-size:11px}.tracker-field>span{font-size:9px}.tracker-field input,.tracker-field textarea{font-size:11px;padding:9px}.tracker-section-title h3{font-size:18px}.tracker-section-title button{font-size:8px}.target-row label,.timeline-entry p{font-size:11px}.floating-music{width:320px;padding:10px 12px;bottom:11px;gap:10px}.floating-music>img{width:31px;height:29px}.floating-song-link strong{font-size:10px}.floating-song-link>span{font-size:7px}.floating-control{width:28px;height:28px;padding:7px}.floating-control svg{width:12px;height:12px}.feature-modal-inner{padding:25px 22px}.feature-modal-inner>header h2{font-size:29px}.feature-form-row{gap:12px}.feature-field input,.feature-field select,.feature-field textarea{font-size:12px;padding:10px}.feature-field .writing-input{font-size:24px}.feature-form-hint{font-size:10px}.feature-modal-inner footer{gap:18px;font-size:11px}.feature-modal-inner footer .small-button{font-size:10px}.photo-reader{max-height:62dvh}}
@media(max-width:370px){.inside-scene{padding-left:19px;padding-right:19px}.book-topline .hand-note{font-size:17px;max-width:145px}.book-topline .eyebrow{font-size:5px;max-width:110px}.chapter-tabs>button{font-size:8px;padding-left:5px;padding-right:5px;gap:4px}.chapter-front{padding:22px 18px}.chapter-heading h1{font-size:32px}.chapter-heading p{font-size:9px}.music-greeting h1{font-size:28px}.music-greeting>p{font-size:9px}.music-feature h2{font-size:23px}.feature-gallery{gap:25px 13px;padding-left:3px;padding-right:3px}.memory-polaroid figcaption{font-size:17px}.person-tracker{padding:18px 13px}.person-tracker>header img{width:56px;height:56px}.person-tracker h2{font-size:27px}.profile-state{font-size:6px;max-width:60px}.tracker-section-title h3{font-size:16px}.tracker-section-title button{font-size:7px}.chapter-swipe-note{font-size:15px}.book-sync{font-size:7px}.chapter-navigation button{font-size:10px}.feature-form-row{grid-template-columns:1fr}.feature-form-row:has(select[name=by]){grid-template-columns:1fr 1fr}}
.memory-polaroid img{height:auto}.available-songs button{line-height:1.5;border-left:2px solid transparent}.available-songs button small{display:block;color:var(--muted);font-size:9px}.available-songs button[aria-pressed=true]{border-left-color:var(--pink);background:#e9a9bb19}.music-feature .song-details h3{overflow-wrap:anywhere}.music-feature .song-details p{max-width:280px;margin-left:auto;margin-right:auto;line-height:1.5}.chapter-heading .small-button{white-space:nowrap}
@media(max-width:700px){.password-field input,.tracker-field input,.tracker-field textarea,.feature-field input,.feature-field select{font-size:16px}.tracker-field input{min-height:43px}.password-field input{height:43px}.password-field input::placeholder{font-size:11px}.tracker-field input::placeholder,.tracker-field textarea::placeholder{font-size:11px}.feature-field input::placeholder{font-size:12px}.available-songs button small{font-size:8px}.music-greeting h1{font-size:27px;line-height:1.12}.music-greeting h1 br{display:initial}.music-greeting h1 br:first-of-type{display:none}.music-greeting>p{font-size:9px}.music-feature{padding-top:18px}.music-feature h2{font-size:22px;margin:10px 0 24px}.music-feature .music-square{width:165px;height:165px}.music-feature .cassette{width:140px;height:111px}.music-feature .cassette-caption{font-size:15px}.feature-gallery{gap:26px 16px}.music-feature .song-details{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.chapter-sheet{transition:none}.turning .chapter-front:after{animation:none}}
@media(max-width:700px){#track-form .feature-form-row{grid-template-columns:1fr}#track-form textarea{font-size:16px;min-height:94px}#track-form .feature-field input,#track-form .feature-field select{min-width:0;width:100%}.journey-entry .journey-collage{gap:23px 12px}}
.book-scrollbar{display:none}
@media(max-width:700px){
  .chapter-front .sheet-scroll,.chapter-front .music-spread,#feature-modal-content{overscroll-behavior-y:contain;touch-action:pan-y pinch-zoom;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .chapter-front .sheet-scroll::-webkit-scrollbar,.chapter-front .music-spread::-webkit-scrollbar,#feature-modal-content::-webkit-scrollbar{display:none}
  .chapter-front .has-thumb-scroll{padding-right:25px}
  .book-scrollbar:not([hidden]){position:absolute;right:0;z-index:4;width:44px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:2px 0;touch-action:none;user-select:none;-webkit-user-select:none;overscroll-behavior:contain}
  .book-scroll-arrow{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;font-size:21px;line-height:1;background:#e1eaf1;border:1px solid #172b4d25;border-radius:7px;color:var(--navy);touch-action:none}
  .book-scroll-arrow:disabled{color:#172b4d45;background:#f3efe8;cursor:default}
  .book-scroll-arrow:active:not(:disabled){background:var(--pink)}
  .book-scroll-track{position:relative;width:44px;min-height:0;flex:1;touch-action:none;cursor:pointer}
  .book-scroll-track:before{content:'';position:absolute;top:0;bottom:0;width:7px;left:18px;border-radius:8px;background:#172b4d10}
  .book-scroll-thumb{position:absolute;top:0;left:0;width:44px;min-height:0;display:grid;place-items:center;touch-action:none;cursor:grab;outline-offset:-3px}
  .book-scroll-thumb:before{content:'';position:absolute;inset:0 6px;border:1px solid #172b4d35;border-radius:8px;background:#e9a9bb;box-shadow:1px 2px 0 #172b4d12}
  .book-scroll-thumb>span{position:relative;pointer-events:none;color:#755265;font-size:23px;line-height:1}
  .book-scrollbar.dragging .book-scroll-thumb{cursor:grabbing}
  .book-scrollbar.dragging .book-scroll-thumb:before{background:#d98ca4;border-color:var(--navy)}
  .feature-dialog{position:fixed;overflow:hidden;overscroll-behavior:contain}
  #feature-modal-content{max-height:calc(100dvh - 38px);overflow-y:auto;min-height:0}
  #feature-modal-content.has-thumb-scroll{padding-right:23px}
}
