@font-face{font-family:Departure;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/departure-400.woff2)format("woff2")}@font-face{font-family:Commit;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/commit-400.woff2)format("woff2")}@font-face{font-family:Commit;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/commit-700.woff2)format("woff2")}:root{color-scheme:dark;--ground:#05090a;--ground-2:#070e10;--surface:#0a1518;--beam:#e8fff4;--p-full:#a8ffc8;--p-norm:#46e08a;--p-dim:#34a768;--p-faint:#1d5c39;--line:#1b5136;--line-soft:#123324;--glow-s:0 0 10px #46e08a33;--glow-m:0 0 18px #46e08a4d;--glow-l:0 0 34px #a8ffc842;--mono:"Commit", ui-monospace, "SF Mono", Menlo, monospace;--pixel:"Departure", "Commit", ui-monospace, monospace;--t-display:33px;--t-h2:22px;--t-body:.9375rem;--t-small:.8125rem;--t-micro:.6875rem;--pad-x:clamp(1.15rem, 4.4vw, 4.5rem);--pad-y:clamp(4rem, 8vw, 7rem);--shell:1240px;--radius:2px;--ease:cubic-bezier(.22,1,.36,1)}@media (width>=640px){:root{--t-display:55px;--t-h2:33px}}@media (width>=1024px){:root{--t-display:77px;--t-h2:44px}}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--line) var(--ground);scrollbar-width:thin}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--ground);color:var(--p-norm);font-family:var(--mono);font-size:var(--t-body);overflow-wrap:break-word;text-shadow:0 0 9px #46e08a29;margin:0;line-height:1.72;overflow-x:hidden}h1,h2,h3,h4,p,ul,ol,figure,dl,dd{margin:0}ul{padding:0;list-style:none}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:var(--p-norm);color:var(--ground);text-shadow:none}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:var(--ground)}::-webkit-scrollbar-thumb{background:var(--line);border:3px solid var(--ground)}::-webkit-scrollbar-thumb:hover{background:var(--p-faint)}:focus-visible{outline:2px solid var(--beam);outline-offset:3px;border-radius:1px}.shell{width:100%;max-width:var(--shell);padding-inline:var(--pad-x);margin-inline:auto}.section{padding-block:var(--pad-y);position:relative}.section--band{background:var(--ground-2);border-block:1px solid var(--line-soft)}.sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.intro{display:none}.has-intro body{overflow:hidden}.has-intro body>:not(.intro):not(script){visibility:hidden}.has-intro .intro{z-index:110;background:var(--ground);color:var(--p-full);isolation:isolate;place-items:center;padding:clamp(1.25rem,5vw,4rem);display:grid;position:fixed;inset:0;overflow:hidden}.has-intro .intro:before{content:"";z-index:-1;pointer-events:none;background:repeating-linear-gradient(#0000 0 2px,#00000038 2px 3px);position:absolute;inset:0}.intro__frame{border-block:1px solid var(--line);width:min(100%,660px);padding:clamp(1.2rem,4vw,2rem) 0;position:relative}.intro__frame:before,.intro__frame:after{content:"";border:1px solid var(--p-norm);background:var(--ground);width:7px;height:7px;position:absolute;top:-4px}.intro__frame:before{left:0}.intro__frame:after{right:0}.intro__status{color:var(--p-dim);font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:1rem;line-height:1.4;display:flex}.intro__name{width:fit-content;max-width:100%;font-family:var(--pixel);white-space:nowrap;letter-spacing:-.02em;text-shadow:var(--glow-s);margin:.5rem 0 clamp(1.25rem,5vw,2.25rem);font-size:clamp(1.25rem,5.8vw,2.8rem);font-weight:400;line-height:1.15;display:block;position:relative;overflow:hidden}.intro__name:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#e8fff447,#0000);width:16%;position:absolute;inset:0;transform:translate(-130%)}.intro__track{background:var(--line-soft);height:2px;margin-top:.8rem;overflow:hidden}.intro__beam{background:var(--p-norm);width:100%;height:100%;box-shadow:var(--glow-m);transform-origin:0;display:block;transform:scaleX(0)}.intro__status{margin-top:.8rem}.intro__acquired,.intro.is-acquired .intro__acquiring{display:none}.intro.is-acquired .intro__acquired{display:inline}.intro__ticks{gap:4px;display:flex}.intro__ticks i{background:var(--p-faint);width:2px;height:8px;display:block}.has-intro .intro__ticks i{animation:intro-tick .11s step-end calc(.35s + var(--i) * .11s) 1}.intro.is-acquired .intro__ticks i{background:var(--p-norm);animation:none}.has-intro .intro__frame{animation:.24s ease-out both intro-appear}.has-intro .intro__name{animation:1.1s linear .35s both intro-reveal}.has-intro .intro__name:after{animation:1.1s linear .35s both intro-sweep}.has-intro .intro__beam{animation:1.1s linear .35s both intro-uplink}.has-intro .intro__status{animation:.18s ease-out .18s both intro-appear}.intro.is-leaving{opacity:0;transition:opacity .22s}@keyframes intro-appear{0%{opacity:0}to{opacity:1}}@keyframes intro-reveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes intro-sweep{to{transform:translate(720%)}}@keyframes intro-uplink{to{transform:scaleX(1)}}@keyframes intro-tick{0%{background:var(--p-norm)}to{background:var(--p-faint)}}@media (width<=360px){.intro__status{letter-spacing:.06em;font-size:.625rem}}@media (prefers-reduced-motion:reduce){.has-intro .intro{display:none}}.h2{font-family:var(--pixel);font-size:min(var(--t-h2), calc((100vw - 3rem) / 8.5));color:var(--p-full);text-shadow:var(--glow-m);max-width:22ch;font-weight:400;line-height:1.14}.lede{color:var(--p-dim);max-width:64ch}.crt{z-index:80;pointer-events:none;position:fixed;inset:0}.crt__scan{background:linear-gradient(#0000 0 1.5px,#00000038 1.5px 3px) 0 0/100% 3px;position:absolute;inset:0}.crt__roll{background:linear-gradient(#a8ffc800,#a8ffc809,#a8ffc800);height:26vh;position:absolute;left:0;right:0;transform:translateY(-30vh)}.crt__vig{background:radial-gradient(130% 105% at 50% 45%,#0000 42%,#0000004d 74%,#000000b8 100%),linear-gradient(115deg,#a8ffc808 0%,#a8ffc800 38%);position:absolute;inset:0}.crt__bezel{border-radius:16px;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #1d5c398c,inset 0 0 90px #000000d9}.nav{z-index:40;background:color-mix(in srgb, var(--ground) 88%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid #0000;align-items:center;height:62px;transition:border-color .3s;display:flex;position:sticky;top:0;container-type:inline-size}.nav.is-stuck{border-bottom-color:var(--line-soft)}.nav__inner{width:100%;max-width:var(--shell);padding-inline:var(--pad-x);justify-content:space-between;align-items:center;gap:1.25rem;margin-inline:auto;display:flex}.mark{font-family:var(--pixel);color:var(--p-full);text-shadow:var(--glow-s);white-space:nowrap;font-size:min(22px,10.2041cqi - 8.57143px);line-height:1}.mark__i{position:relative}.mark__i:after{content:"";background:var(--beam);width:.0909em;height:.0909em;margin-left:-.04545em;position:absolute;bottom:.9091em;left:50%;box-shadow:0 0 7px #e8fff4,0 0 14px #a8ffc8b3}.nav__links{align-items:center;gap:1.5rem;display:flex}.nav__links a{font-size:var(--t-small);color:var(--p-dim);white-space:nowrap;padding-block:3px;transition:color .2s;position:relative}.nav__links a:after{content:"";background:var(--p-norm);transform-origin:0;width:100%;height:1px;transition:transform .3s var(--ease);position:absolute;bottom:0;left:0;transform:scaleX(0)}.nav__links a:hover{color:var(--p-full)}.nav__links a:hover:after{transform:scaleX(1)}.btn{border-radius:var(--radius);font-size:var(--t-small);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border:1px solid var(--p-norm);color:var(--p-norm);cursor:pointer;text-shadow:none;background:0 0;align-items:center;gap:.55rem;padding:.7rem 1.2rem;font-weight:700;transition:background-color .2s,color .2s,border-color .2s,box-shadow .25s,transform .12s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn .ico{width:15px;height:15px}.btn--primary{background:var(--p-norm);color:var(--ground)}.btn--primary:hover{background:var(--p-full);border-color:var(--p-full);box-shadow:var(--glow-m)}.btn--ghost{border-color:var(--line)}.btn--ghost:hover{border-color:var(--p-norm);color:var(--p-full);box-shadow:var(--glow-s)}.btn--sm{padding:.48rem .85rem}.sprite{width:0;height:0;position:absolute;overflow:hidden}.ico{flex:none;width:1em;height:1em;display:block}.ico--b{fill:currentColor}.ico--ui{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.chips{flex-wrap:wrap;gap:.35rem;display:flex}.chip{border:1px solid var(--line);border-radius:var(--radius);color:var(--p-norm);font-size:var(--t-micro);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;text-shadow:none;background:#46e08a1c;align-items:center;gap:.42rem;padding:.24rem .52rem .24rem .44rem;transition:border-color .2s,color .2s;display:inline-flex}.chip .ico{opacity:.9;width:11px;height:11px}.chip:hover{border-color:var(--p-full);color:var(--p-full);box-shadow:var(--glow-s);background:#a8ffc82b}.hero{padding-block:clamp(1.25rem,2.6vw,2.25rem) clamp(3rem,6vw,5rem)}@media (width<=639px){.hero{align-items:center;min-height:calc(100svh - 62px);padding-block:1.5rem 3rem;display:flex}}.screen{background:linear-gradient(175deg,#1a2223 0%,#0d1415 46%,#141b1c 100%);border-radius:clamp(14px,1.6vw,24px);padding:clamp(9px,1.1vw,16px);position:relative;box-shadow:0 0 0 1px #1d5c394d,0 46px 90px -46px #000000f2,inset 0 1px #a8ffc812,inset 0 -1px #0009}.screen__glass{background:radial-gradient(118% 102% at 50% 44%,#09140f 0%,#040a09 56%,#020605 100%);border-radius:clamp(16px,3.4vw,52px)/clamp(12px,2.4vw,36px);align-items:center;min-height:96px;padding:clamp(.9rem,2.2vw,1.75rem);display:flex;position:relative;overflow:hidden}.screen__raster{pointer-events:none;filter:drop-shadow(0 0 5px #46e08a8c);width:100%;height:100%;position:absolute;inset:0}.screen__glow{pointer-events:none;border-radius:inherit;background:radial-gradient(104% 86% at 50% 46%,#0000 44%,#00000042 72%,#000000a8 91%,#000000e0 100%),linear-gradient(166deg,#a8ffc814 0%,#a8ffc800 28%);position:absolute;inset:0;box-shadow:inset 0 0 54px #000000b3}.hero__h1{font-family:var(--pixel);font-size:var(--t-h2);color:var(--p-full);font-weight:400;line-height:1.2}.js .screen__glass{min-height:0}.js .hero__h1{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ctx{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.ctx__cell{border-left:1px solid var(--line-soft);flex-direction:column;gap:.5rem;padding:1.4rem clamp(.9rem,1.8vw,1.6rem);display:flex}.ctx__cell:first-child{border-left:0;padding-left:0}.ctx__cell:last-child{padding-right:0}.ctx__icon{fill:none;width:44px;height:44px;stroke:var(--p-norm);stroke-width:1.5px;stroke-linecap:butt;stroke-linejoin:miter;filter:drop-shadow(0 0 4px #46e08a66);margin-bottom:.4rem;overflow:visible}.ctx__icon .draw{stroke:var(--p-full)}.ctx__icon .pop{stroke:var(--p-full);transform-box:fill-box;transform-origin:50%}.ctx__icon .pop--solid{fill:var(--p-full);stroke:none}.ctx__icon .node{fill:var(--ground-2)}.ctx__icon .bar{fill:#46e08a33;transform-box:fill-box;transform-origin:bottom}.ctx__where{font-family:var(--pixel);color:var(--p-full);text-shadow:var(--glow-s);font-size:22px;line-height:1.15}.ctx__what{color:var(--p-dim);font-size:var(--t-small)}.ctx__foot{border-top:1px solid var(--line-soft);color:var(--p-dim);font-size:var(--t-small);margin-top:1.5rem;padding-top:1.1rem}.ctx__foot b{color:var(--p-norm);font-weight:700}.about{grid-template-columns:minmax(0,400px) minmax(0,1fr);align-items:stretch;gap:clamp(2rem,4vw,3.5rem);max-width:1040px;margin-top:clamp(2rem,4vw,3rem);display:grid}.arc{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-rows:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid;overflow:hidden;container-type:inline-size}.arc__step{border-top:1px solid var(--line-soft);grid-template-columns:minmax(0,175px) minmax(0,1fr);align-items:center;gap:clamp(1rem,2vw,1.75rem);padding:clamp(1rem,2vw,1.5rem) clamp(1.1rem,2.2vw,1.75rem);display:grid;position:relative}.arc__step:first-child{border-top:0}.arc__step:before{content:"";opacity:var(--density);pointer-events:none;background-image:radial-gradient(circle,#46e08af2 .9px,#0000 .9px);background-size:5px 5px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(100deg,#000 0%,#00000073 62%,#00000026 100%);mask-image:linear-gradient(100deg,#000 0%,#00000073 62%,#00000026 100%)}.arc__step:first-child{--density:.1}.arc__step:nth-child(2){--density:.19}.arc__step:nth-child(3){--density:.3}.arc__name{font-family:var(--pixel);color:var(--p-full);text-shadow:var(--glow-s);font-size:min(22px,12.8205cqi - 4.61538px);line-height:1.15;position:relative}.arc__areas{flex-direction:column;gap:.3rem;display:flex;position:relative}.arc__areas span{font-size:min(var(--t-small), calc((100cqi - 36px) / 5.8));color:var(--p-norm);letter-spacing:.02em;padding-left:1.4ch;position:relative}.arc__areas span:before{content:"";background:var(--p-faint);width:4px;height:4px;position:absolute;top:.62em;left:0}.arc__step:nth-child(3) .arc__areas span:before{background:var(--p-dim)}.arc__art{pointer-events:none;opacity:.6;fill:none;width:120px;height:80px;stroke:var(--p-norm);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px #46e08a8c);margin-top:-40px;transition:opacity .35s;position:absolute;top:50%;right:clamp(1.1rem,2.2vw,1.75rem);overflow:visible}.arc__step:hover .arc__art{opacity:.95}.arc__step.is-crowded .arc__art{opacity:.18}.arc__step.is-crowded:hover .arc__art{opacity:.35}.arc__art .faint{stroke:var(--line)}.arc__art .solid{fill:var(--p-full);stroke:none}.arc__art .core{fill:#46e08a24}.arc__art .node{fill:var(--ground-2)}.arc__art .pulse{stroke:var(--beam);stroke-width:2.5px;stroke-dasharray:12 112;stroke-dashoffset:12px;opacity:0}.arc__art .lit{fill:var(--p-full);stroke:none;opacity:0}.arc__art .j{transform-box:view-box}.arm__upper{transform-origin:60px 62px;transform:rotate(-36deg)}.arm__fore{transform-origin:60px 36px;transform:rotate(-181deg)}.arm__hand{transform-origin:86px 36px;transform:rotate(217deg)}.arm__box--held,.arm__box--right{opacity:0}.arc__art .belt{stroke:var(--p-dim);stroke-dasharray:4 4}.arc__art .portal{stroke:var(--p-full);opacity:.35;transform-box:fill-box;transform-origin:50%;transform:scaleY(.6)}@media (width<=560px){.arc__art{width:90px;height:60px;margin-top:0;top:auto;bottom:clamp(1rem,2vw,1.5rem)}}.portrait{aspect-ratio:1;border:1px solid var(--line);background:repeating-linear-gradient(0deg, #1d5c3929 0 1px, transparent 1px 4px), var(--surface);text-align:center;place-items:center;width:100%;max-width:400px;margin:0;padding:1.5rem;display:grid;position:relative;overflow:hidden}.portrait:before{content:"";background:radial-gradient(75% 60%,#46e08a1a,#0000 70%);position:absolute;inset:0}.portrait__img{object-fit:cover;z-index:2;width:100%;height:100%;position:absolute;inset:0}.portrait figcaption{color:var(--p-dim);font-size:var(--t-micro);letter-spacing:.15em;text-transform:uppercase;line-height:2;position:relative}.portrait figcaption span{color:var(--p-dim);letter-spacing:.06em;text-transform:none;font-size:var(--t-small)}.tl{flex-direction:column;display:flex;position:relative;container-type:inline-size}.tl__rail{background:var(--line-soft);width:1px;position:absolute;top:0;bottom:0;left:20.5ch}.tl__beam{background:var(--p-norm);transform-origin:50% 0;width:1px;height:100%;position:absolute;top:0;left:20.5ch;box-shadow:0 0 8px #46e08ab3}.js .tl__beam{will-change:transform;transform:scaleY(0)}.tl__tip{background:var(--beam);z-index:3;opacity:0;will-change:transform;border-radius:50%;width:7px;height:7px;margin-top:-3.5px;margin-left:-3.5px;position:absolute;top:0;left:20.5ch;box-shadow:0 0 12px #e8fff4e6}.tl__row{grid-template-columns:18ch minmax(0,1fr);column-gap:5ch;display:grid;position:relative}.tl__when{text-align:right;color:var(--p-dim);font-size:var(--t-micro);letter-spacing:.1em;text-transform:uppercase;font-variant-numeric:tabular-nums;white-space:nowrap;padding-top:1.85rem}.tl__row.is-now .tl__when{color:var(--p-full)}.tl__node{background:var(--ground-2);border:1px solid var(--line);z-index:2;width:9px;height:9px;margin-left:-4px;transition:background-color .4s,border-color .4s,box-shadow .4s;position:absolute;top:2rem;left:20.5ch;transform:rotate(45deg)}.tl__row.is-lit .tl__node{background:var(--p-norm);border-color:var(--p-norm);box-shadow:0 0 10px #46e08aa6}.tl__body{border-bottom:1px solid var(--line-soft);padding:1.45rem 0 2.3rem}.tl__row:last-child .tl__body{border-bottom:0;padding-bottom:0}.tl__role{font-family:var(--pixel);color:var(--p-full);text-shadow:var(--glow-s);font-size:min(22px,14.7059cqi - .514706ch);font-weight:400;line-height:1.2}.tl__org{color:var(--p-dim);font-size:var(--t-small);margin-top:.3rem}.tl__org b{color:var(--p-norm);font-weight:700}.tl__out{color:var(--p-dim);max-width:58ch;margin-top:.7rem}.disc{margin-top:.95rem}.disc summary{cursor:pointer;color:var(--p-dim);font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:.45rem;padding:3px 0;list-style:none;transition:color .2s;display:inline-flex}.disc summary::-webkit-details-marker{display:none}.disc summary:hover{color:var(--p-norm)}.disc summary .ico{width:11px;height:11px;transition:transform .34s var(--ease)}.disc[open] summary{color:var(--p-norm)}.disc[open] summary .ico{transform:rotate(135deg)}.disc__panel{overflow:hidden}.disc__inner{flex-direction:column;gap:1rem;padding-top:.9rem;display:flex}.disc__list{flex-direction:column;gap:.45rem;max-width:66ch;display:flex}.disc__list li{color:var(--p-dim);font-size:var(--t-small);padding-left:2.4ch;line-height:1.6;position:relative}.disc__list li:before{content:"";background:var(--p-faint);width:1.2ch;height:1px;position:absolute;top:.7em;left:0}.stack{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(#122124 0%,#0c181a 100%);padding-inline:clamp(1rem,2.4vw,2rem);box-shadow:inset 0 1px #a8ffc812}.stack__row{border-top:1px solid var(--line-soft);grid-template-columns:22ch minmax(0,1fr);align-items:baseline;gap:1.2rem;padding-block:1.15rem;display:grid}.stack__row:first-child{border-top:0}.stack__name{font-size:var(--t-micro);letter-spacing:.15em;text-transform:uppercase;color:var(--p-norm)}.feat{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.25rem,2.5vw,1.75rem);display:grid}.card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);flex-direction:column;gap:1.05rem;padding:clamp(1.25rem,2.2vw,1.75rem);transition:border-color .3s;display:flex;container-type:inline-size}.card:hover{border-color:var(--line)}.card__top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem 1rem;display:flex}.card__name{font-family:var(--pixel);color:var(--p-full);text-shadow:var(--glow-s);font-size:min(22px,12.6582cqi);font-weight:400}.card__desc{color:var(--p-dim);font-size:var(--t-small)}.card__link{overflow-wrap:anywhere;max-width:100%;color:var(--p-norm);font-size:var(--t-small);border-bottom:1px solid var(--line);align-self:flex-start;align-items:center;gap:.4rem;margin-top:auto;padding-bottom:2px;transition:border-color .2s,color .2s;display:inline-flex}.card__link .ico{width:13px;height:13px;transition:transform .25s}.card:hover .card__link{color:var(--p-full);border-bottom-color:var(--p-norm)}.card:hover .card__link .ico{transform:translate(2px,-2px)}.meta{font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--p-dim);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:.35rem;display:inline-flex}.meta .ico{width:11px;height:11px}.fig{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--ground);flex-direction:column;flex:1;gap:.75rem;padding:1rem;display:flex}.bs,.cal{margin-block:auto}.fig__cap{color:var(--p-dim);font-size:.75rem;line-height:1.65}.bs{grid-template-columns:repeat(16,minmax(0,1fr));gap:2px;display:grid}.bs i{opacity:.4;background:#1d5c3957;border:1px solid #0000;height:40px;transition:background-color .3s,border-color .3s,box-shadow .3s,opacity .3s;display:block}.bs i.live{opacity:1;border-color:var(--line);background:#46e08a38}.bs i.probe{background:var(--p-norm);border-color:var(--p-full);box-shadow:0 0 10px #46e08ab3}.bs i.hit{background:var(--beam);border-color:var(--beam);opacity:1;box-shadow:0 0 14px #e8fff4d9}.cal{grid-template-columns:repeat(12,minmax(0,1fr));gap:2px;display:grid}.cal i{background:#1d5c392e;height:15px;transition:background-color .35s,box-shadow .35s;display:block}.cal i.busy{background:repeating-linear-gradient(45deg,#1d5c398c 0 2px,#0000 2px 4px)}.cal i.set{background:var(--p-norm);box-shadow:0 0 9px #46e08a8c}.band{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(100deg,#1d5c3929,#1d5c3900 62%);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.5rem;margin-top:clamp(1.25rem,2.5vw,1.75rem);padding:clamp(1.4rem,3vw,2.1rem);transition:border-color .3s,box-shadow .3s;display:grid}.band:hover{border-color:var(--p-norm);box-shadow:var(--glow-s)}.band:hover .btn{border-color:var(--p-norm);color:var(--p-full)}.band__name{font-family:var(--pixel);font-size:var(--t-h2);color:var(--p-full);text-shadow:var(--glow-m);line-height:1.1}.band__desc{color:var(--p-dim);font-size:var(--t-small);max-width:68ch;margin-top:.7rem}.more{margin-top:clamp(1.25rem,2.5vw,1.75rem)}.more__row{border-top:1px solid var(--line-soft);grid-template-columns:minmax(0,26ch) minmax(0,1fr) auto;align-items:baseline;gap:1.2rem;padding-block:.95rem;display:grid;position:relative}.more__row:last-child{border-bottom:1px solid var(--line-soft)}.more__row:after{content:"";background:var(--p-norm);transform-origin:0;width:100%;height:1px;transition:transform .42s var(--ease);position:absolute;top:-1px;left:0;transform:scaleX(0)}.more__row:hover:after{transform:scaleX(1)}.more__name{color:var(--p-norm);font-size:var(--t-small);transition:color .2s}.more__row:hover .more__name{color:var(--p-full)}.more__desc{color:var(--p-dim);font-size:var(--t-small)}.edu{grid-template-columns:minmax(0,1.35fr) minmax(0,.75fr);align-items:start;gap:clamp(2rem,5vw,4rem);display:grid}.edu__item{border-top:1px solid var(--line-soft);grid-template-columns:14ch minmax(0,1fr);align-items:baseline;gap:1.2rem;padding-block:1.05rem;display:grid}.edu__item:last-child{border-bottom:1px solid var(--line-soft)}.edu__when{font-size:var(--t-micro);letter-spacing:.1em;color:var(--p-dim);font-variant-numeric:tabular-nums;white-space:nowrap}.edu__deg{color:var(--p-norm);font-size:var(--t-small);line-height:1.45}.edu__inst{color:var(--p-dim);font-size:var(--t-small);margin-top:.2rem}.lang{flex-direction:column;display:flex}.lang__item{border-top:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;padding-block:1.05rem;display:flex}.lang__item:last-child{border-bottom:1px solid var(--line-soft)}.lang__name{font-size:var(--t-small);color:var(--p-norm)}.lang__lvl{font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--p-dim)}.contact__title{font-family:var(--pixel);font-size:var(--t-h2);color:var(--p-full);text-shadow:var(--glow-m);max-width:20ch;font-weight:400;line-height:1.14}.contact__grid{grid-template-columns:minmax(0,1fr) minmax(0,.62fr);align-items:start;gap:clamp(2rem,5vw,4rem);margin-top:2.25rem;display:grid}.contact__reach{container-type:inline-size}.contact__mail{font-family:var(--pixel);color:var(--p-norm);white-space:nowrap;border-bottom:1px solid var(--line);padding-bottom:.15em;font-size:min(22px,4.9cqi);transition:color .2s,border-color .2s,text-shadow .25s;display:inline-block}.contact__mail:hover{color:var(--p-full);border-bottom-color:var(--p-norm);text-shadow:var(--glow-m)}.links{flex-direction:column;gap:.6rem;display:flex;container-type:inline-size}.links a{color:var(--p-dim);font-size:min(var(--t-small), calc((100cqi - 26px) / 21.5));white-space:nowrap;align-items:center;gap:.6rem;width:fit-content;transition:color .2s;display:inline-flex}.links a:hover{color:var(--p-norm)}.links .ico{width:15px;height:15px}.foot{border-top:1px solid var(--line-soft);color:var(--p-dim);font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1.5rem;margin-top:clamp(3rem,6vw,4.5rem);padding-block:1.5rem;display:flex}@media (prefers-reduced-motion:no-preference){.js .rv{opacity:0;transition:opacity .65s var(--ease), transform .65s var(--ease);transform:translateY(14px)}.js .rv.in{opacity:1;transform:none}.js .screen{opacity:0;transition:opacity .8s ease, transform .9s var(--ease);transform:translateY(16px)scale(.994)}.js .is-ready .screen{opacity:1;transform:none}.js .arc__step{clip-path:inset(0 100% 0 0);transition:clip-path .75s var(--ease)}.js .arc.in .arc__step{clip-path:inset(0)}.js .arc.in .arc__step:nth-child(2){transition-delay:.17s}.js .arc.in .arc__step:nth-child(3){transition-delay:.34s}.js .ctx__cell{--lag:calc(var(--i) * .16s)}.js .ctx__icon .draw{stroke-dasharray:1 2;stroke-dashoffset:1px;transition:stroke-dashoffset 1s var(--ease) calc(.3s + var(--lag))}.js .ctx__icon .pop{opacity:0;transition:opacity .3s ease calc(.85s + var(--lag)), transform .5s var(--ease) calc(.85s + var(--lag));transform:scale(.3)}.js .ctx__icon .bar{transition:transform .7s var(--ease) calc(.3s + var(--lag) + var(--b) * .1s);transform:scaleY(0)}.js .ctx__cell.in .ctx__icon .draw{stroke-dashoffset:0}.js .ctx__cell.in .ctx__icon .pop{opacity:1;transform:none}.js .ctx__cell.in .ctx__icon .bar{transform:none}.js .ctx__cell.is-replay .ctx__icon .draw{stroke-dashoffset:1px;transition:none}.js .ctx__cell.is-replay .ctx__icon .pop{opacity:0;transition:none;transform:scale(.3)}.js .ctx__cell.is-replay .ctx__icon .bar{transition:none;transform:scaleY(0)}.js .arc__art .pulse{opacity:1;animation:3s linear infinite pulse-a}.js .arc__art .pulse--b{animation-name:pulse-b}.js .arc__art .lit{animation:3s ease-out infinite lit-a}.js .arc__art .lit--b{animation-name:lit-b}.js .arc__art .lit--c{animation-name:lit-c}.js .arc__art .pulse:nth-of-type(2){animation-delay:-.12s}.js .arc__art .pulse:nth-of-type(3){animation-delay:-.24s}.js .arm__upper{animation:6s ease-in-out infinite arm-upper}.js .arm__fore{animation:6s ease-in-out infinite arm-fore}.js .arm__hand{animation:6s ease-in-out infinite arm-hand}.js .arm__box--held{animation:6s step-end infinite box-held}.js .arm__box--left{animation:6s linear infinite box-left}.js .arm__box--right{animation:6s linear infinite box-right}.js .arc__art .belt{animation:6s linear infinite belt}.js .portal--in{animation:6s ease-out infinite portal-in}.js .portal--out{animation:6s ease-out infinite portal-out}.js .arc__art *{animation-play-state:paused}.js .arc.is-live .arc__art *{animation-play-state:running}.mark__i:after{animation:1.15s step-end infinite blink}.crt__roll{animation:9s linear infinite roll}}@keyframes pulse-a{0%{stroke-dashoffset:12px}40%,to{stroke-dashoffset:-100px}}@keyframes pulse-b{0%,50%{stroke-dashoffset:12px}90%,to{stroke-dashoffset:-100px}}@keyframes lit-a{0%,30%{opacity:0}42%{opacity:1}60%,to{opacity:0}}@keyframes lit-b{0%,80%{opacity:0}92%{opacity:1}to{opacity:0}}@keyframes lit-c{0%,36%{opacity:0}48%{opacity:.9}62%,to{opacity:0}}@keyframes arm-upper{0%,10%{transform:rotate(-36deg)}22%,34%,46%{transform:rotate(0)}56%,62%{transform:rotate(36deg)}72%,82%,90%{transform:rotate(0)}to{transform:rotate(-36deg)}}@keyframes arm-fore{0%,10%{transform:rotate(-181deg)}22%{transform:rotate(-180deg)}34%{transform:rotate(-90deg)}46%{transform:rotate(-5deg)}56%,62%{transform:rotate(1deg)}72%{transform:rotate(-5deg)}82%{transform:rotate(-90deg)}90%{transform:rotate(-180deg)}to{transform:rotate(-181deg)}}@keyframes arm-hand{0%,10%{transform:rotate(217deg)}22%{transform:rotate(180deg)}34%{transform:rotate(90deg)}46%{transform:rotate(5deg)}56%,62%{transform:rotate(-37deg)}72%{transform:rotate(5deg)}82%{transform:rotate(90deg)}90%{transform:rotate(180deg)}to{transform:rotate(217deg)}}@keyframes box-held{0%{opacity:0}8%{opacity:1}58%{opacity:0}}@keyframes box-left{0%,8%{opacity:1;transform:none}8.01%,77.99%{opacity:0;transform:translate(-30px)}78%{opacity:1;transform:translate(-30px)}94%,to{opacity:1;transform:none}}@keyframes box-right{0%,57.99%{opacity:0;transform:none}58%,63%{opacity:1;transform:none}76%{opacity:1;transform:translate(27px)}76.01%,to{opacity:0;transform:translate(27px)}}@keyframes belt{0%,63%{stroke-dashoffset:0}94%,to{stroke-dashoffset:-64px}}@keyframes portal-in{0%,66%{opacity:.35;transform:scaleY(.6)}72%{opacity:1;transform:scaleY(1.15)}82%,to{opacity:.35;transform:scaleY(.6)}}@keyframes portal-out{0%,72%{opacity:.35;transform:scaleY(.6)}78%{opacity:1;transform:scaleY(1.15)}88%,to{opacity:.35;transform:scaleY(.6)}}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes roll{0%{transform:translateY(-30vh)}to{transform:translateY(130vh)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.crt__roll{display:none}}@media (width<=1023px){.about{grid-template-columns:minmax(0,260px) minmax(0,1fr);align-items:stretch}.portrait{aspect-ratio:auto;height:100%}.arc{grid-template-rows:none}.feat,.edu,.contact__grid{grid-template-columns:minmax(0,1fr)}.ctx{grid-template-columns:repeat(2,minmax(0,1fr))}.ctx__cell{border-top:1px solid var(--line-soft);padding-inline:1.2rem}.ctx__cell:nth-child(odd){border-left:0;padding-left:0}.ctx__cell:nth-child(-n+2){border-top:0}.ctx__cell:nth-child(2){padding-right:0}}@media (width<=560px){.arc__step{grid-template-columns:minmax(0,1fr);gap:.7rem}.nav__inner{gap:.75rem}.nav .btn--sm{padding:.5rem}.nav .btn--sm .ico{width:16px;height:16px}.btn__label{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}@media (width<=860px){.nav__links{display:none}.stack__row{grid-template-columns:minmax(0,1fr);gap:.65rem}.more__row{grid-template-columns:minmax(0,1fr);gap:.25rem}.more__row .meta{justify-self:start}.band{grid-template-columns:minmax(0,1fr)}.band .btn{justify-self:start}}@media (width<=240px){body{-webkit-hyphens:auto;hyphens:auto}.card,.band{padding:.8rem}.stack{padding-inline:.6rem}.chip .ico,.band .btn .ico{display:none}.chip{white-space:normal;overflow-wrap:anywhere;max-width:100%}.band{container-type:inline-size}.band .btn{letter-spacing:0;font-size:min(var(--t-small), calc((100cqi - 1.2rem) / 5.6));padding-inline:.6rem}}@media (width<=680px){.about{grid-template-columns:minmax(0,1fr);max-width:none}.portrait{aspect-ratio:1;max-width:none;height:auto}.ctx{grid-template-columns:minmax(0,1fr)}.ctx__cell{border-left:0;padding-inline:0}.js .ctx__cell{--lag:0s}.ctx__cell:nth-child(-n+2){border-top:1px solid var(--line-soft)}.ctx__cell:first-child{border-top:0}.tl__rail,.tl__beam,.tl__tip,.tl__node{left:4px}.tl__row{grid-template-columns:minmax(0,1fr)}.tl__when{text-align:left;padding:1.5rem 0 0 3.5ch}.tl__node{top:2.05rem}.tl__body{padding:.4rem 0 2.2rem 3.5ch}.edu__item{grid-template-columns:minmax(0,1fr);gap:.3rem}.btn{justify-content:center;width:100%}.band .btn{white-space:normal;text-align:center}.bs i{height:20px}}.hand{background:var(--ground-2);border-top:1px solid var(--line);padding-block:var(--pad-y)}.hand__title{font-family:var(--pixel);font-size:var(--t-h2);color:var(--p-full);text-shadow:var(--glow-s);line-height:1.15}.spec{gap:clamp(2rem,4vw,3rem);margin-top:clamp(2rem,4vw,3rem);display:grid}@media (width>=900px){.spec{grid-template-columns:repeat(2,minmax(0,1fr))}}.spec h3{font-size:var(--t-micro);letter-spacing:.15em;text-transform:uppercase;color:var(--p-norm);border-bottom:1px solid var(--line);padding-bottom:.7rem;font-weight:700}.spec dl{grid-template-columns:minmax(0,18ch) minmax(0,1fr);display:grid}.spec dt,.spec dd{border-bottom:1px solid var(--line-soft);font-size:var(--t-small);padding-block:.55rem}.spec dt{color:var(--p-dim);padding-right:1rem}.spec dd{color:var(--p-norm);margin:0}.swatch{vertical-align:-1px;border:1px solid #ffffff24;width:11px;height:11px;margin-right:.5rem;display:inline-block}.skip-link{white-space:nowrap;z-index:100;background:var(--ground);color:var(--p-full);border:1px solid var(--line);border-radius:var(--radius);padding:.6rem 1rem;transition:transform .2s;position:absolute;top:1rem;left:1rem;transform:translateY(calc(-100% - 2rem))}.skip-link:focus{transform:none}
