:root{color-scheme:dark;--ink:#080e10;--paper:#f2eadb;--amber:#f2bb70;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--sans:"Helvetica Neue",Helvetica,Arial,sans-serif;--serif:"Iowan Old Style",Georgia,serif;font-family:var(--sans);color:var(--paper);background:var(--ink)}*{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%;overflow:hidden}a{color:inherit}button{font:inherit;color:inherit;background:transparent;border:0;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,[tabindex="0"]:focus-visible{outline:2px solid #ffe4ad;outline-offset:3px}button:hover,a:hover{color:#fff8e7}.city{height:100%;height:100dvh;width:100%;isolation:isolate;position:relative;background:#070c0e;overflow:hidden}.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.shot,.camera{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.plate{position:absolute}.plate>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-webkit-user-select:none;user-select:none;pointer-events:none}.shot.current{z-index:1}.rain{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:2;mix-blend-mode:screen;opacity:.8}.at-terminal .rain{opacity:.25;z-index:0}.sign{position:absolute;z-index:2;cursor:pointer;min-width:34px;min-height:34px;outline-offset:1px;transition:box-shadow .18s}.sign:hover,.sign:focus-visible{outline:1px solid #ffdca5;box-shadow:0 0 22px 1px #ffb94650;background:#ffd9910c}.guide-path{position:absolute;left:54%;bottom:12%;height:37%;aspect-ratio:480/750;pointer-events:none;transform-origin:46% 97%}.guide-path:after{content:"";position:absolute;left:32%;width:38%;bottom:1%;height:2.4%;border-radius:50%;background:#080a0b9c;filter:blur(3px);z-index:-1}.guide{width:100%;height:100%;background-size:500% 100%;background-repeat:no-repeat;filter:brightness(.82) saturate(.9);background-position-x:100%}.route-nav a{color:#f0e7d5;text-decoration:none;font:550 .7rem/1.1 var(--mono);letter-spacing:.075em;text-transform:uppercase;background:#080f12d9;min-height:40px;display:inline-flex;align-items:center;gap:10px;padding:10px 13px;border:1px solid #c2bdaa66;border-radius:2px}.route-nav span{color:var(--amber);font-size:1rem}.route-nav a:hover{border-color:#eee0b5;background:#10191df3}.subtitle{position:absolute;z-index:2;pointer-events:none;left:clamp(20px,4.5vw,90px);bottom:clamp(26px,6.2vh,80px);max-width:55%;text-shadow:0 2px 5px #000,0 1px 16px #000,1px 1px 1px #000}.subtitle p{font:italic clamp(22px,2.25vw,38px)/1.13 var(--serif);letter-spacing:-.035em;text-wrap:balance;margin:0 0 8px}.subtitle>span{font:500 clamp(10px,.8vw,13px)/1.3 var(--mono);letter-spacing:.065em;color:#e8d6b6}.route-nav{position:absolute;z-index:3;display:flex;align-items:center;gap:5px;right:clamp(16px,2.15vw,38px);bottom:max(20px,env(safe-area-inset-bottom))}.route-nav .previous{font-size:16px;justify-content:center;min-width:42px}.glass{position:absolute;color:#f3c685;--line:#a9834d72;--low:#dfbb8d;display:flex;flex-direction:column;min-height:0;container-type:size}.glass.writing{color:#c8e9dc;--low:#9ad2b8;--line:#75aa979c}.glass.about,.glass.contact,.glass.questions{color:#c0ead7;--low:#a1c8b4;--line:#76a48b82}.readout{flex:1;min-height:0;overflow:auto;padding:clamp(9px,3.7cqw,28px);scrollbar-width:thin;scrollbar-color:#7d857559 transparent;font-size:clamp(14px,3.35cqw,21px);line-height:1.4;text-shadow:0 0 7px #dca65e29}.readout:focus-visible{outline:1px solid var(--low);outline-offset:-4px}.readout button:focus-visible,.readout a:focus-visible,.readout h3:focus-visible{outline-offset:0}.readout h3{margin:.15em 0 .45em;font:500 clamp(20px,6.4cqw,40px)/1.04 var(--sans);letter-spacing:-.045em}.readout p{margin:.65em 0}.readout blockquote{margin:.75em 0 1em;font:normal clamp(16px,4.05cqw,25px)/1.33 var(--serif)}.index{display:flex;flex-direction:column;justify-content:center;min-height:100%}.entry{position:relative;display:block;width:100%;text-align:left;border-top:1px solid var(--line);padding:clamp(8px,2.35cqh,15px) 2em clamp(8px,2.35cqh,15px) 0}.entry:last-child{border-bottom:1px solid var(--line)}.entry:hover,.entry:focus-visible,.outgoing a:hover{background:#b0b6a615}.entry strong{display:block;font:500 clamp(19px,5.4cqw,36px)/1.04 var(--sans);letter-spacing:-.045em}.entry-meta{display:block;margin-top:4px;color:var(--low);font:500 clamp(10px,2.2cqw,13px)/1.23 var(--mono)}.entry i{position:absolute;right:.1em;top:50%;transform:translateY(-50%);font:400 clamp(17px,4.7cqw,26px) var(--mono)}.writing .entry{padding-block:clamp(6px,1.9cqh,12px)}.writing .entry strong{font-size:clamp(18px,4.2cqw,30px)}.outgoing{list-style:none;padding:0;margin:10px 0 0}.outgoing a{color:inherit;display:flex;align-items:baseline;justify-content:space-between;gap:12px;text-underline-offset:3px;line-height:1.3;padding:8px 0;border-bottom:1px solid var(--line);font-size:.9em}.outgoing span{flex:none}.back,.tune{font:500 clamp(10px,2.6cqw,14px)/1.25 var(--mono);color:var(--low)}.back{padding:4px 0 9px;min-height:32px}.tune{display:flex;align-items:center;gap:13px;margin-bottom:8px;border-bottom:1px solid var(--line);padding-bottom:4px}.tune button{font-size:1.25rem;padding:4px 8px}.directory{z-index:8;position:fixed;inset:0 max(16px,2.1vw) auto auto;top:18px;margin:0;width:min(320px,calc(100vw - 32px));max-height:calc(100dvh - 36px);overflow:auto;background:#0a1317f8;border:1px solid #929c936e;padding:22px;color:var(--paper);box-shadow:0 14px 70px #000b}.directory::backdrop{background:#0810147a}.directory-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.directory h2{margin:0;font:normal 1.75rem/1.2 var(--serif);letter-spacing:-.045em}.directory-heading button{font-size:1.55rem;min-width:38px;min-height:38px}.directory nav{margin:16px 0}.directory nav a{border-top:1px solid #75808061;display:flex;justify-content:space-between;padding:12px 1px;font-size:1rem;text-decoration:none}.directory nav a[aria-current],.directory nav a span,.motion{color:var(--amber)}.motion{font:500 .75rem var(--mono);padding:9px 0}.still .camera,.still .guide-path,.still .guide{animation:none!important}.still .guide-path{transform:translate(-31%)}.still .guide{background-position-x:100%}@media(max-aspect-ratio:22/25){.guide-path{left:54%;bottom:15%;height:25%}.subtitle{bottom:84px;max-width:90%;left:19px}.subtitle p{font-size:clamp(21px,6vw,30px);margin-bottom:6px}.route-nav{bottom:max(17px,env(safe-area-inset-bottom))}.subtitle>span{font-size:10px}.readout{padding:4cqw}.entry{padding-block:clamp(11px,3.4cqh,17px)}.writing .entry{padding-block:clamp(10px,3cqh,17px)}}@media(max-height:440px){.route-nav{bottom:7px}.route-nav a{min-height:31px;padding-block:5px}.readout{padding:6px 12px}.entry,.writing .entry{padding-block:6px}.entry-meta{display:none}.subtitle{bottom:14px}.subtitle p{font-size:20px}}html{overflow-x:hidden;overflow-y:auto;background:#070d0f}body,#root{height:auto;overflow:visible}.walk-distance{width:1px;pointer-events:none}.city.continuous{position:fixed;top:0;right:0;bottom:0;left:0;width:auto;height:auto;overflow:hidden}.avenue{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;background:#091519}.continuous .guide{background-position-x:100%}.scroll-hint{font:500 .7rem var(--mono);color:#fff0d4;letter-spacing:.05em;text-shadow:0 1px 6px #000;background:#0c1418b5;padding:8px 10px}.route-nav{align-items:center}.quote blockquote{margin:20px 0 12px;font:normal 1.24rem/1.42 var(--serif)}.quote>a{font-size:.85rem;text-underline-offset:3px}.site-bar{position:fixed;inset:0 0 auto;z-index:5;display:flex;align-items:center;gap:clamp(14px,2vw,26px);padding:max(5px,env(safe-area-inset-top)) clamp(16px,3vw,36px) 5px;background:#030508c7;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid #ffffff19;color:var(--paper);font:500 13px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase}.site-bar a{display:inline-flex;align-items:center;min-height:38px;color:inherit;text-decoration:none;white-space:nowrap}.site-bar .wordmark{margin-right:auto;font:400 23px/1 var(--serif);letter-spacing:-.025em;text-transform:none}.site-bar nav{display:flex;gap:clamp(12px,2vw,26px)}.site-bar nav a{border-bottom:1px solid transparent}.site-bar nav a:hover,.site-bar nav a[aria-current]{border-color:var(--amber);color:var(--amber)}.site-bar .question-count{color:#b6babb;white-space:pre}.question-count b,.site-bar .question-count:hover,.site-bar .question-count[aria-current]{color:var(--amber)}.ambient-toggle{position:absolute;left:clamp(16px,2.1vw,36px);bottom:max(16px,env(safe-area-inset-bottom));z-index:3;width:36px;height:36px;border:1px solid #bbae9155;border-radius:50%;background:#090f12da;color:#eadabf}.at-street .ambient-toggle{left:auto;right:clamp(16px,2.1vw,36px);bottom:72px}@media(max-width:760px){.site-bar{gap:10px;padding-inline:clamp(7px,2.5vw,16px);font-size:clamp(10px,2.6vw,12px);letter-spacing:.015em}.site-bar .wordmark{font-size:clamp(16px,4.65vw,21px)}.site-bar nav{gap:clamp(7px,2vw,14px)}.site-bar .question-count{display:none}}@media(max-width:440px){.site-bar{flex-wrap:wrap;justify-content:center;gap:0 12px}.site-bar nav{flex-wrap:wrap;justify-content:center}}.street-panel{position:absolute;left:clamp(18px,4vw,56px);top:clamp(64px,10vh,110px);bottom:max(72px,8vh);width:min(530px,45vw);display:flex;flex-direction:column;pointer-events:none;align-items:stretch}.street-card{min-height:0;position:relative;display:flex;flex-direction:column;background:#060b0fe8;border:1px solid #ffc46b56;box-shadow:0 16px 55px #0007;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto}.street-card:before,.street-card:after{content:"";position:absolute;width:14px;height:14px;border:2px solid #ffc46b;pointer-events:none}.street-card:before{left:-1px;top:-1px;border-right:0;border-bottom:0}.street-card:after{right:-1px;bottom:-1px;border-top:0;border-left:0}.card-reading{min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#806b48 transparent;padding:clamp(14px,2vw,27px);color:#ece6d9;font:400 clamp(15px,1.15vw,18px)/1.48 var(--sans)}.card-reading h2{margin:0 0 15px;color:#fff3d7;font:700 clamp(25px,2.5vw,40px)/1 var(--sans);text-transform:uppercase;letter-spacing:.04em;text-shadow:0 0 14px #e9af6040}.card-reading h3{color:#fff8e9;font:400 clamp(24px,2.1vw,33px)/1.08 var(--serif);margin:0}.card-reading p{margin:8px 0}.card-reading .project-kind{font:500 10px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#ffc46b;margin:5px 0 10px}.card-reading blockquote{margin:10px 0;padding-left:12px;border-left:2px solid #ffbc69;font:italic 400 clamp(18px,1.5vw,23px)/1.28 var(--serif);color:#ffe2ac}.storefront-game{margin:17px 0}.storefront-game>a{position:relative;isolation:isolate;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;aspect-ratio:2.9;padding:14px;border:1px solid #897856;color:#fff1d2;text-decoration:none;background:#132122}.storefront-game>a:after,.storefront-game img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:-1}.storefront-game img{object-fit:cover;object-position:center 52%}.storefront-game>a:after{content:"";background:linear-gradient(0deg,#030a0cf5 0%,#030a0c60 54%,transparent 85%)}.game-lettering span{color:#ffdbac;font:500 10px/1.2 var(--mono);letter-spacing:.09em;text-transform:uppercase}.game-lettering h4{font:italic 400 clamp(31px,3vw,42px)/1 var(--serif);margin:3px 0 0}.game-play{align-self:flex-end;border-bottom:1px solid #eac592;font:500 14px/1.5 var(--mono);white-space:nowrap}.storefront-game>a:hover,.storefront-game>a:focus-visible{border-color:#ffd3a0}.project-story+.project-story,.publication-shelf+.publication-shelf{border-top:1px solid #c9d5ce37;margin-top:20px;padding-top:20px}.project-story dl{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;margin:11px 0;font:400 12px/1.45 var(--mono)}.project-story dt{color:#adb9ba;text-transform:uppercase}.project-story dd{margin:0}.project-links{display:flex;align-items:center;flex-wrap:wrap;gap:9px 15px;margin-top:12px}.project-links a{color:#ffe0a4;text-underline-offset:3px;font-size:14px}.project-links a:first-child{background:#ffc46b;color:#1e1506;font-weight:650;text-decoration:none;padding:8px 13px}.project-story details{margin:12px 0 0;color:#bcc7c6;font:400 12px/1.45 var(--mono)}.project-story summary{width:fit-content;cursor:pointer}.project-story pre{overflow-x:auto;background:#04090b;color:#a8e1d8;padding:9px}.publication-shelf p{font-size:14px;color:#bac5c4}.publication-shelf ul{list-style:none;margin:7px 0 0;padding:0}.publication-shelf li{display:flex;align-items:baseline;justify-content:space-between;gap:15px;border-top:1px solid #c9d5ce29}.publication-shelf li a{padding:7px 0;color:#f3e9d7;text-decoration:none;font:400 clamp(17px,1.35vw,21px)/1.2 var(--serif)}.publication-shelf li a:hover,.publication-shelf li a:focus-visible{color:#ffc46b;text-decoration:underline;text-underline-offset:3px}.publication-shelf li span{flex:none;font:400 10px/1.3 var(--mono);text-transform:uppercase;color:#afbfbb}.reading-fallback{background:#0c161b url(/assets/arrival-noir-CUcHcHB3.webp) center/cover}.shot[inert] .street-card{pointer-events:none}@media(max-width:679px){.street-panel{inset:auto 12px max(62px,env(safe-area-inset-bottom));width:auto;max-height:67dvh}.card-reading{padding:14px}.card-reading h2{font-size:23px;margin-bottom:10px}.card-reading h3{font-size:25px}}@media(max-height:500px)and (min-width:680px){.street-panel{top:52px;bottom:48px}.card-reading{padding:12px}}.log-filters{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 15px}.log-filters button,.log-more{font:500 12px/1.3 var(--mono);border:1px solid #847666;padding:7px 9px}.log-filters button{text-transform:capitalize}.log-filters button[aria-pressed=true]{background:var(--amber);border-color:var(--amber);color:#18110c}.log-entries{margin:0;padding:0;list-style:none}.log-entries li{border-top:1px solid #c9d5ce37;padding:13px 0 16px}.log-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 7px;font:500 11px/1.3 var(--mono);color:#b5c3c2}.log-meta span{text-transform:uppercase;letter-spacing:.1em;color:#ffc46b}.log-meta [data-kind=built]{color:#88e2de}.log-meta [data-kind=learned]{color:#d5bbf2}.log-entries a,.log-more{color:#ffe0a4;text-underline-offset:3px}@media(min-width:761px)and (max-width:990px){.site-bar{gap:14px;padding-inline:14px;font-size:11px}.site-bar nav{gap:13px}.site-bar .wordmark{font-size:21px}}
