@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.8e0177b5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.b97b3418.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.853070df.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c1fdd6c2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.799d8ef8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.dbea232f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--container-6xl:72rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.mx-auto{margin-inline:auto}.mb-16{margin-bottom:calc(var(--spacing)*16)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.max-w-6xl{max-width:var(--container-6xl)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.justify-center{justify-content:center}.gap-8{gap:calc(var(--spacing)*8)}.border{border-style:var(--tw-border-style);border-width:1px}.object-cover{object-fit:cover}.px-6{padding-inline:calc(var(--spacing)*6)}.py-32{padding-block:calc(var(--spacing)*32)}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a))drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a)drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-700{--tw-duration:.7s;transition-duration:.7s}@media (hover:hover){.group-hover\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}}@media (min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}body{color:var(--foreground);background:0 0;min-height:100vh;font-family:Arial,Helvetica,sans-serif}:root{--hero-text-primary:#d2d2cef2;--hero-text-secondary:#96969299;--hero-text-label:#b4b4b073;--hero-text-hover:#ebebe7;--hero-rule:#b4b4b047;--hero-card-border:#ffffff12;--hero-card-border-h:#c8c8c447;--hero-card-glow:#c8c8c41a;--hero-left-width:460px;--hero-card-shift:14px;--hero-arrow-w:20px;--hero-arrow-w-h:34px}.hero-section{min-height:100vh;position:relative}.hero-content{z-index:5;width:var(--hero-left-width);flex-direction:column;justify-content:center;gap:32px;min-height:100vh;padding:15vh 52px 8vh;display:flex;position:relative}.hero-name-block{flex-direction:column;gap:6px;display:flex}.hero-rule{background:linear-gradient(90deg,#c8c8c4cc,#b4b4b04d);width:36px;height:1px;margin:6px 0}.hero-projects{flex-direction:column;gap:8px;display:flex}.hero-card{border:1px solid var(--hero-card-border);background:#ffffff06;border-radius:6px;text-decoration:none;transition:transform .32s cubic-bezier(.25,.46,.45,.94),border-color .32s cubic-bezier(.25,.46,.45,.94),box-shadow .32s cubic-bezier(.25,.46,.45,.94);display:block;overflow:hidden;box-shadow:inset 0 1px #ffffff0e,inset 0 -1px #0006}.hero-card:hover{transform:translateX(var(--hero-card-shift));border-color:var(--hero-card-border-h);box-shadow:inset 0 1px 0 #ffffff1a,inset 0 -1px 0 #0006,0 0 22px var(--hero-card-glow)}.hero-card-thumb{height:58px;overflow:hidden}.hero-card-thumb img{object-fit:cover;filter:brightness(.72)saturate(.55);width:100%;height:100%;transition:transform .55s,filter .32s;display:block}.hero-card:hover .hero-card-thumb img{filter:brightness(.88)saturate(.75);transform:scale(1.07)}.hero-card-info{align-items:center;gap:12px;padding:9px 14px;display:flex}.hero-card:hover .hero-arrow{width:var(--hero-arrow-w-h);filter:drop-shadow(0 0 8px #dcdcd88c);transform:translate(4px)}.hero-card-text{flex-direction:column;gap:2px;display:flex}.hero-card-num{letter-spacing:.2em;text-transform:uppercase;color:var(--hero-text-label);font-family:SF Mono,Fira Code,monospace;font-size:9px}.hero-card-title{letter-spacing:.02em;color:var(--hero-text-secondary);font-size:12px;transition:color .28s}.hero-card:hover .hero-card-title{color:var(--hero-text-hover)}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#10101097;justify-content:center;align-items:center;padding:24px;animation:.22s modal-fade-in;display:flex;position:fixed;inset:0}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-box{background:linear-gradient(175deg,#1c1c1c 0%,#080808 100%);border:1px solid #a0a09c38;flex-direction:column;width:min(860px,100%);max-height:88vh;animation:.26s cubic-bezier(.25,.46,.45,.94) modal-slide-in;display:flex;overflow:hidden;box-shadow:0 0 60px #000c,inset 0 1px #ffffff0f}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid #ffffff0f;flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:24px 28px 18px;display:flex}.modal-header-text{flex-direction:column;gap:4px;display:flex}.modal-num{letter-spacing:.26em;text-transform:uppercase;color:#b4b4b073;font-family:SF Mono,Fira Code,monospace;font-size:10px}.modal-title{letter-spacing:.02em;color:#d2d2cef2;font-family:Georgia,serif;font-size:clamp(16px,2.5vw,22px);font-weight:500}.modal-close{cursor:pointer;color:#96969299;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;padding:4px;transition:color .2s;display:flex}.modal-close:hover{color:#d2d2cef2}.modal-tabs{flex-shrink:0;gap:2px;padding:14px 28px 0;display:flex}.modal-tab{cursor:pointer;letter-spacing:.2em;text-transform:uppercase;color:#9696928c;background:0 0;border:none;border-bottom:1px solid #0000;padding:6px 14px 10px;font-family:SF Mono,Fira Code,monospace;font-size:10px;transition:color .2s,border-color .2s}.modal-tab:hover{color:#c8c8c4d9}.modal-tab--active{color:#d2d2cef2;border-bottom-color:#b4b4b080}.modal-body{scrollbar-width:thin;scrollbar-color:#7878744d transparent;flex:1;padding:24px 28px 28px;overflow-y:auto}.modal-panel{animation:.18s modal-fade-in}.modal-overview{flex-direction:column;gap:18px;display:flex}.modal-thumb{border:1px solid #ffffff12;border-radius:4px;width:100%;height:200px;overflow:hidden}.modal-thumb img{object-fit:cover;filter:brightness(.8)saturate(.6);width:100%;height:100%}.modal-overview-text{color:#aaaaa6d9;white-space:pre-line;font-size:13px;line-height:1.85}.modal-pre{white-space:pre;color:#b4b4b0cc;background:#ffffff08;border:1px solid #ffffff0f;border-radius:4px;padding:18px 20px;font-family:SF Mono,Fira Code,monospace;font-size:12px;line-height:1.75;overflow-x:auto}.modal-arch-pre{color:#a0c8b4cc}.modal-demo{height:480px}.modal-iframe{background:#000;border:1px solid #ffffff12;border-radius:4px;width:100%;height:100%}.about-section{justify-content:center;align-items:center;min-height:100vh;padding:80px 40px;display:flex;position:relative;overflow:hidden}.about-sphere-field{flex-shrink:0;width:min(680px,90vw);height:min(680px,90vw);position:relative}.about-sphere{border-radius:50%;position:absolute}.about-oval{background:radial-gradient(at 40% 38%,#1a1a1a 0%,#0d0d0d 55%,#050505 100%);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;inset:12%;box-shadow:0 0 60px #000000e6,inset 0 0 40px #000000b3}.about-oval-inner{flex-direction:column;gap:20px;padding:10%;display:flex}.about-bio{color:#c8c8c4e0;letter-spacing:.01em;font-family:Georgia,serif;font-size:clamp(12px,1.4vw,15px);line-height:1.85}.hero-handle{align-items:center;gap:8px;margin-bottom:2px;display:flex}.hero-handle-at{letter-spacing:.18em;color:#8c8c888c;font-family:SF Mono,Fira Code,monospace;font-size:11px}.hero-handle-sep{color:#78787459;font-size:10px}.hero-handle-link{letter-spacing:.18em;color:#a0a09ca6;font-family:SF Mono,Fira Code,monospace;font-size:11px;text-decoration:none;transition:color .2s}.hero-handle-link:hover{color:#d2d2cee6}.hero-social{justify-content:flex-end;gap:16px;width:270px;display:flex}.hero-social a{color:#ffffff8c;transition:color .2s}.hero-social a:hover{color:#fffffff2}.metal-btn{transition:transform .15s cubic-bezier(.34,1.56,.64,1);display:inline-block}.metal-btn:hover{transform:scale(1.08)}.metal-btn:active{transform:scale(.95)}.social-locked{color:#fff;opacity:.3;cursor:default}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}
