.subject-app{--ink:#171b19;--muted:#657069;min-height:940vh;color:var(--ink);background:#e1e0d8;font-family:Inter,Arial,sans-serif;overflow:clip}.subject-app *,.subject-ended *{box-sizing:border-box}.subject-stage{z-index:0;background:#e1e0d8;position:fixed;inset:0}.subject-canvas{width:100%!important;height:100%!important}.subject-grain,.subject-vignette,.subject-end-wash{pointer-events:none;position:absolute;inset:0}.subject-grain{opacity:.12;mix-blend-mode:multiply;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='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E")}.subject-vignette{background:radial-gradient(at 50% 43%,#0000 25%,#43504718 100%)}.subject-end-wash{opacity:0;background:#f0efea;transition:opacity 1.45s cubic-bezier(.6,0,.2,1)}.subject-app.is-ending .subject-end-wash{opacity:1}.subject-loader{z-index:20;color:#151716;letter-spacing:.32em;background:#d9d8d2;place-items:center;font-family:IBM Plex Mono,monospace;font-size:clamp(1.1rem,2vw,1.8rem);transition:opacity .8s,visibility .8s;display:grid;position:fixed;inset:0}.subject-loader span{animation:1.6s ease-in-out infinite subjectPulse}.subject-loader.is-ready{opacity:0;visibility:hidden}@keyframes subjectPulse{50%{opacity:.42;letter-spacing:.4em}}.subject-header{z-index:5;letter-spacing:.15em;grid-template-columns:1fr auto 1fr;align-items:center;padding:1.8rem clamp(1.5rem,4vw,5rem);font:10px IBM Plex Mono,monospace;display:grid;position:fixed;inset:0 0 auto}.subject-wordmark,.subject-header a{color:inherit;letter-spacing:.16em;font-weight:700;text-decoration:none}.subject-wordmark span{vertical-align:top;margin-left:.15rem;font-size:.55em}.subject-header-center{opacity:.68}.subject-end-button{color:inherit;cursor:pointer;font:inherit;letter-spacing:.12em;background:0 0;border:0;border-bottom:1px solid #1f262260;justify-self:end;padding:0 0 .35rem}.subject-index{z-index:4;writing-mode:vertical-rl;color:#28312d;letter-spacing:.17em;align-items:center;gap:1rem;font:9px IBM Plex Mono,monospace;display:flex;position:fixed;top:50%;right:clamp(1.5rem,4vw,5rem)}.subject-index i{transform-origin:top;background:#1e272425;width:1px;height:9rem}.subject-overlay{z-index:3;pointer-events:none;position:fixed;inset:0}.subject-copy{opacity:0;transition:opacity .55s,transform .7s cubic-bezier(.16,1,.3,1);position:absolute;transform:translateY(1.2rem)}.subject-copy p,.subject-copy span,.subject-copy dt,.subject-copy small,.subject-copy div{letter-spacing:.14em;text-transform:uppercase;font:10px/1.45 IBM Plex Mono,monospace}.subject-copy p{color:#59645d;margin:0 0 1rem}.subject-copy h1,.subject-copy h2{letter-spacing:-.065em;text-wrap:balance;overflow-wrap:break-word;margin:0;font-weight:400;line-height:.9}.subject-copy h1{font-size:clamp(5rem,15.5vw,16rem)}.subject-copy h1 span{font:inherit;vertical-align:top;letter-spacing:0;font-size:.2em}.subject-copy h2{font-size:clamp(3.5rem,8.4vw,10rem)}.subject-copy em{color:#596960;font-style:normal}.subject-copy dl{gap:clamp(1rem,3.2vw,3.8rem);margin:2rem 0 0;display:flex}.subject-copy dl div{gap:.4rem;display:grid}.subject-copy dt{color:#6c766f}.subject-copy dd{letter-spacing:.05em;margin:0;font:500 12px IBM Plex Mono,monospace}.subject-entry{top:48%;left:clamp(1.5rem,7vw,8rem)}.subject-entry>div{color:#3f4b44;gap:1.2rem;margin-top:1.7rem;display:flex}.subject-entry small{color:#718077}.subject-observation{top:23%;left:clamp(1.5rem,8vw,10rem)}.subject-observation h2{font-size:clamp(4rem,10vw,11rem)}.subject-profile{text-align:right;top:27%;right:clamp(1.5rem,9vw,11rem)}.subject-note{color:#465149;border-top:1px solid #38403955;margin-top:2.2rem;padding-top:.85rem;font:12px/1.7 IBM Plex Mono,monospace}.subject-note b{color:#18211c;font-weight:500}.subject-response{top:42%;left:clamp(1.5rem,8vw,10rem)}.subject-response h2{white-space:pre-line;font-size:clamp(3.6rem,8vw,9rem)}.subject-response span{color:#58635b;letter-spacing:.06em;max-width:18rem;margin-top:1.45rem;display:block}.subject-cursor-target{z-index:4;opacity:.75;pointer-events:none;border:1px solid #33443a;border-radius:50%;width:11px;height:11px;margin:-5px;transition:left .12s linear,top .12s linear;position:fixed}.subject-proximity{text-align:right;top:31%;right:clamp(1.5rem,8vw,10rem)}.subject-distance{justify-content:flex-end;align-items:baseline;gap:.7rem;margin-bottom:1rem;display:flex}.subject-distance span{letter-spacing:-.09em;font-size:clamp(2.8rem,7vw,8rem)}.subject-distance small{color:#56645b}.subject-proximity h2{font-size:clamp(3.5rem,7vw,8.5rem)}.subject-proximity-note{margin-top:1.5rem!important}.subject-observer{top:23%;left:clamp(1.5rem,8vw,10rem)}.subject-observer h2{font-size:clamp(3.8rem,8vw,9.5rem)}.subject-reveal{text-align:center;place-content:center;display:grid;inset:0}.subject-reveal>span{color:#43564a}.subject-reveal h2{margin-top:.8rem;font-size:clamp(5rem,13vw,15rem)}.subject-reveal small{color:#5d6860;margin-top:1.5rem;display:block}.subject-complete{text-align:right;bottom:14%;right:clamp(1.5rem,8vw,10rem)}.subject-complete h2{font-size:clamp(3.4rem,7vw,8.5rem)}.subject-complete>div{color:#516056;margin-top:1.7rem;line-height:1.7}.subject-complete button{color:#eeeee7;letter-spacing:.12em;cursor:pointer;pointer-events:auto;background:#202823;border:1px solid #202823;margin-top:2rem;padding:1rem 1.3rem;font:10px IBM Plex Mono,monospace;transition:transform .25s,background .25s}.subject-complete button:hover{background:#3a5145;transform:translateY(-3px)}.subject-complete button b{padding-left:1rem;font-size:1.2em}.subject-app[data-state=ENTRY] .subject-entry,.subject-app[data-state=OBSERVATION] .subject-observation,.subject-app[data-state=PROFILE] .subject-profile,.subject-app[data-state=RESPONSE_TEST] .subject-response,.subject-app[data-state=PROXIMITY] .subject-proximity,.subject-app[data-state=OBSERVER] .subject-observer,.subject-app[data-state=REVEAL] .subject-reveal,.subject-app[data-state=COMPLETE] .subject-complete{opacity:1;transform:none}.subject-access-note{z-index:4;color:#5b665f;letter-spacing:.06em;max-width:18rem;margin:0;font:9px/1.55 IBM Plex Mono,monospace;position:fixed;bottom:1.7rem;left:clamp(1.5rem,4vw,5rem)}.subject-ended{color:#171a18;text-align:center;background:#eeede7;place-content:center;min-height:100svh;font-family:IBM Plex Mono,monospace;display:grid}.subject-ended>div{gap:1rem;display:grid}.subject-ended span{letter-spacing:.18em;font-size:clamp(2rem,6vw,6rem)}.subject-ended p{color:#687168;letter-spacing:.13em;margin:0;font-size:11px}.subject-ended-small{text-transform:uppercase;font-size:9px!important}.subject-ended a{color:inherit;letter-spacing:.12em;border-bottom:1px solid #17201a;margin:1rem auto 0;padding-bottom:.35rem;font-size:11px;text-decoration:none}@media (max-width:700px){.subject-app{min-height:880vh}.subject-header{grid-template-columns:1fr auto;padding:1.25rem}.subject-header-center{display:none}.subject-index{writing-mode:initial;top:auto;bottom:1.2rem;right:1rem}.subject-index i{width:4rem;height:1px}.subject-copy h2{font-size:clamp(3rem,15vw,5.5rem)}.subject-entry{top:47%;left:1.4rem}.subject-entry h1{font-size:clamp(5rem,21vw,7rem)}.subject-observation,.subject-observer{top:21%;left:1.4rem;right:1.2rem}.subject-profile,.subject-proximity{top:25%;left:1.4rem;right:1.4rem}.subject-response{top:46%;left:1.4rem}.subject-proximity{text-align:left}.subject-distance{justify-content:flex-start}.subject-reveal h2{font-size:clamp(4.2rem,18vw,6.6rem)}.subject-complete{bottom:16%;right:1.4rem}.subject-copy dl{flex-wrap:wrap;gap:1.1rem}.subject-access-note{display:none}}@media (prefers-reduced-motion:reduce){.subject-loader,.subject-copy,.subject-end-wash,.subject-cursor-target{transition:none}.subject-loader span{animation:none}}
.subject-canvas{transition:filter 1.3s,transform 1.3s}.subject-stage-entry .subject-canvas{filter:blur(2.4px);transform:scale(1.008)}.subject-stage-observation .subject-canvas{filter:blur(1.7px);transform:scale(1.005)}.subject-stage-profile .subject-canvas{filter:blur(.8px)}@media (prefers-reduced-motion:reduce){.subject-canvas{transition:none}}
.subject-entry{max-width:min(28rem,38vw);top:auto;bottom:14%;left:clamp(1.5rem,6vw,7rem)}.subject-entry h1{letter-spacing:-.065em;font-size:clamp(2.15rem,3.8vw,4.85rem);line-height:.92}.subject-entry>div{gap:.85rem;margin-top:1.25rem}.subject-copy h2{letter-spacing:-.07em}.subject-header-center,.subject-index,.subject-access-note{opacity:.54}.subject-access-note{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:fixed;overflow:hidden}.subject-stage-entry .subject-canvas{filter:blur(7px)brightness(1.62)contrast(.48)saturate(.56);transform:scale(1.018)}.subject-stage-observation .subject-canvas{filter:blur(4px)brightness(1.3)contrast(.62)saturate(.65)}.subject-stage-profile .subject-canvas{filter:blur(1.2px)brightness(1.02)contrast(.9);animation:.9s cubic-bezier(.42,0,.18,1) 5s forwards subject-profile-escape-blur}@keyframes subject-profile-escape-blur{0%{filter:blur(1.2px)brightness(1.02)contrast(.9);transform:scale(1)}to{filter:blur(15px)brightness(.68)contrast(.7)saturate(.56);transform:scale(1.03)}}.subject-stage-response_test .subject-canvas{filter:blur(2.4px)brightness(1.1)contrast(.78)saturate(.68);transform:scale(1.012)}.subject-stage-proximity .subject-canvas,.subject-stage-observer .subject-canvas{filter:blur(6px)brightness(1.32)contrast(.52)saturate(.5);transform:scale(1.015)}.subject-stage-reveal .subject-canvas{filter:blur(7px)brightness(1.38)contrast(.48)saturate(.45);transform:scale(1.02)}.subject-stage-complete .subject-canvas{filter:blur(8px)brightness(1.45)contrast(.42)saturate(.4);transform:scale(1.024)}@media (max-width:700px){.subject-entry{max-width:18rem;bottom:18%;right:1.4rem}.subject-entry h1{font-size:clamp(2.2rem,10vw,3.6rem)}}@media (prefers-reduced-motion:reduce){.subject-stage-entry .subject-canvas,.subject-stage-observation .subject-canvas,.subject-stage-profile .subject-canvas{filter:none;transform:none}}
.subject-header-actions{justify-self:end;align-items:center;gap:1rem;display:flex}.subject-sound-switch,.subject-volume{color:inherit;letter-spacing:.1em;background:0 0;border:0;font:9px IBM Plex Mono,monospace}.subject-sound-switch{cursor:pointer;border-bottom:1px solid #1f262260;padding:0 0 .35rem}.subject-volume{align-items:center;gap:.45rem;display:flex}.subject-volume input{accent-color:currentColor;cursor:pointer;width:3.6rem;height:2px;margin:0}.subject-light-switch{width:1.75rem;height:1.75rem;color:inherit;cursor:pointer;background:#ffffff20;border:1px solid #1f262250;border-radius:50%;place-items:center;padding:0;font:1rem/1 Arial,sans-serif;transition:background .25s,color .25s,transform .25s;display:grid}.subject-light-switch:hover{color:#f5f3ed;background:#1f2622;transform:rotate(18deg)}.subject-app[data-light=night]{--ink:#edf3ef;--muted:#aab7b4;background:#080b0e}.subject-app[data-light=night] .subject-stage{background:#080b0e}.subject-app[data-light=night] .subject-header,.subject-app[data-light=night] .subject-index,.subject-app[data-light=night] .subject-copy,.subject-app[data-light=night] .subject-copy h1,.subject-app[data-light=night] .subject-copy h2{color:#edf3ef}.subject-app[data-light=night] .subject-copy p,.subject-app[data-light=night] .subject-copy small,.subject-app[data-light=night] .subject-copy span,.subject-app[data-light=night] .subject-copy dt,.subject-app[data-light=night] .subject-copy dd,.subject-app[data-light=night] .subject-copy em,.subject-app[data-light=night] .subject-note,.subject-app[data-light=night] .subject-index{color:#b6c6c6}.subject-app[data-light=night] .subject-end-button,.subject-app[data-light=night] .subject-light-switch,.subject-app[data-light=night] .subject-sound-switch{border-color:#edf3ef66}.subject-app[data-light=night] .subject-vignette{background:radial-gradient(at 50% 43%,#0000 25%,#0008 100%)}@media (max-width:700px){.subject-header-actions{gap:.65rem}}
