body[data-season=spring]{--season-paper:#f4ddd1;--chapter-accent:#ae2831;--season-light:#d94a39;--rose:#ae2831}
body[data-season=summer]{--season-paper:#e3eee5;--chapter-accent:#327e70}
body[data-season=autumn]{--season-paper:#efddc4;--chapter-accent:#a24c28}
body[data-season=winter]{--season-paper:#dfeaf3;--chapter-accent:#506e96}
body[data-season=spring] .chapter-nav{border-bottom:2px solid #ad293a66;background:#fcf1dfef}
body[data-season=spring] .btn-primary{background:#ad2834;color:#fff5dc;border-color:#8c2430}
body[data-season=spring] .season-badge{background:#a92330;color:#ffdf95;border-color:#c79745}
.season-art{position:fixed;inset:0;z-index:3;pointer-events:none!important;overflow:hidden;contain:layout paint;transition:opacity .5s}
.season-art *{pointer-events:none!important}.season-art>div{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.2s,visibility 1.2s}
body[data-season=spring] .spring-art,body[data-season=summer] .summer-art,body[data-season=autumn] .autumn-art,body[data-season=winter] .winter-art{opacity:1;visibility:visible}
.tet-lantern{position:absolute;top:77px;width:66px;display:flex;align-items:center;flex-direction:column;transform-origin:50% 0;animation:lantern-sway 6s ease-in-out infinite alternate;filter:drop-shadow(0 3px 8px #b7412c26)}.lantern-left{left:24px}.lantern-right{right:26px;top:148px;scale:.75;animation-delay:-3s}
.lantern-rope{height:28px;width:2px;background:#c58e42}.lantern-cap,.lantern-base{width:35px;height:7px;border:1px solid #f7d788;background:#b97b27;border-radius:3px}
.lantern-paper{position:relative;width:66px;height:80px;background:radial-gradient(ellipse,#e45237,#aa1429);border:2px solid #e7ab42;border-radius:43%;box-shadow:inset 0 0 13px #ffb04e55;display:grid;place-items:center;color:#ffe3a0;font-size:29px}.lantern-paper:before,.lantern-paper:after,.lantern-paper i{/* [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 16%;border-inline:1px solid #fbc76c77;border-radius:50%}.lantern-paper i{inset:0 33%}.lantern-paper b{font-weight:400}
.lantern-tassel{height:42px;width:13px;margin-top:5px;border-top:6px solid #dba846;background:repeating-linear-gradient(90deg,#ad2632 0 2px,transparent 2px 4px);border-radius:0 0 20% 20%}
.tet-blossoms{position:absolute;left:-28px;bottom:8%;width:170px;color:#e9b637;opacity:.85;transform-origin:bottom left;animation:branch-sway 9s ease-in-out infinite alternate}.tet-blossoms svg{width:100%}
.tet-halo{position:absolute;width:190px;height:190px;right:-100px;top:43%;border:2px dotted #c08a3d55;border-radius:50%;box-shadow:0 0 0 17px #d4a6420d,0 0 0 45px #d4a6420a;animation:season-halo 9s ease-in-out infinite alternate}
.summer-sun{position:absolute;width:110px;height:110px;border-radius:50%;right:-40px;top:140px;background:#f8d777;box-shadow:0 0 0 20px #f8d77718,0 0 75px 40px #f1c96630}.summer-palm{position:absolute;left:-40px;top:24%;width:140px;height:200px;rotate:-20deg;transform-origin:left;animation:branch-sway 7s ease-in-out infinite alternate}.summer-palm i{position:absolute;left:0;top:60px;width:160px;height:35px;border-radius:0 100% 0 100%;background:linear-gradient(8deg,#285b4c,#69936b);transform-origin:left}.summer-palm i:nth-child(2){rotate:30deg}.summer-palm i:nth-child(3){rotate:60deg}.summer-palm i:nth-child(4){rotate:90deg}
.summer-ripples{position:absolute;bottom:-90px;left:-10%;width:120%;height:150px;border:1px solid #8bbab677;border-radius:50%;box-shadow:0 -13px 0 #86b9b315,0 -28px 0 #86b9b30c;animation:summer-water 8s ease-in-out infinite alternate}
.autumn-art svg{position:absolute;left:-40px;top:16%;width:160px;height:330px;opacity:.8;transform-origin:bottom left;animation:branch-sway 8s ease-in-out infinite alternate}.autumn-light{position:absolute;right:-90px;bottom:10%;width:190px;height:300px;background:radial-gradient(ellipse,#c6793838,transparent 70%)}
.winter-moon{position:absolute;right:-29px;top:150px;width:95px;height:95px;border-radius:50%;background:#f5fbff;box-shadow:0 0 45px 20px #f2f9ff44}.ice-edge{position:absolute;inset:0;border-inline:12px solid #f1f8fc30;box-shadow:inset 0 0 40px #d0e6f566}.snow-bank{position:absolute;bottom:-46px;left:-5%;width:110%;height:75px;border-radius:50% 60% 0 0;background:#f6faffbb;box-shadow:0 -12px 0 #e9f4fb44}
@keyframes lantern-sway{from{rotate:-4deg}to{rotate:5deg}}@keyframes season-halo{to{scale:1.15;rotate:25deg}}@keyframes summer-water{to{translate:2% 8px;rotate:1deg}}
.season-art[data-motion=false] *,.season-art-paused *{animation-play-state:paused!important}
body:has(dialog[open]) .season-art{opacity:.13!important}body:has(#closingSequence[open]) .season-art{opacity:.06!important}
@media(max-width:700px){.lantern-left{left:8px;top:84px;scale:.55;transform-origin:top left}.lantern-right{display:none}.tet-blossoms{width:90px;left:-42px;bottom:12%}.summer-palm{scale:.6;left:-57px}.summer-sun{width:65px;height:65px;right:-37px}.autumn-art svg{width:100px;left:-54px}.winter-moon{width:60px;height:60px;right:-35px}.ice-edge{border-width:5px}.snow-bank{bottom:-57px}}
@media(prefers-reduced-motion:reduce){.season-art *{animation:none!important;transition:none!important}}

body[data-season=spring] .storybook{box-shadow:0 0 0 1px #c68d4480,0 15px 70px #a7243017;border-radius:24px}
body[data-season=spring] .chapter-ribbon a{background:#fff0d4;border-color:#bd6047;color:#9c2830;box-shadow:0 3px 0 #dcb07855}
body[data-season=spring] .chapter-ribbon a:nth-child(2n){background:#f3d8c7}
body[data-season=spring] .heart-seal{background:#ab2533;border-color:#e9b857;color:#ffe6aa}
body[data-season=summer] .sun-rays{opacity:.75}body[data-season=winter] .winter-frost{opacity:.8}
