.in-finale #worldCompass,.in-finale #hud,.in-finale #quest,.in-finale #map,.in-finale #party,.in-finale #controls,.in-finale #touchControls,.in-finale #libraryZoomControls,.in-finale #islandViewBtn,.in-finale #chapterTrail,.in-finale #exploreHint,.in-finale #connection,.in-finale #toast{visibility:hidden!important}
.finale{position:fixed;inset:0;z-index:100;color:#fff6db;overflow:hidden;font-family:inherit;background:transparent}
.finale [hidden]{display:none!important}.finale button{font-family:inherit;cursor:pointer;border:1px solid #eedab44d;color:#fff0ce;background:#102b35b5;border-radius:30px;padding:12px 22px;font-size:14px;backdrop-filter:blur(12px)}.finale button:hover{background:#2f4f55}.finale button:focus-visible{outline:3px solid #ffda8c;outline-offset:4px}
.finale-tint{position:absolute;inset:0;background:linear-gradient(180deg,#0a1d3d50,transparent 35%,#08232a25 50%,#061725f5 100%);pointer-events:none;transition:background 2s}
.finale-letterbox{position:absolute;inset:0;border-block:55px solid #071822;pointer-events:none}.finale-top{position:absolute;top:15px;left:4%;right:4%;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px;letter-spacing:2px}.finale-top div{display:flex;gap:8px}.finale-top button{padding:7px 15px;font-size:11px}
.finale-caption{position:absolute;left:8%;right:8%;bottom:112px;max-width:850px;margin:auto;text-align:center;animation:finale-caption-in 1.4s both}.finale-caption>small{color:#edce8c;font-size:12px;letter-spacing:3px}.finale h1{font-family:Georgia,'Batang',serif;font-weight:400;font-size:clamp(30px,4vw,54px);line-height:1.3;margin:16px 0 25px;text-shadow:0 3px 20px #0008}.finale-line{display:flex;justify-content:center;gap:17px;align-items:baseline}.finale-line b{flex-shrink:0;font-size:13px;color:#edce8c}.finale-line p{font-size:clamp(14px,1.6vw,19px);line-height:1.9;text-align:left;max-width:620px;margin:0;word-break:keep-all}
.finale-bottom{position:absolute;bottom:14px;left:6%;right:6%;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#e8d7b596}.finale-bottom button{padding:9px 20px}.finale [data-ending-finish]{background:#e9cd87;color:#183b45;font-weight:700}
.finale-pages{position:absolute;inset:16% 12% auto;display:flex;justify-content:center;gap:12px;opacity:0;transform:translateY(35px);transition:opacity 2s,transform 3s;pointer-events:none}.finale-page{width:130px;height:145px;background:linear-gradient(135deg,#fff9e9,#e8d7ac);color:#395454;border:1px solid #faecc3;border-radius:3px 10px 10px 3px;box-shadow:0 0 32px #eed89460;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;transform:rotate(calc((var(--i) - 2.5)*4deg));animation:finale-page-float 4s calc(var(--i)*-.5s) ease-in-out infinite}.finale-page small{font-size:13px}.finale-page b{font-size:12px;font-weight:500}.finale-page span{color:#b49c51}
.finale[data-beat=lights] .finale-pages{opacity:1;transform:translateY(0)}.finale-stars{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity 2s}.finale-stars i{position:absolute;width:3px;height:3px;border-radius:50%;background:#ffe7a0;box-shadow:0 0 15px #f6d189;animation:finale-star 5s calc(var(--i)*-.3s) ease-in-out infinite}.finale[data-beat=lights] .finale-stars,.finale[data-beat=goodbye] .finale-stars{opacity:1}
.finale-flash{position:absolute;inset:0;background:#fff8df;opacity:0;pointer-events:none}.finale[data-beat=white] .finale-flash{animation:finale-white 5s both}.finale[data-beat=white] .finale-caption{color:#284f57;text-shadow:none}.finale[data-beat=white] .finale-line b,.finale[data-beat=white] .finale-caption>small{color:#776b4a}.finale[data-beat=wake] .finale-flash{animation:finale-awaken 3s both}.finale[data-beat=promise] .finale-tint{background:linear-gradient(#061c2ab5,#102f3dd9)}.finale[data-beat=promise] .finale-caption{bottom:25%}
@keyframes finale-caption-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes finale-page-float{50%{translate:0 -10px}}@keyframes finale-star{50%{opacity:.3;translate:0 -16px}}@keyframes finale-white{to{opacity:1}}@keyframes finale-awaken{from{opacity:1}to{opacity:0}}
@media(max-width:700px){.finale-top>span{max-width:125px;line-height:1.5;letter-spacing:1px}.finale-caption{left:6%;right:6%;bottom:95px}.finale h1{margin:12px 0 18px}.finale-line{display:block}.finale-line b{display:block;margin-bottom:8px}.finale-line p{text-align:center}.finale-pages{inset:14% 8% auto;flex-wrap:wrap;gap:8px}.finale-page{width:26%;height:85px;gap:5px}.finale-page small,.finale-page b{font-size:10px}.finale-top button{padding:6px 10px}.finale[data-beat=lights] .finale-caption{bottom:90px}.finale-bottom{left:5%;right:5%}}
@media(prefers-reduced-motion:reduce){.finale *{animation:none!important;transition:none!important}.finale[data-beat=white] .finale-flash{opacity:1}}
.finale[data-beat=truth] .finale-tint{background:linear-gradient(#182f4940,transparent 30%,#081a27ed 100%)}.finale[data-beat=empty] .finale-tint{background:linear-gradient(#102a3a45,#12243370 40%,#061927f7 100%)}.finale[data-beat=fade] .finale-stars{opacity:.65}.finale[data-beat=nudge] .finale-stars{opacity:.3}.finale[data-beat=empty] .finale-caption{animation-duration:2.7s}.finale[data-beat=empty] h1{letter-spacing:.08em}.finale[data-beat=truth] .finale-caption>small{color:#ccbe99}
@media(max-height:500px){.finale-caption{bottom:62px}.finale h1{font-size:27px;margin:6px 0 10px}.finale-line p{font-size:13px;line-height:1.6}.finale-pages{inset:16% 16% auto;flex-wrap:nowrap}.finale-page{height:68px;width:15%;gap:3px}.finale-page small,.finale-page b{font-size:9px}.finale[data-beat=lights] .finale-caption{bottom:60px}.finale[data-beat=promise] .finale-caption{bottom:22%}.finale-letterbox{border-block-width:42px}.finale-top{top:8px}.finale-bottom{bottom:7px}}
