@font-face{font-family:Geist;src:url(/fonts/geist.woff2)format("woff2");font-weight:300 800;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/geist-mono.woff2)format("woff2");font-weight:400 500;font-display:swap}:root{--bg:#111214;--surface:#18191c;--fg:#eef1f5;--fg2:#aeb7c2;--fg3:#8d97a3;--muted:#76808c;--faint:#3a4049;--line:#ffffff12;--accent:#b8e4ff;--ease:cubic-bezier(.2,.8,.2,1);--body:Geist, system-ui, sans-serif;--mono:"Geist Mono", ui-monospace, monospace;--fs:15.5px;--radius:5px;--cpad:20px;--gapx:80px;--gapy:32px;--track:-.03em;--rail:300px;--maxw:1160px;--railx:min(var(--rail), 26vw);--edge:clamp(28px, 3.4vw, 56px);--off:max(0px, calc((100vw - var(--railx) - var(--rail) - var(--maxw)) / 2));--metal:linear-gradient(180deg, #fff 30%, #cfd8e2);--lift:drop-shadow(0 2px 1px #0009);--halo:0 1px 2px #000000d9, 0 0 14px #000000b3}*{box-sizing:border-box;margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}body{background:var(--bg);color:var(--fg);font:var(--fs)/1.55 var(--body);-webkit-font-smoothing:antialiased;min-height:100vh}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}:focus-visible{outline:1px solid var(--accent);outline-offset:3px}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.defs{width:0;height:0;position:absolute}.bgl,.bgd,.codefx{z-index:-1;pointer-events:none;position:fixed;inset:0}.bgl canvas,.bgd canvas{width:100%;height:100%;position:absolute;inset:0}.codefx{contain:strict;overflow:hidden}.bwm{--sw:.045;z-index:-1;contain:layout paint style;left:calc(var(--off) + 4vh);aspect-ratio:1;pointer-events:none;will-change:transform;height:60vh;position:fixed;bottom:8vh}.bwm svg{width:100%;height:100%;display:block;overflow:visible}.bwm path{fill:none;stroke:var(--accent);stroke-width:var(--sw);stroke-linejoin:round;opacity:.09}body:before,body:after{content:"";z-index:1;pointer-events:none;position:fixed;left:0;right:0}body:before{height:calc(var(--edge) + 40px);background:linear-gradient(color-mix(in oklch, var(--bg) 80%, transparent), color-mix(in oklch, var(--bg) 42%, transparent) 50%, color-mix(in oklch, var(--bg) 12%, transparent) 80%, transparent);top:0}body:after{background:linear-gradient(transparent, color-mix(in oklch, var(--bg) 12%, transparent) 20%, color-mix(in oklch, var(--bg) 42%, transparent) 50%, color-mix(in oklch, var(--bg) 75%, transparent));height:48px;bottom:0}body:has(.art):before{height:calc(var(--edge) + 20px);background:linear-gradient(color-mix(in oklch, var(--bg) 55%, transparent), color-mix(in oklch, var(--bg) 20%, transparent) 60%, transparent)}body:has(.art):after{background:linear-gradient(transparent, color-mix(in oklch, var(--bg) 30%, transparent) 60%, color-mix(in oklch, var(--bg) 55%, transparent));height:28px}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.ghost{font:10.5px/1.6 var(--mono);white-space:pre;color:color-mix(in oklch, var(--accent) 70%, var(--fg2));opacity:.075;transition:opacity 1.5s var(--ease);contain:content;position:absolute;-webkit-mask-image:linear-gradient(90deg,#000 75%,#0000);mask-image:linear-gradient(90deg,#000 75%,#0000)}.ghost.out{opacity:0}.bar{top:var(--edge);z-index:10;width:max-content;margin:0 calc(var(--cpad) + 28px) 36px auto;animation:fadeUp .7s var(--ease) .3s backwards;display:flex;position:sticky}.tabs{background:color-mix(in oklch, var(--surface) 55%, var(--bg));border-radius:18px;gap:3px;padding:6px;display:flex;position:relative;box-shadow:inset 0 0 0 1px #ffffff16,0 6px 18px -6px #000000b3}.tabs a{z-index:2;color:var(--fg2);border-radius:12px;align-items:center;padding:10px 26px;font-size:15px;line-height:1.55;transition:color .25s;display:flex;position:relative}.tabs a:hover,.tabs a[aria-current=page]{color:var(--fg)}.ind,.hov{pointer-events:none;transform:translate(var(--x), var(--y));width:var(--w);height:var(--h);border-radius:12px;position:absolute;top:0;left:0}.ind{background:linear-gradient(#ffffff0e,#ffffff06);box-shadow:inset 0 1px #ffffff0a,0 1px 2px #00000040}.hov{background:#ffffff08}.tabs.ready .ind{transition:transform .6s var(--ease), width .6s var(--ease), height .6s var(--ease)}.tabs.ready .hov{transition:transform .35s var(--ease), width .35s var(--ease), opacity .3s}.rim,.glow{border-radius:inherit;pointer-events:none;position:absolute;inset:0}.rim{z-index:3;background:radial-gradient(56px 32px at var(--bx,0px) var(--by,0px), color-mix(in oklch, var(--accent) 32%, transparent), transparent 75%);-webkit-mask-composite:xor;padding:1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}.glow{z-index:0;background:radial-gradient(110px 60px at var(--bx,0px) var(--by,0px), color-mix(in oklch, var(--accent) 2%, transparent), transparent)}.halo{--fx:linear-gradient(90deg, transparent, #00000052 10px, #000000bf 22px, #000000bf calc(100% - 22px), #00000052 calc(100% - 10px), transparent);--fy:linear-gradient(transparent, #00000052 10px, #000000bf 22px, #000000bf calc(100% - 22px), #00000052 calc(100% - 10px), transparent);z-index:-1;pointer-events:none;backdrop-filter:blur(5.5px)brightness(.88);-webkit-mask:var(--fx), var(--fy);-webkit-mask-composite:source-in;mask:var(--fx) intersect, var(--fy);border-radius:40px;position:absolute;inset:-28px}.rail{top:0;bottom:0;left:var(--off);width:var(--railx);padding:calc(var(--edge) + 91px + var(--cpad)) 24px var(--edge) calc(var(--edge) * .8);z-index:2;scrollbar-width:none;position:fixed;overflow-y:auto}.rail::-webkit-scrollbar{display:none}.who{--cw:min(calc(100% - 20px), 172px);flex-direction:column;gap:44px;display:flex}.id{--ob:10px;isolation:isolate;width:var(--cw);animation:cardIn .8s var(--ease) backwards;flex-direction:column;display:flex;position:relative;container:card/inline-size}.id:before{content:"";z-index:-1;inset:0 0 var(--ob) 0;pointer-events:none;animation:oIn 1s var(--ease) .35s backwards, breathe 6s ease-in-out 1.35s infinite;box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--accent) 45%, transparent);border-radius:16px;position:absolute;translate:10px 10px}.id:hover:before{animation-play-state:paused}.ph{aspect-ratio:1;transition:translate .6s var(--ease), box-shadow .6s var(--ease);box-shadow:0 18px 40px -18px #000000e6, 0 0 36px -12px color-mix(in oklch, var(--accent) 22%, transparent);border-radius:14px;display:block;overflow:hidden}.id:hover .ph{box-shadow:0 22px 44px -18px #000, 0 0 36px -12px color-mix(in oklch, var(--accent) 22%, transparent);translate:0 -3px}.ph img{object-fit:cover;width:100%;height:100%;animation:photoIn .9s var(--ease) backwards, drift 26s ease-in-out .9s infinite alternate;display:block}.cap{background:var(--bg);flex-direction:column;align-self:flex-start;gap:6px;margin-bottom:-27px;padding:14px 12px 6px 0;display:flex}.nm{--nmsz:min(26px, 12cqi);font-size:var(--nmsz);letter-spacing:-.04em;white-space:nowrap;background:var(--metal);color:#0000;filter:var(--lift) drop-shadow(0 8px 22px color-mix(in oklch, var(--accent) 22%, transparent));-webkit-background-clip:text;background-clip:text;font-weight:800;line-height:1}.nm .w{background:linear-gradient(#9aa5b1 25%,#6b7684);color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:500}.nm .s{color:var(--accent);font-family:var(--mono);font-weight:400}.role{color:#c3ccd6;letter-spacing:.015em;text-shadow:0 1px 1px #00000080, 0 0 18px color-mix(in oklch, var(--accent) 26%, transparent);animation:fadeUp .7s var(--ease) .45s backwards;font-size:13.5px;font-weight:500;line-height:1.3}.links{width:var(--cw);justify-content:space-between;display:flex}.links a{perspective:300px;width:36px;height:36px;transition:transform .3s var(--ease);animation:pop .6s var(--ease) .55s backwards;justify-content:center;align-items:center;display:flex;position:relative}.links a:nth-child(2){animation-delay:.62s}.links a:nth-child(3){animation-delay:.69s}.links a:nth-child(4){animation-delay:.76s}.links a:hover{transform:translateY(-3px)}.links svg{width:15px;height:15px;color:var(--muted);transition:color .25s}.links .yt{--bc:#ff5a52}.links .gh{--bc:#e8edf2}.links .li{--bc:#5aa2f0}.links .mail{--bc:#b8e4ff}.ln{color:var(--fg2);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s, transform .25s var(--ease);font-size:11.5px;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,-4px)}.links a:hover .ln{opacity:1;transform:translate(-50%)}.coin{transform-style:preserve-3d;transition:transform .95s var(--ease);position:absolute;inset:0}.coin .f,.coin .b{backface-visibility:hidden;background:color-mix(in oklch, var(--surface) 70%, transparent);box-shadow:inset 0 0 0 1px var(--line);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.coin .b{background:color-mix(in oklch, var(--bc) 14%, var(--surface));box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--bc) 50%, transparent);transform:rotateY(180deg)}.coin .b svg{color:var(--bc)}.links a:hover .coin,.links a.auto .coin{transform:rotateY(180deg)}main{margin-left:calc(var(--off) + var(--railx));padding:var(--edge) var(--edge) 110px 24px;max-width:calc(var(--rail) + var(--maxw));container:main/inline-size}body:not([data-page=home]) main{flex-direction:column;min-height:100svh;padding-bottom:40px;display:flex}body:not([data-page=home]) .view{flex-direction:column;flex:1;display:flex}.foot{color:#7f8994;padding-left:var(--cpad);margin-top:64px;font-size:12px}body:not([data-page=home]) .foot{padding-top:64px;padding-left:calc(var(--cpad) + clamp(12px, 3.2vw, 56px));margin-top:auto}.feed{gap:var(--gapy) var(--gapx);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.q{padding:var(--cpad);border-radius:calc(var(--radius) + var(--cpad) / 2);transition:opacity 1s var(--ease), translate 1s var(--ease);flex-direction:column;display:flex;position:relative}.js .q:not(.in){opacity:0;translate:0 28px}.q.in{opacity:1;translate:0}.q:nth-child(3n+2){transition-delay:80ms}.q:nth-child(3n){transition-delay:.16s}.spot{border-radius:inherit;pointer-events:none;-webkit-mask-composite:xor;background:radial-gradient(260px circle at var(--sx,-999px) var(--sy,-999px), color-mix(in oklch, var(--accent) 55%, transparent), transparent 70%);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}.spot:before{content:"";border-radius:inherit;background:radial-gradient(320px circle at var(--sx,-999px) var(--sy,-999px), color-mix(in oklch, var(--accent) 5%, transparent), transparent 70%);position:absolute;inset:0}.mt{min-width:0;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;font-size:10.5px;font-weight:600;line-height:1.2;display:flex}.ty{align-items:center;gap:7px;min-width:0;display:inline-flex}.ty.research{color:var(--accent)}.mt svg{flex:none;width:11px;height:11px}.mt em{white-space:nowrap;text-overflow:ellipsis;font-style:normal;overflow:hidden}.mt time{white-space:nowrap;font-variant-numeric:tabular-nums}.im{aspect-ratio:16/9;border-radius:var(--radius);background:#0d1014;flex:none;position:relative;overflow:hidden;box-shadow:0 18px 40px -16px #000000e6,0 4px 12px -4px #0009}.im img{object-fit:cover;filter:brightness(.92);width:100%;height:100%;transition:scale 1.4s var(--ease), filter .5s var(--ease);display:block}.im:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff0d}.im .ov,.im .sc{pointer-events:none;transition:opacity .5s var(--ease);position:absolute;inset:0}.im .ov{background:radial-gradient(#0000 40%,#0006)}.im .sc{opacity:0;background:repeating-linear-gradient(0deg,#00000080 0 1px,#0000 1px 3px)}.q[data-type=video] .im .sc{opacity:.2}.q:hover .im img{filter:none;scale:1.04}.q:hover .im .ov{opacity:.35}.q:hover .im .sc{opacity:0}.tile{--gx:30%;--gy:35%;color:var(--muted);font:500 11px/1 var(--mono);letter-spacing:.06em;background:radial-gradient(240px 150px at var(--gx) var(--gy), color-mix(in oklch, var(--accent) 9%, transparent), transparent 70%), linear-gradient(135deg, #151a20, #0c0f13);align-items:flex-end;gap:7px;padding:12px 14px;display:flex}.tile:before{content:"";opacity:.3;transition:opacity .6s var(--ease);background:radial-gradient(circle, var(--accent) .9px, transparent 1.3px) 0 0 / 14px 14px;-webkit-mask:radial-gradient(230px 150px at var(--gx) var(--gy), #000, transparent 75%);mask:radial-gradient(230px 150px at var(--gx) var(--gy), #000, transparent 75%);position:absolute;inset:0}.tile svg{width:40px;height:40px;color:var(--fg2);opacity:.16;transition:opacity .6s var(--ease), scale 1.4s var(--ease);position:absolute;top:50%;left:50%;translate:-50% -50%}.tile span{text-transform:uppercase;position:relative}.tile span:before{content:"";background:var(--accent);opacity:.6;border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block}.tile.g1{--gx:72%;--gy:30%}.tile.g2{--gx:28%;--gy:72%}.tile.g3{--gx:74%;--gy:68%}.q:hover .tile:before{opacity:.55}.q:hover .tile svg{opacity:.26;scale:1.04}.q h2{font-size:var(--fs);letter-spacing:var(--track);margin-top:14px;font-weight:600;line-height:1.35}.note{color:#828c98;font-size:calc(var(--fs) - 2px);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin-top:5px;line-height:1.5;display:-webkit-box;overflow:hidden}.mt,.q h2,.note,.att{text-shadow:var(--halo)}.feature{grid-area:span 2/span 2;align-self:start}.feature h2{letter-spacing:-.04em;font-size:clamp(20px,2.2vw,26px);line-height:1.2}.note .nw{white-space:nowrap}.feature .note{font-size:calc(var(--fs) - 1px);text-wrap:pretty;-webkit-line-clamp:5;line-clamp:5;max-width:64ch;margin-top:10px}.att{color:var(--fg2);flex-wrap:wrap;gap:6px 18px;margin-top:16px;font-size:13px;display:flex}.att span{align-items:center;gap:7px;display:inline-flex}.att svg{width:12px;height:12px;color:var(--muted)}.q:before,.q:after{content:"";border:0 solid color-mix(in oklch, var(--accent) 50%, transparent);opacity:0;pointer-events:none;width:10px;height:10px;transition:width .9s var(--ease), height .9s var(--ease), opacity .6s var(--ease);position:absolute}.q:before{transform-origin:0 0;border-width:1px 0 0 1px;top:0;left:0}.q:after{transform-origin:100% 100%;border-width:0 1px 1px 0;bottom:0;right:0}.q.cn:before,.q.cn:after{opacity:.32}.q.cn.on:before,.q.cn.on:after{will-change:scale;animation:5s ease-in-out infinite arm}.q.cn.tl:after,.q.cn.br:before{opacity:0}.q.cn.on:nth-child(2n):before,.q.cn.on:nth-child(2n):after{animation-delay:-2.5s}.feed .q.q:hover:before,.feed .q.q:hover:after{opacity:.3;width:100%;height:100%;animation:none}.lenis-scrolling .feed .q,.lenis-scrolling .rr{pointer-events:none}.page{margin-left:calc(var(--cpad) + clamp(12px, 3.2vw, 56px));text-shadow:0 1px 2px #000c,0 0 14px #0009}.page-about,.art{--vx:48px;--vy:40px;--backdrop:60%;isolation:isolate;position:relative}.page-about{max-width:min(720px, calc(100cqi - var(--cpad) - clamp(12px, 3.2vw, 56px) - var(--vx)))}.art{--backdrop:80%;--vy:110px}.page-about:before,.art:before{content:"";z-index:-1;inset:calc(var(--vy) * -.85) calc(var(--vx) * -1);pointer-events:none;--mx:linear-gradient(90deg, transparent, #0000001a calc(var(--vx) * .25), #0006 calc(var(--vx) * .5), #000000c2 calc(var(--vx) * .75), #000 var(--vx), #000 calc(100% - var(--vx)), #000000c2 calc(100% - var(--vx) * .75), #0006 calc(100% - var(--vx) * .5), #0000001a calc(100% - var(--vx) * .25), transparent);--my:linear-gradient(transparent, #0000001a calc(var(--vy) * .25), #0006 calc(var(--vy) * .5), #000000c2 calc(var(--vy) * .75), #000 var(--vy), #000 calc(100% - var(--vy)), #000000c2 calc(100% - var(--vy) * .75), #0006 calc(100% - var(--vy) * .5), #0000001a calc(100% - var(--vy) * .25), transparent);background:color-mix(in oklch, var(--bg) var(--backdrop), transparent);animation:cardIn .9s var(--ease) backwards;-webkit-mask:var(--mx), var(--my);-webkit-mask-composite:source-in;mask:var(--mx) intersect, var(--my);position:absolute}.page-research{--room:max(440px, calc(100cqi - var(--cpad) - clamp(12px, 3.2vw, 56px) - 360px));max-width:min(940px, var(--room));container:rpage/inline-size}.art{--vx:48px;--toc:272px;--tocgap:72px;max-width:min(860px, 100cqi - var(--cpad) - 24px);margin-left:var(--cpad)}@media (width>=901px) and (height>=521px),(width>=1101px){@container main (width<=904px){body[data-page=research] .bar{position:relative;top:auto}}@container main (width<=1039px){body:has(.art) .bar{position:relative;top:auto}}}@container main (width>=1040px){.art{--vx:96px;max-width:min(860px, 100cqi - var(--cpad) - var(--toc) - var(--tocgap) - 56px)}.art .toc{float:right;width:var(--toc);margin:0 calc(-1 * (var(--toc) + var(--tocgap))) 18px var(--tocgap);max-height:62vh;box-shadow:none;background:0 0;padding:0;display:block;position:sticky;top:30vh;overflow:visible}.art .toc p{font:600 9.5px/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);opacity:.75;margin:0 0 18px 26px}.art .toc ol{gap:13px;padding-left:26px;font-size:13px;display:grid;position:relative}.art .toc ol:before{content:"";background:var(--line);border-radius:2px;width:1.5px;position:absolute;top:4px;bottom:4px;left:0}.art .toc ol:after{content:"";width:1.5px;height:calc((100% - 8px) * var(--progress,0));background:linear-gradient(var(--accent), color-mix(in oklch, var(--accent) 60%, transparent));box-shadow:0 0 8px color-mix(in oklch, var(--accent) 50%, transparent);border-radius:2px;transition:height .15s linear;position:absolute;top:4px;left:0}.art .toc li{white-space:nowrap;position:relative}.art .toc .d3{padding-left:14px;font-size:12px}.art .toc a{color:var(--fg3);opacity:.72;transition:color .25s,opacity .25s}.art .toc li.on a,.art .toc a:hover{opacity:1}.art .toc li.on a{color:var(--accent)}.art .toc li.on:before{content:"";background:var(--accent);width:7px;height:7px;box-shadow:0 0 10px color-mix(in oklch, var(--accent) 70%, transparent);border-radius:50%;margin:-3.5px 0 0 -2.75px;position:absolute;top:50%;left:-26px}}.pgh{letter-spacing:-.045em;text-shadow:none;background:var(--metal);color:#0000;filter:var(--lift);-webkit-background-clip:text;background-clip:text;font-size:clamp(30px,3.2vw,40px);font-weight:800;line-height:1.05}.rk{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;align-items:center;row-gap:6px;font-size:10.5px;font-weight:600;line-height:1.3;display:flex}.rk>*+:before{content:"·";color:var(--faint);margin:0 9px}.rkind{color:var(--accent)}.rk a{color:inherit;text-decoration:none}.rk a:hover{color:var(--fg2)}.rs{color:var(--fg3);margin-top:8px;font-size:14.5px;line-height:1.6}.rbar{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;margin:28px 0 8px -14px;padding-bottom:12px;display:flex}.rbar button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:999px;padding:7px 14px;font-size:13.5px;transition:color .25s,background .3s,box-shadow .3s}.rbar button:hover{color:var(--fg2)}.rbar button[aria-pressed=true]{color:var(--fg);box-shadow:inset 0 0 0 1px var(--line);background:linear-gradient(#ffffff12,#ffffff08)}.rlist{padding:0;list-style:none}.pgh+.rlist{margin-top:24px}.rlist>li+li{border-top:1px solid var(--line)}.rempty{border-top:1px solid var(--line);color:var(--fg3);margin-top:28px;padding:28px 0;font-size:15px;line-height:1.6}.rempty p:first-child{color:var(--fg);margin-bottom:4px;font-size:17px;font-weight:600}.lede{max-width:60ch;color:var(--fg2);margin-top:16px;font-size:17px;line-height:1.6}.lede a{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in oklch, var(--accent) 40%, transparent);text-underline-offset:3px}.rr{transition:background .4s var(--ease);border-radius:16px;grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:center;gap:30px;margin:0 -18px;padding:24px 18px;display:grid}.rr:hover{background:color-mix(in oklch, var(--surface) 55%, transparent)}.rr-im{aspect-ratio:16/9;background:#0d1014;border-radius:10px;position:relative;overflow:hidden;box-shadow:0 18px 40px -16px #000000e6,inset 0 0 0 1px #ffffff0d}.rr-im img{object-fit:cover;filter:brightness(.88);width:100%;height:100%;transition:scale 1.4s var(--ease), filter .5s var(--ease);display:block}.rr-im .ov{background:radial-gradient(#0000 40%,#0006);position:absolute;inset:0}.rr:hover img{filter:none;scale:1.04}.rr-im .im{aspect-ratio:auto;height:100%;box-shadow:none;border-radius:0}.rr h2{letter-spacing:-.03em;margin-top:12px;font-size:20px;font-weight:650;line-height:1.25}.rr .rs{max-width:60ch}.rr .att{margin-top:14px}.ab{gap:56px;margin-top:22px;display:grid}.ab-lead{letter-spacing:-.015em;color:var(--fg2);text-wrap:pretty;font-size:20px;line-height:1.5}.ab-lead b{text-wrap:wrap;color:var(--fg);margin-bottom:4px;font-weight:600;display:inline-block}.ab-p{max-width:64ch;color:var(--fg3);text-wrap:pretty;margin-top:22px;line-height:1.7}.ab-p+.ab-p{margin-top:14px}.sec h2{font:600 10.5px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:#8a939e;align-items:center;gap:14px;margin-bottom:24px;display:flex}.sec h2:after{content:"";background:var(--line);flex:1;height:1px}.tline{gap:32px;padding:0;list-style:none;display:grid;position:relative}.tline:before{content:"";background:var(--line);width:1px;position:absolute;top:10px;bottom:10px;left:3px}.tline>li{padding-left:26px;position:relative}.tline>li:before{content:"";background:var(--bg);width:7px;height:7px;box-shadow:inset 0 0 0 1px var(--accent);border-radius:50%;position:absolute;top:4px;left:0}.tline>li.cur:before{background:var(--accent);box-shadow:0 0 10px color-mix(in oklch, var(--accent) 60%, transparent)}.when{font-size:12px;font-family:var(--mono);color:#7f8994}.tline h3{letter-spacing:-.015em;margin-top:6px;font-size:17px;font-weight:600;line-height:1.3}.org{color:var(--fg2);margin-top:2px;font-size:14px}.tline .desc{max-width:62ch;color:var(--fg3);text-wrap:pretty;margin-top:10px;font-size:14.5px;line-height:1.6}.chips{flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.chips li{box-shadow:inset 0 0 0 1px var(--line);color:var(--fg2);background:#ffffff06;border-radius:8px;padding:7px 12px;font-size:13.5px}.certs{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;padding:0;list-style:none;display:grid}.certs li{box-shadow:inset 0 0 0 1px var(--line);background:#ffffff05;border-radius:10px;padding:14px 16px;font-size:14.5px;font-weight:500;line-height:1.35}.certs small{color:#7f8994;font-size:11.5px;font-weight:400;font-family:var(--mono);margin-top:4px;display:block}@keyframes breathe{50%{translate:13px 13px}}@keyframes breatheS{50%{translate:7.8px 7.8px}}@keyframes oIn{0%{translate:0}}@keyframes photoIn{0%{opacity:0;filter:blur(10px);scale:.96}}@keyframes fadeUp{0%{opacity:0;translate:0 10px}}@keyframes pop{0%{opacity:0;scale:.6}}@keyframes cardIn{0%{opacity:0}}@keyframes arm{50%{scale:1.4}}@keyframes drift{0%{transform:scale(1.045)translate(.8%,.6%)}to{transform:scale(1.09)translate(-1%,-1.1%)}}.ci,[data-cascade]>*{animation:fadeUp .7s var(--ease) calc(var(--i,0) * 55ms) both}[data-cascade]>:nth-child(2){--i:1}[data-cascade]>:nth-child(3){--i:2}[data-cascade]>:nth-child(4){--i:3}[data-cascade]>:nth-child(5){--i:4}[data-cascade]>:nth-child(6){--i:5}[data-cascade]>:nth-child(7){--i:6}[data-cascade]>:nth-child(n+8){--i:7}.view{transition:opacity .18s cubic-bezier(.4,0,1,1),translate .18s cubic-bezier(.4,0,1,1)}.view.out{opacity:0;translate:0 -8px}.warm .id,.warm .role,.warm .links a,.warm .bar{animation:none}.warm .id:before{animation:breathe 6s ease-in-out calc(1.35s - var(--ck,0) * 1s) infinite}.warm .ph img{animation:drift 26s ease-in-out calc(.9s - var(--ck,0) * 1s) infinite alternate}@container main (width<=820px){.feed{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}.feature{grid-area:auto/1/auto/-1}}@container rpage (width<=720px){.rr{grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:22px}.rr h2{font-size:18px}}@container main (width<=560px){.feed{grid-template-columns:minmax(0,1fr)}}@container rpage (width<=560px){.rr{border-radius:0;grid-template-columns:minmax(0,1fr);align-items:start;gap:18px;margin:0;padding:20px 0 28px}.rr:hover{background:0 0}.rr-im{border-radius:12px}.rr .rk>:nth-child(2){display:none}.rr h2{text-wrap:balance;margin-top:10px;font-size:19px}.rr .rs{margin-top:10px;font-size:14.5px}}@media (width<=900px) and (orientation:portrait),(height<=520px) and (width<=1100px){:root{--edge:20px}.ghost{opacity:.065;font-size:10px}.halo{display:none}.mt,.q h2,.note,.att{text-shadow:0 1px 2px #000000d9}.bwm{transition:opacity .6s var(--ease)}body[data-page=about] .bwm{opacity:.5}.rail{width:auto;padding:max(24px, env(safe-area-inset-top)) max(var(--edge), env(safe-area-inset-right)) 0 max(var(--edge), env(safe-area-inset-left));position:relative;top:auto;bottom:auto;left:auto;overflow:visible}.who{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}body:before{height:calc(max(18px, calc(env(safe-area-inset-top) + 8px)) + 80px);background:linear-gradient(var(--bg) 58%, color-mix(in oklch, var(--bg) 55%, transparent) 78%, transparent);backdrop-filter:blur(8px);-webkit-mask-image:linear-gradient(#000 60%,#0000);mask-image:linear-gradient(#000 60%,#0000)}body:after{height:36px}.id{flex-direction:row;align-items:center;gap:14px;width:auto;animation:none;container-type:normal}.id:before{display:none}.id:hover .ph{translate:none}.ph{isolation:isolate;border-radius:12px;flex:none;width:clamp(48px,13vw,80px);margin:0 6px 6px 0;position:relative;overflow:visible}.ph img{animation:photoIn .9s var(--ease) backwards;border-radius:12px}.ph:before{content:"";z-index:-1;animation:oIn 1s var(--ease) .35s backwards, breatheS 6s ease-in-out 1.35s infinite;box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--accent) 45%, transparent);border-radius:12px;position:absolute;inset:0;translate:6px 6px}.cap{background:0 0;min-width:0;margin:0;padding:0}.nm{--nmsz:clamp(19px, 5.4vw, 28px)}.role{font-size:12.5px;line-height:1.4}.links{justify-content:flex-start;gap:clamp(4px,1.2vw,10px);width:auto}.links a{width:clamp(30px,8vw,44px);height:clamp(30px,8vw,44px)}.links svg{width:clamp(13px,3.4vw,18px);height:auto}.ln{display:none}.bar{width:auto;top:max(18px, calc(env(safe-area-inset-top) + 8px));margin:10px 0 30px}.tabs{border-radius:14px;flex:1;grid-template-columns:repeat(3,minmax(0,1fr));padding:4px;display:grid}.tabs a{border-radius:10px;justify-content:center;padding:8px 4px;font-size:13.5px}.ind,.hov{border-radius:10px}.bwm{--sw:.09;height:34vh;inset:26vh -5vh auto auto}main{padding:22px max(var(--edge), env(safe-area-inset-right)) 96px max(var(--edge), env(safe-area-inset-left));max-width:none;margin-left:0}.page{margin-left:10px}.page-about,.art{--vx:18px;--vy:28px}.foot,body:not([data-page=home]) .foot{text-align:center;padding-inline:0}.ab-lead{font-size:18px}.ab-lead b{font-size:min(18px,4.2vw)}.feed{margin-inline:calc(10px - var(--cpad))}.q:before,.q:after{display:none}}@media (width>=560px) and (width<=900px) and (orientation:portrait){.role{font-size:13.5px}}.back{color:var(--muted);align-items:center;gap:8px;margin-bottom:24px;font-size:13px;transition:color .25s;display:inline-flex}.back:hover{color:var(--fg2)}.back svg{width:12px;height:12px}.ah{border-bottom:1px solid var(--line);padding-bottom:30px}.ah h1{letter-spacing:-.04em;text-shadow:none;background:var(--metal);color:#0000;filter:var(--lift);-webkit-background-clip:text;background-clip:text;margin-top:12px;font-size:clamp(28px,3.4vw,42px);font-weight:800;line-height:1.1}.atags{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.atags span{font:600 10.5px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--fg2);box-shadow:inset 0 0 0 1px var(--line);background:#ffffff08;border-radius:7px;padding:6px 11px}.atags .rkind{color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--accent) 35%, transparent)}.toc{display:none}.toc ol{padding:0;list-style:none}.prose{color:#d7dee6;overflow-wrap:break-word;margin-top:40px;font-size:17.5px;line-height:1.8}.prose>*+*{margin-top:1.3em}.prose h2,.prose h3{color:var(--fg);text-wrap:balance;scroll-margin-top:128px}.prose h2{letter-spacing:-.025em;margin-top:3.4em;padding-top:1.5em;font-size:25px;font-weight:700;line-height:1.25;position:relative}.prose h2:before{content:"";background:color-mix(in oklch, var(--line) 70%, transparent);width:48px;height:1px;position:absolute;top:0;left:0}.prose h2:first-child{margin-top:0;padding-top:0}.prose h2:first-child:before{display:none}.prose h3{letter-spacing:-.015em;margin-top:2em;font-size:20px;font-weight:650;line-height:1.3}.prose a{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in oklch, var(--accent) 40%, transparent);text-underline-offset:3px;transition:text-decoration-color .25s}.prose a:hover{text-decoration-color:var(--accent)}.prose strong{color:var(--fg);font-weight:600}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.4em}.prose li::marker{color:var(--muted)}.prose blockquote{border-left:2px solid color-mix(in oklch, var(--accent) 50%, transparent);color:var(--fg2);padding:2px 0 2px 18px}.prose hr{background:var(--line);border:0;height:1px;margin:2.4em 0}.prose img{border-radius:10px;max-width:100%;height:auto;display:block;box-shadow:0 18px 40px -16px #000000e6}.prose :not(pre)>code{font:500 .86em/1.4 var(--mono);color:#d7e3ee;overflow-wrap:anywhere;background:#ffffff0f;border-radius:5px;padding:.15em .4em}.prose pre{font:13.5px/1.65 var(--mono);color:#d7dde4;box-shadow:inset 0 0 0 1px var(--line);tab-size:2;text-shadow:none;background:#0c0d10;border-radius:12px;padding:18px 20px;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.5;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:10px 14px 10px 0}.prose th{font:600 10.5px/1.3 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.af{border-top:1px solid var(--line);gap:26px;margin-top:56px;padding-top:28px;display:grid}.af h2{font:600 10.5px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.rel{gap:10px;padding:0;font-size:14.5px;list-style:none;display:grid}.rel a{color:var(--fg2);align-items:center;gap:10px;transition:color .25s;display:inline-flex}.rel a:hover{color:var(--fg)}.rel svg{width:13px;height:13px;color:var(--muted)}.upd{color:var(--muted);font-size:12.5px}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#76808c;font-style:italic}.token.punctuation,.token.operator{color:#8a939e}.token.keyword,.token.boolean,.token.important,.token.atrule,.token.selector{color:#b8e4ff}.token.string,.token.char,.token.attr-value,.token.regex,.token.url{color:#a9dcc5}.token.number,.token.constant,.token.symbol{color:#f0c58e}.token.function,.token.class-name{color:#e8d3a6}.token.variable,.token.parameter,.token.property,.token.attr-name,.token.tag{color:#c7b8ff}.token.builtin,.token.namespace{color:#9ec7e8}.token.deleted{color:#f2a2a2}.token.inserted{color:#a9dcc5}@media (width<=900px) and (orientation:portrait),(height<=520px) and (width<=1100px){.warm .ph img{animation:none}.warm .ph:before{animation:breatheS 6s ease-in-out calc(1.35s - var(--ck,0) * 1s) infinite}.prose{font-size:16.5px;line-height:1.72}.prose pre{border-radius:10px;margin-inline:-10px;padding:16px;font-size:12.5px}}.prose figure{margin:1.9em 0}.prose figure img{margin-inline:auto}.prose :is(ul,ol)+figure{margin-top:1.1em}.prose figure.narrow img{width:82%}.prose p+figure.quiet{margin-top:.9em}.prose figure.quiet figcaption{color:var(--muted);margin-top:7px;font-size:12px}@media (width<=640px){.prose figure.narrow img{width:100%}.prose h2{margin-top:2.4em;padding-top:1.2em;font-size:23px}.prose h3{margin-top:1.7em}.ah{padding-bottom:24px}.prose{margin-top:28px}}figcaption{color:var(--fg2);text-align:center;margin-top:9px;font-size:13px;font-style:italic;line-height:1.5}figcaption code{font-size:.9em;font-style:normal}.figrow{flex-wrap:wrap;align-items:flex-start;gap:16px;margin:1.9em 0;display:flex}.figrow figure{flex:180px;min-width:0;margin:0}.figrow figure img{width:100%}.figrow .ar-1{flex-grow:.5}.figrow .ar-2{flex-grow:1}.figrow .ar-3{flex-grow:1.5}.figrow .ar-4{flex-grow:2}.figrow .ar-5{flex-grow:2.5}.figrow .ar-6{flex-grow:3}.figrow .ar-7{flex-grow:3.5}.figrow .ar-8{flex-grow:4}.figrow .ar-9{flex-grow:4.5}.figrow .fg10{flex-grow:10}.figrow .fg15{flex-grow:15}.figrow .fg20{flex-grow:20}.figrow .fg25{flex-grow:25}.figrow .fg30{flex-grow:30}.figrow .fg35{flex-grow:35}.figrow .fg40{flex-grow:40}.figrow .fg45{flex-grow:45}.figrow .fg50{flex-grow:50}.figrow .fg55{flex-grow:55}.figrow .fg60{flex-grow:60}.figrow .fg65{flex-grow:65}.figrow .fg70{flex-grow:70}.figrow .fg75{flex-grow:75}.figrow .fg80{flex-grow:80}.figrow .fg85{flex-grow:85}.figrow .fg90{flex-grow:90}@media (width<=640px){.figrow{gap:0}.figrow figure{flex-basis:100%;margin:1.4em 0}}.diagram{margin:1.9em 0}.diagram svg{height:auto;margin-inline:auto;display:block}.diagram.tall svg{width:100%;max-width:380px}.diagram.tall.big svg{max-width:560px}@media (width<=640px){.diagram.tall:not(.big) svg{max-width:min(300px,82%)}}.diagram.wide{scrollbar-width:thin;overflow-x:auto}.diagram.wide svg{width:100%;min-width:680px}.diagram figcaption{margin-top:14px}.prose figure img{cursor:zoom-in;transition:filter .2s}.prose figure img:hover{filter:brightness(1.07)}html.lb{overflow:hidden}.lbox{z-index:100;background:color-mix(in oklch, var(--bg) 88%, #000);backdrop-filter:blur(6px);cursor:zoom-out;opacity:0;justify-content:center;align-items:center;padding:4vmin;transition:opacity .25s;display:flex;position:fixed;inset:0}.lbox.on{opacity:1}.lbox img{border-radius:10px;width:auto;max-width:100%;height:auto;max-height:100%;transition:transform .25s;transform:scale(.97);box-shadow:0 30px 80px -20px #000000e6}.lbox.on img{transform:scale(1)}.lbox.pan{overscroll-behavior:contain;justify-content:flex-start;align-items:flex-start;padding:16px;overflow:auto}.lbox.pan img{flex:none;max-width:none;height:auto;max-height:none;margin:auto}
