:root{--ink:#222922;--paper:#eeeadd;--line:#747467;--mono:Consolas,'Courier New',monospace;--serif:Georgia,'Times New Roman',serif;--sans:'Arial Black','Franklin Gothic Heavy',Arial,sans-serif;font-family:Arial,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}button,a,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:5px}button,summary{cursor:pointer;font:inherit}button{padding:13px 20px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);min-height:44px;border-radius:0}a,summary{min-height:44px;display:inline-flex;align-items:center}button:disabled{opacity:.6;cursor:wait}button:hover,a:hover{text-decoration:underline}:focus-visible{outline:3px solid #095b8a;outline-offset:5px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:fixed;left:20px;top:-100px;z-index:100;background:var(--paper);padding:12px}.skip:focus{top:12px}
.navigation{position:relative;z-index:30;display:flex;justify-content:space-between;align-items:flex-start;padding:24px 32px;font:11px/1.5 var(--mono);letter-spacing:.06em}.identity{text-decoration:none;background:var(--paper);padding:7px 10px}.utilities{display:flex;align-items:flex-start;gap:12px;background:var(--paper);padding:0 8px}.utilities button{border:0;padding:10px;font:inherit}summary{padding:8px;list-style:none}summary::-webkit-details-marker{display:none}details nav{position:absolute;right:32px;top:75px;background:var(--paper);border:1px solid var(--ink);padding:16px;min-width:230px}details nav a{display:flex;border-bottom:1px solid #c4c1b6;text-decoration:none;padding:6px}
#world{display:none}.panel{padding:5vw;max-width:1440px;margin:0 auto}.panel h2{font:900 clamp(3rem,7vw,7rem)/.9 var(--sans);letter-spacing:-.075em;margin:0 0 24px;overflow-wrap:anywhere}.small{font:11px/1.55 var(--mono);letter-spacing:.04em}.arrival{min-height:70vh;background:url('./assets/mumbai-walk-master.webp') center/cover}.arrival>*{background:var(--paper);width:fit-content;padding:8px}.panel a{font:12px/1.4 var(--mono)}.reveal>p{font:clamp(1.2rem,2.2vw,1.8rem)/1.3 var(--serif);margin:0 0 22px}.reveal>a{display:flex;width:fit-content;margin-bottom:22px}.reveal>button{font:12px var(--mono)}.attention h2{font-size:clamp(3.2rem,7.8vw,6.5rem)}.ending a{display:flex;width:fit-content}.ending a:nth-of-type(4){margin-top:18px}
#walk-controls{position:fixed;z-index:20;bottom:30px;left:36px;max-width:calc(100% - 72px)}#walk-controls>p{width:fit-content;background:var(--paper);padding:8px 12px;margin:4px 0}#thought{font:clamp(1.5rem,3.5vw,3.8rem)/1.15 var(--serif)}#thought:empty,#hint:empty{display:none}#hint{font:11px var(--mono)}#walk-controls>div{display:flex;flex-wrap:wrap;gap:8px}#advance{touch-action:none;user-select:none}#back,#action{font:12px var(--mono)}
body.spatial{height:100svh;overflow:hidden}body.spatial .navigation{position:fixed;inset:0 0 auto}body.spatial #world{display:block;position:fixed;inset:0;background:#c7cebf}canvas{display:block;width:100%;height:100%;touch-action:none}body.spatial .panel{position:fixed;z-index:10;inset:auto auto 40px 5vw;overflow:auto;max-height:calc(100svh - 130px);max-width:calc(100% - 10vw);background:var(--paper);overscroll-behavior:contain;padding:3vw 4vw;border:0}body.spatial .reveal{width:min(780px,78vw)}body.spatial .arrival{inset:auto auto 40px 40px;min-height:0;overflow:visible;max-width:400px;background:transparent;padding:0}body.spatial .ending{inset:auto auto 30px 35px;padding:25px;max-width:450px}
@media(max-width:800px){.navigation{padding:14px 12px}.identity{font-size:9px}.utilities{gap:4px;font-size:10px}.utilities button{padding:10px 6px}details nav{right:12px;top:65px}.panel{padding:24px}.panel h2{font-size:clamp(2.8rem,10vw,5rem);margin:0 0 24px}.attention h2{font-size:clamp(2.4rem,10.5vw,5.2rem)}.panel a{padding:8px 0}body.spatial .panel{inset:auto 12px 20px;max-height:calc(100svh - 100px);max-width:none;padding:24px}body.spatial .reveal{width:auto}body.spatial .arrival{inset:auto 20px 28px;padding:0}#walk-controls{left:20px;bottom:24px;max-width:calc(100% - 40px)}#thought{font-size:1.7rem}body.spatial .ending{inset:auto 15px 20px;max-width:none}}
@media(max-height:500px){body.spatial .panel{max-height:calc(100svh - 90px);bottom:12px}#walk-controls{bottom:12px}#thought{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
body:not(.spatial) [data-action]{display:none}button,a,summary{touch-action:manipulation}#advance{touch-action:none}
@keyframes v2-arrive{from{opacity:0}to{opacity:1}}
body.spatial{background:#c7cebf}
body.spatial #world{animation:v2-arrive 180ms ease-out both}
