/* A paper-and-clay chapter system; original personal text remains untouched. */
.crafted-heading{position:relative;min-height:200px;padding-right:250px!important;text-align:left!important;max-width:100%!important;isolation:isolate}.crafted-heading h1{overflow-wrap:anywhere;line-height:1.12!important;max-width:100%;margin-top:12px}.chapter-keepsake{position:absolute;right:0;top:-20px;width:230px;height:210px;padding:0;border:0;background:radial-gradient(ellipse at 50% 76%,#ae857b22,transparent 55%);border-radius:50%;cursor:grab;touch-action:pan-y;transition:filter .25s}.chapter-keepsake:hover{filter:brightness(1.05)}.chapter-keepsake:active{cursor:grabbing}.chapter-keepsake canvas{width:100%;height:100%;display:block}
.has-season-theatre .collection-shell,.has-season-theatre .small-things-shell{width:min(1160px,90vw)}.collection-filters{gap:9px;padding:18px;background:#fffaf1b8;border:1px solid #ffffffb0;border-radius:22px;box-shadow:0 8px 22px #75555a0a}.collection-filters input{border-radius:13px;background:#fffcf8}.collection-filters button{border-radius:12px;font-size:13px}.collection-grid{gap:32px 24px}.collection-memory{border-radius:17px 17px 10px 10px;padding:11px 11px 20px;box-shadow:0 7px 0 #d4baa329,0 18px 28px #68524c10;rotate:-1deg}.collection-memory img{border-radius:9px}.collection-memory:nth-child(3n){rotate:1deg;translate:0 10px}.collection-memory:hover{rotate:0deg;translate:0 -5px;box-shadow:0 12px 25px #785b5424}.film-library .collection-memory{border-radius:15px;background:linear-gradient(145deg,#494254,#332e3e);padding:12px 12px 20px}.film-library .collection-memory img{border:3px solid #b3a29c55}.collection-pages{gap:12px;margin-top:40px}.collection-count{font:15px/1.6 var(--body);color:#715f68}
.letter-card{border-radius:8px 22px 8px 8px!important;box-shadow:0 8px 0 #d5b8a12b,0 15px 26px #83605c14!important;border:1px solid #e5ceba!important;transition:transform .25s,box-shadow .25s}.letter-card:hover{transform:translateY(-5px) rotate(-.5deg)}.small-note{border:1px solid #e0cfb855;border-radius:4px 4px 24px 4px;box-shadow:0 12px 25px #72544812;background:linear-gradient(125deg,#fffcf6,#f8efde)}.small-note:nth-child(2){background:linear-gradient(125deg,#fff7f5,#f3dfde)}.small-note:nth-child(3){background:linear-gradient(125deg,#f7fcf6,#e1ebdf)}.small-things-wall{gap:24px}.chapter-intro,.collection-heading,.small-things-heading{margin-bottom:28px}.surprise-pocket{padding:28px 0 45px}.surprise-open{transition:transform .25s}.surprise-open:hover{transform:rotate(-2deg) translateY(-3px)}
.little-nook{display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:25px;padding:30px 36px;margin:64px auto 20px;max-width:1080px;background:linear-gradient(115deg,#fcf0deeb,#f5e3e6d9 60%,#e8efdfd9);border:1px solid #fffcf4;border-radius:26px;box-shadow:0 12px 30px #79534c12;text-align:left}.little-nook h2{font:clamp(24px,3vw,34px)/1.2 var(--display);margin:8px 0}.little-nook p{margin:8px 0;font-size:14px}.little-nook .kicker{font-size:10px}.nook-present{position:relative;width:82px;height:80px;transform:perspective(500px) rotateY(-20deg) rotateX(8deg);background:linear-gradient(120deg,#d5aba7,#b77585);box-shadow:10px 12px 0 #ae758123;border-radius:7px;animation:gift-bob 4s ease-in-out infinite}.nook-present:before{/* [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;inset:0 33px;background:#f3d3a0}.nook-present: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;left:-4px;right:-4px;top:-8px;height:18px;border-radius:5px;background:linear-gradient(90deg,#e4b7ac,#cd91a2);box-shadow:0 4px 4px #78526022}.nook-present i,.nook-present b{position:absolute;top:-29px;left:17px;width:30px;height:26px;border:6px solid #e6ba81;border-radius:60% 50% 0 50%;rotate:12deg}.nook-present b{left:37px;rotate:80deg}.nook-present span{position:absolute;right:-12px;top:30px;width:22px;height:29px;background:#fff7df;border-radius:2px;rotate:-12deg}
.little-games{width:min(680px,94vw);max-width:680px;padding:32px}.little-games:before{display:none}.little-games h2{margin:8px 0 22px}.game-tabs{display:flex;gap:8px;flex-wrap:wrap}.game-tabs button{flex:1;border:1px solid #d7bcae;border-radius:12px;background:#fffbf2;padding:12px;color:#674c5d;font:14px var(--body)}.game-tabs [aria-pressed=true]{background:#795d76;color:#fff8ed}.game-help{min-height:46px;font-size:15px!important}.game-board{display:grid;gap:12px;margin:22px 0}.game-pairs{grid-template-columns:repeat(4,1fr)}.game-board button{position:relative;min-height:88px;display:grid;place-items:center;border:1px solid #d4b7b3;border-radius:16px;background:linear-gradient(145deg,#f7e3d7,#e7bfc5);color:#8c5b72;box-shadow:0 5px 0 #c79ca956,inset 0 2px #fff7;transition:transform .2s,background .2s,box-shadow .2s}.game-board button:hover:not(:disabled){transform:translateY(-3px)}.game-board .odyssey-icon{width:35px;height:35px;stroke-width:1.5}.game-pairs button:not(.flipped):not(.matched) .odyssey-icon{visibility:hidden}.game-pairs button:not(.flipped):not(.matched):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:'?';font:30px var(--display);position:absolute}.game-pairs .flipped{background:#fffcf2;transform:rotateY(0)}.game-pairs .matched{background:#e1eddd;color:#4c7763;opacity:1;border-color:#b5cbb0;box-shadow:0 3px 0 #a1b59f45}.game-garden{grid-template-columns:repeat(3,1fr)}.game-garden button{color:#998a71;background:#eee5d2}.game-garden .bloom{color:#af637f;background:#fce8e6}.game-garden .bloom svg{fill:#f4c6cc;transform:rotate(12deg)}.game-melody{grid-template-columns:repeat(2,1fr)}.game-melody button{min-height:120px}.game-melody button.lit{background:#f7d481;color:#664a35;box-shadow:0 0 0 4px #edc66877,0 8px 22px #bd9a5666;transform:scale(.96)}.game-status{min-height:28px;font:15px var(--body)}.game-reward{margin:18px 0;padding:22px;border:1px dashed #cfa88b;border-radius:14px;background:#fff6df;font:22px/1.6 var(--note);white-space:pre-wrap;overflow-wrap:anywhere}.game-reward[hidden]{display:none}.game-reset{margin-top:8px}
@keyframes gift-bob{50%{transform:perspective(500px) rotateY(-12deg) rotateX(6deg) translateY(-5px)}}
.motion-paused .nook-present{animation:none}@media(prefers-reduced-motion:reduce){.nook-present{animation:none}.game-board button,.letter-card,.collection-memory{transition:none}}
@media(max-width:700px){.crafted-heading{padding-right:110px!important;min-height:150px}.crafted-heading h1{font-size:clamp(30px,8vw,44px)!important}.chapter-keepsake{width:105px;height:130px;top:0;right:-5px}.crafted-heading .kicker{font-size:9px;letter-spacing:.09em}.collection-filters{padding:12px}.collection-filters input{width:100%}.collection-memory{rotate:0!important;translate:0!important}.collection-grid{gap:22px 12px}.little-nook{grid-template-columns:65px minmax(0,1fr);gap:18px;padding:24px 20px;margin-top:40px}.little-nook>.btn{grid-column:1/-1;justify-self:center}.nook-present{scale:.7;transform-origin:left center}.little-games{padding:26px 18px}.game-board{gap:9px}.game-board button{position:relative;min-height:67px;border-radius:12px}.game-melody button{min-height:90px}.game-board .odyssey-icon{width:28px;height:28px}.game-help{min-height:65px}.game-tabs button{padding:10px 8px;font-size:13px}}

.finale-stage.crafted-heading{padding-right:0!important;text-align:center!important}.finale-stage .chapter-keepsake{right:3%;top:10px}.story-copy.crafted-heading{padding-right:0!important}.story-copy .chapter-keepsake{top:-50px;right:-170px;width:150px;height:150px}@media(max-width:700px){.story-copy .chapter-keepsake{position:relative;top:0;right:auto;margin:auto}.finale-stage .chapter-keepsake{top:20px;right:0;width:90px;height:110px}}

.affection-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1080px;margin:30px auto}.affection-note{background:#fff6e9e8;border:1px solid #e0c5b8;border-radius:18px;box-shadow:0 6px 0 #d8baa32b;padding:20px;align-self:start}.affection-note:nth-child(2){background:#f3e7e9}.affection-note:nth-child(3){background:#eaf0e2}.affection-note summary{display:flex;align-items:center;gap:12px;cursor:pointer;font:18px var(--note);color:#795568;list-style:none}.affection-note summary::-webkit-details-marker{display:none}.affection-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:"+";margin-left:auto}.affection-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:"−"}.affection-note p{font:21px/1.7 var(--note);white-space:pre-wrap;overflow-wrap:anywhere}.affection-note p:empty{min-height:90px;background:repeating-linear-gradient(transparent 0 29px,#ac897b33 30px,transparent 31px)}@media(max-width:700px){.affection-notes{grid-template-columns:1fr;gap:12px}.affection-note{padding:18px}}

.letter-card small,.letter-card .letter-open,.letter-card>span:last-child{color:#80556a}

/* Phần thưởng ký ức + các vùng lời riêng do chủ album viết. */
.game-memory{grid-template-columns:repeat(4,1fr)}.game-memory .memory-empty{opacity:.48;transform:scale(.94)}.game-memory .memory-found{background:linear-gradient(145deg,#ffe8ef,#fff6dc);box-shadow:0 0 0 4px #e9b7c477,0 10px 28px #9f637334;transform:translateY(-4px) scale(1.03)}
.game-reward{display:grid;gap:12px}.game-reward-title{display:block;font:700 15px/1.4 var(--body);letter-spacing:.06em;text-transform:uppercase;color:#765160}.game-reward p{margin:0}.game-reward-media{display:grid;gap:10px;width:100%;padding:9px;border:1px solid #d8b7aa;border-radius:16px;background:#fffaf1;color:#684b59;text-align:left;cursor:pointer;box-shadow:0 8px 18px #79534c16}.game-reward-media img{width:100%;max-height:260px;object-fit:cover;border-radius:11px}.game-reward-media span{padding:0 5px 4px;font:15px/1.5 var(--body)}
.author-notes{max-width:980px;margin:48px auto 24px;padding:30px;border:1px solid #dec8ba;border-radius:22px;background:linear-gradient(135deg,#fffaf2e8,#f9eceee0);box-shadow:0 12px 30px #72504712}.author-notes h2{font:clamp(27px,3vw,40px)/1.2 var(--display);margin:7px 0 10px}.author-notes-intro{max-width:720px;line-height:1.8}.author-note-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}.author-note-card{min-height:120px;padding:20px;border-radius:14px;background:#fffdf8;border:1px solid #e7d5c5;font:20px/1.65 var(--note);white-space:pre-wrap;box-shadow:0 6px 16px #71534a10}.author-note-card:nth-child(2){rotate:.7deg}.author-note-card:nth-child(3){rotate:-.7deg}
@media(max-width:700px){.game-memory{grid-template-columns:repeat(4,1fr)}.author-notes{margin:32px 14px 18px;padding:22px 18px}.author-note-grid{grid-template-columns:1fr}.author-note-card{rotate:0!important}}
