:root{--w1:#f2e8cf;--w2:#a3c7bd;--w3:#556b6c;--w4:#162936;--hero-bg:#0f2a37;--hero-cta:#9ac8bd;--p1:#dad2ae;--p2:#60aab8;--p3:#254159;--p4:#091822;--width:420px;--pad:26px;--pixel:"DotGothic16",monospace;--sans:"Noto Sans JP","Yu Gothic",sans-serif}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--p4)}body{margin:0;overflow-x:hidden;background:var(--p4);color:var(--w4);font-family:var(--sans);line-height:1.8;letter-spacing:.04em}img{display:block;width:100%;height:auto;image-rendering:pixelated}a{color:inherit;text-decoration:none}p,h1,h2,figure,dl,dd{margin:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.skip-link{position:fixed;z-index:99;top:-60px;left:8px;padding:8px 12px;background:var(--w1);font-family:var(--pixel)}.skip-link:focus{top:8px}
.site{position:relative;width:min(100%,var(--width));margin:auto;overflow:hidden;background:var(--w1);box-shadow:0 0 80px color-mix(in srgb,var(--p4) 76%,transparent)}.site:after,.parallel-world:after{content:"";position:absolute;z-index:20;inset:0;pointer-events:none;opacity:.035;background:repeating-linear-gradient(0deg,var(--w4) 0 1px,transparent 1px 4px);mix-blend-mode:multiply}.ambient{position:fixed;inset:0;max-width:1100px;margin:auto;pointer-events:none}.ambient i{position:absolute;width:3px;height:3px;background:var(--w2);opacity:.22;animation:drift 18s linear infinite}.ambient i:after{content:"";position:absolute;width:2px;height:2px;transform:translate(22px,37px);background:var(--p2)}.ambient i:nth-child(1){left:8%;top:14%}.ambient i:nth-child(2){right:12%;top:28%;animation-duration:24s}.ambient i:nth-child(3){left:15%;top:52%;animation-duration:21s}.ambient i:nth-child(4){right:7%;top:67%;animation-duration:28s}.ambient i:nth-child(5){left:10%;top:84%;animation-duration:16s}.ambient i:nth-child(6){right:16%;top:91%;animation-duration:23s}
.kicker,.scene-title small,figcaption,.game-cta,.hero__scroll,.threshold,.info-panel,.credits,footer{font-family:var(--pixel)}.hero{position:relative;isolation:isolate;min-height:100svh;padding:42px var(--pad) 28px;display:flex;flex-direction:column;background:var(--w1);border-inline:1px solid var(--w3)}.hero:before{content:"";position:absolute;z-index:-1;inset:0;opacity:.055;background-image:radial-gradient(var(--w4) 1px,transparent 1px);background-size:7px 7px}.hero__orbit{position:absolute;z-index:-1;width:360px;height:190px;right:-170px;top:90px;border:1px solid color-mix(in srgb,var(--w3) 28%,transparent);border-radius:50%;transform:rotate(-28deg);animation:orbit 22s linear infinite}.hero__orbit:after{content:"";position:absolute;width:6px;height:6px;left:46px;top:12px;background:var(--w3);box-shadow:0 0 0 4px var(--w2)}.kicker{color:var(--w3);font-size:9px;letter-spacing:.2em}.hero__visual{width:88%;margin:60px auto 0;padding:8px;background:var(--w1);border:2px solid var(--w4);box-shadow:10px 10px 0 var(--w2)}.hero__visual img{aspect-ratio:160/144;object-fit:contain;background:var(--w1)}.hero__copy{margin:42px 0 28px;font-size:22px;font-weight:500;line-height:1.65;letter-spacing:.08em}.game-cta{display:grid;grid-template-columns:18px 1fr 28px;gap:12px;align-items:center;min-height:68px;padding:10px 14px;border:2px solid var(--w4);color:var(--w4);background:color-mix(in srgb,var(--w1) 92%,var(--w2));box-shadow:5px 5px 0 var(--w3);transition:.22s ease}.game-cta__cursor{width:7px;height:7px;background:var(--w3);box-shadow:7px 0 var(--w2)}.game-cta b,.game-cta small{display:block}.game-cta b{font-size:14px;letter-spacing:.16em}.game-cta small{font-size:9px}.game-cta__key{display:grid;width:27px;height:27px;place-items:center;border:1px solid currentColor;font-size:10px}.game-cta:hover,.game-cta:focus-visible{background:var(--w2);box-shadow:3px 3px 0 var(--w3);transform:translate(1px,1px)}.game-cta:hover .game-cta__cursor{animation:cursor .7s steps(2) infinite}.game-cta:active{transform:translate(3px,3px);box-shadow:none}.hero__scroll{margin-top:auto;padding-top:28px;text-align:center;color:var(--w3);font-size:8px;letter-spacing:.16em}.hero__scroll span{display:inline-block;animation:scroll 2s ease-in-out infinite}
.scene{position:relative;isolation:isolate;padding:110px var(--pad)}.scene:before,.parallel-world:before{content:"";position:absolute;z-index:-1;inset:0;opacity:.035;background-image:radial-gradient(currentColor 1px,transparent 1px),linear-gradient(90deg,currentColor 1px,transparent 1px);background-size:9px 9px,52px 52px}.scene--day{min-height:1450px;background:var(--w1)}.scene-title{display:flex;gap:16px;align-items:flex-start}.scene-title>span{color:var(--w3);font:26px/1 var(--pixel)}.scene-title small{display:block;color:var(--w3);font-size:8px;letter-spacing:.18em}.scene-title h2{margin-top:10px;font-size:27px;font-weight:500;line-height:1.55;letter-spacing:.07em}.shot{position:relative}.shot__image{padding:7px;border:2px solid currentColor;background:var(--w1);box-shadow:8px 8px 0 color-mix(in srgb,currentColor 52%,transparent)}.shot__image img{object-fit:cover}.shot figcaption{margin-top:14px;font-size:8px;letter-spacing:.12em;opacity:.72}.shot--feature{width:94%;margin:90px auto 0}.shot--feature img,.shot--small img,.shot--still img,.shot--portrait img,.shot--offset img{aspect-ratio:160/144}.scene-copy{margin-top:100px;font-size:21px;font-weight:500;line-height:1.8;letter-spacing:.08em}.scene-copy--right{text-align:right}.duo{display:grid;grid-template-columns:58% 1fr;gap:26px;align-items:end;margin-top:110px}.shot--small{width:100%}.whisper{font-size:11px;line-height:2.2;color:var(--w3)}
.scene--backyard{min-height:1850px;color:var(--w1);background:var(--w4)}.scene--backyard:before{opacity:.05}.scene-title--light>span,.scene-title--light small{color:var(--w2)}.shot--bleed{width:calc(100% + 52px);margin:90px 0 0 -26px}.shot--bleed .shot__image{padding-inline:0;border-inline:0;background:var(--w3)}.shot--bleed img{aspect-ratio:200/144}.depth{display:grid;gap:12px;width:1px;margin:90px auto}.depth span{width:1px;height:34px;background:var(--w2)}.shot--landscape{width:108%;margin-left:-4%}.shot--landscape .shot__image{background:var(--w3)}.shot--landscape img{aspect-ratio:296/200}.scene-copy--center{text-align:center}.shot--still{width:63%;margin:80px auto 0}.shot--still .shot__image{background:var(--w2);box-shadow:8px 8px 0 var(--w3)}
.threshold{position:relative;display:grid;min-height:82svh;place-items:center;overflow:hidden;color:var(--w2);background:var(--w4);font-size:8px;letter-spacing:.2em}.threshold p{position:absolute;left:22px;top:22px}.threshold span{position:absolute;right:22px;bottom:22px}.threshold i{width:5px;height:5px;background:var(--w1);box-shadow:0 0 0 5px var(--w3);animation:signal 3.2s steps(6) infinite}.parallel-world{position:relative;isolation:isolate;color:var(--p1);background:var(--p4)}.parallel-world:before{position:fixed;color:var(--p2);opacity:.03}.parallel-world:after{color:var(--p2)}.scene--pararium{min-height:1050px}.scene-title--parallel>span,.scene-title--parallel small{color:var(--p2)}.parallel-lead{margin:95px 0;font-size:25px;line-height:1.8}.parallel-lead em{color:var(--p2);font-style:normal}.shot--panorama{width:calc(100% + 52px);margin-left:-26px}.shot--panorama .shot__image{padding-inline:0;border-inline:0;background:var(--p3)}.shot--panorama img{aspect-ratio:264/144}.scene--robot{min-height:1000px;background:color-mix(in srgb,var(--p4) 90%,var(--p3))}.shot--portrait{width:72%;margin:100px 0 0 auto}.shot--portrait .shot__image{background:var(--p3);box-shadow:-8px 8px 0 var(--p2)}.robot-line{margin-top:48px;text-align:right;color:var(--p2);font:18px/1.8 var(--pixel)}.scene--explore{min-height:1100px}.explore-layout{margin-top:110px}.shot--offset{width:84%}.shot--offset .shot__image{background:var(--p3);box-shadow:9px 9px 0 var(--p2)}.explore-layout .whisper{width:76%;margin:75px 0 0 auto;color:var(--p2);font-size:12px}.epilogue{position:relative;isolation:isolate;min-height:92svh;padding:130px var(--pad);overflow:hidden}.epilogue h2{margin-top:52px;font-size:31px;font-weight:400;line-height:1.65;letter-spacing:.1em}.epilogue__orbit{position:absolute;right:-120px;bottom:70px;width:300px;height:130px;border:1px solid color-mix(in srgb,var(--p2) 35%,transparent);border-radius:50%;transform:rotate(-22deg);animation:orbit 26s linear infinite}.epilogue__orbit:after{content:"";position:absolute;width:6px;height:6px;left:44px;top:7px;background:var(--p2)}
.information{padding:100px var(--pad) 120px;background:var(--p3)}.info-panel{padding:24px;border:1px solid var(--p2);background:color-mix(in srgb,var(--p4) 82%,var(--p3));box-shadow:7px 7px 0 var(--p4)}.info-panel h2{margin:10px 0 26px;font-size:25px}.info-panel dl div{display:grid;grid-template-columns:42% 1fr;padding:10px 0;border-top:1px solid color-mix(in srgb,var(--p2) 30%,transparent);font-size:10px}.info-panel dt{color:var(--p2)}details{border-top:1px solid var(--p2)}summary{padding:14px 0 4px;cursor:pointer;font-size:9px}table{width:100%;margin-top:8px;border-collapse:collapse;font-size:9px}th,td{padding:7px 0;text-align:left;border-top:1px solid color-mix(in srgb,var(--p2) 25%,transparent)}.credits{display:grid;gap:30px;margin:76px 4px}.credits span,.credits strong,.credits a{display:block}.credits span{color:var(--p2);font-size:8px;letter-spacing:.1em}.credits strong{margin-top:5px;font:500 16px var(--sans)}.credits a{margin-top:8px;font-size:9px;text-decoration:underline;text-underline-offset:4px}.game-cta--parallel{border-color:var(--p1);color:var(--p4);background:var(--p1);box-shadow:5px 5px 0 var(--p2)}.game-cta--parallel:hover,.game-cta--parallel:focus-visible{background:var(--p2);box-shadow:3px 3px 0 var(--p4)}footer{display:flex;justify-content:space-between;padding:20px var(--pad);color:var(--p4);background:var(--p1);font-size:8px}
.hero-in{opacity:0;animation:heroIn .9s ease-out forwards}.hero-in--1{animation-delay:.1s}.hero-in--2{animation-delay:.35s}.hero-in--3{animation-delay:.65s}.hero-in--4{animation-delay:.9s}.reveal{opacity:0;transform:translateY(14px);transition:opacity .85s ease-out,transform .85s ease-out;transition-delay:var(--delay,0ms)}.reveal.is-visible{opacity:1;transform:none}.pixel-in{clip-path:inset(0 0 100% 0);transition:clip-path .85s steps(6),opacity .85s steps(6),transform .85s steps(6)}.pixel-in.is-visible{clip-path:inset(0)}.float-soft.is-visible{animation:float 7s ease-in-out 1.1s infinite}
@keyframes heroIn{to{opacity:1;transform:none}}@keyframes float{50%{transform:translateY(-5px)}}@keyframes drift{50%{transform:translate(8px,-22px);opacity:.45}}@keyframes orbit{50%{transform:rotate(-24deg) translateX(5px)}}@keyframes signal{0%,100%{opacity:.15;transform:scale(.4)}50%{opacity:1;transform:scale(2);box-shadow:0 0 0 8px var(--w2)}}@keyframes cursor{50%{transform:translateX(3px)}}@keyframes scroll{50%{transform:translateY(5px)}}
.threshold i{animation-play-state:paused}.threshold.is-active i{animation-play-state:running}
.hero{z-index:21;color:var(--w1);background:var(--hero-bg)}
.hero .game-cta{position:relative;z-index:1;pointer-events:auto;touch-action:manipulation;background:var(--hero-cta)}
.scene-title,.scene-title h2,h1,h2,h3,.hero__copy,.scene-copy,.parallel-lead,.robot-line{font-family:var(--pixel)}
.threshold i{transform:rotate(45deg);animation-name:signalDiamond}
@keyframes signalDiamond{0%,100%{opacity:.15;transform:rotate(45deg) scale(.4)}50%{opacity:1;transform:rotate(45deg) scale(2);box-shadow:0 0 0 8px var(--w2)}}

/* Narrative pacing: each empty interval carries a cue toward the next scene. */
.scene{padding-top:92px;padding-bottom:100px}.scene--day{min-height:1180px}.scene--backyard{min-height:1480px}.scene--pararium{min-height:880px}.scene--robot{min-height:820px}.scene--explore{min-height:880px}
.scene--day:after,.scene--backyard:after,.scene--pararium:after,.scene--robot:after,.scene--explore:after{content:"";position:absolute;z-index:-1;width:160px;height:72px;border:1px solid currentColor;border-radius:50%;opacity:.09;transform:rotate(-18deg)}
.scene--day:after{right:-100px;top:54%}.scene--backyard:after{left:-110px;top:45%}.scene--pararium:after{right:-110px;top:57%}.scene--robot:after{left:-105px;bottom:20%}.scene--explore:after{right:-100px;bottom:12%}
.prelude{margin:54px 0 0 42px;color:var(--w3);font:13px/1.8 var(--pixel)}.next-signal{margin:64px 0 0 auto;width:82%;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--w3) 45%,transparent);color:var(--w3);font:10px/1.8 var(--pixel)}.next-signal span{float:right;animation:cursor 1.8s ease-in-out infinite}
.route-copy{margin:56px 0 0 14%;color:var(--w2);font:13px/1.9 var(--pixel)}.crem{position:relative}.crem:after{content:"DEEPER";position:absolute;left:14px;top:42%;color:var(--w2);font:7px/1 var(--pixel);letter-spacing:.16em}
.threshold{min-height:92svh;isolation:isolate}.threshold strong{font:400 19px/1.8 var(--pixel);opacity:0;transform:translateY(10px)}.threshold.is-active strong{animation:thresholdCopy 2.8s ease-out 1.25s both}.threshold__noise{position:absolute;z-index:-1;inset:0;opacity:0;background-image:repeating-linear-gradient(0deg,transparent 0 3px,var(--w2) 3px 4px),radial-gradient(var(--w1) 1px,transparent 1px);background-size:100% 4px,7px 7px}.threshold.is-active .threshold__noise{animation:worldNoise 2.7s steps(7) both}.threshold.is-active{animation:worldTint 3.2s steps(6) both}
.parallel-world{overflow:hidden}.parallel-world .scene:before{opacity:.055}.parallel-world .scene:after{border-color:var(--p2);opacity:.16}.scene--pararium{padding-top:130px}.parallel-lead{margin:72px 0 80px}.shot--panorama{transform:scale(1.06)}.scene--robot .shot--portrait{margin-top:74px}.scene--explore .explore-layout{margin-top:76px}.epilogue{min-height:105svh;padding-top:150px}.epilogue__after{width:76%;margin:80px 0 0 auto;color:var(--p2);font:11px/2 var(--pixel)}
@keyframes thresholdCopy{to{opacity:1;transform:none}}@keyframes worldNoise{0%,100%{opacity:0}12%,22%,38%{opacity:.18}16%,30%,48%{opacity:.04}}@keyframes worldTint{0%,72%{background:var(--w4);color:var(--w2)}100%{background:var(--p4);color:var(--p2)}}

/* Compact reading rhythm */
.scene{padding-top:72px;padding-bottom:76px}.scene--day,.scene--backyard,.scene--pararium,.scene--robot,.scene--explore{min-height:0}
.scene--backyard>.scene-copy:first-of-type{margin-left:42px;text-align:left}
.prelude{margin-top:32px}.shot--feature{margin-top:54px}.scene-copy{margin-top:58px}.duo{margin-top:68px}.next-signal{margin-top:44px}
.shot--bleed{margin-top:58px}.route-copy{margin-top:36px}.depth{margin-top:46px;margin-bottom:46px}.shot--still{margin-top:52px}
.scene--pararium{padding-top:92px}.parallel-lead{margin-top:48px;margin-bottom:58px}.scene--robot .shot--portrait{margin-top:52px}.robot-line{margin-top:34px}
.scene--explore .explore-layout{margin-top:54px}.explore-layout .whisper{margin-top:48px}.threshold{min-height:68svh}.epilogue{min-height:78svh;padding-top:100px;padding-bottom:90px}.epilogue h2{margin-top:38px}.epilogue__after{margin-top:50px}.information{padding-top:76px;padding-bottom:88px}.credits{margin-top:56px;margin-bottom:56px}
@media(max-width:359px){:root{--pad:20px}.scene-title h2{font-size:24px}.epilogue h2{font-size:27px}}
.scene-title h2{font-size:25px}.epilogue h2{font-size:23px}
.parallel-lead{font-size:23px}
.hero__scroll{padding-bottom:40px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-in,.reveal,.threshold strong{opacity:1;transform:none}.pixel-in{clip-path:none}}
