@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.0ekd.j2hc~_w0.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.0rqws-.h91di~.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:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.179.vsfvxa6t5.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:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_af59d2e6-module__ZWY3Pa__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_af59d2e6-module__ZWY3Pa__variable{--font-bricolage:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
@font-face{font-family:Inter Tight;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/13ae3e01af63c0ce-s.0_v7qv~qdckr_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Tight;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/0ee4b8f05dcd9fee-s.0jr2jo04zlceh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Tight;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9eba4caf7edd2921-s.00t_.3.5..g_7.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter Tight;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/f6752bd2263820da-s.10j9.xtie.pqv.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Tight;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/f285987c35230861-s.0l_qy7hq7zupz.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Tight;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b8d1f0a88dfecec3-s.0g0e~i-as20lr.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:Inter Tight;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ab57efd000576a30-s.p.0.xyi-bdzzdcz.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:Inter Tight Fallback;src:local(Arial);ascent-override:100.51%;descent-override:25.03%;line-gap-override:0.0%;size-adjust:96.39%}.inter_tight_1e0007eb-module__ApuGOW__className{font-family:Inter Tight,Inter Tight Fallback;font-style:normal}.inter_tight_1e0007eb-module__ApuGOW__variable{--font-inter-tight:"Inter Tight", "Inter Tight Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_ea605df0-module__ZJ9hzq__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_ea605df0-module__ZJ9hzq__variable{--font-jetbrains:"JetBrains Mono", "JetBrains Mono Fallback"}
*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono), "JetBrains Mono", ui-monospace, monospace;font-feature-settings:normal;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}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.bottom-5{bottom:1.25rem}.left-0{left:0}.left-1\/2{left:50%}.right-5{right:1.25rem}.top-0{top:0}.z-0{z-index:0}.z-\[10000\]{z-index:10000}.z-\[10100\]{z-index:10100}.z-\[10101\]{z-index:10101}.z-\[10200\]{z-index:10200}.z-\[10300\]{z-index:10300}.z-\[10400\]{z-index:10400}.z-\[1\]{z-index:1}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-\[1px\]{margin-left:1px}.mt-1{margin-top:.25rem}.mt-3{margin-top:.75rem}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.hidden{display:none}.h-3{height:.75rem}.h-\[12px\]{height:12px}.h-\[15px\]{height:15px}.h-\[85vh\]{height:85vh}.h-full{height:100%}.w-3{width:.75rem}.w-\[260px\]{width:260px}.w-\[6px\]{width:6px}.w-\[8px\]{width:8px}.w-full{width:100%}.min-w-\[280px\]{min-width:280px}.max-w-3xl{max-width:48rem}.max-w-\[420px\]{max-width:420px}.max-w-\[42ch\]{max-width:42ch}.max-w-\[520px\]{max-width:520px}.flex-1{flex:1}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.animate-blink{animation:1s step-end infinite blink}.cursor-text{cursor:text}.select-none{-webkit-user-select:none;user-select:none}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-accent{border-color:var(--ember)}.border-rule{border-color:var(--border)}.bg-\[\#0a0908\]{--tw-bg-opacity:1;background-color:rgb(10 9 8/var(--tw-bg-opacity,1))}.bg-\[\#27c93f\]{--tw-bg-opacity:1;background-color:rgb(39 201 63/var(--tw-bg-opacity,1))}.bg-\[\#ff5f56\]{--tw-bg-opacity:1;background-color:rgb(255 95 86/var(--tw-bg-opacity,1))}.bg-\[\#ffbd2e\]{--tw-bg-opacity:1;background-color:rgb(255 189 46/var(--tw-bg-opacity,1))}.bg-accent{background-color:var(--ember)}.bg-black\/70{background-color:#000000b3}.bg-black\/85{background-color:#000000d9}.bg-elev{background-color:var(--card)}.bg-term{--tw-bg-opacity:1;background-color:rgb(126 231 135/var(--tw-bg-opacity,1))}.bg-transparent{background-color:#0000}.p-2{padding:.5rem}.p-4{padding:1rem}.p-7{padding:1.75rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pt-2{padding-top:.5rem}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-display{font-family:var(--font-instrument), "Instrument Serif", serif}.font-mono{font-family:var(--font-mono), "JetBrains Mono", ui-monospace, monospace}.text-\[0\.95rem\]{font-size:.95rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[clamp\(1\.6rem\,3\.5vw\,2\.2rem\)\]{font-size:clamp(1.6rem,3.5vw,2.2rem)}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-light{font-weight:300}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-\[1\.15\]{line-height:1.15}.leading-\[1\.6\]{line-height:1.6}.leading-\[1\.7\]{line-height:1.7}.leading-relaxed{line-height:1.625}.tracking-\[0\.04em\]{letter-spacing:.04em}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-\[0\.12em\]{letter-spacing:.12em}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-\[0\.1em\]{letter-spacing:.1em}.tracking-\[0\.22em\]{letter-spacing:.22em}.text-\[\#4d0000\]{--tw-text-opacity:1;color:rgb(77 0 0/var(--tw-text-opacity,1))}.text-\[\#ff8870\]{--tw-text-opacity:1;color:rgb(255 136 112/var(--tw-text-opacity,1))}.text-accent{color:var(--ember)}.text-ink{color:var(--foreground)}.text-ink-dim,.text-ink-mute{color:var(--muted-fg)}.text-term{--tw-text-opacity:1;color:rgb(126 231 135/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.decoration-dotted{text-decoration-style:dotted}.underline-offset-\[6px\]{text-underline-offset:6px}.opacity-0{opacity:0}.opacity-70{opacity:.7}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_0_24px_rgba\(232\,160\,74\,0\.4\)\]{--tw-shadow:0 0 24px #e8a04a66;--tw-shadow-colored:0 0 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_0_60px_rgba\(232\,160\,74\,0\.35\)\]{--tw-shadow:0 0 60px #e8a04a59;--tw-shadow-colored:0 0 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_10px_40px_rgba\(0\,0\,0\,0\.4\)\]{--tw-shadow:0 10px 40px #0006;--tw-shadow-colored:0 10px 40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_12px_50px_rgba\(0\,0\,0\,0\.5\)\]{--tw-shadow:0 12px 50px #00000080;--tw-shadow-colored:0 12px 50px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.blur{--tw-blur:blur(8px);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)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--paper:#fff;--ink:#111;--road:#d7d7d2;--muted:#686864;--signal:#ffd400;--alert:#e43d30;--link:#4868ff;--font-display:var(--font-bricolage), "Arial Narrow", sans-serif;--font-body:var(--font-inter-tight), Arial, sans-serif;--font-mono:var(--font-jetbrains), ui-monospace, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-weight:400;overflow-x:hidden}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}::selection{background:var(--signal);color:var(--ink)}.scroll-progress{z-index:100;transform-origin:0;background:var(--alert);height:4px;position:fixed;inset:0 0 auto}.site-header{z-index:50;border-bottom:1px solid var(--ink);background:color-mix(in srgb, var(--paper) 94%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:space-between;align-items:center;height:88px;padding:0 48px;display:flex;position:sticky;top:0}.brand-mark,.site-header nav,.availability{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;align-items:center;font-size:12px;display:flex}.availability b{font-weight:400}.availability-short{display:none}.brand-mark{gap:14px}.brand-mark>span{border:1px solid var(--ink);background:var(--signal);width:34px;height:34px;font-family:var(--font-display);border-radius:999px;place-items:center;font-size:16px;display:grid}.brand-mark strong{font-weight:500}.site-header nav{gap:32px}.site-header nav a{position:relative}.site-header nav a:after{background:var(--link);content:"";transform-origin:100%;height:2px;transition:transform .24s;position:absolute;bottom:-7px;left:0;right:0;transform:scaleX(0)}.site-header nav a:hover:after{transform-origin:0;transform:scaleX(1)}.availability{border:1px solid var(--ink);border-radius:999px;gap:9px;padding:10px 16px;font-size:10px}.availability span{background:var(--alert);border-radius:999px;width:8px;height:8px;animation:1.8s ease-in-out infinite pulse}.hero{min-height:730px;padding:42px 48px 34px;position:relative;overflow:hidden}.hero-meta{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;flex-direction:column;gap:2px;font-size:12px;display:flex}.hero-intro{z-index:4;transform-origin:100% 100%;width:320px;margin:0;font-size:16px;line-height:1.42;position:absolute;top:128px;left:auto;right:calc(4vw + min(36vw,540px) + 40px);transform:rotate(-2deg)}.hero-intro:before{color:var(--link);content:"“";font-family:Georgia,serif;font-size:58px;line-height:1;position:absolute;top:-28px;left:-25px}.hero-intro:after{border-top:1px solid var(--ink);content:"";transform-origin:0;width:42px;position:absolute;top:56%;right:-52px;transform:rotate(8deg)}.hero-intro-lead{font-family:var(--font-display);letter-spacing:-.025em;margin-bottom:4px;font-size:24px;font-weight:650;line-height:1.05;display:block}.hero h1{z-index:3;width:min(760px,96vw - min(36vw,540px) - 56px);color:var(--link);font-family:var(--font-display);letter-spacing:-.03em;margin:232px 0 0;font-size:clamp(40px,4.6vw,84px);font-weight:700;line-height:1.05;position:relative}.hero-title{animation:.9s cubic-bezier(.22,1,.36,1) both hero-in}.hero-bottom{z-index:4;justify-content:space-between;align-items:end;display:flex;position:absolute;bottom:30px;left:48px;right:48px}.tag-list{flex-wrap:wrap;gap:9px;display:flex}.tag-list span{border:1px solid var(--ink);background:var(--paper);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;padding:9px 13px;font-size:10px}.tag-list .tag-signal{background:var(--signal);transform:rotate(-2deg)}.selected-work{background:var(--alert);color:var(--paper);font-family:var(--font-display);align-items:center;gap:8px;padding:13px 18px;font-size:22px;font-weight:650;transition:transform .22s;display:flex;transform:rotate(3deg)}.hero-actions{align-items:center;gap:12px;display:flex}.resume-link{border:1px solid var(--ink);background:var(--paper);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;padding:12px 16px;font-size:10px;transition:background .18s,color .18s,transform .18s}.resume-link:hover{background:var(--ink);color:var(--paper);transform:translateY(-4px)}.selected-work:hover{transform:rotate(0)translateY(-5px)}.selected-work svg{width:20px}.hero-portrait{z-index:1;pointer-events:none;width:min(36vw,540px);height:620px;margin:0;position:absolute;top:70px;right:4vw;overflow:visible}.hero-portrait-image{transform-origin:50% 0;position:absolute;inset:0}.hero-portrait-image img{-o-object-fit:cover;object-fit:cover;-o-object-position:50% 0;object-position:50% 0;filter:contrast(1.03)brightness(1.08)}.section-dark{background:var(--ink);color:var(--paper)}.projects,.hackathons,.skills{padding:70px 48px 84px}.section-heading{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:flex-end;padding-bottom:30px;display:flex}.section-heading>div>span,.eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.section-heading h2{font-family:var(--font-display);letter-spacing:-.045em;margin:10px 0 0;font-size:clamp(46px,4.3vw,66px);font-weight:700;line-height:.98}.section-heading>p{font-family:var(--font-mono);text-align:right;text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:10px;line-height:1.6}.dark-heading{border-color:#555}.project-list{border-bottom:1px solid #555}.project-row{border-top:1px solid #555;grid-template-columns:80px minmax(310px,.75fr) 1fr 56px;align-items:center;gap:28px;min-height:180px;transition:background .22s;display:grid}.project-row:hover{background:#181818}.project-index{color:var(--signal);font-family:var(--font-mono);font-size:12px}.project-row h3{font-family:var(--font-display);letter-spacing:-.035em;flex-direction:column;margin:0;font-size:clamp(31px,3vw,46px);font-weight:650;line-height:.98;display:flex}.project-row h3 small{font:inherit}.project-copy p{color:#d7d7d2;margin:0 0 14px;font-size:17px;line-height:1.45}.project-copy span,.project-media figcaption span{color:#92928d;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:9px}.project-row>a,.project-media figcaption>a{border:1px solid #666;border-radius:999px;place-items:center;width:54px;height:54px;transition:border-color .2s,background .2s,transform .2s;display:grid}.project-row:nth-child(2)>a{border-color:var(--link);background:var(--link)}.project-row>a:hover,.project-media figcaption>a:hover{border-color:var(--signal);background:var(--signal);color:var(--ink);transform:rotate(12deg)scale(1.06)}.project-row svg,.project-media figcaption svg{width:22px}.motion-marquee{border-top:1px solid #555;border-bottom:1px solid #555;margin:52px -48px 38px;overflow:hidden}.motion-marquee>div{width:max-content;animation:24s linear infinite marquee;display:flex}.motion-marquee span{color:var(--signal);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em;padding:13px 32px;font-size:10px}.project-media{grid-template-columns:.85fr 1.4fr;gap:18px;display:grid}.project-media figure{background:#0b0b0b;border:1px solid #555;margin:0;overflow:hidden}.preview-window,.bedrocked-image{height:410px;position:relative;overflow:hidden}.preview-window img{-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top;transition:transform .65s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.live-preview:hover .preview-window img{transform:scale(1.035)}.live-site-label{z-index:2;border:1px solid var(--ink);background:var(--signal);color:var(--ink);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;padding:10px 13px;font-size:9px;position:absolute;top:18px;left:18px;transform:rotate(-2deg)}.bedrocked-image img{-o-object-fit:cover;object-fit:cover;-o-object-position:left top;object-position:left top;transition:transform .65s cubic-bezier(.22,1,.36,1)}.bedrocked-preview:hover .bedrocked-image img{transform:scale(1.045)}.bedrocked-image>span{z-index:2;background:var(--alert);color:var(--paper);font-family:var(--font-mono);text-transform:uppercase;padding:10px 13px;font-size:9px;position:absolute;top:18px;left:18px;transform:rotate(-2deg)}.project-media figcaption{justify-content:space-between;align-items:center;gap:24px;min-height:108px;padding:20px 22px;display:flex}.project-media figcaption>div{flex-direction:column;gap:6px;display:flex}.project-media figcaption strong{font-family:var(--font-display);font-size:26px}.hackathons{background:var(--paper)}.hackathon-grid{grid-template-columns:repeat(2,1fr);gap:16px;padding-top:38px;display:grid}.hackathon-card{border:1px solid var(--ink);background:var(--paper);flex-direction:column;justify-content:space-between;min-height:430px;padding:28px;transition:transform .22s,box-shadow .22s;display:flex}.hackathon-card:nth-child(2){background:var(--signal)}.hackathon-card:hover{box-shadow:8px 8px 0 var(--ink);transform:translateY(-7px)}.hackathon-card-meta,.hackathon-card-footer{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;gap:20px;font-size:9px;display:flex}.hackathon-card-meta strong{border:1px solid var(--ink);padding:7px 9px;font-weight:500}.hackathon-card>div:nth-child(2)>p:first-child{color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;margin:0 0 14px;font-size:9px}.hackathon-card h3{font-family:var(--font-display);letter-spacing:-.055em;margin:0;font-size:clamp(44px,4.6vw,70px);line-height:.95}.hackathon-description{max-width:620px;margin:24px 0 0;font-size:17px;line-height:1.5}.hackathon-card-footer{align-items:flex-end}.hackathon-card-footer>span{max-width:75%;line-height:1.6}.hackathon-card-footer a{border:1px solid var(--ink);border-radius:999px;flex:none;place-items:center;width:50px;height:50px;transition:background .18s,color .18s,transform .18s;display:grid}.hackathon-card-footer a:hover{background:var(--ink);color:var(--paper);transform:rotate(12deg)}.hackathon-card-footer svg{width:21px}.experience{border-bottom:1px solid var(--ink);grid-template-columns:2fr 1fr;display:grid}.experience-main{flex-direction:column;justify-content:space-between;min-height:670px;padding:70px 48px;display:flex}.experience-main h2,.experience-main h3{font-family:var(--font-display);letter-spacing:-.05em;margin:0;font-size:clamp(49px,5vw,72px);font-weight:700;line-height:.95}.experience-main h3{font-size:clamp(36px,3.4vw,54px)}.experience-details{grid-template-columns:210px 1fr;align-items:start;gap:46px;display:grid}.role{color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;margin:0;font-size:10px;line-height:1.7}.experience-details ol{gap:0;margin:0;padding:0;list-style:none;display:grid}.experience-details li{border-top:1px solid var(--road);grid-template-columns:34px 1fr;gap:14px;padding:12px 0;display:grid}.experience-details li>span{font-family:var(--font-mono);padding-top:4px;font-size:9px}.experience-details li p{margin:0;font-size:15px;line-height:1.45}.education{border-left:1px solid var(--ink);background:var(--signal);flex-direction:column;gap:32px;padding:70px 42px;display:flex}.education article{border-top:1px solid var(--ink);padding-top:18px}.education article>span,.education small{font-family:var(--font-mono);text-transform:uppercase;font-size:9px}.education h3{font-family:var(--font-display);margin:10px 0 6px;font-size:29px;font-weight:650;line-height:1.05}.education p{margin:0 0 9px;font-size:17px;line-height:1.35}.education em{border:1px solid var(--ink);background:var(--paper);font-family:var(--font-mono);text-transform:uppercase;align-self:flex-end;margin-top:auto;padding:11px 13px;font-size:9px;font-style:normal;transform:rotate(-4deg)}.skills{background:var(--road)}.skill-grid{grid-template-columns:repeat(4,1fr);gap:14px;padding-top:38px;display:grid}.skill-card{border:1px solid var(--ink);flex-direction:column;justify-content:space-between;min-height:280px;padding:22px;display:flex}.skill-card.paper{background:var(--paper)}.skill-card.ink{background:var(--ink);color:var(--paper)}.skill-card.signal{background:var(--signal)}.skill-card>span{font-family:var(--font-mono);text-transform:uppercase;font-size:10px}.skill-card>div{flex-direction:column;display:flex}.skill-card strong{font-family:var(--font-display);font-size:clamp(23px,2vw,31px);font-weight:650;line-height:1.24}.contact{background:var(--link);min-height:560px;color:var(--paper);padding:58px 48px 30px}.contact-meta,.contact footer{font-family:var(--font-mono);text-align:right;text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;font-size:9px;line-height:1.5;display:flex}.contact-meta span:first-child,.contact footer span:first-child{text-align:left}.contact h2{font-family:var(--font-display);letter-spacing:-.055em;margin:82px 0 44px;font-size:clamp(58px,6.8vw,98px);font-weight:700;line-height:.92}.contact-links{border-top:1px solid #ffffff8c;justify-content:space-between;align-items:center;gap:30px;padding:24px 0;display:flex}.contact-links>div{flex-wrap:wrap;gap:26px;display:flex}.contact-links a{font-family:var(--font-mono);text-transform:uppercase;align-items:center;gap:5px;font-size:10px;display:inline-flex}.contact-links svg{width:13px}.contact-cta{border:1px solid var(--ink);background:var(--signal);color:var(--ink);padding:14px 18px;font-weight:650;transition:transform .2s;transform:rotate(2deg);font-family:var(--font-display)!important;text-transform:none!important;font-size:18px!important}.contact-cta:hover{transform:rotate(0)translateY(-5px)}.contact footer{margin-top:38px}@keyframes pulse{50%{opacity:.35;transform:scale(.75)}}@keyframes hero-in{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}@keyframes marquee{to{transform:translate(-50%)}}@keyframes scan{0%,to{opacity:.25;top:16%}50%{opacity:.95;top:84%}}@media (max-width:1180px){.site-header{padding:0 24px}.site-header nav{display:none}.hero{min-height:740px;padding:42px 24px 32px}.hero-intro{width:280px;top:120px;left:auto;right:calc(48px + min(44vw,460px))}.hero h1{width:calc(100vw - min(44vw,460px) - 72px);margin-top:210px;font-size:clamp(42px,7vw,72px)}.hero-portrait{width:min(44vw,460px);height:540px;top:100px;right:24px}.projects,.hackathons,.skills{padding-left:24px;padding-right:24px}.project-row{grid-template-columns:62px minmax(250px,.8fr) 1fr 52px;gap:16px}.project-media,.hackathon-grid,.experience{grid-template-columns:1fr}.education{border-top:1px solid var(--ink);border-left:0}.skill-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:701px) and (max-width:780px){.hero-intro{width:280px;right:calc(40px + min(48vw,520px))}}@media (max-width:700px){.site-header{height:66px;padding:0 16px}.brand-mark{font-size:8px}.brand-mark>span{width:30px;height:30px}.availability{padding:8px 9px;font-size:7px}.availability-full{display:none}.availability-short{display:inline}.availability span{width:6px;height:6px}.hero{min-height:1020px;padding:28px 16px 24px}.hero-meta{font-size:8px}.hero-intro{width:auto;margin:28px 0 0;font-size:15px;position:static;transform:none}.hero-intro:before,.hero-intro:after{display:none}.hero-intro-lead{font-size:21px}.hero h1{width:100%;margin-top:48px;font-size:51px;line-height:.94}.hero-portrait{width:auto;height:390px;top:500px;left:16px;right:16px}.hero-portrait-image img{-o-object-position:50% 0;object-position:50% 0}.hero-bottom{align-items:flex-start;bottom:24px;left:16px;right:16px}.hero-actions{flex-direction:column-reverse;align-items:flex-end}.tag-list{max-width:240px}.tag-list span{padding:7px 9px;font-size:8px}.selected-work{padding:11px 12px;font-size:15px}.resume-link{padding:9px 11px;font-size:8px}.selected-work svg{width:15px}.projects,.hackathons,.skills{padding:48px 16px 56px}.section-heading{align-items:flex-start;gap:24px}.section-heading h2{font-size:38px}.section-heading>p{max-width:120px;font-size:7px}.project-row{grid-template-columns:1fr 46px;gap:18px;min-height:0;padding:26px 0}.project-index{grid-column:1;font-size:9px}.project-row h3{grid-column:1;font-size:31px}.project-copy{grid-column:1}.project-copy p{font-size:14px}.project-row>a{grid-area:1/2/span 3;align-self:center;width:44px;height:44px}.motion-marquee{margin-left:-16px;margin-right:-16px}.preview-window,.bedrocked-image{height:230px}.project-media figcaption{min-height:92px;padding:15px}.project-media figcaption strong{font-size:21px}.project-media figcaption>a{width:44px;height:44px}.hackathon-card{min-height:370px;padding:22px}.hackathon-card h3{font-size:46px}.hackathon-description{font-size:15px}.experience-main{min-height:690px;padding:52px 16px}.experience-main h2{font-size:47px}.experience-main h3{font-size:35px}.experience-details{grid-template-columns:1fr;gap:28px}.experience-details li p{font-size:14px}.education{padding:50px 18px}.skill-grid{grid-template-columns:1fr}.skill-card{min-height:230px}.skill-card strong{font-size:28px}.contact{min-height:600px;padding:48px 16px 24px}.contact-meta{font-size:7px}.contact h2{margin-top:80px;font-size:49px}.contact-links{flex-direction:column;align-items:flex-start}.contact-links>div{gap:18px}.contact footer{margin-top:54px;font-size:7px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.header-right{align-items:center;gap:16px;display:flex}.header-contacts{align-items:center;gap:6px;display:flex}.header-contacts a{border:1px solid var(--ink);border-radius:999px;place-items:center;width:32px;height:32px;transition:background .16s,color .16s,transform .16s;display:grid}.header-contacts a:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)}.header-contacts a:focus-visible{outline:3px solid var(--link);outline-offset:2px}.header-contacts svg{width:14px;height:14px}.header-resume{font-family:var(--font-mono);letter-spacing:.04em;font-size:9px}.proj-filters{flex-wrap:wrap;align-items:center;gap:8px;padding:30px 0 4px;display:flex}.proj-filter{color:var(--paper);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;background:0 0;border:1px solid #555;padding:9px 14px;font-size:10px;transition:background .16s,color .16s,border-color .16s,transform .16s}.proj-filter:hover{border-color:var(--paper);transform:translateY(-2px)}.proj-filter.is-active{border-color:var(--signal);background:var(--signal);color:var(--ink)}.proj-filter:focus-visible{outline:3px solid var(--link);outline-offset:2px}.proj-count{color:#888;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;margin-left:auto;font-size:10px}.proj-grid{grid-template-columns:repeat(3,1fr);gap:14px;padding:26px 0 8px;display:grid}.proj-card{background:#141414;border:1px solid #555;flex-direction:column;transition:transform .24s,border-color .24s,box-shadow .24s;display:flex;position:relative;overflow:hidden}.proj-card:hover,.proj-card:focus-within{border-color:var(--paper);transform:translateY(-4px);box-shadow:7px 7px #ffd40038}.proj-stretch{z-index:1;position:absolute;inset:0}.proj-stretch:focus-visible{outline:3px solid var(--link);outline-offset:-3px}.proj-media{aspect-ratio:16/9;background:#1c1c1a;border-bottom:1px solid #555;position:relative;overflow:hidden}.proj-media img{-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center;transition:transform .7s cubic-bezier(.22,1,.36,1)}.proj-card:hover .proj-media img,.proj-card:focus-within .proj-media img{transform:scale(1.045)}.proj-media-fallback{background:repeating-linear-gradient(-45deg,#0000 0 22px,#ffffff0b 22px 23px),#1c1c1a;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:100%;min-height:180px;display:flex}.proj-media-fallback span{font-family:var(--font-display);letter-spacing:-.04em;color:#3d3d38;font-size:26px;font-weight:700}.proj-media-fallback em{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:#666;font-size:9px;font-style:normal}.proj-stickers{z-index:2;gap:6px;display:flex;position:absolute;top:12px;left:12px}.proj-sticker{border:1px solid var(--ink);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;padding:5px 8px;font-size:8px}.proj-sticker-scale{background:var(--signal);color:var(--ink);transform:rotate(-2deg)}.proj-sticker-label{background:var(--paper);color:var(--ink)}.proj-hackathon{z-index:2;border:1px solid var(--ink);background:var(--alert);max-width:80%;color:var(--paper);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;padding:5px 8px;font-size:8px;position:absolute;bottom:12px;right:12px;transform:rotate(1.4deg)}.proj-body{flex-direction:column;flex:1;gap:8px;padding:16px 16px 14px;display:flex}.proj-title-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.proj-title-row h3{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:22px;font-weight:700;line-height:1}.proj-status{color:var(--signal);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.07em;flex-shrink:0;font-size:8px}.proj-value{margin:0;font-size:14px;line-height:1.4}.proj-detail{color:#a5a5a0;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0;font-size:12.5px;line-height:1.5;display:-webkit-box;overflow:hidden}.proj-stack{color:#888;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;font-size:8.5px}.proj-footer{border-top:1px solid #2c2c2a;justify-content:space-between;align-items:flex-end;gap:14px;margin-top:auto;padding-top:12px;display:flex}.proj-domains{color:#888;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.07em;font-size:8px}.proj-actions{z-index:2;align-items:center;gap:8px;display:flex;position:relative}.proj-action{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;border:1px solid #555;align-items:center;gap:6px;padding:6px 9px;font-size:8px;transition:background .16s,color .16s,border-color .16s;display:inline-flex}.proj-action:hover{border-color:var(--paper);background:var(--paper);color:var(--ink)}.proj-action:focus-visible{outline:3px solid var(--link);outline-offset:2px}.proj-action svg{width:12px;height:12px}.proj-arrow{border:1px solid #555;border-radius:999px;place-items:center;width:32px;height:32px;transition:background .2s,color .2s,transform .24s;display:grid}.proj-card:hover .proj-arrow,.proj-card:focus-within .proj-arrow{background:var(--signal);border-color:var(--signal);color:var(--ink);transform:translate(3px,-3px)}.proj-arrow svg{width:16px}@media (max-width:1200px){.proj-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.header-contacts{display:none}}@media (max-width:700px){.proj-grid{grid-template-columns:1fr}.proj-count{display:none}.proj-title-row{flex-direction:column;gap:6px}.proj-footer{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){.proj-card,.proj-media img,.proj-arrow,.proj-filter,.header-contacts a{transition:none}}.bubble-text{display:inline}.bubble-word{white-space:pre;display:inline-block}.bubble-letter{will-change:transform;transition:transform .22s cubic-bezier(.2,.7,.2,1);display:inline-block}@media (prefers-reduced-motion:reduce){.bubble-letter{transition:none}}.hover\:border-accent:hover{border-color:var(--ember)}.hover\:border-ink:hover{border-color:var(--foreground)}.hover\:bg-\[\#ff7166\]:hover{--tw-bg-opacity:1;background-color:rgb(255 113 102/var(--tw-bg-opacity,1))}.hover\:bg-accent:hover{background-color:var(--ember)}.hover\:text-accent:hover{color:var(--ember)}.hover\:text-bg:hover{color:var(--background)}.hover\:text-ink:hover{color:var(--foreground)}.group:hover .group-hover\:opacity-100{opacity:1}@media (min-width:640px){.sm\:p-6{padding:1.5rem}.sm\:p-8{padding:2rem}.sm\:p-9{padding:2.25rem}}@media (min-width:768px){.md\:block{display:block}}
