@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.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/53b9e256198e5412-s.390ncx5urfkfu.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.21jp631_3pja2.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.0wgildi0cnwt9.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_670e808c-module__JdxiwG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_670e808c-module__JdxiwG__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/5ce348bf30bf5439-s.18ql67ww2ii1-.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3f2jdebwxs8i-.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/6306c77e7c8268e4-s.1ygs37po_4mpd.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.2ojkkrs9oa5rc.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1_6ayb0k2-vor.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.0w5z4e7s8jfe5.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_aed55a57-module__iGg3zq__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_aed55a57-module__iGg3zq__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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--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-leading:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--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-ease:initial;--tw-content:""}}}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.top-1\/2{top:50%}.top-1\/4{top:25%}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.right-1\/4{right:25%}.bottom-1\/4{bottom:25%}.left-1\/2{left:50%}.left-1\/4{left:25%}.left-\[50\%\]{left:50%}.-z-10{z-index:calc(10 * -1)}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[100\]{z-index:100}.container{width:100%}.mx-auto{margin-inline:auto}.mt-auto{margin-top:auto}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.h-\[1px\]{height:1px}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-\[300px\]{max-height:300px}.max-h-screen{max-height:100vh}.min-h-\[80px\]{min-height:80px}.min-h-\[120px\]{min-height:120px}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-3\/4{width:75%}.w-\[--sidebar-width\]{width:--sidebar-width}.w-\[1px\]{width:1px}.w-\[100px\]{width:100px}.w-auto{width:auto}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-\[--skeleton-width\]{max-width:--skeleton-width}.max-w-max{max-width:max-content}.min-w-\[8rem\]{min-width:8rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.transform-gpu{transform:translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[--color-border\]{border-color:--color-border}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-\[--color-bg\]{background-color:--color-bg}.bg-transparent{background-color:#0000}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.fill-current{fill:currentColor}.p-\[1px\]{padding:1px}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.text-\[0\.8rem\]{font-size:.8rem}.leading-none{--tw-leading:1;line-height:1}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.3em\]{--tw-tracking:.3em;letter-spacing:.3em}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.text-current{color:currentColor}.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,)}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-border)));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);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}.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,ease);transition-duration:var(--tw-duration,0s)}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-\[margin\,opa\]{transition-property:margin,opa;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-1000{--tw-duration:1s;transition-duration:1s}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *),.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\]:is(:where(.group)[data-collapsible=icon] *){width:--sidebar-width-icon}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + 1rem)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + 1rem + 2px)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width) * -1)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[state\=open\]\:rotate-180:is(:where(.group)[data-state=open] *){rotate:180deg}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.peer-data-\[variant\=inset\]\:min-h-\[calc\(100svh-theme\(spacing\.4\)\)\]:is(:where(.peer)[data-variant=inset]~*){min-height:calc(100svh - 1rem)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}.first\:border-l:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}@media (hover:hover){.hover\:no-underline:hover{text-decoration-line:none}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-accent)));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus\:opacity-100:focus{opacity:1}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-layer\]\:outline-none .recharts-layer,.\[\&_\.recharts-sector\]\:outline-none .recharts-sector{--tw-outline-style:none;outline-style:none}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{--tw-outline-style:none;outline-style:none}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{rotate:90deg}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{rotate:180deg}[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize,[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}:root{--rg-accent:#3b82f6;--rg-accent-2:#22d3ee;--rg-accent-soft:#3b82f624;--rg-glow:#22d3ee59;--rg-bg:#05060c;--rg-bg-2:#080a12;--rg-surface:#0c0f1a;--rg-surface-2:#11141f;--rg-surface-3:#161a28;--rg-border:#ffffff14;--rg-border-strong:#ffffff29;--rg-hairline:#ffffff0d;--rg-text:#eaf0fb;--rg-text-2:#9aa6c0;--rg-text-3:#5d6783;--rg-text-invert:#05060c;--rg-sans:var(--font-geist-sans), system-ui, -apple-system, sans-serif;--rg-display:var(--font-geist-sans), system-ui, -apple-system, sans-serif;--rg-mono:var(--font-geist-mono), "SFMono-Regular", ui-monospace, monospace;--rg-section-y:140px;--rg-gutter:clamp(20px, 5vw, 80px);--rg-maxw:1240px;--rg-r-sm:8px;--rg-r-md:14px;--rg-r-lg:22px;--rg-r-xl:32px;--rg-ease:cubic-bezier(.22, 1, .36, 1);--rg-ease-out:cubic-bezier(.16, 1, .3, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--rg-bg:#f7f8fb;--rg-bg-2:#eef1f7;--rg-surface:#fff;--rg-surface-2:#f4f6fb;--rg-surface-3:#eceff6;--rg-border:#080c1c1a;--rg-border-strong:#080c1c2e;--rg-hairline:#080c1c0f;--rg-text:#0b1020;--rg-text-2:#475069;--rg-text-3:#8b94ad;--rg-text-invert:#fff;--rg-accent-soft:#3b82f61a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--rg-sans), system-ui, -apple-system, sans-serif;background:var(--rg-bg);color:var(--rg-text);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:17px;line-height:1.55;overflow-x:hidden}::selection{background:var(--rg-accent);color:#fff}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}img{max-width:100%;display:block}.rg-shell{background:var(--rg-bg);min-height:100vh;position:relative}.rg-wrap{width:100%;max-width:var(--rg-maxw);padding-inline:var(--rg-gutter);margin:0 auto}.rg-section{padding-block:var(--rg-section-y);position:relative}.rg-eyebrow{font-family:var(--rg-mono), ui-monospace, monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--rg-accent-2);align-items:center;gap:10px;font-size:12.5px;font-weight:500;display:inline-flex}.rg-eyebrow:before{content:"";background:linear-gradient(90deg, var(--rg-accent-2), transparent);width:26px;height:1px}.rg-section-title{font-family:var(--rg-display), var(--rg-sans), sans-serif;letter-spacing:-.035em;text-wrap:balance;max-width:16ch;margin-top:22px;font-size:clamp(2rem,4.6vw,3.4rem);font-weight:600;line-height:1.02}.rg-section-lead{color:var(--rg-text-2);text-wrap:pretty;max-width:56ch;margin-top:20px;font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.6}.rg-grad-text{background:linear-gradient(110deg, var(--rg-accent) 10%, var(--rg-accent-2) 90%);color:#0000;-webkit-background-clip:text;background-clip:text}#rg-bg-canvas{z-index:0;pointer-events:none;opacity:.9;position:fixed;inset:0}.rg-bg-grid{z-index:0;pointer-events:none;background-image:linear-gradient(var(--rg-hairline) 1px, transparent 1px), linear-gradient(90deg, var(--rg-hairline) 1px, transparent 1px);background-size:64px 64px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(90% 70% at 50% 0,#000 25%,#0000 75%);mask-image:radial-gradient(90% 70% at 50% 0,#000 25%,#0000 75%)}.rg-app{z-index:1;position:relative}.rg-nav{z-index:50;transition:background .4s var(--rg-ease), border-color .4s, backdrop-filter .4s;border-bottom:1px solid #0000;position:fixed;top:0;left:0;right:0}.rg-nav.scrolled{background:var(--rg-bg)}@supports (color:color-mix(in lab, red, red)){.rg-nav.scrolled{background:color-mix(in srgb, var(--rg-bg) 72%, transparent)}}.rg-nav.scrolled{-webkit-backdrop-filter:blur(16px)saturate(140%);border-bottom:1px solid var(--rg-border)}.rg-nav-inner{max-width:var(--rg-maxw);padding:16px var(--rg-gutter);justify-content:space-between;align-items:center;gap:24px;margin:0 auto;display:flex}.rg-logo{letter-spacing:-.02em;align-items:center;gap:11px;font-size:16px;font-weight:600;display:flex}.rg-logo-mark{background:linear-gradient(135deg, var(--rg-accent), var(--rg-accent-2));color:#fff;width:34px;height:34px;font-family:var(--rg-mono), ui-monospace, monospace;box-shadow:0 0 0 1px var(--rg-border-strong), 0 6px 20px -8px var(--rg-glow);border-radius:9px;place-items:center;font-size:15px;font-weight:600;display:grid}.rg-nav-links{align-items:center;gap:4px;display:flex}.rg-nav-link{color:var(--rg-text-2);border-radius:9px;padding:9px 14px;font-size:14.5px;font-weight:450;transition:color .2s,background .2s}.rg-nav-link:hover{color:var(--rg-text);background:var(--rg-surface-2)}.rg-nav-cta{align-items:center;gap:10px;display:flex}.rg-btn{letter-spacing:-.01em;transition:transform .25s var(--rg-ease), box-shadow .3s, background .3s, border-color .3s;white-space:nowrap;border-radius:11px;align-items:center;gap:10px;padding:13px 22px;font-size:15px;font-weight:500;display:inline-flex}.rg-btn-primary{background:linear-gradient(135deg, var(--rg-accent), var(--rg-accent-2));color:#fff;box-shadow:0 1px 0 #fff3 inset, 0 10px 30px -12px var(--rg-glow)}.rg-btn-primary:hover{box-shadow:0 1px 0 #ffffff40 inset, 0 18px 40px -12px var(--rg-glow);transform:translateY(-2px)}.rg-btn-ghost{border:1px solid var(--rg-border-strong);color:var(--rg-text);background:var(--rg-surface)}@supports (color:color-mix(in lab, red, red)){.rg-btn-ghost{background:color-mix(in srgb, var(--rg-surface) 40%, transparent)}}.rg-btn-ghost:hover{background:var(--rg-surface-2);border-color:var(--rg-accent);transform:translateY(-2px)}.rg-btn-sm{border-radius:9px;padding:9px 16px;font-size:13.5px}.rg-pill{font-family:var(--rg-mono), ui-monospace, monospace;letter-spacing:.02em;border:1px solid var(--rg-border);background:var(--rg-surface-2);color:var(--rg-text-2);border-radius:999px;align-items:center;gap:8px;padding:7px 13px;font-size:12px;display:inline-flex}.rg-dot{background:var(--rg-accent-2);width:7px;height:7px;box-shadow:0 0 10px var(--rg-glow);border-radius:50%}.rg-dot.live{animation:2s infinite rg-pulse}@keyframes rg-pulse{0%,to{opacity:1}50%{opacity:.35}}.rg-tag{font-family:var(--rg-mono), ui-monospace, monospace;background:var(--rg-accent-soft);color:var(--rg-accent-2);border:1px solid var(--rg-accent-2);border-radius:6px;padding:4px 10px;font-size:11.5px}@supports (color:color-mix(in lab, red, red)){.rg-tag{border:1px solid color-mix(in srgb, var(--rg-accent-2) 22%, transparent)}}.rg-card{background:var(--rg-surface);border:1px solid var(--rg-border);border-radius:var(--rg-r-lg);transition:border-color .35s, transform .35s var(--rg-ease), box-shadow .35s;position:relative;overflow:hidden}.rg-card:hover{border-color:var(--rg-border-strong)}.rg-card-glow:before{content:"";border-radius:inherit;background:linear-gradient(135deg, var(--rg-accent), var(--rg-accent-2));-webkit-mask-composite:xor;opacity:0;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;padding:1px;transition:opacity .4s;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;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.rg-card-glow:hover:before{opacity:1}.rg-reveal{opacity:0;transition:opacity .8s var(--rg-ease-out), transform .8s var(--rg-ease-out);transform:translateY(26px)}.rg-reveal.in{opacity:1;transform:none}@keyframes rg-blink{0%,50%{opacity:1}51%,to{opacity:0}}.rg-hero{align-items:center;min-height:100vh;padding-top:120px;padding-bottom:80px;display:flex;position:relative}.rg-hero-grid{grid-template-columns:1.35fr .9fr;align-items:center;gap:clamp(32px,6vw,88px);width:100%;display:grid}.rg-hero-status{align-items:center;gap:9px;margin-bottom:30px;display:inline-flex}.rg-hero h1{font-family:var(--rg-display), var(--rg-sans), sans-serif;letter-spacing:-.045em;margin:0;font-size:clamp(2.6rem,6.6vw,5.4rem);font-weight:600;line-height:.98}.rg-hero h1 .line{display:block;overflow:hidden}.rg-role-rotator{font-family:var(--rg-mono), ui-monospace, monospace;letter-spacing:-.01em;color:var(--rg-text-2);align-items:center;gap:12px;min-height:1.6em;margin-top:30px;font-size:clamp(.95rem,1.7vw,1.35rem);font-weight:500;display:flex}.rg-role-rotator .cursor{background:var(--rg-accent-2);border-radius:1px;width:10px;height:1.05em;animation:1.1s steps(2,end) infinite rg-blink;display:inline-block;transform:translateY(2px)}.rg-role-rotator .rg-grad-text{font-weight:600}.rg-hero-lead{color:var(--rg-text-2);text-wrap:pretty;max-width:48ch;margin-top:26px;font-size:clamp(1.05rem,1.7vw,1.3rem);line-height:1.6}.rg-hero-cta{flex-wrap:wrap;gap:14px;margin-top:38px;display:flex}.rg-hero-meta{border-top:1px solid var(--rg-border);flex-wrap:wrap;gap:30px;margin-top:40px;padding-top:28px;display:flex}.rg-hero-meta .m{flex-direction:column;gap:3px;display:flex}.rg-hero-meta .m .v{letter-spacing:-.02em;font-size:21px;font-weight:600}.rg-hero-meta .m .l{font-family:var(--rg-mono), ui-monospace, monospace;color:var(--rg-text-3);letter-spacing:.04em;text-transform:uppercase;font-size:11.5px}.rg-hero-portrait{justify-self:center;position:relative}.rg-portrait-frame{aspect-ratio:4/5;border-radius:var(--rg-r-xl);border:1px solid var(--rg-border-strong);background:var(--rg-surface-2);width:clamp(260px,30vw,380px);box-shadow:0 40px 90px -40px var(--rg-glow), 0 0 0 1px var(--rg-hairline);position:relative;overflow:hidden}.rg-portrait-image{object-fit:cover;object-position:center 18%;width:100%;height:100%}.rg-portrait-frame:after{content:"";pointer-events:none;background:linear-gradient(150deg, var(--rg-accent), transparent 55%, var(--rg-accent-2));position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.rg-portrait-frame:after{background:linear-gradient(150deg, color-mix(in srgb, var(--rg-accent) 32%, transparent), transparent 55%, color-mix(in srgb, var(--rg-accent-2) 28%, transparent))}}.rg-portrait-frame:after{mix-blend-mode:overlay}.rg-portrait-frame:before{content:"";z-index:2;pointer-events:none;opacity:.4;mix-blend-mode:multiply;background-image:repeating-linear-gradient(0deg,#0000001a 0 2px,#0000 2px 4px);position:absolute;inset:0}.rg-portrait-badge{z-index:3;background:var(--rg-bg);border-radius:12px;justify-content:space-between;align-items:center;padding:11px 14px;display:flex;position:absolute;bottom:16px;left:16px;right:16px}@supports (color:color-mix(in lab, red, red)){.rg-portrait-badge{background:color-mix(in srgb, var(--rg-bg) 55%, transparent)}}.rg-portrait-badge{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--rg-border);font-family:var(--rg-mono), ui-monospace, monospace;color:var(--rg-text);white-space:nowrap;font-size:11.5px}.rg-portrait-deco{z-index:-1;border:1px solid var(--rg-border);border-radius:calc(var(--rg-r-xl) + 18px);position:absolute;inset:-18px;-webkit-mask-image:linear-gradient(135deg,#000,#0000 70%);mask-image:linear-gradient(135deg,#000,#0000 70%)}.rg-scroll-hint{font-family:var(--rg-mono), ui-monospace, monospace;letter-spacing:.18em;color:var(--rg-text-3);text-transform:uppercase;flex-direction:column;align-items:center;gap:9px;font-size:11px;display:flex;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.rg-scroll-hint .bar{background:linear-gradient(var(--rg-accent-2), transparent);width:1px;height:38px}.rg-marquee{border-block:1px solid var(--rg-border);background:var(--rg-surface);padding-block:26px;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.rg-marquee{background:color-mix(in srgb, var(--rg-surface) 35%, transparent)}}.rg-marquee:before,.rg-marquee:after{content:"";z-index:2;width:14%;position:absolute;top:0;bottom:0}.rg-marquee:before{background:linear-gradient(90deg, var(--rg-bg), transparent);left:0}.rg-marquee:after{background:linear-gradient(270deg, var(--rg-bg), transparent);right:0}.rg-marquee-track{gap:56px;width:max-content;animation:38s linear infinite rg-scroll;display:flex}.rg-marquee:hover .rg-marquee-track{animation-play-state:paused}@keyframes rg-scroll{to{transform:translate(-50%)}}.rg-marquee-item{font-family:var(--rg-mono), ui-monospace, monospace;color:var(--rg-text-2);white-space:nowrap;letter-spacing:.02em;align-items:center;gap:14px;font-size:15px;display:flex}.rg-marquee-item span{color:var(--rg-accent-2)}.rg-pillars{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:64px;display:grid}.rg-pillar{flex-direction:column;gap:16px;padding:30px;display:flex}.rg-pillar .code{font-family:var(--rg-mono), ui-monospace, monospace;color:var(--rg-accent-2);font-size:13px}.rg-pillar h3,.rg-case-body h3,.rg-proj h4,.rg-tl-role,.rg-contact h2,.rg-hl .hl-title{font-family:var(--rg-display), var(--rg-sans), sans-serif}.rg-pillar h3{letter-spacing:-.025em;font-size:1.4rem;font-weight:600}.rg-pillar p{color:var(--rg-text-2);flex:1;font-size:15.5px;line-height:1.6}.rg-pillar .tags{flex-wrap:wrap;gap:8px;display:flex}.rg-about-grid{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(36px,6vw,90px);display:grid}.rg-about-body{flex-direction:column;gap:22px;display:flex}.rg-about-body p{color:var(--rg-text-2);text-wrap:pretty;font-size:1.08rem;line-height:1.7}.rg-about-body p strong{color:var(--rg-text);font-weight:600}.rg-edu-list{flex-direction:column;gap:2px;margin-top:8px;display:flex}.rg-edu{border-bottom:1px solid var(--rg-border);justify-content:space-between;align-items:baseline;gap:18px;padding:18px 0;display:flex}.rg-edu:first-child{border-top:1px solid var(--rg-border)}.rg-edu .d{font-size:15.5px;font-weight:550}.rg-edu .s{color:var(--rg-text-3);font-size:13.5px}.rg-edu .p{font-family:var(--rg-mono), ui-monospace, monospace;color:var(--rg-accent-2);white-space:nowrap;font-size:12.5px}.rg-stats{background:var(--rg-border);border:1px solid var(--rg-border);border-radius:var(--rg-r-lg);grid-template-columns:repeat(4,1fr);gap:1px;display:grid;overflow:hidden}.rg-stat{background:var(--rg-surface);flex-direction:column;gap:6px;padding:34px 28px;transition:background .3s;display:flex;position:relative}.rg-stat:hover{background:var(--rg-surface-2)}.rg-stat .v{letter-spacing:-.04em;font-size:clamp(2rem,3.4vw,2.9rem);font-weight:600;line-height:1}.rg-stat .l{margin-top:8px;font-size:15px;font-weight:500}.rg-stat .s{font-family:var(--rg-mono), ui-monospace, monospace;color:var(--rg-text-3);font-size:12px}.rg-work-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:30px;display:flex}.rg-featured{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:60px;display:grid}.rg-case{min-height:100%;display:block}.rg-case-body{flex-direction:column;justify-content:center;gap:18px;padding:clamp(28px,3.5vw,48px);display:flex}.rg-case-meta{font-family:var(--rg-mono), ui-monospace, monospace;color:var(--rg-text-3);text-transform:uppercase;letter-spacing:.05em;flex-wrap:wrap;gap:16px;font-size:12px;display:flex}.rg-case-meta b{color:var(--rg-accent-2);font-weight:500}.rg-case-body h3{letter-spacing:-.03em;font-size:clamp(1.7rem,3vw,2.4rem);font-weight:600;line-height:1.05}.rg-case-body .desc{color:var(--rg-text-2);max-width:50ch;font-size:1.04rem;line-height:1.6}.rg-case-outcomes{flex-wrap:wrap;gap:30px;padding:18px 0;display:flex}.rg-case-outcomes .o{flex-direction:column;gap:2px;display:flex}.rg-case-outcomes .o .ov{font-size:17px;font-weight:600}.rg-case-outcomes .o .ok{font-family:var(--rg-mono), ui-monospace, monospace;color:var(--rg-text-3);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.rg-case-foot{flex-wrap:wrap;align-items:center;gap:14px;margin-top:4px;display:flex}.rg-case-tags{flex-wrap:wrap;gap:8px;display:flex}.rg-case-link{font-family:var(--rg-mono), ui-monospace, monospace;color:var(--rg-accent-2);align-items:center;gap:8px;font-size:13px;font-weight:500;transition:gap .25s;display:inline-flex}.rg-case-link:hover{gap:13px}.rg-pgrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:40px;display:grid}.rg-proj{cursor:default;flex-direction:column;gap:14px;min-height:200px;padding:24px;display:flex}.rg-proj .top{justify-content:space-between;align-items:center;display:flex}.rg-proj .pglyph{width:44px;height:44px;font-family:var(--rg-mono), ui-monospace, monospace;background:var(--rg-surface-3);color:var(--rg-accent-2);border:1px solid var(--rg-border);border-radius:11px;place-items:center;font-size:15px;font-weight:600;display:grid}.rg-proj h4{letter-spacing:-.02em;margin-top:auto;font-size:1.12rem;font-weight:600}.rg-proj .client{color:var(--rg-text-3);font-size:13.5px}.rg-proj .ptags{flex-wrap:wrap;gap:7px;margin-top:4px;display:flex}.rg-proj .arrow{color:var(--rg-text-3);transition:color .25s,transform .25s}.rg-proj:hover .arrow{color:var(--rg-accent-2);transform:translate(3px,-3px)}.rg-exp-grid{grid-template-columns:.7fr 1.3fr;align-items:start;gap:clamp(36px,6vw,80px);margin-top:56px;display:grid}.rg-timeline{flex-direction:column;display:flex}.rg-tl-item{border-left:1px solid var(--rg-border);padding:0 0 40px 32px;position:relative}.rg-tl-item:last-child{padding-bottom:0}.rg-tl-item:before{content:"";background:var(--rg-surface);border:1px solid var(--rg-text-3);border-radius:50%;width:9px;height:9px;position:absolute;top:6px;left:-5px}.rg-tl-item.current:before{background:var(--rg-accent-2);border-color:var(--rg-accent-2);box-shadow:0 0 0 4px var(--rg-accent-soft)}.rg-tl-period{font-family:var(--rg-mono), ui-monospace, monospace;color:var(--rg-accent-2);letter-spacing:.03em;font-size:12px}.rg-tl-role{letter-spacing:-.025em;margin-top:6px;font-size:1.3rem;font-weight:600}.rg-tl-org{color:var(--rg-text-2);margin-bottom:14px;font-size:14.5px}.rg-tl-points{flex-direction:column;gap:9px;list-style:none;display:flex}.rg-tl-points li{color:var(--rg-text-2);padding-left:20px;font-size:14.5px;line-height:1.5;position:relative}.rg-tl-points li:before{content:"→";color:var(--rg-text-3);font-family:var(--rg-mono), ui-monospace, monospace;position:absolute;left:0}.rg-exp-aside{position:sticky;top:110px}.rg-skillset{flex-direction:column;gap:30px;display:flex}.rg-skillgroup .sg-title{font-family:var(--rg-mono), ui-monospace, monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--rg-text-3);margin-bottom:16px;font-size:12px}.rg-skill{margin-bottom:16px}.rg-skill .sk-top{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.rg-skill .sk-name{font-size:14.5px;font-weight:500}.rg-skill .sk-val{font-family:var(--rg-mono), ui-monospace, monospace;color:var(--rg-text-3);font-size:12px}.rg-skill .sk-bar{background:var(--rg-surface-3);border-radius:99px;height:4px;overflow:hidden}.rg-skill .sk-fill{background:linear-gradient(90deg, var(--rg-accent), var(--rg-accent-2));width:0;height:100%;transition:width 1.1s var(--rg-ease-out);box-shadow:0 0 12px var(--rg-glow);border-radius:99px}.rg-writing-grid{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(36px,6vw,80px);display:grid}.rg-topic-cloud{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.rg-highlights{background:var(--rg-border);border:1px solid var(--rg-border);border-radius:var(--rg-r-lg);flex-direction:column;gap:1px;display:flex;overflow:hidden}.rg-hl{background:var(--rg-surface);justify-content:space-between;align-items:center;gap:18px;padding:22px 26px;transition:background .3s;display:flex}.rg-hl:hover{background:var(--rg-surface-2)}.rg-hl .hl-l{flex-direction:column;gap:3px;display:flex}.rg-hl .hl-title{letter-spacing:-.02em;font-size:1.05rem;font-weight:600}.rg-hl .hl-meta{font-family:var(--rg-mono), ui-monospace, monospace;color:var(--rg-text-3);font-size:12px}.rg-hl .hl-kind{font-family:var(--rg-mono), ui-monospace, monospace;background:var(--rg-accent-soft);color:var(--rg-accent-2);white-space:nowrap;border:1px solid var(--rg-accent-2);border-radius:6px;padding:5px 11px;font-size:11px}@supports (color:color-mix(in lab, red, red)){.rg-hl .hl-kind{border:1px solid color-mix(in srgb, var(--rg-accent-2) 20%, transparent)}}.rg-contact{position:relative}.rg-contact-card{border-radius:var(--rg-r-xl);border:1px solid var(--rg-border-strong);background:radial-gradient(130% 120% at 80% 0%, var(--rg-accent), transparent 55%), var(--rg-surface)}@supports (color:color-mix(in lab, red, red)){.rg-contact-card{background:radial-gradient(130% 120% at 80% 0%, color-mix(in srgb, var(--rg-accent) 18%, transparent), transparent 55%), var(--rg-surface)}}.rg-contact-card{grid-template-columns:1.1fr .9fr;gap:clamp(40px,6vw,80px);padding:clamp(40px,6vw,80px);display:grid;position:relative;overflow:hidden}.rg-contact-card:before{content:"";pointer-events:none;background-image:linear-gradient(var(--rg-hairline) 1px, transparent 1px), linear-gradient(90deg, var(--rg-hairline) 1px, transparent 1px);background-size:40px 40px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(60% 100% at 80% 0,#000,#0000 70%);mask-image:radial-gradient(60% 100% at 80% 0,#000,#0000 70%)}.rg-contact-card>*{z-index:1;position:relative}.rg-contact h2{letter-spacing:-.035em;font-size:clamp(2rem,4.4vw,3.4rem);font-weight:600;line-height:1.02}.rg-contact .sub{color:var(--rg-text-2);max-width:44ch;margin-top:18px;font-size:1.1rem;line-height:1.6}.rg-booking-panel{flex-direction:column;justify-content:center;align-self:stretch;gap:16px;padding:8px 0;display:flex}.rg-booking-panel h3{letter-spacing:-.03em;font-size:clamp(1.35rem,2.2vw,2rem);font-weight:600;line-height:1.1}.rg-booking-panel p{color:var(--rg-text-2);max-width:34ch;font-size:1.03rem;line-height:1.65}.rg-booking-actions{flex-wrap:wrap;gap:12px;margin-top:4px;display:flex}.rg-booking-note{font-family:var(--rg-mono), ui-monospace, monospace;color:var(--rg-text-3);max-width:34ch;font-size:12px}.rg-contact-points{flex-direction:column;gap:14px;margin-top:32px;display:flex}.rg-cp{align-items:center;gap:14px;display:flex}.rg-cp .ico{background:var(--rg-surface-2);border:1px solid var(--rg-border);width:38px;height:38px;color:var(--rg-accent-2);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.rg-cp .ct{flex-direction:column;display:flex}.rg-cp .ct .k{font-family:var(--rg-mono), ui-monospace, monospace;color:var(--rg-text-3);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.rg-cp .ct .v{font-size:15px;font-weight:500}.rg-footer{border-top:1px solid var(--rg-border);padding-block:50px}.rg-footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.rg-footer .copy{font-family:var(--rg-mono), ui-monospace, monospace;color:var(--rg-text-3);font-size:12.5px}.rg-footer-soc{gap:10px;display:flex}.rg-soc{border:1px solid var(--rg-border);background:var(--rg-surface);width:40px;height:40px;color:var(--rg-text-2);border-radius:10px;place-items:center;transition:color .25s,border-color .25s,transform .25s;display:grid}.rg-soc:hover{color:var(--rg-accent-2);border-color:var(--rg-accent);transform:translateY(-2px)}@media (max-width:980px){:root{--rg-section-y:100px}.rg-hero-grid{grid-template-columns:1fr}.rg-hero-portrait{order:-1}.rg-portrait-frame{width:clamp(220px,60vw,300px)}.rg-pillars,.rg-about-grid,.rg-writing-grid{grid-template-columns:1fr}.rg-stats{grid-template-columns:repeat(2,1fr)}.rg-featured{grid-template-columns:1fr}.rg-pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.rg-exp-grid{grid-template-columns:1fr}.rg-exp-aside{position:static}.rg-contact-card{grid-template-columns:1fr}.rg-nav-links{display:none}}@media (max-width:560px){body{font-size:16px}.rg-stats,.rg-pgrid{grid-template-columns:1fr}.rg-hero-meta{gap:20px}.rg-scroll-hint{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@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-leading{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@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-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}
