.projects-page{max-width:var(--max-width-content);margin-inline:auto;padding:128px 24px 96px}@media (width>=768px){.projects-page{padding:192px 32px 128px}}.projects-page-header{margin-bottom:48px}.projects-page-title{font-family:var(--font-serif);letter-spacing:-.02em;margin-top:24px;font-size:2.5rem;font-weight:500;line-height:1.2}.project-list{flex-direction:column;display:flex}.project-row{border-top:1px solid var(--color-border);padding:32px 0}.project-row:last-child{border-bottom:1px solid var(--color-border)}.project-row-top{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.project-row-status{align-items:center;gap:8px;display:inline-flex}.project-row-status-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-ink-muted);font-size:10px}.project-row-updated{font-family:var(--font-mono);letter-spacing:.05em;color:var(--color-ink-muted);opacity:.8;margin-left:auto;font-size:11px}.project-row-title{font-family:var(--font-serif);font-size:1.5rem;font-weight:500;line-height:1.375}.project-row-title a{transition:color .15s}.project-row-title a:hover{color:var(--color-accent)}.project-row-tagline{color:var(--color-ink);margin-top:10px;font-size:15px;line-height:1.6}.project-row-desc{max-width:36rem;color:var(--color-ink-soft);margin-top:8px;font-size:14.5px;line-height:1.7}.project-row-bottom{flex-wrap:wrap;align-items:center;gap:16px;margin-top:16px;display:flex}.project-tech-list{flex-wrap:wrap;gap:8px;display:flex}.project-tag{border:1px solid var(--color-border);font-family:var(--font-mono);text-transform:uppercase;color:var(--color-ink-muted);padding:1px 6px;font-size:10px}.project-row-link{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--color-ink);border-bottom:1px solid var(--color-border);align-items:center;gap:6px;padding-bottom:2px;font-size:11px;transition:color .15s,border-color .15s;display:inline-flex}.project-row-link:hover{color:var(--color-accent);border-color:var(--color-accent)}.project-detail{max-width:var(--max-width-content);margin-inline:auto;padding:128px 24px 96px}@media (width>=768px){.project-detail{padding:192px 32px 128px}}.project-detail-back{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-ink-muted);align-items:center;gap:6px;margin-bottom:48px;font-size:11px;transition:color .15s;display:inline-flex}.project-detail-back:hover{color:var(--color-accent)}.project-detail-header{max-width:42rem;margin:0 auto 48px}.project-detail-status{align-items:center;gap:8px;margin-bottom:20px;display:inline-flex}.project-detail-status-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-ink-muted);font-size:10px}.project-detail-name{font-family:var(--font-sans);letter-spacing:-.02em;margin-bottom:16px;font-size:2.25rem;font-weight:500;line-height:1.2}@media (width>=768px){.project-detail-name{font-size:2.75rem}}.project-detail-tagline{max-width:36rem;color:var(--color-ink);margin-bottom:16px;font-size:17px;line-height:1.6}.project-detail-desc{max-width:36rem;color:var(--color-ink-soft);margin-bottom:24px;font-size:15px;line-height:1.75}.project-detail-meta{flex-wrap:wrap;gap:16px;margin-bottom:20px;display:flex}.project-detail-meta-item{font-family:var(--font-mono);letter-spacing:.05em;color:var(--color-ink-muted);font-size:11px}.project-detail-tech{flex-wrap:wrap;gap:8px;margin-bottom:28px;display:flex}.project-detail-actions{flex-wrap:wrap;gap:16px;display:flex}.project-detail-body{padding-bottom:64px}.project-section{max-width:42rem;margin:0 auto 56px}.project-screenshot{margin-bottom:28px}.project-screenshot img{border-radius:var(--radius-media);max-width:100%;height:auto}.project-screenshot figcaption{font-family:var(--font-mono);color:var(--color-ink-muted);margin-top:8px;font-size:.8rem}.changelog-row{border-top:1px solid var(--color-border);flex-wrap:wrap;align-items:baseline;gap:12px;padding:16px 0;display:flex}.changelog-row:last-child{border-bottom:1px solid var(--color-border)}.changelog-version{font-family:var(--font-mono);color:var(--color-ink);font-size:12px;font-weight:500}.changelog-date{font-family:var(--font-mono);letter-spacing:.05em;color:var(--color-ink-muted);font-size:11px}.changelog-summary{width:100%;color:var(--color-ink-soft);font-size:14.5px;line-height:1.7}.projects-index-page{background:#f9faf9}.projects-archive{--projects-paper:#f9faf9;--projects-paper-bright:#fefefe;--projects-ink:#0b0d0d;--projects-graphite:#292d2c;--projects-muted:#626866;--projects-faint:#939a97;--projects-line:#c8cdcb;--projects-line-soft:#e2e5e4;--projects-carbon:#101212;--projects-signal:#3155d8;--projects-page:min(1320px, calc(100vw - 48px));background:var(--projects-paper);min-width:320px;color:var(--projects-ink);padding-top:92px;line-height:1.6;overflow:hidden}.projects-archive .projects-mono{font-family:var(--font-mono)}.projects-archive img{max-width:100%;height:auto}.projects-archive a{color:inherit}.projects-page-grid{width:var(--projects-page);grid-template-columns:56px 270px minmax(0,1fr);column-gap:28px;margin-inline:auto;display:grid}.projects-masthead{border-bottom:1px solid var(--projects-line);grid-template-rows:auto 1fr;grid-template-columns:34px minmax(500px,540px) minmax(0,1fr);align-content:start;column-gap:38px;min-height:318px;padding-top:16px;position:relative;overflow:hidden}.projects-masthead-kicker{color:var(--projects-ink);letter-spacing:.09em;grid-area:1/1/auto/3;align-self:start;padding-top:14px;font-size:10px}.projects-masthead-copy{z-index:2;grid-area:2/2;max-width:540px;margin-top:24px;position:relative}.projects-masthead-copy h1{font-family:var(--font-serif);letter-spacing:-.045em;margin:0 0 20px;font-size:clamp(66px,5.8vw,86px);font-weight:400;line-height:.98}.projects-masthead-copy p{width:500px;max-width:100%;color:var(--projects-graphite);margin:0;font-size:16px;line-height:1.78}.projects-masthead-thesis{writing-mode:vertical-rl;color:#7d8581;letter-spacing:.08em;grid-area:2/1;align-self:end;margin:0 0 18px;font-size:8px;line-height:1.7;transform:rotate(180deg)}.projects-intro-signal{border-left:1px solid var(--projects-line);grid-area:2/3;align-self:center;min-width:0;padding:12px 0 0 36px}.projects-intro-signal svg{width:100%;height:156px}.projects-intro-signal path{fill:none;vector-effect:non-scaling-stroke}.projects-signal-grid path{stroke:#e4e7e6;stroke-width:1px}.projects-signal-path path:first-child{stroke:var(--projects-ink);stroke-width:1.2px}.projects-signal-path path:last-child{stroke:var(--projects-signal);stroke-width:1px;opacity:.58}.projects-signal-nodes circle{fill:var(--projects-paper-bright);stroke:var(--projects-ink);stroke-width:1px}.projects-signal-nodes circle:nth-child(2),.projects-signal-nodes circle:nth-child(4){fill:var(--projects-signal);stroke:var(--projects-signal)}.projects-intro-signal span{color:var(--projects-muted);letter-spacing:.08em;margin-top:7px;font-size:8px;display:block}.projects-stage{border-bottom:1px solid var(--projects-line);position:relative}.projects-stage-index{color:#747b78;letter-spacing:.07em;grid-column:1;padding-top:3px;font-size:8px;line-height:1.45}.projects-stage-meta{grid-column:2}.projects-status{color:#555c59;letter-spacing:.08em;margin:0 0 20px;font-size:10px}.projects-status-mark{background:var(--projects-signal);vertical-align:1px;width:5px;height:5px;margin-right:8px;display:inline-block}.projects-stage-meta h2,.projects-small-heading h2{font-family:var(--font-serif);letter-spacing:-.035em;margin:0;font-size:34px;font-weight:400;line-height:1.03}.projects-stage-meta h2 a:hover,.projects-stage-meta h2 a:focus-visible,.projects-console-copy h3 a:hover,.projects-console-copy h3 a:focus-visible,.projects-esp-label h3 a:hover,.projects-esp-label h3 a:focus-visible{color:var(--projects-signal)}.projects-stage-lede{color:#242927;max-width:36ch;margin:20px 0 22px;font-size:15px;line-height:1.72}.projects-supporting-points{color:#303633;max-width:58ch;margin:0 0 26px;font-size:14px;line-height:1.72}.projects-supporting-points li{padding-left:18px;position:relative}.projects-supporting-points li+li{margin-top:10px}.projects-supporting-points li:before{content:"";background:var(--projects-signal);width:7px;height:1px;position:absolute;top:.78em;left:0}.projects-stack{color:var(--projects-muted);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:9px;line-height:1.8}.projects-radar-stage{grid-template-columns:48px minmax(0,3fr) minmax(390px,2fr);column-gap:34px;padding-block:82px 88px}.projects-radar-stage .projects-stage-meta{max-width:620px;padding-right:42px}.projects-radar-stage .projects-stage-meta h2{width:220px;font-size:42px}.projects-radar-stage .projects-stage-lede{max-width:44ch;font-size:17px}.projects-radar-stage .projects-supporting-points{font-size:15px}.projects-pipeline{border-top:1px solid var(--projects-line);align-items:center;gap:18px;margin:30px 0 0;padding:12px 0 0;display:flex}.projects-pipeline li{color:#4f5753;font-size:9px;line-height:1.5}.projects-pipeline li:not(:last-child):after{content:"→";color:var(--projects-faint);margin-left:18px}.projects-evidence-frame{background:#eef1f0;border:1px solid #b7bdba;grid-column:3;margin:0}.projects-frame-label,.projects-viewport-caption,.projects-artifact-heading{border-bottom:1px solid var(--projects-line);min-height:34px;color:var(--projects-muted);letter-spacing:.06em;background:#fdfefd;justify-content:space-between;align-items:center;padding:0 14px;font-size:9px;display:flex}.projects-radar-visual{align-self:start;width:100%;padding:0 12px 12px}.projects-radar-visual .projects-frame-label{margin-inline:-12px}.projects-radar-visual img{border:1px solid var(--projects-line-soft);object-fit:cover;object-position:top left;width:100%;max-height:330px;margin-top:12px}.projects-radar-visual figcaption{color:#454c49;margin:13px 2px 0;font-size:12px;line-height:1.65}.projects-viewport-tabs button{border-left:1px solid var(--projects-line);min-height:30px;color:var(--projects-muted);font-family:var(--font-mono);padding:0 12px;font-size:10px}.projects-viewport-tabs button.is-active{background:var(--projects-carbon);color:#fff}.projects-website-stage{grid-template-columns:48px minmax(430px,.9fr) minmax(0,1.1fr);column-gap:34px;padding-block:50px 52px}.projects-website-meta{grid-column:2;padding-right:34px}.projects-website-meta h2{max-width:285px}.projects-website-meta .projects-stage-lede{max-width:39ch}.projects-viewport-tabs{border:1px solid var(--projects-line);margin-top:32px;display:inline-flex}.projects-viewport-tabs button:first-child{border-left:0}.projects-viewport-stage{border:1px solid var(--projects-line);background:#e9edeb;grid-column:3;place-self:start end;width:min(690px,100%);min-height:400px;position:relative;overflow:hidden}.projects-viewport-caption{z-index:3;position:relative}.projects-desktop-capture,.projects-mobile-capture{margin:0;transition:opacity .22s,transform .22s}.projects-desktop-capture{border:1px solid var(--projects-line);width:82%;position:absolute;top:60px;left:7%;box-shadow:0 14px 38px #14181612}.projects-mobile-capture{z-index:2;border:5px solid var(--projects-carbon);opacity:.34;border-radius:2px;width:min(23%,165px);position:absolute;bottom:52px;right:4%;transform:translateY(14px);box-shadow:0 12px 28px #1418162e}.projects-mobile-capture img{width:100%}.projects-viewport-stage[data-active-view=mobile] .projects-desktop-capture{opacity:.18;transform:translate(-3%)}.projects-viewport-stage[data-active-view=mobile] .projects-mobile-capture{opacity:1;width:min(48%,330px);right:50%;transform:translate(50%)}.projects-process-rail{color:#505854;letter-spacing:.05em;align-items:center;font-size:9px;display:flex;position:absolute;bottom:15px;left:16px;right:16px}.projects-process-rail i{background:var(--projects-line);flex:1;height:1px;margin:0 8px}.projects-codex-stage{grid-template-columns:48px minmax(430px,.95fr) minmax(0,1.05fr);column-gap:34px;padding-block:44px 46px}.projects-codex-stage .projects-stage-meta{padding-right:34px}.projects-codex-stage .projects-stage-meta h2{max-width:330px}.projects-codex-stage .projects-stage-lede{max-width:42ch}.projects-codex-stage .projects-supporting-points{margin-bottom:22px}.projects-flip-shell{aspect-ratio:1.35;perspective:1400px;cursor:pointer;grid-column:3;align-self:start;width:min(420px,100%)}.projects-flip-inner{border:1px solid var(--projects-line);width:100%;height:100%;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.7,.2,1);position:relative}.projects-flip-shell.is-flipped .projects-flip-inner,.projects-flip-shell.is-hovered .projects-flip-inner{transform:rotateY(180deg)}.projects-flip-face{backface-visibility:hidden;background:var(--projects-paper-bright);padding:26px 28px;position:absolute;inset:0}.projects-flip-front{align-content:center;display:grid}.projects-flip-instruction{border:1px solid var(--projects-line);color:var(--projects-muted);padding:5px 7px;font-size:8px;position:absolute;top:14px;right:14px}.projects-decision-line{color:var(--projects-graphite);grid-template-columns:1fr;gap:2px;margin:0 0 18px;font-size:9px;display:grid}.projects-decision-line li:not(:last-child):after{content:"↓";color:var(--projects-faint);margin-left:8px}.projects-flip-front p{color:#222725;max-width:390px;font-family:var(--font-serif);margin:0;font-size:15px;line-height:1.55}.projects-flip-back{background:var(--projects-carbon);color:#d9ddda;transform:rotateY(180deg)}.projects-trace-title{color:#7f8883;font-size:9px}.projects-flip-back ol{margin:14px 0 0;font-size:9.5px;line-height:1.75}.projects-flip-back b{color:#f3f5f3;width:75px;font-weight:400;display:inline-block}.projects-small-works{grid-template-columns:56px minmax(0,3fr) minmax(280px,2fr);gap:28px;padding-block:56px 64px}.projects-small-works>.projects-stage-index{grid-row:1/3}.projects-small-heading{grid-column:2/4;grid-template-columns:270px 1fr;gap:28px;margin-bottom:38px;display:grid}.projects-small-heading .projects-status{grid-column:1}.projects-small-heading h2{grid-column:2;font-size:36px}.projects-console-project{border-right:1px solid var(--projects-line);grid-column:2;padding-right:30px;display:block}.projects-console-copy h3,.projects-esp-label h3{font-family:var(--font-serif);margin:12px 0 16px;font-size:26px;font-weight:400;line-height:1.1}.projects-console-copy>p:not(.projects-overline):not(.projects-game-list),.projects-esp-label>p:not(.projects-overline){color:#292f2c;max-width:62ch;font-size:14px;line-height:1.75}.projects-overline{color:var(--projects-muted);letter-spacing:.06em;margin:0;font-size:9px}.projects-game-list{color:var(--projects-muted);margin-top:22px;font-size:8px;line-height:1.8}.projects-terminal-reconstruction{background:var(--projects-carbon);color:#d5dad6;border-left:6px solid #2b302e;min-height:270px;margin-top:24px;padding:36px 26px 20px;position:relative;overflow:auto}.projects-prototype-flag{color:var(--projects-graphite);background:#eef0ed;padding:7px 10px;font-size:8px;position:absolute;top:0;right:0}.projects-terminal-reconstruction pre{font-family:var(--font-mono);margin:0;font-size:11px;line-height:1.5}.projects-esp-trace{grid-column:3;padding-left:4px;display:block}.projects-signal-strip{border-top:1px solid var(--projects-ink);margin-top:30px}.projects-signal-strip li{border-bottom:1px solid var(--projects-line);grid-template-columns:92px 1fr;align-items:center;min-height:48px;font-size:9px;display:grid}.projects-signal-strip span{color:var(--projects-muted)}.projects-signal-strip b{font-weight:400}.projects-cli-ending{background:var(--projects-carbon);color:#d2d7d4;letter-spacing:.03em;align-items:center;gap:8px;min-height:70px;padding:0 max(20px,50vw - 640px);font-size:10px;display:flex}.projects-cli-path{color:#7d8782;margin-right:18px;font-size:8px}.projects-cli-prompt{color:#6f8cff}.projects-cli-command{letter-spacing:.01em}.projects-quiet-cursor{background:#dce1de;width:6px;height:13px;animation:1.3s step-end infinite projects-cursor}@keyframes projects-cursor{50%{opacity:.18}}.projects-archive :focus-visible{outline:2px solid var(--projects-signal);outline-offset:4px}@media (width<=980px) and (width>=721px){.projects-archive{--projects-page:min(100% - 36px, 900px)}.projects-page-grid{grid-template-columns:44px 218px minmax(0,1fr);gap:22px}.projects-masthead{grid-template-columns:36px minmax(350px,410px) minmax(0,1fr)}.projects-masthead-copy{max-width:410px}.projects-masthead-copy p{width:390px}.projects-intro-signal{padding-left:24px}.projects-stage-meta .projects-supporting-points{font-size:13.5px}.projects-website-stage,.projects-codex-stage{grid-template-columns:44px 230px minmax(0,1fr)}.projects-small-works{grid-template-columns:44px minmax(0,3fr) minmax(240px,2fr)}.projects-small-heading{grid-template-columns:218px 1fr}.projects-terminal-reconstruction pre{font-size:9px}}@media (width<=720px){.projects-archive{--projects-page:calc(100% - 28px);padding-top:76px}.projects-page-grid,.projects-website-stage,.projects-codex-stage{grid-template-columns:24px minmax(0,1fr);column-gap:14px}.projects-masthead{grid-template-rows:auto auto auto;align-content:start;min-height:512px;padding-top:54px}.projects-masthead-kicker{grid-column:1/3;padding-top:0}.projects-masthead-copy{grid-area:2/2;margin-top:46px}.projects-masthead-copy h1{margin-bottom:14px;font-size:clamp(42px,12vw,56px)}.projects-masthead-copy p{font-size:13px}.projects-masthead-thesis{grid-row:2/4;margin-top:0}.projects-intro-signal{border-top:1px solid var(--projects-line);border-left:0;grid-area:3/2;margin-top:36px;padding:12px 0 0}.projects-intro-signal svg{height:104px}.projects-stage{padding-block:54px}.projects-stage-index{writing-mode:vertical-rl;grid-area:1/1/5;font-size:7px}.projects-stage-meta,.projects-website-meta{grid-column:2;padding-right:0}.projects-status{margin-bottom:16px}.projects-stage-meta h2{max-width:100%;font-size:32px}.projects-stage-lede{max-width:31ch;margin:18px 0 20px;font-size:14.5px}.projects-supporting-points{max-width:34ch;margin-bottom:22px;font-size:13.5px;line-height:1.7}.projects-supporting-points li+li{margin-top:9px}.projects-radar-stage{padding-block:58px 64px}.projects-radar-stage .projects-stage-meta{max-width:none;padding-right:0}.projects-radar-stage .projects-stage-meta h2{width:auto;font-size:36px}.projects-radar-stage .projects-stage-lede{font-size:15px}.projects-radar-stage .projects-supporting-points{font-size:13.5px}.projects-pipeline{grid-template-columns:repeat(5,auto);gap:8px;margin-top:22px;display:grid}.projects-pipeline li{font-size:8.5px}.projects-pipeline li:not(:last-child):after{margin-left:6px}.projects-evidence-frame,.projects-viewport-stage,.projects-flip-shell{grid-column:2;margin-top:26px}.projects-radar-visual{padding:0 8px 8px}.projects-radar-visual .projects-frame-label{margin-inline:-8px}.projects-radar-visual img{min-height:290px;max-height:320px;margin-top:8px}.projects-website-stage{padding-block:54px 58px}.projects-viewport-tabs{margin-top:26px}.projects-viewport-stage{width:100%;min-height:400px}.projects-desktop-capture{width:94%;top:66px;left:3%}.projects-mobile-capture{width:38%;bottom:60px}.projects-viewport-stage[data-active-view=mobile] .projects-mobile-capture{width:min(65%,255px)}.projects-process-rail{display:none}.projects-codex-stage{padding-block:52px}.projects-codex-stage .projects-stage-meta{padding-right:0}.projects-flip-shell{aspect-ratio:.9;width:100%}.projects-flip-face{padding:26px 20px}.projects-decision-line{margin-bottom:20px}.projects-flip-front p{font-size:17px;line-height:1.65}.projects-flip-back ol{font-size:9px;line-height:2}.projects-small-works{grid-template-columns:24px minmax(0,1fr);gap:14px;padding-block:54px 66px}.projects-small-works>.projects-stage-index{writing-mode:vertical-rl;grid-row:1/4}.projects-small-heading,.projects-console-project,.projects-esp-trace{grid-column:2;display:block}.projects-small-heading{margin-bottom:42px}.projects-small-heading h2{font-size:36px}.projects-console-project{border-right:0;border-bottom:1px solid var(--projects-line);padding:0 0 42px}.projects-terminal-reconstruction{min-height:330px;margin-top:26px;padding:40px 18px 22px}.projects-terminal-reconstruction pre{font-size:clamp(7.5px,2.3vw,9px)}.projects-esp-trace{padding:38px 0 0}.projects-signal-strip{margin-top:22px}.projects-signal-strip li{grid-template-columns:80px 1fr;font-size:8px}.projects-cli-ending{justify-content:center;min-height:68px;padding:0 14px;font-size:10px}.projects-cli-path{display:none}}@media (prefers-reduced-motion:reduce){.projects-desktop-capture,.projects-mobile-capture,.projects-flip-inner,.projects-quiet-cursor{transition:none;animation:none}.projects-quiet-cursor{opacity:1}.projects-flip-inner,.projects-flip-shell.is-flipped .projects-flip-inner,.projects-flip-shell.is-hovered .projects-flip-inner{transform:none}.projects-flip-back{display:none;transform:none}.projects-flip-shell.is-flipped .projects-flip-front,.projects-flip-shell.is-hovered .projects-flip-front{display:none}.projects-flip-shell.is-flipped .projects-flip-back,.projects-flip-shell.is-hovered .projects-flip-back{display:block}}
