#final-walk{position:relative;aspect-ratio:16/9;max-width:1100px;margin:auto;overflow:hidden;background:radial-gradient(circle at 9% 16%,#8f7a5b26 0 1px,transparent 2px),radial-gradient(circle at 26% 72%,#725e4520 0 1px,transparent 2px),radial-gradient(ellipse at 36% 50%,#d3c2a433,transparent 48%),linear-gradient(90deg,#f5eee1,#e9deca 31%,#9a8769 68%,#fffaf0);background-size:37px 41px,53px 47px,100% 100%,100% 100%;isolation:isolate}
#final-world{position:absolute;inset:0 auto 0 0;width:167%;background:#17120d;transform:translateX(calc(var(--camera,0) * -40%));transition:transform .12s linear;will-change:transform}
#final-world::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 42%,rgba(255,247,225,calc(var(--dissolve-progress,0) * .12)) 71%,rgba(255,253,245,calc(.14 + var(--dissolve-progress,0) * .18)));z-index:1}
#final-physical{position:absolute;inset:0;clip-path:polygon(var(--edge-0,-3%) 0,100% 0,100% 100%,var(--edge-16,-3%) 100%,var(--edge-15,-3%) 93.75%,var(--edge-14,-3%) 87.5%,var(--edge-13,-3%) 81.25%,var(--edge-12,-3%) 75%,var(--edge-11,-3%) 68.75%,var(--edge-10,-3%) 62.5%,var(--edge-9,-3%) 56.25%,var(--edge-8,-3%) 50%,var(--edge-7,-3%) 43.75%,var(--edge-6,-3%) 37.5%,var(--edge-5,-3%) 31.25%,var(--edge-4,-3%) 25%,var(--edge-3,-3%) 18.75%,var(--edge-2,-3%) 12.5%,var(--edge-1,-3%) 6.25%);filter:saturate(.72) contrast(1.02);z-index:0}
#final-corridor{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
.final-memory-object{position:absolute;display:block;box-sizing:border-box;overflow:visible;z-index:2;filter:sepia(.22) saturate(.78) drop-shadow(0 2px 2px #160f09);transform:rotate(var(--tilt));pointer-events:none}
.final-memory-object::before{content:'';position:absolute;inset:-32%;z-index:-1;background:radial-gradient(ellipse,#dcae684d 0,transparent 68%);filter:blur(5px);animation:memory-warmth 4.8s ease-in-out infinite alternate}
.final-memory-object img{display:block;width:100%;height:100%;object-fit:cover;border:1px solid #3e2d1d}
.final-memory-object.family,.final-memory-object.illness{padding:clamp(2px,.24vw,5px);background:linear-gradient(135deg,#62472c 0 8%,#24170e 19% 78%,#6d4d2d 91% 100%);border:2px solid #21150d;outline:1px solid #84623c;box-shadow:inset 0 0 0 1px #a6814e88,inset 0 0 5px #050302,2px 4px 7px #090604cc}
.final-memory-object.family img,.final-memory-object.illness img{box-shadow:inset 0 0 0 1px #aa87555c}
.final-memory-object.family{left:27.1%;top:25.3%;width:5.25%;height:21%;--tilt:-.5deg}
.final-memory-object.illness{left:45.6%;top:27.2%;width:4.75%;height:18.4%;--tilt:.7deg}
.final-memory-object.letter{left:69.7%;top:29.5%;width:4.2%;height:20%;--tilt:-.8deg}
.final-memory-object.letter::after{content:'';position:absolute;left:20%;right:17%;top:16%;bottom:18%;background:repeating-linear-gradient(to bottom,transparent 0 7%,rgba(55,39,25,.7) 7.8% 9.2%,transparent 10% 15%);opacity:.64;filter:blur(.15px);mix-blend-mode:multiply;transform:rotate(-1.2deg);clip-path:polygon(2% 0,96% 2%,100% 96%,0 100%)}
#final-absence{position:absolute;inset:0;background:radial-gradient(circle at 19% 21%,#725e4424 0 1px,transparent 2px),radial-gradient(circle at 32% 64%,#8d765523 0 1px,transparent 2px),radial-gradient(ellipse at 58% 18%,#fffaf077,transparent 23%),radial-gradient(ellipse at 74% 70%,#bdab8a33,transparent 20%),linear-gradient(90deg,#f7f0dfaa 0%,#eee3cf99 72%,#d5c4a533 100%);background-size:31px 29px,47px 43px,100% 100%,100% 100%,100% 100%;clip-path:polygon(0 0,var(--edge-0,-3%) 0,var(--edge-1,-3%) 6.25%,var(--edge-2,-3%) 12.5%,var(--edge-3,-3%) 18.75%,var(--edge-4,-3%) 25%,var(--edge-5,-3%) 31.25%,var(--edge-6,-3%) 37.5%,var(--edge-7,-3%) 43.75%,var(--edge-8,-3%) 50%,var(--edge-9,-3%) 56.25%,var(--edge-10,-3%) 62.5%,var(--edge-11,-3%) 68.75%,var(--edge-12,-3%) 75%,var(--edge-13,-3%) 81.25%,var(--edge-14,-3%) 87.5%,var(--edge-15,-3%) 93.75%,var(--edge-16,-3%) 100%,0 100%);opacity:min(1,calc(var(--dissolve-progress,0) * 8));pointer-events:none;z-index:0}
#final-fray{position:absolute;left:calc(var(--dissolve-x,0%) - 3.8%);top:0;width:8%;height:100%;pointer-events:none;z-index:2;opacity:min(1,calc(var(--dissolve-progress,0) * 7));background:radial-gradient(circle 3px at 38% 8%,#f2e8d8 0 72%,transparent 100%),radial-gradient(circle 6px at 61% 17%,#f5eddf 0 72%,transparent 100%),radial-gradient(circle 4px at 30% 27%,#e7dbc6 0 72%,transparent 100%),radial-gradient(circle 8px at 66% 39%,#fff8ea 0 72%,transparent 100%),radial-gradient(circle 6px at 41% 52%,#e5d7bf 0 72%,transparent 100%),radial-gradient(circle 4px at 70% 66%,#f7eedc 0 72%,transparent 100%),radial-gradient(circle 7px at 32% 78%,#eee3cf 0 72%,transparent 100%),radial-gradient(circle 5px at 58% 92%,#fff8e9 0 72%,transparent 100%);filter:blur(.45px);animation:fray-breathe 4.6s ease-in-out infinite alternate}
#final-particles{position:absolute;left:calc(var(--dissolve-x,0%) - 4.5%);top:0;width:11%;height:100%;pointer-events:none;z-index:3;opacity:min(1,calc(var(--dissolve-progress,0) * 7))}
#final-particles i{position:absolute;top:var(--y);left:calc(50% + var(--x));width:var(--size);height:calc(var(--size) * 1.55);background:#6f5e49;clip-path:polygon(8% 4%,91% 0,100% 64%,62% 100%,0 78%);box-shadow:0 0 2px #fff5df99;animation:memory-drift var(--duration) var(--delay) ease-in-out infinite;opacity:.52}
#final-particles i:nth-child(3n){background:#d8c9ae;filter:blur(.35px)}
#final-particles i:nth-child(4n){height:calc(var(--size) * .8);border-radius:50%;background:#5d4e3e;filter:blur(.6px)}
#final-particles i:nth-child(7n){background:#f3ead8;box-shadow:none}
#final-light{position:absolute;right:0;top:13%;width:11%;height:73%;background:linear-gradient(90deg,#fff8dd33,#fffdf5 55%,#fff);box-shadow:-18px 0 55px 22px #fff7df88;pointer-events:none;animation:final-light-breathe 5s ease-in-out infinite alternate;z-index:2}
#final-walk #player{bottom:13.5%;width:7.1%;height:27%;z-index:5;filter:grayscale(1) sepia(.12) brightness(.94) drop-shadow(1px 2px 2px #3b2c20)}
#final-walk::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:8;background:linear-gradient(90deg,#16110c55,transparent 48%,#fff7df1a 75%,#fffdf188);transition:background 1.3s,opacity 1.3s}
#final-walk.crossing::after{background:#fff;opacity:1}
#mirror-white.stage6-release{opacity:0;transition:opacity 1.35s ease;pointer-events:none}
#stage6{position:fixed;inset:0;display:grid;place-items:center;background:#fff;color:#342e28;z-index:10000;outline:none;opacity:0;transition:opacity 1.2s ease;text-align:center;padding:24px}
#stage6.white{opacity:1}
#final-coda{position:absolute;inset:0 clamp(18px,4vw,52px);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:clamp(10px,1.7vh,18px);padding-top:clamp(28px,7vh,64px);box-sizing:border-box;opacity:1;transition:opacity 2.4s ease}
#final-coda[hidden]{display:none}
.final-coda-art{position:relative;flex:0 0 auto;width:min(720px,74vw);height:min(34vh,320px);overflow:hidden}
.final-coda-art::after{content:'';position:absolute;inset:-2%;z-index:2;background:#fff;opacity:.98;filter:blur(12px);transition:opacity 5.8s linear,filter 5.8s ease;pointer-events:none}
.final-coda-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.final-coda-sketch{opacity:0;filter:grayscale(1) contrast(.62) brightness(2.15) blur(9px);transform:scale(1.025);transition:opacity 5.6s linear,filter 5.8s ease,transform 6s ease}
.final-coda-tone{opacity:0;filter:saturate(.22) contrast(.62) brightness(2.25) blur(13px);transform:scale(1.035);transition:opacity 5.4s .45s linear,filter 5.8s .25s ease,transform 6s ease}
#final-coda.revealing .final-coda-art::after{opacity:0;filter:blur(2px)}
#final-coda.revealing .final-coda-sketch{opacity:.72;filter:grayscale(1) contrast(1.08) brightness(1.18) blur(0);transform:none}
#final-coda.revealing .final-coda-tone{opacity:.72;filter:saturate(.58) contrast(.96) brightness(1.06) blur(0);transform:none}
#final-coda-text{max-width:860px;margin:0;white-space:pre-line;color:#dedbd6;font:400 clamp(14px,1.45vw,18px)/1.46 Georgia,serif;letter-spacing:.012em;opacity:.015;filter:blur(1.5px);transform:translateY(6px);transition:opacity 5.6s linear,color 5.6s linear,filter 5.6s ease,transform 5.6s ease}
#final-coda.text-visible #final-coda-text{opacity:.88;color:#504940;filter:blur(0);transform:none}
#final-coda-continue{width:min(300px,82vw);min-height:42px;margin-top:clamp(2px,1vh,10px);padding:10px 18px;border:1px solid #948b80;background:transparent;color:#4b443c;font:600 11px/1.25 Georgia,serif;letter-spacing:.14em;white-space:normal;opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity 1.5s ease,transform 1.5s ease,background .3s ease}
#final-coda.ready #final-coda-continue{opacity:.78;transform:none;pointer-events:auto}
#final-coda-continue:hover,#final-coda-continue:focus-visible{background:#ebe7e1;opacity:1}
#final-coda-continue:disabled{pointer-events:none}
#final-coda.leaving{opacity:0}
#stage6-title{margin:0;font:400 clamp(23px,4vw,46px)/1.3 Georgia,serif;letter-spacing:.1em;color:#3a342e;opacity:0;transform:translateY(5px);transition:opacity 2.8s ease,transform 2.8s ease}
#stage6-title.visible{opacity:.82;transform:none}
#stage6-credits{display:grid;justify-items:center;gap:12px;opacity:0;transform:translateY(8px);transition:opacity 3s ease,transform 3s ease;font-family:Georgia,serif}
#stage6-credits[hidden]{display:none}
#stage6-credits.visible{opacity:.86;transform:none}
#stage6-credits h2{margin:0 0 8px;font:400 clamp(25px,4vw,46px)/1.25 Georgia,serif;letter-spacing:.14em}
#stage6-credits p{margin:0;color:#514a42;font-size:clamp(14px,2vw,19px);letter-spacing:.04em}
#stage6-credits button{min-width:210px;margin-top:12px;padding:12px 18px;border:1px solid #746c63;background:transparent;color:#39332d;font:600 12px/1.2 Georgia,serif;letter-spacing:.13em;box-sizing:border-box}
#stage6-credits button:hover,#stage6-credits button:focus-visible{background:#ded9d1}
#final-memory-view{padding:clamp(8px,1.2vw,14px);border:0;background:#100d0a;color:#d8c9ae;max-width:min(92vw,850px);max-height:92dvh;overflow:auto;text-align:center;box-shadow:0 10px 45px #000b,0 0 0 1px #96795855;outline:none}
#final-memory-view::backdrop{background:rgba(5,4,3,.9);backdrop-filter:blur(2px)}
#final-memory-view [hidden]{display:none!important}
#final-memory-view figure{margin:0;max-width:min(86vw,780px)}
#final-memory-view figure img{display:block;width:100%;max-height:68dvh;object-fit:contain}
#final-memory-view figcaption{max-width:640px;margin:0 auto;padding:18px 24px 12px;font:italic clamp(16px,2vw,22px)/1.55 Georgia,serif;color:#d9c8aa;letter-spacing:.015em}
#final-letter-view{position:relative;width:min(72vw,calc(72dvh * .6667),520px);aspect-ratio:2/3;margin:auto;isolation:isolate;overflow:hidden}
#final-letter-view>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
#final-letter-view article{position:absolute;left:14%;right:14%;top:10%;bottom:9%;display:grid;align-content:center;margin:0;white-space:pre-line;text-align:left;color:#34291f;text-shadow:0 1px #fff3d344;font:clamp(12px,1.45vw,18px)/1.46 'Bradley Hand','Segoe Print','Comic Sans MS',cursive;transform:rotate(-.2deg);overflow:auto;overflow-wrap:anywhere}
#final-memory-close{display:block;min-width:150px;margin:14px auto 2px;background:#17120e;color:#d8c9ae;border:1px solid #796348}
#final-memory-close:hover,#final-memory-close:focus-visible{background:#2a2119;border-color:#b99a70}
@keyframes fray-breathe{from{opacity:calc(var(--dissolve-progress,0) * 4);transform:translateX(-.4%) scaleX(.94)}to{opacity:min(1,calc(var(--dissolve-progress,0) * 7));transform:translateX(.5%) scaleX(1.08)}}
@keyframes memory-drift{0%{transform:translate(0,8px) rotate(0);opacity:0}22%{opacity:.58}70%{opacity:.38}100%{transform:translate(var(--drift-x),var(--drift-y)) rotate(var(--turn));opacity:0}}
@keyframes memory-warmth{from{opacity:.48;transform:scale(.96)}to{opacity:.78;transform:scale(1.04)}}
@keyframes final-light-breathe{from{filter:brightness(.96)}to{filter:brightness(1.08)}}
@media(max-width:650px){#final-walk{aspect-ratio:1.2}#final-world{height:100%;width:222%;transform:translateX(calc(var(--camera,0) * -55%))}#final-walk #player{width:7.6%;height:26%}#final-particles{width:14%}#final-fray{width:12%}#final-memory-view{max-width:94vw;max-height:88dvh}#final-memory-view::backdrop{backdrop-filter:none}#final-memory-view figure img{max-height:58dvh}#final-letter-view{width:min(84vw,calc(68dvh * .6667),420px)}#final-letter-view article{left:13.5%;right:13.5%;top:9%;bottom:8%;font-size:clamp(10px,2.85vw,13px);line-height:1.34}#final-coda{inset:0 16px;padding-top:clamp(24px,7vh,62px);gap:11px}.final-coda-art{width:min(92vw,620px);height:min(31vh,280px)}#final-coda-text{font-size:clamp(11px,3.1vw,15px);line-height:1.34}#final-coda-continue{margin-top:2px;padding:10px 18px}#final-walk.mobile-lite #final-world{transition:none}#final-walk.mobile-lite #final-physical{clip-path:polygon(var(--dissolve-x,-3%) 0,100% 0,100% 100%,var(--dissolve-x,-3%) 100%);filter:none}#final-walk.mobile-lite #final-absence{clip-path:polygon(0 0,var(--dissolve-x,-3%) 0,var(--dissolve-x,-3%) 100%,0 100%)}#final-walk.mobile-lite #final-particles{display:none}#final-walk.mobile-lite #final-fray{filter:none;animation:none}#final-walk.mobile-lite #final-light{animation:none;box-shadow:-10px 0 28px 12px #fff7df66}#final-walk.mobile-lite .final-memory-object{filter:none}#final-walk.mobile-lite .final-memory-object::before{filter:none;animation:none;opacity:.55}#final-walk.mobile-lite .final-memory-object.letter::after{filter:none;mix-blend-mode:normal}#final-walk.mobile-lite #player{filter:grayscale(1) brightness(.94)}}
@media(max-width:900px) and (max-height:500px) and (orientation:landscape){#final-coda{inset:0 20px;display:grid;grid-template-columns:minmax(230px,42%) minmax(0,1fr);grid-template-rows:1fr auto;align-content:center;align-items:center;column-gap:18px;row-gap:7px;padding:12px 0}.final-coda-art{grid-row:1/3;width:100%;height:min(70vh,280px)}#final-coda-text{max-width:none;font-size:10px;line-height:1.25}#final-coda-continue{width:min(240px,100%);min-height:36px;margin:0 auto;padding:6px 14px}}
@media(pointer:coarse){#final-walk.mobile-lite #final-world{transition:none}#final-walk.mobile-lite #final-physical{clip-path:polygon(var(--dissolve-x,-3%) 0,100% 0,100% 100%,var(--dissolve-x,-3%) 100%);filter:none}#final-walk.mobile-lite #final-absence{clip-path:polygon(0 0,var(--dissolve-x,-3%) 0,var(--dissolve-x,-3%) 100%,0 100%)}#final-walk.mobile-lite #final-particles{display:none}#final-walk.mobile-lite #final-fray{filter:none;animation:none}#final-walk.mobile-lite #final-light{animation:none;box-shadow:-10px 0 28px 12px #fff7df66}#final-walk.mobile-lite .final-memory-object{filter:none}#final-walk.mobile-lite .final-memory-object::before{filter:none;animation:none;opacity:.55}#final-walk.mobile-lite .final-memory-object.letter::after{filter:none;mix-blend-mode:normal}#final-walk.mobile-lite #player{filter:grayscale(1) brightness(.94)}}
@media(prefers-reduced-motion:reduce){#final-particles i,#final-light,#final-fray,.final-memory-object::before{animation:none}}
