@font-face{font-family:GeistSans;src:url(../media/Geist_Variable-s.p.92592eb2.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.geistsans_d5a4f12f-module__29bE-W__className{font-family:GeistSans,GeistSans Fallback}.geistsans_d5a4f12f-module__29bE-W__variable{--font-geist-sans:"GeistSans","GeistSans Fallback"}
@font-face{font-family:GeistMono;src:url(../media/GeistMono_Variable.p.2f937313.woff2)format("woff2");font-display:swap;font-weight:100 900}.geistmono_157ca88a-module__vTOxsa__className{font-family:GeistMono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.geistmono_157ca88a-module__vTOxsa__variable{--font-geist-mono:"GeistMono",ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}
@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-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:var(--font-geist-sans),system-ui,sans-serif;--font-mono:var(--font-geist-mono),ui-monospace,monospace;--spacing:.25rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-lg:.5rem;--radius-xl:.75rem;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#000;--color-surface:#080808;--color-surface-raised:#111;--color-border:#191919;--color-border-hover:#333;--color-muted:#555;--color-text:#999;--color-heading:#fff;--color-accent:#d97706;--color-accent-dim:#d9770630;--color-accent-glow:#d9770618;--color-accent-subtle:#d977060a}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-16{margin-top:calc(var(--spacing)*16)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.mb-16{margin-bottom:calc(var(--spacing)*16)}.-ml-3{margin-left:calc(var(--spacing)*-3)}.ml-1\.5{margin-left:calc(var(--spacing)*1.5)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.min-h-screen{min-height:100vh}.w-6{width:calc(var(--spacing)*6)}.max-w-3xl{max-width:var(--container-3xl)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[var\(--color-accent\)\]{border-color:var(--color-accent)}.border-\[var\(--color-blue\)\]\/20{border-color:var(--color-blue)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--color-blue\)\]\/20{border-color:color-mix(in oklab,var(--color-blue)20%,transparent)}}.border-\[var\(--color-border\)\]{border-color:var(--color-border)}.border-\[var\(--color-orange\)\]\/20{border-color:var(--color-orange)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--color-orange\)\]\/20{border-color:color-mix(in oklab,var(--color-orange)20%,transparent)}}.border-\[var\(--color-purple\)\]\/20{border-color:var(--color-purple)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--color-purple\)\]\/20{border-color:color-mix(in oklab,var(--color-purple)20%,transparent)}}.border-\[var\(--color-yellow\)\]\/20{border-color:var(--color-yellow)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--color-yellow\)\]\/20{border-color:color-mix(in oklab,var(--color-yellow)20%,transparent)}}.bg-\[var\(--color-accent-glow\)\]{background-color:var(--color-accent-glow)}.bg-\[var\(--color-bg\)\]{background-color:var(--color-bg)}.bg-\[var\(--color-blue\)\]\/5{background-color:var(--color-blue)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--color-blue\)\]\/5{background-color:color-mix(in oklab,var(--color-blue)5%,transparent)}}.bg-\[var\(--color-orange\)\]\/5{background-color:var(--color-orange)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--color-orange\)\]\/5{background-color:color-mix(in oklab,var(--color-orange)5%,transparent)}}.bg-\[var\(--color-purple\)\]\/5{background-color:var(--color-purple)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--color-purple\)\]\/5{background-color:color-mix(in oklab,var(--color-purple)5%,transparent)}}.bg-\[var\(--color-surface\)\]{background-color:var(--color-surface)}.bg-\[var\(--color-surface\)\]\/60{background-color:#08080899}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--color-surface\)\]\/60{background-color:color-mix(in oklab,var(--color-surface)60%,transparent)}}.bg-\[var\(--color-surface-raised\)\]{background-color:var(--color-surface-raised)}.bg-\[var\(--color-yellow\)\]\/5{background-color:var(--color-yellow)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--color-yellow\)\]\/5{background-color:color-mix(in oklab,var(--color-yellow)5%,transparent)}}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-5{padding-block:calc(var(--spacing)*5)}.py-10{padding-block:calc(var(--spacing)*10)}.py-12{padding-block:calc(var(--spacing)*12)}.py-20{padding-block:calc(var(--spacing)*20)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-24{padding-top:calc(var(--spacing)*24)}.pt-px{padding-top:1px}.pb-12{padding-bottom:calc(var(--spacing)*12)}.pb-16{padding-bottom:calc(var(--spacing)*16)}.pb-20{padding-bottom:calc(var(--spacing)*20)}.text-center{text-align:center}.font-\[family-name\:var\(--font-mono\)\]{font-family:var(--font-mono)}.font-\[family-name\:var\(--font-sans\)\]{font-family:var(--font-sans)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-\[1\.15\]{--tw-leading:1.15;line-height:1.15}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-all{word-break:break-all}.text-\[var\(--color-accent\)\]{color:var(--color-accent)}.text-\[var\(--color-blue\)\]{color:var(--color-blue)}.text-\[var\(--color-border\)\]{color:var(--color-border)}.text-\[var\(--color-border-hover\)\]{color:var(--color-border-hover)}.text-\[var\(--color-heading\)\]{color:var(--color-heading)}.text-\[var\(--color-muted\)\]{color:var(--color-muted)}.text-\[var\(--color-orange\)\]{color:var(--color-orange)}.text-\[var\(--color-purple\)\]{color:var(--color-purple)}.text-\[var\(--color-text\)\]{color:var(--color-text)}.text-\[var\(--color-yellow\)\]{color:var(--color-yellow)}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-60{opacity:.6}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-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-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-1{transition-delay:1ms}.delay-2{transition-delay:2ms}.delay-3{transition-delay:3ms}.duration-300{--tw-duration:.3s;transition-duration:.3s}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:text-\[var\(--color-accent\)\]:is(:where(.group):hover *){color:var(--color-accent)}.group-hover\:text-\[var\(--color-text\)\]:is(:where(.group):hover *){color:var(--color-text)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\/link\:translate-x-0\.5:is(:where(.group\/link):hover *){--tw-translate-x:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:border-\[var\(--color-border-hover\)\]:hover{border-color:var(--color-border-hover)}.hover\:bg-\[var\(--color-surface\)\]:hover{background-color:var(--color-surface)}.hover\:text-\[var\(--color-accent\)\]:hover{color:var(--color-accent)}.hover\:text-\[var\(--color-heading\)\]:hover{color:var(--color-heading)}.hover\:underline:hover{text-decoration-line:underline}}@media (min-width:40rem){.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-baseline{align-items:baseline}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:pt-32{padding-top:calc(var(--spacing)*32)}.sm\:pb-16{padding-bottom:calc(var(--spacing)*16)}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}}}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);overflow-x:hidden}::selection{background:var(--color-accent);color:var(--color-bg)}.grain:after{content:"";z-index:-1;pointer-events:none;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;position:fixed;inset:0}.stage-light{background:radial-gradient(circle,var(--color-accent)0%,transparent 70%);filter:blur(120px);opacity:.05;pointer-events:none;z-index:0;border-radius:50%;width:800px;height:800px;animation:12s ease-in-out infinite alternate glow-drift;position:fixed;top:-300px;right:-200px}.stage-light-secondary{filter:blur(150px);opacity:.025;pointer-events:none;z-index:0;background:radial-gradient(circle,#d97706 0%,#0000 70%);border-radius:50%;width:600px;height:600px;animation:15s ease-in-out infinite alternate glow-drift-reverse;position:fixed;bottom:-400px;left:-300px}@keyframes glow-drift{0%{transform:translate(0)}to{transform:translate(-30px,20px)}}@keyframes glow-drift-reverse{0%{transform:translate(0)}to{transform:translate(20px,-30px)}}@keyframes fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes hero-enter{0%{opacity:0;filter:blur(12px);transform:translateY(32px)scale(.97)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.animate-hero{animation:1s cubic-bezier(.22,1,.36,1) both hero-enter}.animate-hero-delayed{animation:1s cubic-bezier(.22,1,.36,1) .15s both hero-enter}.animate-fade-up{animation:.7s cubic-bezier(.22,1,.36,1) both fade-up}.animate-fade-in{animation:.6s both fade-in}.delay-0{animation-delay:0s}.delay-1{animation-delay:80ms}.delay-2{animation-delay:.16s}.delay-3{animation-delay:.24s}.delay-4{animation-delay:.32s}.delay-5{animation-delay:.4s}.reveal{opacity:0;transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1);transform:translateY(20px)}.reveal.visible{opacity:1;transform:translateY(0)}.hero-gradient{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#fff 0%,#d97706 50%,#fff 100%) 0 0/200% 200%;-webkit-background-clip:text;background-clip:text;animation:6s ease-in-out infinite gradient-shift}@keyframes gradient-shift{0%,to{background-position:0%}50%{background-position:100%}}.skill-row{border-radius:8px;transition:all .3s cubic-bezier(.22,1,.36,1);position:relative}.skill-row:before{content:"";background:var(--color-accent);width:2px;height:0;box-shadow:0 0 8px var(--color-accent-dim);border-radius:1px;transition:height .3s cubic-bezier(.22,1,.36,1);position:absolute;top:50%;left:-12px;transform:translateY(-50%)}.skill-row:hover:before{height:60%}.skill-row:hover{background:linear-gradient(135deg,var(--color-surface)0%,var(--color-accent-subtle)100%);box-shadow:0 4px 24px -4px #0000004d,0 0 0 1px var(--color-border);padding-left:8px}@keyframes copy-pulse{0%{box-shadow:0 0 0 0 var(--color-accent-dim)}70%{box-shadow:0 0 0 10px #0000}to{box-shadow:0 0 #0000}}.copy-success{animation:.5s copy-pulse}.cursor-blink:after{content:"|";color:var(--color-accent);font-weight:300;animation:1s step-end infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.install-box{transition:border-color .4s,box-shadow .4s,transform .3s;position:relative}.install-box:hover{border-color:var(--color-border-hover);box-shadow:0 0 60px var(--color-accent-subtle),0 0 0 1px var(--color-border-hover);transform:translateY(-1px)}.gradient-border{position:relative;overflow:hidden}.gradient-border:after{content:"";border-radius:inherit;background:linear-gradient(135deg,var(--color-border),var(--color-accent-dim),var(--color-border));-webkit-mask-composite:xor;pointer-events:none;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;background-size:300% 300%;padding:1px;animation:4s infinite border-shimmer;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;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}@keyframes border-shimmer{0%,to{background-position:0%}50%{background-position:100%}}.step-number{border:1px solid var(--color-border);width:28px;height:28px;font-family:var(--font-mono);color:var(--color-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;transition:all .4s cubic-bezier(.22,1,.36,1);display:inline-flex}.step{transition:transform .3s}.step:hover{transform:translate(4px)}.step:hover .step-number{border-color:var(--color-accent);color:var(--color-accent);box-shadow:0 0 16px var(--color-accent-glow),0 0 4px var(--color-accent-dim);transform:scale(1.05)}.divider{background:linear-gradient(90deg,transparent,var(--color-border)20%,var(--color-accent-dim)50%,var(--color-border)80%,transparent);height:1px}.skill-count{color:var(--color-accent);font-weight:600;position:relative}.skill-count:after{content:"";background:var(--color-accent);opacity:.3;height:1px;position:absolute;bottom:-2px;left:0;right:0}.tag{transition:all .25s}.tag:hover{border-color:var(--color-accent-dim);color:var(--color-accent);background:var(--color-accent-subtle)}.back-link{transition:all .25s}.back-link:hover{transform:translate(-4px)}.back-link:hover svg{transform:translate(-2px)}.prose{color:var(--color-text);font-size:.9rem;line-height:1.8}.prose h1,.prose h2,.prose h3,.prose h4{color:var(--color-heading);font-family:var(--font-sans);letter-spacing:-.02em;margin-top:2.5em;margin-bottom:.75em;font-weight:700}.prose h1{font-size:1.5rem}.prose h2{border-bottom:1px solid var(--color-border);padding-bottom:.5em;font-size:1.2rem}.prose h3{color:var(--color-accent);font-size:1rem}.prose p{margin-bottom:1.25em}.prose code{background:var(--color-surface-raised);border:1px solid var(--color-border);font-size:.85em;font-family:var(--font-mono);color:var(--color-accent);border-radius:4px;padding:.15em .4em}.prose pre{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;margin-bottom:1.5em;padding:1em;overflow-x:auto}.prose pre code{color:var(--color-text);background:0 0;border:none;padding:0;font-size:.85em}.prose ul,.prose ol{margin-bottom:1.25em;padding-left:1.5em}.prose li{margin-bottom:.3em}.prose ul li{list-style-type:disc}.prose ol li{list-style-type:decimal}.prose li::marker{color:var(--color-accent)}.prose a{color:var(--color-accent);border-bottom:1px solid var(--color-accent-dim);text-decoration:none;transition:border-color .2s}.prose a:hover{border-color:var(--color-accent)}.prose strong{color:var(--color-heading);font-weight:600}.prose blockquote{border-left:2px solid var(--color-accent);color:var(--color-muted);margin:1.5em 0;padding-left:1em;font-style:italic}.prose hr{background:var(--color-border);border:none;height:1px;margin:2em 0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@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}
