/* Everything Comes Together: the optional, silent final chapter. */
.grandFinale[hidden]{display:none!important}
.grandFinale{position:fixed;inset:0;z-index:9000;overflow:hidden;background:#10100e;color:#f7eddd;font-family:Arial,sans-serif;isolation:isolate}
.grandFinale *{box-sizing:border-box}
.grandFinaleScene,.grandFinaleImage,.grandFinaleShade,.grandFinaleTexture,.grandFinaleBloom{position:absolute;inset:0;width:100%;height:100%}
.grandFinaleScene{overflow:hidden;background:radial-gradient(circle at 67% 45%,#4c342e,#0c1110 70%)}
.grandFinaleImage{display:block;object-fit:cover;object-position:center;transform:scale(1.035);filter:saturate(.85) contrast(1.02)}
.grandFinaleImage.current{z-index:1;transition:transform 7.4s linear,filter 1s ease}
.grandFinale.isPlaying .grandFinaleImage.current{transform:scale(1.105)}
.grandFinale[data-scene="ending"] .grandFinaleImage.current{transform:scale(1.035);transition:none}
.grandFinaleImage.incoming{z-index:2;opacity:0;clip-path:circle(0 at var(--reveal-x,60%) var(--reveal-y,50%));transform:scale(1.035)}
.grandFinaleImage.incoming.revealing{opacity:1;clip-path:circle(165% at var(--reveal-x,60%) var(--reveal-y,50%));transform:scale(1.055);transition:clip-path 1.7s cubic-bezier(.21,.66,.2,1),transform 1.7s ease-out}
.grandFinaleShade{z-index:4;background:linear-gradient(90deg,rgba(9,12,11,.75),rgba(9,12,11,.15) 58%,rgba(9,12,11,.12)),linear-gradient(0deg,#0d1110 2%,transparent 34%,transparent 75%,#0a0c0c7d 100%);pointer-events:none}
.grandFinale[data-scene="voice"] .grandFinaleShade{background:linear-gradient(90deg,#211820f2,#211820bb 50%,#2118201a 82%),linear-gradient(0deg,#161119 2%,transparent 35%,transparent 80%,#16111982)}
.grandFinaleTexture{z-index:5;pointer-events:none;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.62' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.15'/%3E%3C/svg%3E")}
.grandFinaleBloom{z-index:8;pointer-events:none;opacity:0;transition:opacity .8s ease}
.grandFinale[data-scene="ending"] .grandFinaleBloom{opacity:1}
.grandFinaleHeader{position:absolute;z-index:12;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:calc(24px + env(safe-area-inset-top)) clamp(22px,4vw,70px) 18px}
.grandFinaleWordmark{display:flex;align-items:center;gap:17px;min-width:0;color:#fbebd5;font:700 10px/1.4 Arial,sans-serif;letter-spacing:.25em;text-transform:uppercase;text-shadow:0 2px 8px #000}
.grandFinaleWordmark:before{content:"✦";font:28px/1 Georgia,serif;color:#eec9a1;text-shadow:0 0 14px #f0b678}
.grandFinaleHeaderActions{display:flex;gap:10px}
.grandFinaleButton{min-height:42px;padding:10px 16px;border:1px solid #f4dfb8a9;border-radius:999px;background:#171b19b8;color:#fff3e2;font:700 9px/1.15 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;cursor:pointer;backdrop-filter:blur(8px)}
.grandFinaleButton:hover{background:#624641bd;border-color:#ffe6bd}
.grandFinaleButton:focus-visible,.grandFinaleTimeline button:focus-visible{outline:3px solid #fff4dc;outline-offset:3px}
.grandFinaleText{position:absolute;z-index:10;left:clamp(25px,6.4vw,110px);bottom:clamp(162px,21vh,240px);width:min(610px,70vw);text-shadow:0 2px 18px #000c}
.grandFinaleText.entering{animation:grandFinaleCopy .9s cubic-bezier(.2,.7,.2,1) both}
.grandFinaleEyebrow{display:block;margin:0 0 18px;color:#f0cc9f;font:700 10px/1.3 Arial,sans-serif;letter-spacing:.23em;text-transform:uppercase}
.grandFinaleText h2{margin:0;color:#fff4e6;font:italic 400 clamp(48px,7.3vw,122px)/.91 Georgia,serif;letter-spacing:-.058em;text-wrap:balance}
.grandFinaleText p{max-width:470px;margin:23px 0 0;color:#f5e9d8;font:clamp(15px,1.4vw,20px)/1.46 Georgia,serif;text-wrap:pretty}
.grandFinale[data-scene="ending"] .grandFinaleText{bottom:clamp(165px,20vh,220px)}
.grandFinale[data-scene="ending"] .grandFinaleText h2{font-size:clamp(48px,6.5vw,100px)}
.grandFinaleSignature{display:none;width:min(280px,43vw);height:100px;object-fit:cover;object-position:center;margin-top:13px;filter:brightness(0) invert(1) drop-shadow(0 0 12px #edbc9f)}
.grandFinale[data-scene="ending"] .grandFinaleSignature{display:block}
.grandFinaleFooter{position:absolute;z-index:12;left:0;right:0;bottom:0;padding:16px clamp(22px,4vw,70px) calc(25px + env(safe-area-inset-bottom));background:linear-gradient(0deg,#101411f0,#1014119c 65%,transparent)}
.grandFinaleTimeline{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;max-width:1280px;margin:0 auto 16px}
.grandFinaleTimeline button{display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-width:0;padding:10px 0;border:0;background:transparent;color:#e1d4c4;text-align:left;cursor:pointer;font:700 9px/1.2 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;opacity:.66}
.grandFinaleTimeline button:before{content:"";width:100%;height:2px;background:#f8e5c269}
.grandFinaleTimeline button.active,.grandFinaleTimeline button:hover{opacity:1;color:#fff6e6}
.grandFinaleTimeline button.active:before{height:3px;background:#f8d9a5;box-shadow:0 0 13px #f6c995}
.grandFinaleControls{display:flex;align-items:center;justify-content:space-between;gap:22px;max-width:1280px;margin:auto}
.grandFinaleControlsLeft,.grandFinaleControlsRight{display:flex;align-items:center;gap:8px}
.grandFinaleControls .grandFinaleButton{min-height:39px;padding:8px 12px}
.grandFinaleCount{min-width:58px;color:#ead3ad;font:12px Georgia,serif;text-align:center}
.grandFinaleDisclosure{margin:13px 0 0;color:#dac8b3;font:10px/1.4 Arial,sans-serif;letter-spacing:.01em;text-align:center}
.grandFinaleEndingActions{display:none;gap:10px;flex-wrap:wrap;margin-top:19px}
.grandFinale[data-scene="ending"] .grandFinaleEndingActions{display:flex}
.grandFinaleEndingActions .grandFinaleButton:first-child{border-color:#f5d6a5;background:#efdbb7;color:#2a2420}
@keyframes grandFinaleCopy{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1000px){.grandFinale[data-scene="ending"] .grandFinaleText{width:min(27vw,520px)}.grandFinale[data-scene="ending"] .grandFinaleText h2{font-size:clamp(52px,5vw,86px)}}
@media(max-width:900px){.grandFinaleText{left:30px;bottom:190px;width:min(530px,78vw)}.grandFinaleText h2{font-size:clamp(50px,9vw,85px)}.grandFinaleShade{background:linear-gradient(0deg,#0d1110 3%,#0d1110a6 31%,transparent 71%,#0a0c0c87 100%)}.grandFinaleTimeline button{font-size:8px}.grandFinaleHeader{padding-top:calc(17px + env(safe-area-inset-top))}}
@media(max-width:700px){.grandFinaleImage{object-position:58% center}.grandFinaleImage.incoming{clip-path:none!important;opacity:0;transform:scale(1.035)}.grandFinaleImage.incoming.revealing{opacity:1;transform:scale(1.055);transition:opacity .75s ease,transform .75s ease-out}.grandFinaleHeader{gap:8px;padding:calc(11px + env(safe-area-inset-top)) 14px 10px}.grandFinaleWordmark{font-size:8px;letter-spacing:.12em;gap:7px}.grandFinaleWordmark:before{font-size:18px}.grandFinaleHeaderActions{gap:5px}.grandFinaleHeader .grandFinaleButton{min-height:35px;padding:6px 8px;font-size:8px;letter-spacing:.05em}.grandFinaleText{left:20px;right:20px;bottom:calc(179px + env(safe-area-inset-bottom));width:auto}.grandFinaleText h2{font-size:clamp(45px,11vw,69px)}.grandFinaleText p{margin-top:13px;max-width:390px;font-size:14px}.grandFinaleEyebrow{font-size:8px;margin-bottom:11px}.grandFinale[data-scene="ending"] .grandFinaleText{bottom:calc(182px + env(safe-area-inset-bottom))}.grandFinale[data-scene="ending"] .grandFinaleText h2{font-size:clamp(42px,10vw,65px)}.grandFinaleSignature{width:170px;height:62px;margin-top:6px}.grandFinaleEndingActions{margin-top:7px}.grandFinaleEndingActions .grandFinaleButton{min-height:35px;padding:7px 9px;font-size:8px}.grandFinaleFooter{padding:6px 13px calc(11px + env(safe-area-inset-bottom))}.grandFinaleTimeline{gap:4px;margin-bottom:3px}.grandFinaleTimeline button{min-height:25px;padding:6px 0;font-size:0}.grandFinaleTimeline button:before{height:3px}.grandFinaleTimeline button.active:before{height:4px}.grandFinaleControls{gap:6px}.grandFinaleControlsLeft,.grandFinaleControlsRight{gap:5px}.grandFinaleControls .grandFinaleButton{min-height:35px;padding:7px 8px;font-size:8px;letter-spacing:.04em}.grandFinaleCount{min-width:40px;font-size:10px}.grandFinaleDisclosure{font-size:8px;margin:8px 0 0}.grandFinale[data-scene="ending"] .grandFinaleFooter{background:linear-gradient(0deg,#101411,#101411af 75%,transparent)}}
@media(max-width:390px){.grandFinaleText{bottom:calc(177px + env(safe-area-inset-bottom))}.grandFinaleText h2{font-size:42px}.grandFinaleText p{font-size:13px}.grandFinale[data-scene="ending"] .grandFinaleText h2{font-size:40px}.grandFinaleWordmark{font-size:7px}.grandFinaleControls .grandFinaleButton{font-size:7px}}
@media(max-height:650px) and (min-width:701px){.grandFinaleText{bottom:145px}.grandFinaleText h2{font-size:62px}.grandFinaleText p{margin-top:12px;font-size:15px}.grandFinaleFooter{padding-bottom:10px}.grandFinaleTimeline{margin-bottom:4px}.grandFinale[data-scene="ending"] .grandFinaleText{bottom:165px}.grandFinale[data-scene="ending"] .grandFinaleText h2{font-size:58px}.grandFinale[data-scene="ending"] .grandFinaleText p{margin-top:9px;font-size:13px}.grandFinale[data-scene="ending"] .grandFinaleSignature{height:55px;margin-top:5px}.grandFinale[data-scene="ending"] .grandFinaleEndingActions{margin-top:6px}.grandFinale[data-scene="ending"] .grandFinaleEndingActions .grandFinaleButton{min-height:34px;padding:7px 10px}}
@media(prefers-reduced-motion:reduce){.grandFinaleImage,.grandFinaleBloom{animation:none!important;transition:none!important}.grandFinaleText.entering{animation:none}.grandFinaleImage.incoming{clip-path:none!important}.grandFinaleImage.incoming.revealing{opacity:1}}
