@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Fraunces:opsz,wght@9..144,800;9..144,900&family=Syne:wght@600;700;800&display=swap');

:root{--paper:#eee5cf;--paper2:#f8f3e6;--ink:#19191a;--gray:#696763;--lav:#77758f;--night:#24242d;--line:3px;--ease:cubic-bezier(.77,0,.18,1);--room-light:.22;--float-speed:8s}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--paper);color:var(--ink)}
body{font-family:'Syne',Arial,sans-serif;cursor:none}
button,a,input{font:inherit}button,a{cursor:none}button{color:inherit}
a{text-decoration:none;color:inherit}
::selection{background:var(--ink);color:var(--paper)}
.grain{position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E");mix-blend-mode:multiply}
.ink-cursor{position:fixed;z-index:999;left:0;top:0;width:18px;height:18px;border:2px solid var(--ink);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);transition:width .18s,height .18s,background .18s}
body.cursor-big .ink-cursor{width:42px;height:42px;background:rgba(25,25,26,.12)}
.boot{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:var(--ink);color:var(--paper);transition:clip-path 1.15s var(--ease),visibility 1.15s;clip-path:circle(150% at 50% 50%)}
.boot.gone{clip-path:circle(0% at 50% 54%);visibility:hidden}
.boot-card{text-align:center;padding:24px;max-width:780px}
.boot-card h1{font-size:clamp(3rem,7vw,7rem);line-height:.82;letter-spacing:-.07em;margin:24px 0 34px}.boot-card h1 em{font-family:'Fraunces',serif;color:#bdb8d3;font-weight:900}.boot-card small{display:block;margin-top:24px;font-family:'DM Mono',monospace;color:#908d87;font-size:10px;text-transform:uppercase;letter-spacing:.14em}
.boot-face{width:88px;height:65px;margin:auto;position:relative;border:3px solid var(--paper);border-radius:55% 55% 46% 46%;transform:rotate(-2deg)}.boot-face:before,.boot-face:after{content:"";position:absolute;top:-17px;width:28px;height:32px;border:3px solid var(--paper);background:var(--ink);transform:rotate(33deg);z-index:-1}.boot-face:before{left:5px}.boot-face:after{right:5px;transform:rotate(-33deg)}.boot-face i{position:absolute;top:20px;width:24px;height:13px;border-bottom:5px solid var(--paper);border-radius:50%}.boot-face i:first-child{left:12px}.boot-face i:nth-child(2){right:12px}.boot-face b{position:absolute;bottom:4px;left:38px}
.eyebrow{font:500 10px/1.3 'DM Mono',monospace;letter-spacing:.18em;text-transform:uppercase}
.topbar{position:fixed;top:0;left:0;right:0;height:84px;display:flex;align-items:center;gap:34px;padding:0 3vw;border-bottom:2px solid rgba(25,25,26,.35);z-index:50;background:rgba(238,229,207,.87);backdrop-filter:blur(10px)}
.brand{display:flex;align-items:center;gap:9px;font-weight:800;letter-spacing:-.04em;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border:3px solid;border-radius:50% 45% 55% 42%;transform:rotate(-6deg)}.brand small{font:500 8px 'DM Mono',monospace;margin-left:2px;color:var(--gray)}
.scene-nav{margin:auto;display:flex;gap:3px}.scene-nav button{border:0;background:none;padding:9px 10px;opacity:.45;font-size:11px;text-transform:uppercase;transition:.2s}.scene-nav button b{font:400 8px 'DM Mono',monospace;display:block;margin-bottom:3px}.scene-nav button.active{opacity:1}.scene-nav button.active:after{content:"";display:block;height:3px;background:var(--ink);margin-top:5px;transform:rotate(-2deg)}
.top-actions{display:flex;align-items:center;gap:8px}.pill,.sound-btn{border:2px solid var(--ink);background:transparent;padding:9px 14px;border-radius:50px;font-size:10px;font-weight:800;letter-spacing:.06em}.buy-link{background:var(--ink);color:var(--paper)}.sound-btn{border:0;font-family:'DM Mono';font-weight:500;padding:8px}.wave{display:inline-block;letter-spacing:-4px;margin-right:5px}.sound-btn.on .wave{animation:wave .6s infinite alternate}@keyframes wave{to{transform:scaleY(1.8)}}
.stage{position:fixed;inset:84px 0 42px;overflow:hidden}.scene-track{height:100%;display:flex;transition:transform 1s var(--ease);will-change:transform}.scene{position:relative;min-width:100vw;height:100%;overflow:hidden;padding:6vh 5vw}.scene h1,.scene h2{margin:0;font-size:clamp(4rem,8vw,8.5rem);line-height:.79;letter-spacing:-.075em}.scene h1 em,.scene h2 em,.scene h3 em{font-family:'Fraunces',serif;font-weight:900;color:var(--lav)}
.hero-scene{display:grid;grid-template-columns:48% 52%;align-items:center;background:radial-gradient(circle at 77% 46%,#fffdf5 0 18%,transparent 45%),var(--paper)}
.hero-copy{position:relative;z-index:5;padding-top:2vh}.hero-copy .dek{max-width:570px;font:400 clamp(14px,1.25vw,19px)/1.55 'DM Mono',monospace;margin:28px 0}.hero-copy .dek strong{text-decoration:underline;text-decoration-thickness:3px}.hero-actions{display:flex;align-items:center;gap:20px}
.scribble-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;border:3px solid var(--ink);background:var(--paper2);color:var(--ink);padding:14px 18px;font-size:11px;font-weight:800;letter-spacing:.08em;box-shadow:5px 5px 0 var(--ink);transform:rotate(-1deg);transition:.2s}.scribble-btn:hover{transform:translate(4px,4px) rotate(1deg);box-shadow:1px 1px 0 var(--ink)}.boot .scribble-btn{border-color:var(--paper);background:transparent;color:var(--paper);box-shadow:5px 5px 0 var(--paper)}
.text-btn{border:0;border-bottom:2px solid;background:none;padding:9px 3px;font:500 10px 'DM Mono';letter-spacing:.08em}.status-strip{display:flex;gap:28px;margin-top:30px;font:500 9px 'DM Mono';letter-spacing:.07em}.pulse{display:inline-block;width:7px;height:7px;background:#77758f;border-radius:50%;margin-right:5px;animation:pulse 1.6s infinite}@keyframes pulse{50%{box-shadow:0 0 0 6px rgba(119,117,143,.18)}}
.hero-art-wrap{position:relative;height:min(78vh,780px);display:grid;place-items:center}.hero-art{position:relative;width:min(70vh,660px);height:min(70vh,660px);clip-path:polygon(3% 1%,97% 2%,100% 95%,4% 100%,0 48%);filter:drop-shadow(12px 12px 0 rgba(25,25,26,.9));transform:rotate(1deg);transition:transform .4s}.hero-art:hover{transform:rotate(-1deg) scale(1.01)}.hero-art img{width:100%;height:100%;object-fit:cover}.halo-text{position:absolute;width:min(76vh,720px);height:min(76vh,720px);border:2px dashed rgba(25,25,26,.35);border-radius:50%;animation:spin 40s linear infinite;font:500 9px 'DM Mono';letter-spacing:.15em;padding:6px;text-align:center}@keyframes spin{to{transform:rotate(360deg)}}
.hotspot{position:absolute;width:28px;height:28px;border:2px solid;border-radius:50%;background:var(--paper2);animation:pulse2 1.5s infinite}.cup-hotspot{left:19%;top:54%}.eyes-hotspot{left:58%;top:35%}@keyframes pulse2{50%{transform:scale(1.2)}}
.nap-note{position:absolute;background:var(--paper2);border:2px solid;padding:10px;font:500 8px/1.5 'DM Mono';box-shadow:4px 4px 0 var(--ink);z-index:3}.nap-note b{font-size:10px}.note-1{left:2%;top:21%;transform:rotate(-5deg)}.note-2{right:0;bottom:15%;transform:rotate(4deg)}
.scroll-hint{position:absolute;right:3vw;bottom:2vh;font:500 8px 'DM Mono';letter-spacing:.13em;writing-mode:vertical-rl}.scroll-hint span{font-size:18px;margin-top:10px}.float-field{position:absolute;inset:0;pointer-events:none}.float-field .doodle{position:absolute;z-index:2;font:800 42px 'DM Mono';opacity:.2;animation:float var(--float-speed) ease-in-out infinite}.doodle i{position:absolute;inset:7px;border:1px solid;border-radius:2px}.phone{border:3px solid;border-radius:8px;padding:4px 11px}.p1{left:2%;top:15%;transform:rotate(-14deg)}.p2{left:43%;bottom:9%}.p3{left:37%;top:8%;font-size:70px}.p4{left:4%;bottom:15%}.p5{left:45%;top:40%}.p6{left:30%;bottom:16%}.p7{left:56%;top:12%}.p8{right:2%;top:17%}@keyframes float{50%{translate:0 -18px;rotate:6deg}}
.file-scene{display:grid;grid-template-columns:31% 35% 34%;gap:2.2vw;background:var(--paper2);padding-top:8vh}.file-bg-word{position:absolute;bottom:-3vh;left:1vw;font-size:15vw;line-height:.7;font-weight:900;letter-spacing:-.09em;color:transparent;-webkit-text-stroke:1px rgba(25,25,26,.09);transform:rotate(-3deg)}.file-head{position:relative;z-index:2}.file-head h2{font-size:clamp(3.7rem,6vw,7rem)}.file-head>p:last-child{font:400 12px/1.6 'DM Mono';max-width:300px;margin-top:30px}.evidence-board{position:relative;height:78%;border:2px solid;background-color:#d9ccb0;background-image:radial-gradient(rgba(25,25,26,.22) .7px,transparent .7px);background-size:6px 6px;transform:rotate(-.5deg);padding:5%}.evidence{position:absolute;width:68%;background:#f7f2e4;border:1px solid rgba(25,25,26,.35);padding:14px;box-shadow:3px 5px 9px rgba(25,25,26,.18);transition:.35s;outline:none}.evidence:hover,.evidence.active{z-index:10;transform:rotate(0) scale(1.06)!important;box-shadow:7px 9px 0 var(--ink)}.evidence b{font:500 9px 'DM Mono'}.evidence h3{font-size:15px;line-height:1.05;margin:7px 0}.evidence p{font:400 8px/1.4 'DM Mono';margin:0}.evidence:nth-child(1){top:4%;left:4%;transform:rotate(-3deg)}.evidence:nth-child(2){top:21%;right:5%;transform:rotate(4deg)}.evidence:nth-child(3){top:39%;left:8%;transform:rotate(-2deg)}.evidence:nth-child(4){bottom:21%;right:4%;transform:rotate(3deg)}.evidence:nth-child(5){bottom:2%;left:5%;transform:rotate(-4deg)}.pin{position:absolute;left:50%;top:-7px;width:12px;height:12px;background:var(--lav);border:2px solid;border-radius:50%}.story-reader{align-self:center;position:relative;padding:35px;border:3px solid var(--ink);background:var(--paper);box-shadow:10px 10px 0 var(--ink);transform:rotate(.5deg);min-height:52%}.chapter-count{position:absolute;right:15px;top:12px;font:500 9px 'DM Mono'}.chapter-count span{font-size:22px}.story-copy h3{font-size:clamp(2.1rem,3.2vw,4.3rem);line-height:.88;letter-spacing:-.05em;margin:25px 0}.story-copy>p:last-child{font:400 11px/1.65 'DM Mono'}.reader-controls{position:absolute;right:20px;bottom:16px;display:flex;gap:7px}.reader-controls button{width:38px;height:38px;border:2px solid;background:transparent}.reader-controls button:hover{background:var(--ink);color:var(--paper)}
.room-scene{background:var(--ink);color:var(--paper);padding:0}.room-panorama{position:absolute;inset:-4%;width:108%;height:108%;object-fit:cover;filter:saturate(.68) brightness(calc(.7 + var(--room-light)));transition:filter .4s,transform .3s;transform:scale(calc(1 + var(--gravity)*.0008))}.room-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,18,22,.86) 0%,rgba(18,18,22,.35) 45%,rgba(18,18,22,.2) 100%)}.room-copy{position:absolute;left:5vw;top:8vh;z-index:4;width:42%}.room-copy h2{font-size:clamp(3.8rem,6.5vw,7.4rem)}.room-copy p:last-child{font:400 11px/1.6 'DM Mono';max-width:420px}.mixer{position:absolute;left:5vw;bottom:5vh;z-index:5;width:min(530px,43vw);background:rgba(238,229,207,.9);color:var(--ink);border:3px solid var(--ink);box-shadow:8px 8px 0 #111;padding:17px;transform:rotate(-1deg)}.mixer-top{display:flex;justify-content:space-between;font:500 10px 'DM Mono';border-bottom:2px solid;padding-bottom:9px;margin-bottom:10px}.mixer label{display:grid;grid-template-columns:110px 1fr;align-items:center;font:500 8px 'DM Mono';margin:7px 0}.mixer input{appearance:none;height:4px;background:var(--ink)}.mixer input::-webkit-slider-thumb{appearance:none;width:14px;height:14px;border:2px solid var(--ink);border-radius:50%;background:var(--paper2)}.mixer-buttons{display:flex;gap:5px;margin-top:13px}.mix-chip{border:1px solid;background:transparent;padding:6px 8px;font:500 8px 'DM Mono'}.mix-chip.active{background:var(--ink);color:var(--paper)}.collect{position:absolute;z-index:6;border:3px solid var(--paper);background:rgba(25,25,26,.7);color:var(--paper);width:65px;height:65px;border-radius:50%;font-size:30px;animation:drift var(--float-speed) ease-in-out infinite}.collect small{display:block;font:500 7px 'DM Mono'}.collect:hover{background:var(--paper);color:var(--ink)}.collect.collected{animation:collect .6s forwards;pointer-events:none}.c-phone{right:33%;top:18%}.c-cross{right:12%;top:12%;animation-delay:-2s}.c-headphones{right:37%;bottom:17%;animation-delay:-4s}.c-hat{right:8%;bottom:22%;animation-delay:-6s}@keyframes drift{50%{transform:translate(12px,-18px) rotate(9deg)}}@keyframes collect{to{right:4%;bottom:7%;top:auto;transform:scale(0) rotate(260deg);opacity:0}}.pocket{position:absolute;right:3vw;bottom:3vh;z-index:7;background:var(--paper);color:var(--ink);border:3px solid;padding:10px 12px;width:160px;min-height:74px;transform:rotate(2deg)}.pocket>span,.pocket>b{font:500 8px 'DM Mono'}.pocket>b{float:right}.pocket div{display:flex;gap:4px;margin-top:12px;font-size:18px}.pocket.complete{animation:celebrate .55s 2}@keyframes celebrate{50%{transform:rotate(-3deg) scale(1.12)}}
.map-scene{background:var(--night);color:var(--paper);display:grid;grid-template-columns:26% 56% 18%;gap:2vw;padding-top:7vh}.map-scene:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#eee5cf 1px,transparent 1px);background-size:57px 57px;opacity:.12}.map-head{position:relative;z-index:3}.map-head h2{font-size:clamp(3.6rem,5.8vw,7rem)}.map-head p:last-child{font:400 11px/1.6 'DM Mono';max-width:260px}.dream-map{position:relative;z-index:3;height:75vh;align-self:center}.dream-map svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.map-path{fill:none;stroke:var(--paper);stroke-width:2;filter:url(#wobble)}.map-path.ghost{stroke-dasharray:4 9;opacity:.25}.map-path.live{stroke:var(--lav);stroke-width:5;stroke-dasharray:1200;stroke-dashoffset:910;transition:stroke-dashoffset 1s var(--ease)}.map-node{position:absolute;width:86px;height:86px;border:2px solid var(--paper);border-radius:50%;background:var(--night);color:var(--paper);display:grid;place-items:center;text-align:center;transition:.35s;box-shadow:0 0 0 0 rgba(189,184,211,.3)}.map-node i{position:absolute;top:-9px;left:-7px;background:var(--paper);color:var(--ink);border-radius:50%;width:25px;height:25px;display:grid;place-items:center;font:500 8px 'DM Mono'}.map-node span{font-size:10px;line-height:1.1}.map-node:hover,.map-node.active{background:var(--paper);color:var(--ink);transform:scale(1.12) rotate(-4deg);box-shadow:0 0 0 14px rgba(189,184,211,.12)}.n1{left:1%;bottom:11%}.n2{left:24%;bottom:28%}.n3{left:41%;top:31%}.n4{right:19%;top:16%}.n5{right:1%;top:0}.map-card{position:absolute;left:52%;bottom:0;width:310px;background:var(--paper);color:var(--ink);border:3px solid #111;padding:18px;box-shadow:7px 7px 0 var(--lav);transform:rotate(1deg)}.map-card span{font:500 8px 'DM Mono'}.map-card h3{font-size:26px;margin:8px 0}.map-card p{font:400 9px/1.5 'DM Mono';margin:0}.orbit{position:absolute;border:1px dashed rgba(238,229,207,.18);border-radius:50%;pointer-events:none;animation:spin 20s linear infinite}.orbit:after{content:"✦";position:absolute;top:-8px;left:50%;color:var(--lav)}.orbit-a{width:210px;height:210px;left:32%;top:12%}.orbit-b{width:330px;height:160px;left:15%;bottom:0;animation-direction:reverse}.orbit-c{width:180px;height:310px;right:4%;top:7%}.nap-o-meter{position:relative;z-index:3;align-self:start;margin-top:8vh;border-left:2px solid;padding-left:15px;font:500 8px 'DM Mono'}.meter{height:180px;width:22px;border:2px solid;margin:15px 0;position:relative}.meter i{position:absolute;left:3px;right:3px;bottom:3px;height:88%;background:var(--lav);transition:.5s}.nap-o-meter strong{font-size:26px}.nap-o-meter button{display:block;margin-top:15px;border:1px solid var(--paper);background:transparent;color:var(--paper);padding:8px;font:500 8px 'DM Mono'}.final-cta{position:absolute;right:3vw;bottom:3vh;z-index:5;text-align:right}.final-cta p{font-size:22px;font-weight:800}.final-cta .scribble-btn{display:flex}.final-cta .text-btn{margin-top:13px}.text-btn.light{color:var(--paper)}
.scene-footer{position:fixed;left:0;right:0;bottom:0;height:42px;border-top:2px solid var(--ink);background:var(--paper);z-index:50;display:flex;align-items:center;padding:0 3vw;gap:15px}.scene-footer>span{font:500 9px 'DM Mono'}.scene-progress{height:3px;background:rgba(25,25,26,.2);flex:1}.scene-progress i{display:block;height:100%;background:var(--ink);width:25%;transition:.8s var(--ease)}.scene-footer button{border:0;background:transparent;font-size:20px;width:36px}.toast{position:fixed;left:50%;bottom:60px;z-index:200;translate:-50% 30px;background:var(--ink);color:var(--paper);border:2px solid var(--paper);padding:11px 18px;font:500 9px 'DM Mono';opacity:0;transition:.35s;pointer-events:none}.toast.show{opacity:1;translate:-50% 0}.dream-drop{position:fixed;z-index:90;pointer-events:none;font-size:20px;animation:drop 1.3s forwards}@keyframes drop{to{transform:translate(var(--dx),var(--dy)) rotate(220deg);opacity:0}}
@media(max-width:900px){body{cursor:auto}button,a{cursor:pointer}.ink-cursor,.sound-btn,.brand small{display:none}.topbar{height:66px;padding:0 16px}.scene-nav{position:fixed;bottom:42px;left:0;right:0;background:rgba(238,229,207,.93);border-top:1px solid;justify-content:center;height:49px}.scene-nav button{padding:6px 11px}.scene-nav button b{display:none}.x-link{display:none}.pill{padding:7px 10px}.stage{inset:66px 0 91px}.scene{padding:4vh 20px}.hero-scene{grid-template-columns:1fr;align-content:start;overflow-y:auto}.hero-copy{padding-top:1vh}.hero-copy h1{font-size:16vw}.hero-copy .dek{font-size:11px;margin:15px 0}.hero-art-wrap{height:72vw;margin-top:15px}.hero-art{width:67vw;height:67vw}.halo-text{width:72vw;height:72vw}.nap-note{display:none}.status-strip{margin-top:18px}.scroll-hint{display:none}.file-scene{display:block;overflow-y:auto}.file-head h2{font-size:13vw}.file-head>p:last-child{margin-top:14px}.evidence-board{height:410px;margin-top:24px}.story-reader{margin:24px 4px 25px;min-height:380px}.story-copy h3{font-size:40px}.room-copy{left:20px;top:4vh;width:80%}.room-copy h2{font-size:13vw}.mixer{left:20px;bottom:20px;width:calc(100% - 40px)}.collect{width:49px;height:49px;font-size:21px}.c-phone{right:25%;top:36%}.c-cross{right:7%;top:25%}.c-headphones{right:32%;bottom:33%}.c-hat{right:7%;bottom:40%}.pocket{right:20px;bottom:230px}.map-scene{display:block;overflow-y:auto;padding-top:4vh}.map-head h2{font-size:13vw}.dream-map{height:500px;margin-top:10px}.map-card{left:23%;width:70%;bottom:5px}.nap-o-meter{position:absolute;right:12px;top:40px;margin:0}.nap-o-meter span{display:none}.meter{height:80px}.final-cta{position:relative;right:auto;bottom:auto;text-align:left;margin:10px 0 35px}.final-cta .scribble-btn{width:230px}.map-node{width:70px;height:70px}.n1{left:0}.n2{left:20%}.n3{left:38%}.n4{right:18%}.n5{right:1%}}
@media(max-width:520px){.brand span:nth-child(2){font-size:13px}.top-actions .buy-link{font-size:9px}.hero-actions{align-items:flex-start;flex-direction:column;gap:11px}.hero-copy h1{font-size:18vw}.status-strip{display:none}.evidence{width:75%}.mixer label{grid-template-columns:90px 1fr}.mixer-buttons{flex-wrap:wrap}.room-copy p:last-child{max-width:290px}.pocket{bottom:245px}.map-head{width:75%}.map-head h2{font-size:14vw}.map-node span{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.scene-track{transition-duration:.3s}}
@media(min-width:901px){.map-card{left:32%;width:290px}}
@media(max-width:900px){.topbar{backdrop-filter:none}}
