*{box-sizing:border-box;margin:0}:root{--bg: #000;--fg: #fff;--nav: #d4d4d4;--muted: rgba(255, 255, 255, .55);--faint: rgba(255, 255, 255, .4);--chip: rgba(255, 255, 255, .08);--chip-hover: rgba(255, 255, 255, .14);--line: rgba(255, 255, 255, .12);--backdrop: rgba(0, 0, 0, .94);--edge: rgba(255, 255, 255, .18);color-scheme:dark}:root[data-theme=light]{--bg: #fff;--fg: #000;--nav: #3d3d3d;--muted: rgba(0, 0, 0, .55);--faint: rgba(0, 0, 0, .4);--chip: rgba(0, 0, 0, .05);--chip-hover: rgba(0, 0, 0, .09);--line: rgba(0, 0, 0, .12);--backdrop: rgba(255, 255, 255, .94);--edge: rgba(0, 0, 0, .14);color-scheme:light}html{scrollbar-width:none}html::-webkit-scrollbar{display:none}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased}:root::view-transition-old(root){animation:none}:root::view-transition-new(root){-webkit-mask-image:linear-gradient(to bottom,#000 25%,transparent 75%);mask-image:linear-gradient(to bottom,#000 25%,transparent 75%);-webkit-mask-size:100% 400%;mask-size:100% 400%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;animation:theme-reveal-down 1.4s cubic-bezier(.45,0,.25,1) both}:root[data-reveal=up]::view-transition-new(root){-webkit-mask-image:linear-gradient(to top,#000 25%,transparent 75%);mask-image:linear-gradient(to top,#000 25%,transparent 75%);animation-name:theme-reveal-up}@keyframes theme-reveal-down{0%{-webkit-mask-position:0 100%;mask-position:0 100%}to{-webkit-mask-position:0 0;mask-position:0 0}}@keyframes theme-reveal-up{0%{-webkit-mask-position:0 0;mask-position:0 0}to{-webkit-mask-position:0 100%;mask-position:0 100%}}@supports not (view-transition-name: none){body{transition:background-color .8s ease,color .8s ease}}.nav,.view-back{font-family:Inter Tight,system-ui,sans-serif;font-size:14px;font-weight:400;line-height:20px;letter-spacing:.03em}.nav{position:fixed;top:24px;left:50%;z-index:60;display:flex;gap:28px;transform:translate(-50%);transition:opacity .65s cubic-bezier(.4,0,.2,1),filter .65s cubic-bezier(.4,0,.2,1),visibility 0s}html.viewing .nav{opacity:0;filter:blur(16px);visibility:hidden;pointer-events:none;transition-delay:0s,0s,.65s}.nav a,.theme-toggle,.view-back{color:var(--nav);text-decoration:none;transition:color .15s}.nav a:hover,.theme-toggle:hover,.view-back:hover{color:var(--fg)}.theme-toggle{display:grid;place-items:center;width:14px;height:20px;padding:0;border:0;background:none;cursor:pointer}.theme-toggle svg{width:14px;height:14px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}.theme-toggle:focus-visible{outline:2px solid var(--fg);outline-offset:4px;border-radius:2px}.scroller{height:410vh}.scrim{position:absolute;top:0;right:0;left:0;height:200vh;background:linear-gradient(transparent,var(--bg) 50%);transform:translateY(100vh);pointer-events:none}.top-fade{position:fixed;top:0;right:0;left:0;z-index:2;height:132px;background:linear-gradient(var(--bg) 0%,var(--bg) 28%,color-mix(in srgb,var(--bg) 82%,transparent) 42%,color-mix(in srgb,var(--bg) 55%,transparent) 58%,color-mix(in srgb,var(--bg) 28%,transparent) 74%,color-mix(in srgb,var(--bg) 9%,transparent) 88%,transparent 100%);pointer-events:none}.works{position:relative;z-index:1;margin-top:-50vh;padding:0 24px 160px}.projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:min(100%,920px);margin:0 auto}.project{position:relative;display:block;width:100%;aspect-ratio:452 / 379;padding:0;border:0;overflow:hidden;background:var(--tone, #111);cursor:pointer}.project img{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.project:hover img{transform:scale(1.012)}.project:active img{transform:scale(.995)}.project:focus-visible{outline:2px solid var(--fg);outline-offset:3px}.footer{display:flex;justify-content:center;gap:6px;padding:0 24px max(32px,env(safe-area-inset-bottom));font-family:Inter Tight,system-ui,sans-serif;font-size:13px;line-height:20px;letter-spacing:.03em;color:var(--muted)}.footer-time{color:var(--faint);font-variant-numeric:tabular-nums}body>:not(.view,.nav){transition:filter .65s cubic-bezier(.4,0,.2,1),opacity .65s cubic-bezier(.4,0,.2,1)}html.viewing{overflow:hidden}html.viewing body>:not(.view,.nav){filter:blur(24px);opacity:0;pointer-events:none}.view{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}.view[hidden]{display:none}.view figure,.view-back{opacity:0;filter:blur(16px);transform:scale(.97);transition:opacity .65s cubic-bezier(.4,0,.2,1),filter .65s cubic-bezier(.4,0,.2,1),transform .65s cubic-bezier(.4,0,.2,1)}.view.is-open figure{opacity:1;filter:none;transform:none}.view-back{position:fixed;top:12px;left:50%;z-index:1;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:12px 0;border:0;background:none;cursor:pointer;white-space:nowrap;transform:translate(-50%) scale(.97);transition:opacity .65s cubic-bezier(.4,0,.2,1),filter .65s cubic-bezier(.4,0,.2,1),transform .65s cubic-bezier(.4,0,.2,1),color .15s}.view.is-open .view-back{opacity:1;filter:none;transform:translate(-50%)}.view-back:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.view-back svg{width:12px;height:12px;flex:none;transform:translateY(-.5px);fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}.rail{--item-w: clamp(200px, 21vw, 300px);position:relative}.rail-display{--item-w: clamp(320px, 58vw, 820px)}.rail-stage{display:flex;align-items:center;height:100vh;height:100dvh;overflow:hidden}.phone,.display{position:relative;flex:0 0 var(--item-w);margin:0 auto}.phone{aspect-ratio:1350 / 2760}.display{aspect-ratio:5400 / 4160}.device-screen{position:absolute;overflow:hidden;background:#000}.phone .device-screen{top:2.5%;left:5.33%;width:89.33%;height:95%;border-radius:13.7%/6.3%}.display .device-screen{top:3.3654%;left:2.5926%;width:94.8148%;height:69.2308%}.rail-track{position:relative;height:100%}.rail-track picture{position:absolute;top:0;right:0;bottom:0;left:0;will-change:opacity,filter,transform}.rail-track picture:not(:first-child){opacity:0}.rail-track img,.device-frame,.device-frame img{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}.rail-track img{object-fit:cover}:root[data-theme=dark] .frame-silver,:root[data-theme=dark] .frame-light,:root[data-theme=light] .frame-black,:root[data-theme=light] .frame-dark{display:none}@media (max-width: 720px){.works{padding:0 16px 120px}.projects{grid-template-columns:1fr;gap:12px}.rail{--item-w: min(88vw, calc((100dvh - 128px) * 1350 / 2760))}.rail-display{--item-w: 88vw}}.wheel{position:sticky;top:0;display:grid;place-items:center;height:100vh;padding:0 24px;overflow:hidden;perspective:800px}.line{grid-area:1 / 1;max-width:560px;font-family:"Inria Serif",Georgia,serif;font-weight:300;font-size:32px;line-height:38px;letter-spacing:-.02em;text-align:center;will-change:transform,opacity}.brand{color:inherit;text-decoration:none;transition:color .2s}.linear:hover{color:#5e6ad2}.raycast:hover{color:#ff6363}.supabase:hover{color:#3ecf8e}@media (max-width: 1024px){.line{max-width:520px;font-size:30px;line-height:36px}}@media (max-width: 600px){.nav{gap:24px}.line{max-width:320px;font-size:26px;line-height:32px}}
