:root{--paper:#f2f0ea;--paper-2:#e9e6de;--ink:#131313;--muted:#5a5a55;--line:#d5d1c7;--line-2:#bdb8ab;--mark-line:#c8c2b2;--accent:#bd3117;--on-accent:#f2f0ea;--on-ink:#f2f0ea;--on-ink-muted:#f2f0eaa8;--font-sans:"Space Grotesk", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--shell:1280px;--gutter:clamp(1.25rem, 4vw, 3.5rem);--rhythm:clamp(4.5rem, 9vw, 8.5rem);color-scheme:light}:root[data-theme=dark]{--paper:#0c0c0d;--paper-2:#17171b;--ink:#edebe6;--muted:#96948e;--line:#26262a;--line-2:#3a3a40;--mark-line:#4e4e57;--accent:#ff5c36;--on-accent:#0c0c0d;--on-ink:#0c0c0d;--on-ink-muted:#0c0c0db3;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#0c0c0d;--paper-2:#17171b;--ink:#edebe6;--muted:#96948e;--line:#26262a;--line-2:#3a3a40;--mark-line:#4e4e57;--accent:#ff5c36;--on-accent:#0c0c0d;--on-ink:#0c0c0d;--on-ink-muted:#0c0c0db3;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-feature-settings:"palt" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.9}h1,h2,h3,h4{letter-spacing:-.03em;margin:0;font-weight:700;line-height:1.14}p{margin:0}ul,ol{margin:0;padding:0}img,svg{max-width:100%;display:block}a{color:inherit}p,h1,h2,h3,li,dd,dt,figcaption{word-break:auto-phrase;line-break:strict}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.skip-link{z-index:100;background:var(--ink);color:var(--on-ink);padding:.75rem 1rem;position:absolute;top:0;left:0;transform:translateY(-120%)}.skip-link:focus{transform:none}.shell{width:100%;max-width:var(--shell);padding-inline:var(--gutter);margin-inline:auto}.rule{border:0;border-top:1px solid var(--line);margin:0}.label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.6rem;font-size:.75rem;font-weight:500;line-height:1.4;display:flex}.label b{color:var(--accent);font-weight:500}.section>.label{align-self:start;display:block}.section>.label b{font-family:var(--font-sans);letter-spacing:-.05em;color:var(--accent);margin-bottom:.55rem;font-size:clamp(2rem,3.4vw,3.25rem);font-weight:700;line-height:.9;display:block}.band{border-top:1px solid var(--line)}.section{padding-block:var(--rhythm);grid-template-columns:12rem minmax(0,1fr);align-items:start;gap:clamp(1.75rem,4vw,4rem);display:grid}.section__body{min-width:0}.h2{letter-spacing:-.045em;font-size:clamp(1.85rem,4.4vw,3.4rem);line-height:1.1}.lead+.lead{margin-top:1.05rem}.lead{color:var(--muted);max-width:46em;font-size:1rem;line-height:1.95}.btn{border:1px solid var(--accent);background:var(--accent);min-height:3rem;color:var(--on-accent);letter-spacing:.01em;align-items:center;gap:.6rem;padding:.7rem 1.35rem;font-size:1rem;font-weight:700;text-decoration:none;transition:background-color .18s,color .18s,border-color .18s;display:inline-flex}.btn:hover{color:var(--accent);background:0 0}.btn--ghost{border-color:var(--line-2);color:var(--ink);background:0 0}.btn--ghost:hover{border-color:var(--ink);background:var(--ink);color:var(--on-ink)}.ulink{color:var(--ink);background-image:linear-gradient(var(--accent), var(--accent));background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px;align-items:baseline;gap:.45rem;padding-bottom:.1em;font-weight:700;text-decoration:none;transition:background-size .22s,color .18s;display:inline-flex}.ulink:hover{color:var(--accent);background-size:100% 2px}.ulink span[aria-hidden]{transition:transform .22s}.ulink:hover span[aria-hidden]{transform:translate(.2em)}.masthead{z-index:40;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0}.masthead__inner{justify-content:space-between;align-items:center;gap:1.5rem;height:4.25rem;display:flex}.brand{letter-spacing:-.03em;align-items:baseline;gap:.5rem;font-size:1rem;font-weight:700;text-decoration:none;display:inline-flex}.brand em{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.75rem;font-style:normal;font-weight:500}.masthead nav{align-items:center;gap:clamp(1rem,2.4vw,2rem);display:flex}.masthead nav a{color:var(--muted);font-size:1rem;font-weight:500;text-decoration:none;transition:color .16s}.masthead nav a:hover,.masthead nav a[aria-current=page]{color:var(--ink)}.masthead nav a[aria-current=page]{font-weight:700}.masthead .on-narrow{display:none}.theme-toggle{border:1px solid var(--line);width:2.25rem;height:2.25rem;color:var(--muted);cursor:pointer;background:0 0;place-items:center;margin-left:.25rem;padding:0;transition:color .16s,border-color .16s;display:grid}.theme-toggle:hover{color:var(--ink);border-color:var(--line-2)}.theme-toggle svg{width:1rem;height:1rem}.theme-toggle .i-sun{display:none}:root[data-theme=dark] .theme-toggle .i-sun{display:block}:root[data-theme=dark] .theme-toggle .i-moon{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle .i-sun{display:block}:root:not([data-theme=light]) .theme-toggle .i-moon{display:none}}.hero__stage{flex-direction:column;justify-content:space-between;min-height:min(74svh,40rem);padding-block:clamp(2.5rem,7vw,5rem) clamp(1.75rem,4vw,3rem);display:flex;position:relative}.hero__stage:before{content:"";z-index:0;pointer-events:none;background-image:linear-gradient(to right, var(--line) 1px, transparent 1px);opacity:.55;background-size:25% 100%;position:absolute;inset:0}.hero__stage>*{z-index:1;position:relative}.hero__display{letter-spacing:-.06em;margin:clamp(1.5rem,3vw,2.5rem) 0 0;font-size:clamp(2.35rem,10.2vw,8.75rem);font-weight:700;line-height:1.02}.hero__display i{color:var(--accent);font-style:normal;display:block}.hero__display .line{margin-block:-.07em;padding-block:.07em;display:block;overflow:hidden}.hero__display .line>span{animation:.95s cubic-bezier(.16,1,.3,1) forwards line-up;display:block;transform:translateY(110%)}.hero__display .line:nth-child(2)>span{animation-delay:90ms}.hero__display .line:nth-child(3)>span{animation-delay:.18s}@keyframes line-up{to{transform:none}}.hero__eyebrow{animation:.7s cubic-bezier(.16,1,.3,1) both fade-up}@keyframes fade-up{0%{opacity:0;transform:translateY(.6rem)}to{opacity:1;transform:none}}.hero__grid{padding-block:clamp(2rem, 4vw, 3rem) var(--rhythm);grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:start;gap:clamp(2rem,5vw,4.5rem);display:grid}.proof{--proof-gap:clamp(.7rem, 1.6vw, 1.15rem);border-block:1px solid var(--line);background:var(--paper-2);padding-block:clamp(1.4rem,3vw,2.25rem)}.proof__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem 1.5rem;margin-bottom:clamp(1.1rem,2.4vw,1.6rem);display:flex}.proof__rail{overflow:hidden}.proof__track{--groups:4;width:max-content;animation:59s linear infinite proof-scroll;display:flex}.proof__rail:hover .proof__track,.proof__rail:focus-within .proof__track{animation-play-state:paused}.proof__group{gap:var(--proof-gap);padding-right:var(--proof-gap);flex:none;margin:0;list-style:none;display:flex}.proof__group figure{width:clamp(8.75rem,13vw,11.5rem);margin:0}.proof__group img{border:1px solid var(--line-2);background:var(--paper);width:100%;height:auto;display:block}.proof__group figcaption{font-family:var(--font-mono);letter-spacing:.04em;color:var(--muted);grid-template-columns:1.6rem minmax(0,1fr);gap:.35rem;margin-top:.75rem;font-size:12px;line-height:1.55;display:grid}.proof__group figcaption span{color:var(--accent)}@keyframes proof-scroll{to{transform:translateX(calc(-100% / var(--groups)))}}.actions{flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:2rem;display:flex}.spec{grid-template-columns:7rem minmax(0,1fr);gap:0;font-size:.75rem;display:grid}.spec dt,.spec dd{border-top:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.04em;margin:0;padding:.85rem 0;line-height:1.6}.spec dt{color:var(--muted);text-transform:uppercase;padding-top:.95rem}.spec dd{color:var(--ink)}.spec dd a{border-bottom:1px solid var(--line-2);text-decoration:none}.spec dd a:hover{color:var(--accent);border-color:var(--accent)}.works{border-top:1px solid var(--line);list-style:none}.works li{border-bottom:1px solid var(--line)}.work{isolation:isolate;grid-template-columns:3.25rem minmax(0,1fr) 12.5rem 5.5rem 2rem;align-items:center;gap:1.5rem;padding:clamp(1.4rem,2.6vw,2.1rem) .5rem;text-decoration:none;transition:padding .32s cubic-bezier(.2,.7,.2,1),color .25s;display:grid;position:relative}.work:before{content:"";z-index:-1;background:var(--ink);transform-origin:0;transition:transform .42s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0;transform:scaleX(0)}.work:hover:before,.work:focus-visible:before{transform:scaleX(1)}.work__no{font-family:var(--font-mono);letter-spacing:.1em;color:var(--muted);font-size:.75rem;transition:color .2s}.work__name{letter-spacing:-.04em;flex-wrap:wrap;align-items:baseline;gap:.35rem .85rem;min-width:0;font-size:clamp(1.35rem,2.7vw,2.15rem);font-weight:700;line-height:1.15;display:flex}.work__note{min-width:0;color:var(--muted);letter-spacing:0;flex:14rem;font-size:1rem;font-weight:400;line-height:1.7;transition:color .2s}.work__stack,.work__status{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.75rem;line-height:1.7;transition:color .2s}.work__status{color:var(--accent)}.work__go{color:var(--muted);justify-self:end;font-size:1rem;transition:transform .2s,color .2s}.work:where(:hover,:focus-visible){color:var(--on-ink);padding-inline:1.25rem .5rem}.work:where(:hover,:focus-visible) :is(.work__no,.work__note,.work__stack){color:var(--on-ink-muted)}.work:where(:hover,:focus-visible) :is(.work__status,.work__go){color:var(--on-ink)}.work:where(:hover,:focus-visible) .work__go{transform:translate(.35rem)}@media (prefers-reduced-motion:reduce){.work,.work:before,.work__go,.ulink,.ulink span[aria-hidden]{transition:none}.work:where(:hover,:focus-visible){padding-inline:.5rem}.work:where(:hover,:focus-visible) .work__go{transform:none}.hero__display .line>span{animation:none;transform:none}.hero__eyebrow,.proof__track{animation:none}.proof__rail{overflow-x:auto}.proof__group[aria-hidden=true]{display:none}.proof__group{padding-inline:var(--gutter) 0}}.band--sunk{background:var(--paper-2);position:relative}.band--sunk:before{content:"";z-index:0;pointer-events:none;background-image:linear-gradient(to right, var(--line) 1px, transparent 1px);opacity:.5;background-size:25% 100%;position:absolute;inset:0}.band--sunk>*{z-index:1;position:relative}.phases{grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr));gap:0 clamp(1.5rem,3vw,3rem);margin-top:2.5rem;list-style:none;display:grid}.phases a{border-top:1px solid var(--line-2);grid-template-columns:2.75rem minmax(0,1fr);align-items:baseline;gap:.5rem;padding:.95rem 0;font-size:.9375rem;text-decoration:none;transition:color .16s;display:grid}.phases a:hover{color:var(--accent)}.phases span{font-family:var(--font-mono);letter-spacing:.1em;color:var(--muted);font-size:.75rem}.phases a:hover span{color:var(--accent)}.figures{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:0;list-style:none;display:grid}.figures li{border-bottom:1px solid var(--line);align-items:baseline;gap:.55rem;padding:1rem 1.25rem 1rem 0;display:flex}.figures b{letter-spacing:0;font-size:1rem;font-weight:700;line-height:1.6}.figures span{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.75rem}.tags{flex-wrap:wrap;gap:.4rem;list-style:none;display:flex}.tags li{border:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:.3rem .65rem;font-size:.75rem}.pagehead{padding-block:clamp(3.5rem,8vw,7rem) clamp(2.5rem,5vw,4rem);position:relative}.pagehead:before{content:"";z-index:0;pointer-events:none;background-image:linear-gradient(to right, var(--line) 1px, transparent 1px);opacity:.45;background-size:25% 100%;position:absolute;inset:0}.pagehead>*{z-index:1;position:relative}.pagehead h1{letter-spacing:-.06em;margin-top:1.25rem;font-size:clamp(2.5rem,7.4vw,5.75rem);line-height:1.02}.pagehead .lead{margin-top:1.5rem}.prose{max-width:44em}.prose>*+*{margin-top:1.4rem}.prose h2{letter-spacing:-.03em;margin-top:3.25rem;font-size:clamp(1.35rem,2.6vw,1.75rem)}.prose h3{letter-spacing:-.02em;margin-top:2.25rem;font-size:1.0625rem}.prose p,.prose li{color:var(--muted)}.prose ul{padding-left:1.15rem}.prose li+li{margin-top:.5rem}.prose a{color:var(--ink);border-bottom:1px solid var(--line-2);text-decoration:none}.prose a:hover{color:var(--accent);border-color:var(--accent)}.prose strong{color:var(--ink)}.table{border-collapse:collapse;width:100%;font-size:.9375rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.95rem 1rem .95rem 0;line-height:1.75}.table th{width:12rem;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:.75rem;font-weight:500}.table td{color:var(--ink)}.notes{gap:0;list-style:none;display:grid}.notes li{border-bottom:1px solid var(--line);color:var(--muted);grid-template-columns:1.75rem minmax(0,1fr);gap:.5rem;padding:1.1rem 0;line-height:1.85;display:grid}.notes li:before{content:attr(data-no);font-family:var(--font-mono);letter-spacing:.08em;color:var(--accent);padding-top:.5em;font-size:.75rem}.notes li:first-child{border-top:1px solid var(--line)}.links{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:0 clamp(1.5rem,3vw,2.5rem);list-style:none;display:grid}.links a{border-bottom:1px solid var(--line);gap:.3rem;padding:1.35rem 0;text-decoration:none;transition:color .16s;display:grid}.links a:hover{color:var(--accent)}.links b{letter-spacing:-.02em;font-size:1rem}.links span{color:var(--muted);font-size:.8125rem;line-height:1.7}.colophon{border-top:1px solid var(--line);padding-block:clamp(3rem,6vw,5rem) 2.5rem}.colophon__top{flex-wrap:wrap;justify-content:flex-start;gap:2.5rem;display:flex}.colophon__nav{grid-template-columns:repeat(2,minmax(8rem,auto));align-content:start;gap:.55rem 3rem;display:grid}.colophon__nav a{color:var(--muted);font-size:1rem;text-decoration:none}.colophon__nav a:hover{color:var(--accent)}.colophon__mark{letter-spacing:-.055em;white-space:nowrap;color:#0000;-webkit-text-stroke:1px var(--mark-line);user-select:none;margin-top:clamp(2.5rem,6vw,4.5rem);padding-bottom:.1em;font-size:clamp(2.75rem,15.6vw,12.5rem);font-weight:700;line-height:1.05;overflow:hidden}.colophon__base{border-top:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:clamp(2.5rem,5vw,4rem);padding-top:1.5rem;font-size:.75rem;display:flex}@media (width<=60rem){.section{grid-template-columns:1fr;gap:1.5rem}.hero__grid{grid-template-columns:1fr}.work{grid-template-columns:2.25rem minmax(0,1fr) 1.5rem;align-items:start;gap:.75rem}.work__no{grid-area:1/1;padding-top:.5em}.work__name{grid-area:1/2}.work__go{grid-area:1/3;padding-top:.1em}.work__stack{grid-area:2/2}.work__status{grid-area:3/2}.table th{width:8.5rem}}@media (width<=40rem){.masthead__inner{height:3.75rem}.masthead nav{gap:.9rem}.masthead nav a{font-size:.8125rem}.masthead nav a.is-long,.masthead .on-wide{display:none}.masthead .on-narrow{display:inline}.brand em{display:none}.spec{grid-template-columns:5.5rem minmax(0,1fr)}.colophon__top{flex-direction:column}.colophon__nav{grid-template-columns:repeat(2,minmax(0,1fr))}}.feature{grid-template-columns:minmax(0,1fr) minmax(0,22rem);align-items:start;gap:clamp(2rem,5vw,4.5rem);display:grid}.feature__name{letter-spacing:-.055em;margin:.9rem 0 1.25rem;font-size:clamp(2.4rem,6vw,4.75rem);line-height:1}.status{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.6rem;font-size:.75rem;display:inline-flex}.status:before{content:"";background:var(--accent);width:.45rem;height:.45rem;box-shadow:0 0 0 .25rem color-mix(in srgb, var(--accent) 22%, transparent);border-radius:50%}.plate{border:1px solid var(--line);background:var(--paper-2);margin:0;padding:clamp(1.1rem,2.5vw,1.75rem)}.plate img{border-radius:22.37%;width:100%;height:auto}.plate figcaption{border-top:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);justify-content:space-between;gap:1rem;margin-top:clamp(1.1rem,2.5vw,1.75rem);padding-top:.85rem;font-size:.75rem;display:flex}@media (width<=60rem){.feature{grid-template-columns:1fr}.plate{max-width:22rem}}.phases__label{font-family:var(--font-sans);letter-spacing:0;color:inherit;text-transform:none;align-items:baseline;gap:.6rem;font-size:.9375rem;display:inline-flex}.phases__label em{font-family:var(--font-mono);letter-spacing:.1em;color:var(--muted);border:1px solid var(--line-2);padding:.05rem .35rem;font-size:.75rem;font-style:normal}.prose code{font-family:var(--font-mono);border:1px solid var(--line);background:var(--paper-2);padding:.1em .35em;font-size:.875em}.notes b{color:var(--ink);font-weight:700}.notes a,.table a,.lead a{color:var(--ink);border-bottom:1px solid var(--line-2);text-decoration:none}.notes a:hover,.table a:hover,.lead a:hover{color:var(--accent);border-color:var(--accent)}main:has(>.pagehead:only-child) .pagehead{min-height:58svh}[id]{scroll-margin-top:5rem}:root.has-js [data-reveal]{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0s);transform:translateY(1rem)}:root.has-js [data-reveal].is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){:root.has-js [data-reveal]{opacity:1;transition:none;transform:none}}.screens{grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));gap:clamp(1rem,2.2vw,1.75rem);margin-top:2.5rem;list-style:none;display:grid}.screens figure{margin:0}.screens img{border:1px solid var(--line-2);background:var(--paper);width:100%;height:auto;display:block}.screens figcaption{font-family:var(--font-mono);letter-spacing:.04em;color:var(--muted);grid-template-columns:1.6rem minmax(0,1fr);gap:.35rem;margin-top:.75rem;font-size:12px;line-height:1.55;display:grid}.screens figcaption span{color:var(--accent)}
