@font-face{font-family:Manrope;src:url('assets/manrope.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
:root{font-family:Manrope,'Avenir Next',Avenir,Arial,sans-serif;color:#fff9e9;background:#171a1c;font-synthesis:none;--cream:#fff9e9;--yellow:#ffe36a;--ink:#25251e;--vh:100svh;--safe-top:94px}
*{box-sizing:border-box}html{scrollbar-gutter:stable;scroll-behavior:smooth}body{margin:0;overflow-x:clip}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #ffe36a;outline-offset:5px}button:disabled{cursor:default}::selection{background:#ffe36a;color:#24241e}
.skip{position:fixed;left:20px;top:-100px;z-index:100;background:var(--cream);color:var(--ink);padding:14px}.skip:focus{top:20px}
#loading{position:fixed;inset:0;z-index:80;background:#fff8df;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px;color:#625a3d;font-size:12px;letter-spacing:.08em;transition:opacity .65s,visibility .65s}#loading img{border-radius:50%;box-shadow:0 15px 50px #b48b3320}#loading.done{opacity:0;visibility:hidden;pointer-events:none}.loading-line{width:100px;height:2px;overflow:hidden;background:#e5dbaa}.loading-line:after{content:'';display:block;width:45px;height:100%;background:#dcb936;animation:load 1.3s ease-in-out infinite}@keyframes load{from{transform:translateX(-45px)}to{transform:translateX(100px)}}
#backdrops,.shade,.grain{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}#backdrops{z-index:0;background:#26221c}.backdrop{position:absolute;inset:0;opacity:0;transition:opacity 1.15s ease;overflow:hidden}.backdrop.active{opacity:1}.backdrop:before{content:"";position:absolute;inset:-20px;background-image:var(--art);background-size:cover;background-position:center top;filter:blur(22px);opacity:.8}.backdrop img{position:absolute;top:var(--safe-top);width:100%;height:calc(100% - var(--safe-top));object-fit:cover;object-position:var(--position);transform:scale(1.0);transform-origin:center top;will-change:transform;animation:drift 22s ease-in-out infinite alternate}.backdrop:nth-child(even) img{animation-direction:alternate-reverse}@keyframes drift{to{transform:scale(1.035) translateX(-.7%)}}.shade{z-index:1;background:linear-gradient(180deg,#16181229 0%,transparent 26%,transparent 55%,#0c10135c 80%,#0c1013b3 100%)}.grain{z-index:2;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.6' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}
.nav{position:fixed;z-index:20;left:36px;right:36px;top:24px;height:66px;border:1px solid #fffc;box-shadow:0 6px 30px #2720100b;background:#fff9e9db;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-radius:4px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;color:var(--ink)}.brand{display:flex;align-items:center;width:126px;height:52px}.brand-art{width:124px;height:47px;display:block;background-image:url('assets/brand-banner.png');background-size:308px 103px;background-position:-9px -17px;background-repeat:no-repeat}.actions{display:flex;align-items:center;gap:7px}.action{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 14px;border:1px solid #29291d28;border-radius:3px;background:transparent;font-size:12px;font-weight:650;letter-spacing:.01em;transition:background .2s,transform .2s}.action:hover{background:#ffecab;transform:translateY(-1px)}.action.buy{background:#ffe36a;border-color:#dbc15c}.action.buy:hover{background:#ffdc46}.action img{object-fit:contain}.external{font-size:15px;opacity:.55}.action.ca{padding:0 12px}
main{position:relative;z-index:3}.scene{height:125svh;position:relative}.scene:first-child{height:120svh}.scene:last-child{height:115svh}.dialogue{position:absolute;left:5.2%;right:12%;top:75svh;opacity:0;transform:translateY(12px);transition:opacity .7s,transform .8s}.scene.current .dialogue{opacity:1;transform:none}.dialogue p{font-size:clamp(17px,1.5vw,22px);font-weight:450;line-height:1.65;letter-spacing:-.025em;margin:0;text-shadow:0 2px 16px #000a}.dialogue p:before{content:'';display:block;width:28px;height:2px;background:var(--yellow);margin-bottom:17px}.scene:nth-child(3) .dialogue,.scene:nth-child(5) .dialogue{left:auto;right:7%;text-align:right}.scene:nth-child(3) .dialogue p:before,.scene:nth-child(5) .dialogue p:before{margin-left:auto}.scene:last-child .dialogue{top:67svh}.closing-actions{margin-top:24px;display:flex;gap:8px;align-items:center}.closing-actions .action{background:#fff9e9e8;color:var(--ink);backdrop-filter:blur(12px)}.closing-actions .buy{background:#ffe36a}.end-credit{position:absolute;bottom:30px;left:5.2%;right:5.2%;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.08em;color:#fff9e9a6}.end-credit a{border-bottom:1px solid #fff5;padding-bottom:3px}.scroll-cue{position:fixed;z-index:4;bottom:31px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:15px;font-size:10px;letter-spacing:.07em;transition:opacity .5s;pointer-events:none}.scroll-cue.hidden{opacity:0}.scroll-cue i{height:30px;width:15px;border:1px solid #fff9e980;border-radius:20px;position:relative}.scroll-cue i:after{content:'';position:absolute;height:5px;width:2px;left:5px;top:6px;background:var(--yellow);animation:scrollhint 1.8s infinite}@keyframes scrollhint{to{transform:translateY(9px);opacity:0}}
.journey{position:fixed;z-index:10;right:23px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:3px}.journey button{width:23px;height:23px;display:grid;place-items:center;background:none;border:0}.journey button:after{content:'';display:block;width:4px;height:4px;border-radius:50%;background:#fff9e97a;transition:height .4s,background .4s}.journey button[aria-current=true]:after{height:20px;border-radius:5px;background:var(--yellow)}
.steam{position:absolute;left:42%;top:20%;width:30px;height:80px;opacity:.2}.steam i{position:absolute;bottom:0;border-left:1px solid var(--cream);height:40px;width:13px;border-radius:50%;filter:blur(2px);animation:steam 4s ease-out infinite}.steam i:nth-child(2){left:12px;animation-delay:1.3s}.steam i:nth-child(3){left:20px;animation-delay:2.6s}@keyframes steam{from{transform:translateY(0) scale(.7);opacity:0}30%{opacity:.7}to{transform:translateY(-55px) scale(1.4);opacity:0}}.washer-motion{position:absolute;left:31%;top:53%;width:80px;height:80px;border:1px dashed #fff5;border-radius:50%;opacity:.13;animation:spin 15s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.market-motion{position:absolute;right:8%;top:31%;opacity:.15;width:140px;height:70px;color:#c5ffd3}.market-motion path{stroke-dasharray:8 3;animation:ticker 12s linear infinite}@keyframes ticker{to{stroke-dashoffset:-80}}
.gallery-scene{height:850svh}.film-stage{position:sticky;top:0;height:100svh;display:flex;align-items:center;overflow:hidden;touch-action:pan-y pinch-zoom}.film-viewport{width:100%;overflow:hidden;padding:28px 0}.film-track{display:flex;width:max-content;gap:0;background:#181915;box-shadow:0 20px 70px #0006;will-change:transform;position:relative;padding:43px 4vw 49px}.film-track:before,.film-track:after{content:'';position:absolute;left:0;right:0;height:11px;background:repeating-linear-gradient(90deg,transparent 0 10px,#d0c7a4 10px 24px,transparent 24px 36px);opacity:.85}.film-track:before{top:12px}.film-track:after{bottom:11px}.film-frame{margin:0;position:relative;width:clamp(340px,48vw,690px);flex:none;padding:0 8px}.film-frame button{padding:0;display:block;width:100%;aspect-ratio:16/9;border:0;background:#25251e;overflow:hidden}.film-frame img{width:100%;height:100%;object-fit:cover;transition:transform .5s,filter .5s;filter:saturate(.9) contrast(.98)}.film-frame button:hover img,.film-frame button:focus-visible img{transform:scale(1.035);filter:saturate(1.03)}.film-frame figcaption{position:absolute;bottom:-24px;left:11px;right:11px;font-size:9px;font-family:monospace;color:#e8d59b;letter-spacing:.13em;display:flex;justify-content:space-between}.film-note{position:absolute;bottom:14svh;left:5.2%;right:5.2%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.06em;color:#fffa}.film-progress{width:80px;height:1px;background:#fff5;align-self:center;overflow:hidden}.film-progress i{display:block;background:var(--yellow);height:100%;transform:scaleX(0);transform-origin:left}.film-hint{display:flex;align-items:center;gap:15px}.film-hint svg{width:25px}
#toast{position:fixed;z-index:70;bottom:40px;left:50%;transform:translate(-50%,15px);opacity:0;visibility:hidden;transition:.25s;background:#fff9e9;color:#323226;border:1px solid #e5d9a0;border-radius:4px;padding:13px 22px;font-size:12px;box-shadow:0 5px 30px #0003;white-space:nowrap}#toast.visible{opacity:1;visibility:visible;transform:translate(-50%,0)}
#viewer{padding:0;border:0;background:transparent;max-width:94vw;max-height:94svh;width:min(1200px,94vw);color:var(--cream);overflow:visible}#viewer::backdrop{background:#0e1211e8;backdrop-filter:blur(14px)}.viewer-inner{position:relative;padding:40px 10px 0}.close{position:absolute;right:6px;top:0;width:32px;height:32px;border:1px solid #fff6;border-radius:50%;background:#25251e;color:var(--cream);font-size:14px}#viewer-image{display:block;width:100%;max-height:74svh;object-fit:contain;background:#151613}.viewer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;font-size:11px;letter-spacing:.02em}.viewer-bottom button{color:var(--cream);border:1px solid #fff5;background:transparent;border-radius:50%;height:30px;width:30px;flex:none}.viewer-bottom span{text-align:center}.noscript{position:fixed;inset:0;z-index:99;display:grid;place-items:center;background:var(--cream);color:var(--ink)}
@media(min-width:1800px){.nav{left:50px;right:50px}.dialogue{left:7%}}
@media(max-width:700px){:root{--safe-top:72px}.nav{top:12px;left:12px;right:12px;height:57px;padding:0 9px}.brand{width:88px;height:42px}.brand-art{width:87px;height:37px;background-size:229px 76px;background-position:-8px -12px}.actions{gap:4px}.action{height:32px;padding:0 8px;font-size:10px;gap:5px}.action.ca{padding:0 8px}.action img{width:15px;height:15px}.external{display:none}.backdrop img{object-position:var(--mobile);animation-duration:30s}.dialogue,.scene:nth-child(3) .dialogue,.scene:nth-child(5) .dialogue{left:25px;right:35px;top:75svh;text-align:left}.scene:nth-child(3) .dialogue p:before,.scene:nth-child(5) .dialogue p:before{margin-left:0}.dialogue p{font-size:17px;max-width:330px;line-height:1.65}.dialogue p:before{margin-bottom:13px}.journey{right:6px}.journey button{width:17px;height:20px}.journey button:after{width:3px;height:3px}.journey button[aria-current=true]:after{height:15px}.scroll-cue{bottom:25px;font-size:9px}.film-frame{width:83vw;min-width:0;padding:0 6px}.film-track{padding-top:35px;padding-bottom:43px}.film-track:before,.film-track:after{height:8px;background-size:auto}.film-track:before{top:10px}.film-track:after{bottom:9px}.film-frame figcaption{font-size:8px;bottom:-20px}.film-note{left:25px;right:25px;bottom:23svh;font-size:9px}.film-progress{width:44px}.end-credit{left:25px;right:25px;gap:20px;font-size:8px;letter-spacing:.025em}.end-credit span{max-width:200px;line-height:1.7}.closing-actions{gap:5px;margin-top:21px}.scene:last-child .dialogue{top:68svh}.steam{left:17%;top:20%}.washer-motion{display:none}#toast{font-size:11px;max-width:90vw;white-space:normal;text-align:center}.viewer-bottom{font-size:10px}.film-hint{gap:10px}}
@media(max-width:360px){.nav{left:8px;right:8px}.dex span:not(.external){font-size:9px}.action{padding:0 6px}.brand{width:78px}.brand-art{width:76px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}.backdrop img{transform:none!important}.film-frame img{transform:none!important}}

.backdrop img{animation-play-state:paused}.backdrop.active img{animation-play-state:running}
