/* Final reading edition. Original content and interactions retain their DOM nodes. */
.album-reader{width:min(1160px,calc(100% - 56px))!important;max-width:1160px!important;margin:0 auto!important;padding:24px 0 150px!important;display:block!important;overflow:visible!important;min-height:70dvh}
.reader-wayfinding{display:flex;gap:10px;align-items:center;margin:4px 0 32px;color:#98798a;font:12px/1.6 var(--body);letter-spacing:.025em}.reader-wayfinding a{color:#77536a;text-decoration:none}
.reader-world{width:min(1160px,calc(100% - 56px));margin:16px auto 0;border:1px solid #d6bac955;border-radius:14px;background:#fff9f399;overflow:hidden}.reader-world>summary{cursor:pointer;font:12px/1.7 var(--body);color:#a27a92;padding:12px 18px}.reader-world .season-theatre{width:100%;margin:0;border-radius:0}.reader-world[open]>summary{border-bottom:1px solid #d6bac944}
.album-reader :is(.chapter-intro,.cinema-title,.letters-intro){max-width:760px;margin:0 auto 38px;padding:18px 0 24px;text-align:center}
.album-reader h1{font:clamp(38px,5vw,70px)/1.14 var(--display)!important;letter-spacing:-.035em!important;color:#65495b!important;margin:15px 0 24px!important;text-wrap:balance}
.album-reader :is([data-page-copy],.chapter-subtitle,.lede){font:17px/1.85 var(--body)!important;color:#7c6572!important;max-width:62ch;margin:0 auto 24px;text-wrap:pretty}
.album-reader :is(.letter-reading,.day-note,.small-note,.finale-copy,.memory-dialog-copy){font:17px/1.9 var(--body);max-width:66ch;letter-spacing:0;text-align:left}
.album-reader .kicker{font:700 10px/1.8 var(--body);letter-spacing:.16em;color:#a27b90}
.album-reader :is(.letter-stack,.memory-path){width:min(900px,100%);margin-inline:auto;gap:32px}
.album-reader .letter-card{padding:48px clamp(24px,5vw,56px) 32px;transform:none!important;background:#fffaf2;border:1px solid #d8bdc677;border-radius:18px;box-shadow:0 12px 36px #8565740b}
.album-reader .letter-card p{font:17px/1.9 var(--body);color:#765d6b}.album-reader .letter-card h2{font:34px/1.3 var(--display);color:#65495b}
.album-reader .day-window{width:100%;max-width:900px;padding:26px 30px;transform:none!important;border-radius:18px;box-shadow:0 12px 36px #8565740b}
.album-reader .reader-note{width:100%;max-width:1120px;margin:16px auto;border:1px solid #d8bdc67a;border-radius:16px;background:#fffaf5c9;color:#785b6b;overflow:hidden}
.reader-note>summary{list-style:none;cursor:pointer;position:relative;padding:20px 52px 20px 24px;font:600 16px/1.5 var(--body)}
.reader-note>summary::-webkit-details-marker{display:none}.reader-note>summary:after{/* [CHỮ / BIỂU TƯỢNG CSS] Chuỗi sau content là chữ vẽ thêm bằng ::before/::after của bộ chọn này; không phải nội dung album. Chuỗi rỗng tạo lớp trang trí trống. Chỉ đổi phần trong nháy nếu muốn đổi nhãn / biểu tượng. */content:'+';position:absolute;right:24px;top:16px;font:25px var(--display);color:#a77c94}.reader-note[open]>summary:after{/* [CHỮ / BIỂU TƯỢNG CSS] Chuỗi sau content là chữ vẽ thêm bằng ::before/::after của bộ chọn này; không phải nội dung album. Chuỗi rỗng tạo lớp trang trí trống. Chỉ đổi phần trong nháy nếu muốn đổi nhãn / biểu tượng. */content:'−'}.reader-note[open]>summary{border-bottom:1px solid #d8bdc644}
#sceneRoot .reader-note :is(.emotional-chapter-bridge,.page-whisper,.author-story-chapters,.author-unsaid,.author-notes,.memory-pack-shelf,.story-credits,.finale-overture){width:100%;margin:0;max-width:none;padding:24px;border:0;background:transparent;border-radius:0;box-shadow:none}
.reader-note>summary:focus-visible{outline:2px solid #9f6c8a;outline-offset:-4px}
.album-reader .chapter-reading-footer{width:100%;margin-top:38px}
/* The Home cover is now a legible welcome beside the original illustrated room. */
.page-gateway .album-reader .storybook{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:34px;width:100%;aspect-ratio:auto;min-height:480px;padding:34px;border:1px solid #ddc4cd99;border-radius:26px;background:#fffaf4e8;transform:none!important;filter:none}
.page-gateway .album-reader .storybook:after{display:none}.page-gateway .album-reader .room-art{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;opacity:.13;mask-image:none;border-radius:26px;z-index:0}
.page-gateway .album-reader .book-copy{position:relative;left:auto;top:auto;width:100%;transform:none;padding:18px 0;z-index:2}
.page-gateway .album-reader .book-copy .kicker{font-size:11px}.page-gateway .album-reader .book-copy h1{font-size:clamp(38px,4vw,59px)!important}.page-gateway .album-reader .book-copy .lede{font-size:17px!important;margin:20px 0 28px}
.page-gateway .album-reader .book-copy .btn{font-size:14px;padding:15px 24px;min-height:48px}
.page-gateway .album-reader .book-keepsake{position:relative;left:auto;top:auto;width:100%;max-width:360px;justify-self:center;transform:rotate(3deg);padding:12px 12px 22px;z-index:1;background:#fffaf3;box-shadow:0 18px 45px #98738722}
.page-gateway .album-reader .book-keepsake img{height:310px;aspect-ratio:auto;object-fit:contain;background:#f2e8e8}.page-gateway .album-reader .book-keepsake p{font:16px/1.5 var(--note)}.page-gateway .album-reader .book-page-number{display:none}
.page-gateway .album-reader .chapter-ribbon{margin:30px 0;flex-wrap:wrap;gap:10px}.page-gateway .album-reader .chapter-ribbon a{transform:none;min-width:66px;box-shadow:none}
.page-gateway .home-journey{width:100%;max-width:1120px;margin:45px auto;padding:0}.page-gateway .home-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.page-gateway .home-preview-card{min-height:100px;padding:22px;border-radius:18px;background:#fffaf5d9;box-shadow:none}.page-gateway .home-preview-card strong{font:22px/1.25 var(--display)}.page-gateway .home-preview-card small{font:14px/1.6 var(--body);color:#846775}.page-gateway .home-journey-lower{gap:18px}
.album-reader .screen-room{width:100%;max-width:920px;margin-inline:auto;border-radius:20px;box-shadow:none}.album-reader #mainVideo{max-height:65dvh;width:100%;object-fit:contain;background:#271e2c}.album-reader .audio-room{max-width:920px;margin:32px auto;padding:26px;border-radius:18px;box-shadow:none}
.album-reader .finale-stage{width:min(850px,100%);margin:25px auto 40px}.album-reader .finale-summary{text-align:left;border:0;padding:24px 0;background:transparent;max-width:66ch;margin:0 auto}.album-reader .finale-summary h2{font:34px/1.25 var(--display);color:#6e4d62}.album-reader .finale-summary p{font:17px/1.9 var(--body)}
.finale-flow{width:min(850px,100%);margin:40px auto 0;padding:36px;border:1px solid #ceb0c1;border-radius:24px;background:linear-gradient(140deg,#fffaf0,#f1e2e9);text-align:center;box-shadow:0 18px 50px #8463740a}
.finale-flow h2{font:clamp(29px,3.5vw,45px)/1.2 var(--display);color:#684a5e;margin:14px 0 18px}.finale-flow-copy{font:16px/1.8 var(--body);color:#846775;max-width:60ch;margin:auto}
.finale-steps{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:30px 0;color:#8f7182;font:12px/1.5 var(--body)}.finale-steps li{padding:14px 8px;border-top:1px solid #cbaabb88}.finale-steps span{display:block;font:24px/1.5 var(--display);color:#ab8097}.finale-steps .is-complete{color:#6b4f60}
.finale-flow-actions{display:flex;flex-direction:column;align-items:center;gap:14px}.finale-flow-actions .btn{min-height:50px;margin:0;max-width:100%;white-space:normal}.finale-flow-actions #closeArchive{background:#fff9f1;color:#825f74;border:1px solid #c6a4b6}.finale-flow-actions .finale-watch-ending{background:#7c5570;color:#fff5ed;padding:16px 25px}
.finale-flow-status{font:12px/1.7 var(--body);color:#95758a;max-width:60ch;margin:22px auto 0}.finale-advanced{margin:24px 0 0;padding-top:18px;border-top:1px solid #d8bdc655;text-align:left;font:12px/1.7 var(--body);color:#a08394}.finale-advanced>summary{cursor:pointer}.finale-advanced .finale-close-all{display:inline-flex;width:auto;margin:10px 0 0;padding:12px 20px;min-height:44px;background:transparent;border:1px solid #d8bdc6;border-radius:12px;box-shadow:none}
.response-complete{text-align:center;padding:28px 12px}.response-receipt-mark{font:45px var(--display);color:#b17f9a}.response-complete h3{font:34px/1.2 var(--display);color:#704d64}.response-receipt-copy{font:17px/1.85 var(--body);color:#826777}.response-receipt-id{font:11px/1.7 var(--body);overflow-wrap:anywhere;color:#ad8a9e}.response-complete .btn{display:block;margin:18px auto;max-width:100%;white-space:normal;min-height:48px}
/* OPENING: warm film titles, three glimpses, automatic Home. */
.film-premiere{background:radial-gradient(ellipse at 40% 30%,#fff8eb,#f0dae3 65%,#c5b0ce)!important;color:#6e4d63;isolation:isolate}
.premiere-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 35%,#fff8e4bb,transparent 60%);animation:premiere-light 8s ease-in-out infinite alternate;pointer-events:none}.premiere-grain{position:absolute;inset:0;opacity:.06;background-image:radial-gradient(#896475 .5px,transparent .7px);background-size:4px 6px;pointer-events:none}
.premiere-prologue,.premiere-title{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:70px 30px 110px;text-align:center;animation:premiere-title-arrive 2s ease both}
.film-premiere .premiere-prologue span{font:34px var(--display);color:#b7839e;margin-bottom:28px}.film-premiere :is(.premiere-prologue h2,.premiere-title h1){font:clamp(43px,6vw,86px)/1.15 var(--display);color:#6a495e;max-width:1000px;text-wrap:balance;letter-spacing:-.04em;margin:20px 0}
.film-premiere :is(.premiere-prologue p,.premiere-title>p:not(.kicker)){font:clamp(19px,2.4vw,28px)/1.7 var(--note);color:#947185;max-width:680px}.film-premiere .premiere-title small{font:11px/1.7 var(--body);margin-top:32px;letter-spacing:.06em;color:#a47f94}.film-premiere .premiere-title .kicker{font:10px/1.7 var(--body);letter-spacing:.25em;color:#a57b94}
.premiere-memories{position:absolute;inset:0;padding:30px 40px 100px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.premiere-photo-stage{position:relative;height:min(66dvh,610px);width:min(840px,90vw)}
.premiere-photo{position:absolute;left:50%;top:50%;width:min(420px,70vw);height:100%;margin:0;padding:12px 12px 30px;background:#fffaf0;box-shadow:0 25px 65px #77536830;transform:translate(-50%,-50%) rotate(calc((var(--photo-order) - 1)*6deg));opacity:.3;transition:opacity 1.7s,transform 2.8s}
.premiere-photo img{width:100%;height:100%;object-fit:contain;background:#f4e8e8;animation:none!important}.premiere-photo:nth-child(1){left:36%}.premiere-photo:nth-child(3){left:64%}
.premiere-photo-stage[data-focus="0"] .premiere-photo:nth-child(1),.premiere-photo-stage[data-focus="1"] .premiere-photo:nth-child(2),.premiere-photo-stage[data-focus="2"] .premiere-photo:nth-child(3){opacity:1;z-index:3;transform:translate(-50%,-50%) rotate(0deg) scale(1.025)}
.film-premiere .premiere-memory-line{font:clamp(18px,2vw,25px)/1.6 var(--note);color:#88667b;margin:12px auto;max-width:750px;text-align:center;min-height:40px}
.premiere-controls{position:absolute;bottom:max(22px,env(safe-area-inset-bottom));left:50%;translate:-50% 0;z-index:20;display:flex;gap:12px;width:calc(100% - 32px);justify-content:center}.premiere-controls button{font:13px var(--body);min-height:46px;padding:12px 22px;border-radius:14px;border:1px solid #c5a6b9;background:#fffaf1d9;color:#825b73;box-shadow:none!important}.premiere-sound{cursor:pointer}
@keyframes premiere-light{to{opacity:.4;transform:scale(1.1)}}@keyframes premiere-title-arrive{from{opacity:.3;transform:translateY(10px)}to{opacity:1;transform:none}}
/* ENDING: dark cinema, photo tableaux, drifting light and a final roll of thanks. */
.film-retrospective{padding:64px 42px 95px!important;background:radial-gradient(ellipse at 50% 40%,#473348,#211b28 65%,#14101a)!important;display:grid!important;place-items:center;isolation:isolate}
.film-retrospective.is-credits,.film-retrospective.is-finished{background:radial-gradient(ellipse at 50% 40%,#fffaef,#eee0e8 65%,#cdbed0)!important}
.retrospective-prologue{position:relative;z-index:6;text-align:center;width:min(940px,100%)}.retrospective-prologue h2{font:clamp(39px,5.6vw,80px)/1.2 var(--display);color:#f5e4d4;margin:25px 0;text-wrap:balance}.retrospective-prologue p:not(.kicker){font:clamp(19px,2.3vw,28px)/1.7 var(--note);color:#d7b9c7;max-width:650px;margin:auto}.retrospective-prologue .kicker{color:#b997ae;font:10px/1.7 var(--body);letter-spacing:.2em}
.film-retrospective .retrospective-stage{position:relative;z-index:5;display:flex!important;flex-direction:column;gap:20px;width:min(1380px,100%);height:calc(100dvh - 165px);min-height:0;margin:auto}
.film-retrospective .retrospective-stage{align-items:stretch!important}.retrospective-plates{position:relative;flex:1;width:100%;min-width:0;min-height:0;isolation:isolate}.retrospective-plate{position:absolute;inset:0;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(12px,1.5vw,24px);opacity:0;transition:opacity 1.4s ease;pointer-events:none}.retrospective-plate.is-active{opacity:1;z-index:2}
.retrospective-frame{grid-column:span 2;position:relative;margin:0;min-width:0;min-height:0;background:#fff7ec;padding:8px 8px 22px;border-radius:3px;overflow:hidden;box-shadow:0 18px 50px #0003;transform:rotate(calc((var(--frame-order) - 2)*.65deg))}
.retrospective-frame.retrospective-hero{grid-column:span 4;grid-row:span 2;transform:rotate(-1deg);padding:10px 10px 28px}.retrospective-plate[data-count="1"] .retrospective-hero{grid-column:2 / 8}.retrospective-plate[data-count="2"] .retrospective-frame{grid-column:span 4;grid-row:span 2}
.retrospective-frame img,.retrospective-frame video{position:relative;display:block;width:100%;height:100%;min-height:0;object-fit:contain;background:#302733;border:0;filter:none;opacity:1;animation:none!important;border-radius:0;transform-origin:center}.retrospective-frame video{position:absolute;inset:10px 10px 28px;width:calc(100% - 20px);height:calc(100% - 38px)}
.retrospective-frame figcaption{position:absolute;bottom:5px;left:8px;right:8px;text-align:center;font:10px/1.5 var(--body);color:#8b6c7b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.retrospective-video-tag{position:absolute;z-index:5;left:20px;bottom:38px;border-radius:12px;padding:5px 9px;background:#352537c9;color:#fff2e5;font:9px var(--body)}
.retrospective-caption{position:relative;text-align:center;flex-shrink:0;min-height:63px}.film-retrospective .retrospective-caption .kicker{font:9px/1.5 var(--body);letter-spacing:.2em;color:#b794ab;margin:0 0 8px}.film-retrospective .retrospective-line{font:clamp(17px,1.8vw,25px)/1.5 var(--note);color:#eed8dc;margin:0;max-width:900px;margin-inline:auto}.retrospective-count{font:10px/1.6 var(--body);color:#a58ba0;margin-top:6px;display:block}
.film-retrospective .closure-embrace{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px;height:auto;min-height:45dvh;text-align:center;z-index:6;position:relative}.retrospective-last-light{font:64px var(--display);color:#edc9bf;text-shadow:0 0 70px #fff1aa55}.film-retrospective .closure-embrace h2{font:clamp(35px,4vw,58px)/1.3 var(--display);color:#eedacd;max-width:850px}.film-retrospective .closure-embrace p{font:22px/1.7 var(--note);color:#cfaebd}
.film-retrospective .film-controls{width:min(980px,calc(100% - 32px));flex-wrap:wrap;padding-top:14px}.retrospective-progress{position:absolute;top:0;left:16px;right:16px;height:1px;background:#fff2;overflow:hidden}.retrospective-progress i{display:block;height:100%;width:0;background:#e1bca9;transition:width .15s linear}
.film-retrospective .closure-finished h2{font:clamp(95px,14vw,180px)/1.1 var(--display);color:#604359;margin:10px 0 32px}.film-retrospective .closure-finished-copy{font-size:26px!important}.film-retrospective .film-grain{opacity:.06}
@media(max-width:760px){
 .album-reader,.reader-world{width:calc(100% - 32px)!important}.album-reader{padding-top:16px!important}.reader-wayfinding{font-size:11px;margin-bottom:16px}.album-reader h1{font-size:38px!important}.album-reader :is([data-page-copy],.chapter-subtitle,.lede){font-size:15px!important;line-height:1.8!important}
 .reader-note>summary{padding:17px 42px 17px 18px;font-size:14px}.reader-note>summary:after{right:18px;top:12px}#sceneRoot .reader-note :is(.emotional-chapter-bridge,.page-whisper,.author-story-chapters,.author-unsaid,.author-notes,.memory-pack-shelf,.story-credits,.finale-overture){padding:20px 16px}
 .page-gateway .album-reader .storybook{grid-template-columns:1fr;padding:24px;gap:20px;min-height:0;border-radius:20px}.page-gateway .album-reader .book-copy{padding:0}.page-gateway .album-reader .book-copy h1{font-size:40px!important}.page-gateway .album-reader .book-copy .lede{font-size:15px!important}.page-gateway .album-reader .book-keepsake{max-width:280px}.page-gateway .album-reader .book-keepsake img{height:250px}.page-gateway .home-preview-grid{grid-template-columns:1fr}.page-gateway .home-preview-card{min-height:80px;padding:18px}.page-gateway .home-preview-card strong{font-size:22px}.page-gateway .home-preview-card small{font-size:13px}
 .album-reader .letter-card{padding:45px 22px 25px}.album-reader .letter-card p{font-size:16px}.album-reader .day-window{padding:22px 18px}.album-reader .finale-summary p{font-size:16px}.finale-flow{padding:26px 20px}.finale-flow-copy{font-size:15px}.finale-steps{gap:8px;font-size:10px}.finale-flow-actions .btn{font-size:13px;width:100%}.finale-flow h2{font-size:31px}
 .premiere-memories{padding:20px 16px 125px}.premiere-photo-stage{height:59dvh;width:100%}.premiere-photo{width:76vw;padding:8px 8px 22px}.premiere-photo:nth-child(1){left:44%}.premiere-photo:nth-child(3){left:56%}.film-premiere .premiere-memory-line{font-size:18px;margin-top:12px}.premiere-controls{gap:8px}.premiere-controls button{font-size:11px;padding:11px 15px}.premiere-prologue,.premiere-title{padding:55px 24px 100px}.film-premiere .premiere-title h1{font-size:48px}
 .film-retrospective{padding:64px 16px 90px!important}.film-retrospective .retrospective-stage{height:calc(100dvh - 160px);gap:15px}.retrospective-plate{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:10px}.retrospective-frame{grid-column:span 1;grid-row:span 1;transform:none;padding:5px 5px 15px}.retrospective-frame.retrospective-hero{grid-column:span 2;grid-row:span 1;padding:7px 7px 19px;transform:none}.retrospective-frame video{inset:7px 7px 19px;width:calc(100% - 14px);height:calc(100% - 26px)}.retrospective-frame figcaption{font-size:7px;bottom:2px}.retrospective-video-tag{font-size:8px;left:12px;bottom:27px}.retrospective-plate[data-count="1"] .retrospective-hero{grid-column:span 2;grid-row:1 / 4}.retrospective-plate[data-count="2"] .retrospective-frame{grid-column:span 2;grid-row:span 1}
 .film-retrospective .retrospective-line{font-size:17px;max-width:32ch}.retrospective-caption{min-height:78px}.film-retrospective .film-controls{gap:5px}.film-retrospective .film-controls button{font-size:10px;padding:9px 10px}.film-retrospective .film-time{font-size:9px;max-width:100px}.retrospective-prologue h2{font-size:41px}.retrospective-prologue p:not(.kicker){font-size:21px}.film-retrospective .closure-finished h2{font-size:116px}.film-retrospective .closure-finished-copy{font-size:22px!important}
}
@media(max-height:650px) and (min-width:761px){.premiere-photo-stage{height:60dvh}.premiere-memories{padding-top:15px;gap:8px}.film-retrospective .retrospective-stage{height:calc(100dvh - 160px);gap:12px}.retrospective-caption{min-height:55px}.film-retrospective .retrospective-line{font-size:19px}}
@media(prefers-reduced-motion:reduce){.premiere-photo,.retrospective-plate{transition:none!important}.premiere-glow,.premiere-prologue,.premiere-title{animation:none!important}}
.film-retrospective .closure-reel[hidden],.film-retrospective [hidden],.film-premiere [hidden]{display:none!important}
.film-premiere .premiere-controls button{min-height:48px;height:48px;font:13px var(--body);padding:12px 20px}
.experience-tools,.music-dock:not([open]){display:none!important}
