.terminal-navbar[data-astro-cid-5blmo7yk]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--border-color)}.terminal-prompt[data-astro-cid-5blmo7yk]{font-family:JetBrains Mono,monospace}.typing-animation[data-astro-cid-5blmo7yk]{animation:1.2s step-end infinite cursor-blink;position:relative}.typing-animation[data-astro-cid-5blmo7yk]:after{content:"";background-color:var(--accent-green);width:8px;height:1.2em;animation:1.2s step-end infinite cursor-blink;position:absolute;top:0;right:-8px}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.terminal-footer[data-astro-cid-sz7xmlte]{font-family:JetBrains Mono,monospace}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer theme{:root,:host{--bg-terminal:#121212;--text-primary:#e0e0e0;--text-secondary:#a0a0a0;--text-tertiary:gray;--accent-green:#00ff85;--accent-blue:#4a9fff;--accent-amber:#ffca28;--border-color:#00ff8580;--font-jetbrains:"JetBrains Mono",monospace;--font-semibold:"JetBrains Mono Variable",monospace;--background-secondary:#0000004d;--background-hover:#00ff851a;--card-bg:#0003;--tag-bg:#0006;--tag-bg-hover:#0009;--tag-text:#a0a0a0}}@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,var(--font-sans,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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,var(--font-mono,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: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}:-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}html,body{color:#e0e0e0;background-color:#121212}body{font-family:var(--font-jetbrains);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,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.3s;text-rendering:optimizeLegibility;transition-duration:.3s}h1,h2,h3,h4,h5,h6{font-family:var(--font-jetbrains);font-family:var(--font-semibold);color:#00ff85}h1{font-size:var(--text-4xl,2.25rem);line-height:var(--tw-leading,var(--text-4xl--line-height,calc(2.5/2.25)));line-height:1.1}@media (width>=48rem){h1{font-size:var(--text-5xl,3rem);line-height:var(--tw-leading,var(--text-5xl--line-height,1))}}h2{font-size:var(--text-3xl,1.875rem);line-height:var(--tw-leading,var(--text-3xl--line-height, 1.2 ));line-height:1.2}@media (width>=48rem){h2{font-size:var(--text-4xl,2.25rem);line-height:var(--tw-leading,var(--text-4xl--line-height,calc(2.5/2.25)))}}h3{font-size:var(--text-2xl,1.5rem);line-height:var(--tw-leading,var(--text-2xl--line-height,calc(2/1.5)));line-height:1.3}@media (width>=48rem){h3{font-size:var(--text-3xl,1.875rem);line-height:var(--tw-leading,var(--text-3xl--line-height, 1.2 ))}}h4{font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75/1.25)));line-height:1.4}@media (width>=48rem){h4{font-size:var(--text-2xl,1.5rem);line-height:var(--tw-leading,var(--text-2xl--line-height,calc(2/1.5)))}}a{color:#00ff85;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,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.2s;transition-duration:.2s}@media (hover:hover){a:hover{color:#ffca28}}code,pre{background-color:color-mix(in oklab,var(--color-black,#000)30%,transparent);padding-inline:calc(var(--spacing,.25rem)*1);padding-block:calc(var(--spacing,.25rem)*.5);font-family:var(--font-jetbrains);border-radius:.25rem}table{margin-block:calc(var(--spacing,.25rem)*6);border-collapse:collapse;width:100%}th{background-color:var(--color-gray-100,oklch(.967 .003 264.542));padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*2);text-align:left;font-family:var(--font-jetbrains);--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500)}@media (prefers-color-scheme:dark){th{background-color:var(--color-gray-800,oklch(.278 .033 256.848))}}td{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-gray-200,oklch(.928 .006 264.531));padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*2)}@media (prefers-color-scheme:dark){td{border-color:var(--color-gray-700,oklch(.373 .034 259.733))}}p,span{color:#e0e0e0}span.text-[--accent-green],span.text-[--accent-blue],span.text-[--accent-amber],span.command{color:var(--accent-green)}span.text-[--text-secondary]{color:var(--text-secondary)}}@layer components;@layer utilities{.visible{visibility:visible}.project-card{border-style:var(--tw-border-style);background-color:color-mix(in oklab,var(--color-black,#000)30%,transparent);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.3s;border-width:1px;border-color:var(--border-color);border-radius:.25rem;transition-duration:.3s;position:relative;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.top-3{top:calc(var(--spacing,.25rem)*3)}.right-3{right:calc(var(--spacing,.25rem)*3)}.isolate{isolation:isolate}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.container-custom{width:100%;max-width:var(--container-5xl,64rem);padding-inline:calc(var(--spacing,.25rem)*4);margin-inline:auto}@media (width>=40rem){.container-custom{max-width:40rem}}@media (width>=48rem){.container-custom{max-width:48rem}}@media (width>=64rem){.container-custom{max-width:64rem}}@media (width>=80rem){.container-custom{max-width:80rem}}@media (width>=96rem){.container-custom{max-width:96rem}}@media (width>=40rem){.container-custom{padding-inline:calc(var(--spacing,.25rem)*6)}}@media (width>=64rem){.container-custom{padding-inline:calc(var(--spacing,.25rem)*8)}}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing,.25rem)*0)}.mx-2{margin-inline:calc(var(--spacing,.25rem)*2)}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing,.25rem)*1)}.mt-1\.5{margin-top:calc(var(--spacing,.25rem)*1.5)}.mt-2{margin-top:calc(var(--spacing,.25rem)*2)}.mt-4{margin-top:calc(var(--spacing,.25rem)*4)}.mt-6{margin-top:calc(var(--spacing,.25rem)*6)}.mt-8{margin-top:calc(var(--spacing,.25rem)*8)}.mt-12{margin-top:calc(var(--spacing,.25rem)*12)}.terminal-header:before{content:var(--tw-content);content:">";margin-right:calc(var(--spacing,.25rem)*2);--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700);color:--accent-primary}.mr-1{margin-right:calc(var(--spacing,.25rem)*1)}.mr-2{margin-right:calc(var(--spacing,.25rem)*2)}.mr-3{margin-right:calc(var(--spacing,.25rem)*3)}.terminal-header{margin-bottom:calc(var(--spacing,.25rem)*6);align-items:center;display:flex}:where(.terminal-header>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing,.25rem)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing,.25rem)*2)*calc(1 - var(--tw-space-x-reverse)))}.mb-1{margin-bottom:calc(var(--spacing,.25rem)*1)}.mb-2{margin-bottom:calc(var(--spacing,.25rem)*2)}.mb-3{margin-bottom:calc(var(--spacing,.25rem)*3)}.mb-4{margin-bottom:calc(var(--spacing,.25rem)*4)}.mb-6{margin-bottom:calc(var(--spacing,.25rem)*6)}.mb-8{margin-bottom:calc(var(--spacing,.25rem)*8)}.mb-12{margin-bottom:calc(var(--spacing,.25rem)*12)}.cursor-blink{margin-left:calc(var(--spacing,.25rem)*1);height:calc(var(--spacing,.25rem)*4);width:calc(var(--spacing,.25rem)*2);background-color:--accent-primary;animation:1s step-end infinite blink;display:inline-block}.ml-1\.5{margin-left:calc(var(--spacing,.25rem)*1.5)}.ml-2{margin-left:calc(var(--spacing,.25rem)*2)}.ml-4{margin-left:calc(var(--spacing,.25rem)*4)}.skill-logo{border-radius:var(--radius-lg,.5rem);background-color:color-mix(in oklab,var(--color-black,#000)30%,transparent);padding:calc(var(--spacing,.25rem)*3);border:1px solid var(--border-color);justify-content:center;align-items:center;width:64px;height:64px;transition:all .3s;display:flex}.terminal-card{align-items:center;gap:calc(var(--spacing,.25rem)*4);border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);background-color:color-mix(in oklab,var(--color-black,#000)20%,transparent);padding:calc(var(--spacing,.25rem)*6);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));border-width:1px;border-color:var(--border-color);display:flex}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-2{height:calc(var(--spacing,.25rem)*2)}.h-3{height:calc(var(--spacing,.25rem)*3)}.h-4{height:calc(var(--spacing,.25rem)*4)}.h-5{height:calc(var(--spacing,.25rem)*5)}.h-6{height:calc(var(--spacing,.25rem)*6)}.h-48{height:calc(var(--spacing,.25rem)*48)}.h-64{height:calc(var(--spacing,.25rem)*64)}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-0\.5{width:calc(var(--spacing,.25rem)*.5)}.w-2{width:calc(var(--spacing,.25rem)*2)}.w-3{width:calc(var(--spacing,.25rem)*3)}.w-4{width:calc(var(--spacing,.25rem)*4)}.w-5{width:calc(var(--spacing,.25rem)*5)}.w-6{width:calc(var(--spacing,.25rem)*6)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl,42rem)}.max-w-3xl{max-width:var(--container-3xl,48rem)}.max-w-none{max-width:none}.flex-1{flex:1}.flex-grow,.grow{flex-grow:1}@media (hover:hover){.project-card:hover{scale:1.02;transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y);border-color:--accent-green;--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.project-card:active{scale:.98;transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y);--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.typing-effect{white-space:nowrap;animation:3s steps(40,end) typing;overflow:hidden}.animate-spin{animation:var(--animate-spin,spin 1s linear infinite)}.resize-none{resize:none}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-2{gap:calc(var(--spacing,.25rem)*2)}.gap-6{gap:calc(var(--spacing,.25rem)*6)}.gap-8{gap:calc(var(--spacing,.25rem)*8)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing,.25rem)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing,.25rem)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing,.25rem)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing,.25rem)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing,.25rem)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing,.25rem)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing,.25rem)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing,.25rem)*2)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing,.25rem)*4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing,.25rem)*4)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing,.25rem)*6)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing,.25rem)*6)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing,.25rem)*8)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing,.25rem)*8)*calc(1 - var(--tw-space-x-reverse)))}.overflow-hidden{overflow:hidden}.scroll-smooth{scroll-behavior:smooth}.code{background-color:color-mix(in oklab,var(--color-black,#000)30%,transparent);padding-inline:calc(var(--spacing,.25rem)*1);padding-block:calc(var(--spacing,.25rem)*.5);font-family:var(--font-jetbrains);border-radius:.25rem}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg,.5rem)}.rounded-md{border-radius:var(--radius-md,.375rem)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.terminal-section{border-bottom-style:var(--tw-border-style);padding-block:calc(var(--spacing,.25rem)*16);border-bottom-width:1px;border-color:var(--border-color)}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[\#00FF85\]{border-color:#00ff85}.border-\[--border-color\]{border-color:--border-color}.border-gray-700{border-color:var(--color-gray-700,oklch(.373 .034 259.733))}@media (hover:hover){.terminal-card:hover{border-color:--accent-primary}}.bg-\[\#00FF85\]{background-color:#00ff85}.bg-\[\#121212\]{background-color:#121212}.bg-\[--accent-blue\]{background-color:--accent-blue}.bg-\[--accent-green\]{background-color:--accent-green}.bg-\[--accent-green\]\/20{background-color:color-mix(in oklab,--accent-green 20%,transparent)}.bg-\[--background-secondary\]{background-color:--background-secondary}.bg-\[--bg-terminal\]{background-color:--bg-terminal}.bg-\[--border-color\]{background-color:--border-color}.bg-\[--card-bg\]{background-color:--card-bg}.bg-\[--tag-bg\]{background-color:--tag-bg}.bg-\[--text-primary\]{background-color:--text-primary}.bg-black{background-color:var(--color-black,#000)}.bg-black\/20{background-color:color-mix(in oklab,var(--color-black,#000)20%,transparent)}.bg-black\/30{background-color:color-mix(in oklab,var(--color-black,#000)30%,transparent)}.bg-black\/40{background-color:color-mix(in oklab,var(--color-black,#000)40%,transparent)}.object-cover{object-fit:cover}.p-2{padding:calc(var(--spacing,.25rem)*2)}.p-4{padding:calc(var(--spacing,.25rem)*4)}.p-5{padding:calc(var(--spacing,.25rem)*5)}.p-6{padding:calc(var(--spacing,.25rem)*6)}.px-2{padding-inline:calc(var(--spacing,.25rem)*2)}.px-3{padding-inline:calc(var(--spacing,.25rem)*3)}.px-4{padding-inline:calc(var(--spacing,.25rem)*4)}.py-1{padding-block:calc(var(--spacing,.25rem)*1)}.py-2{padding-block:calc(var(--spacing,.25rem)*2)}.py-3{padding-block:calc(var(--spacing,.25rem)*3)}.py-8{padding-block:calc(var(--spacing,.25rem)*8)}.py-12{padding-block:calc(var(--spacing,.25rem)*12)}.pt-0{padding-top:calc(var(--spacing,.25rem)*0)}.pt-4{padding-top:calc(var(--spacing,.25rem)*4)}.pt-6{padding-top:calc(var(--spacing,.25rem)*6)}.pt-8{padding-top:calc(var(--spacing,.25rem)*8)}.pb-6{padding-bottom:calc(var(--spacing,.25rem)*6)}.pl-6{padding-left:calc(var(--spacing,.25rem)*6)}.text-center{text-align:center}.text-right{text-align:right}.font-jetbrains{font-family:var(--font-jetbrains)}.font-mono{font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace)}.font-semibold{font-family:var(--font-semibold)}.text-2xl{font-size:var(--text-2xl,1.5rem);line-height:var(--tw-leading,var(--text-2xl--line-height,calc(2/1.5)))}.text-3xl{font-size:var(--text-3xl,1.875rem);line-height:var(--tw-leading,var(--text-3xl--line-height, 1.2 ))}.text-4xl{font-size:var(--text-4xl,2.25rem);line-height:var(--tw-leading,var(--text-4xl--line-height,calc(2.5/2.25)))}.text-lg{font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75/1.125)))}.text-sm{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)))}.text-xl{font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75/1.25)))}.text-xs{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)))}.font-bold{--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700)}.font-medium{--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500)}.text-\[\#e0e0e0\]{color:#e0e0e0}.text-\[--accent-blue\]{color:--accent-blue}.text-\[--accent-green\]{color:--accent-green}.text-\[--bg-primary\]{color:--bg-primary}.text-\[--tag-text\]{color:--tag-text}.text-\[--text-primary\]{color:--text-primary}.text-\[--text-secondary\]{color:--text-secondary}.text-\[--text-tertiary\]{color:--text-tertiary}.text-black{color:var(--color-black,#000)}.text-blue-600{color:var(--color-blue-600,oklch(.546 .245 262.881))}.text-gray-700{color:var(--color-gray-700,oklch(.373 .034 259.733))}.text-red-500{color:var(--color-red-500,oklch(.637 .237 25.331))}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.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;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s))}.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,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out,cubic-bezier(.4,0,.2,1));transition-timing-function:var(--ease-in-out,cubic-bezier(.4,0,.2,1))}@media (hover:hover){.hover\:translate-y-\[-5px\]:hover{--tw-translate-y:-5px;translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:border-\[--accent-green\]:hover{border-color:--accent-green}.hover\:bg-\[--background-hover\]:hover{background-color:--background-hover}.hover\:bg-\[--tag-bg-hover\]:hover{background-color:--tag-bg-hover}.hover\:bg-black\/50:hover{background-color:color-mix(in oklab,var(--color-black,#000)50%,transparent)}.hover\:text-\[--accent-green\]:hover{color:--accent-green}.hover\:text-\[--text-primary\]:hover{color:--text-primary}.hover\:text-blue-600:hover{color:var(--color-blue-600,oklch(.546 .245 262.881))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}}.focus\:border-\[--accent-green\]:focus{border-color:--accent-green}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media (width>=40rem){.sm\:h-96{height:calc(var(--spacing,.25rem)*96)}.sm\:text-4xl{font-size:var(--text-4xl,2.25rem);line-height:var(--tw-leading,var(--text-4xl--line-height,calc(2.5/2.25)))}.sm\:text-5xl{font-size:var(--text-5xl,3rem);line-height:var(--tw-leading,var(--text-5xl--line-height,1))}}@media (width>=48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:mt-0{margin-top:calc(var(--spacing,.25rem)*0)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:text-4xl{font-size:var(--text-4xl,2.25rem);line-height:var(--tw-leading,var(--text-4xl--line-height,calc(2.5/2.25)))}}@media (width>=64rem){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (prefers-color-scheme:dark){.dark\:text-blue-400{color:var(--color-blue-400,oklch(.707 .165 254.624))}.dark\:text-gray-300{color:var(--color-gray-300,oklch(.872 .01 258.338))}@media (hover:hover){.dark\:hover\:text-blue-400:hover{color:var(--color-blue-400,oklch(.707 .165 254.624))}}}}@layer tailwind-base,primevue,tailwind-utilities;:root{--bg-terminal:#121212;--text-primary:#e0e0e0;--text-secondary:#a0a0a0;--text-tertiary:gray;--accent-green:#00ff85;--accent-blue:#4a9fff;--accent-amber:#ffca28;--accent-primary:var(--accent-green);--accent-secondary:var(--accent-amber);--border-color:#00ff8580;--font-jetbrains:"JetBrains Mono",monospace;--font-semibold:"JetBrains Mono Variable",monospace;--background-secondary:#0000004d;--background-hover:#00ff851a;--card-bg:#0003;--tag-bg:#0006;--tag-bg-hover:#0009;--tag-text:#a0a0a0}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes typing{0%{width:0}to{width:100%}}.animate-fade-in{animation:.5s ease-in-out forwards fadeIn}.animate-slide-up{animation:.5s ease-in-out forwards slideUp}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.terminal-highlight{position:relative}.terminal-highlight:after{content:"";inset:calc(var(--spacing,.25rem)*0);background-color:color-mix(in oklab,--accent-primary 10%,transparent);border-radius:.25rem;animation:2s infinite alternate highlight;position:absolute}@keyframes highlight{0%{opacity:.1}to{opacity:.3}}.font-code{font-feature-settings:"calt" 1,"ss01" 1,"ss02" 1;font-family:JetBrains Mono,monospace}.mono-heading{font-family:var(--font-jetbrains);font-family:var(--font-semibold);letter-spacing:-.02em}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2-variations");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-variation-settings:"wght" var(--font-weight,400)}.skill-logo:hover{border-color:var(--accent-green);transform:scale(1.1);box-shadow:0 0 10px #00ff854d}.skill-logo img{filter:brightness(0)invert(.9);opacity:.9;width:48px;max-width:100%;height:48px;max-height:100%}@keyframes slideLeft{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-100%)}}.skill-carousel{margin:2rem 0;position:relative;overflow:hidden}.skill-slide{opacity:0;width:100%;transition:transform .8s;position:absolute;top:0;left:0;transform:translate(100%)}.skill-slide.active{opacity:1;z-index:1;position:relative;transform:translate(0)}.skill-slide.prev{opacity:0;z-index:0;transform:translate(-100%)}.carousel-indicators{justify-content:center;gap:.5rem;margin-top:1.5rem;display:flex}.carousel-indicator{background-color:var(--text-secondary);opacity:.5;cursor:pointer;border:none;width:2rem;height:.25rem;padding:0;transition:all .3s}.carousel-indicator.active{background-color:var(--accent-green);opacity:1;width:3rem}.carousel-skill-card{border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);background-color:color-mix(in oklab,var(--color-black,#000)30%,transparent);padding:calc(var(--spacing,.25rem)*5);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));border-width:1px;border-color:var(--border-color);opacity:0;animation:.5s forwards cardAppear;animation-delay:calc(var(--index)*.1s);flex-direction:column;align-items:center;display:flex;transform:translateY(20px)}@keyframes cardAppear{to{opacity:1;transform:translateY(0)}}.project-card:after{content:"";opacity:0;pointer-events:none;background-color:#00ff850d;transition:opacity .3s;position:absolute;inset:0}.project-card:hover:after{opacity:1}.glow-effect{transition:all .3s}.glow-effect:hover{box-shadow:0 0 15px #00ff8580}@keyframes pulse-border{0%{box-shadow:0 0 #00ff8566}70%{box-shadow:0 0 0 6px #00ff8500}to{box-shadow:0 0 #00ff8500}}.pulse-on-hover:hover{animation:1.5s infinite pulse-border}.project-card p{color:var(--text-primary)}.project-card:hover h3{text-shadow:0 0 8px #00ff8580}.project-card:active{transition:transform .1s;transform:scale(.98)}@property --tw-content{syntax:"*";inherits:false;initial-value:""}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}/*! tailwindcss v4.0.15 | MIT License | https://tailwindcss.com */@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-500:oklch(.637 .237 25.331);--color-yellow-500:oklch(.795 .184 86.047);--color-green-500:oklch(.723 .219 149.579);--color-blue-400:oklch(.707 .165 254.624);--color-blue-600:oklch(.546 .245 262.881);--color-gray-300:oklch(.872 .01 258.338);--color-gray-500:oklch(.551 .027 264.364);--color-gray-700:oklch(.373 .034 259.733);--color-black:#000;--spacing:.25rem;--container-2xl:42rem;--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-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-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--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;--radius-md:.375rem;--radius-lg:.5rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{html,:host[data-astro-cid-sckkx6r4]{-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[data-astro-cid-sckkx6r4]{height:0;color:inherit;border-top-width:1px}abbr[data-astro-cid-sckkx6r4]:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1[data-astro-cid-sckkx6r4],h2[data-astro-cid-sckkx6r4],h3[data-astro-cid-sckkx6r4],h4[data-astro-cid-sckkx6r4],h5[data-astro-cid-sckkx6r4],h6[data-astro-cid-sckkx6r4]{font-size:inherit;font-weight:inherit}a[data-astro-cid-sckkx6r4]{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b[data-astro-cid-sckkx6r4],strong[data-astro-cid-sckkx6r4]{font-weight:bolder}code[data-astro-cid-sckkx6r4],kbd[data-astro-cid-sckkx6r4],samp[data-astro-cid-sckkx6r4],pre[data-astro-cid-sckkx6r4]{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[data-astro-cid-sckkx6r4]{font-size:80%}sub[data-astro-cid-sckkx6r4],sup[data-astro-cid-sckkx6r4]{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub[data-astro-cid-sckkx6r4]{bottom:-.25em}sup[data-astro-cid-sckkx6r4]{top:-.5em}table[data-astro-cid-sckkx6r4]{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring[data-astro-cid-sckkx6r4]{outline:auto}progress[data-astro-cid-sckkx6r4]{vertical-align:baseline}summary[data-astro-cid-sckkx6r4]{display:list-item}ol[data-astro-cid-sckkx6r4],ul[data-astro-cid-sckkx6r4],menu[data-astro-cid-sckkx6r4]{list-style:none}img[data-astro-cid-sckkx6r4],svg[data-astro-cid-sckkx6r4],video[data-astro-cid-sckkx6r4],canvas[data-astro-cid-sckkx6r4],audio[data-astro-cid-sckkx6r4],iframe[data-astro-cid-sckkx6r4],embed[data-astro-cid-sckkx6r4],object[data-astro-cid-sckkx6r4]{vertical-align:middle;display:block}img[data-astro-cid-sckkx6r4],video[data-astro-cid-sckkx6r4]{max-width:100%;height:auto}:where(select:is([multiple],[size]))[data-astro-cid-sckkx6r4] optgroup[data-astro-cid-sckkx6r4]{font-weight:bolder}:where(select:is([multiple],[size]))[data-astro-cid-sckkx6r4] optgroup[data-astro-cid-sckkx6r4] option[data-astro-cid-sckkx6r4]{padding-inline-start:20px}textarea[data-astro-cid-sckkx6r4]{resize:vertical}::-webkit-search-decoration [data-astro-cid-sckkx6r4]{-webkit-appearance:none}::-webkit-date-and-time-value [data-astro-cid-sckkx6r4]{min-height:1lh;text-align:inherit}::-webkit-datetime-edit [data-astro-cid-sckkx6r4]{display:inline-flex}::-webkit-datetime-edit-fields-wrapper [data-astro-cid-sckkx6r4]{padding:0}::-webkit-datetime-edit [data-astro-cid-sckkx6r4]{padding-block:0}::-webkit-datetime-edit-year-field [data-astro-cid-sckkx6r4]{padding-block:0}::-webkit-datetime-edit-month-field [data-astro-cid-sckkx6r4]{padding-block:0}::-webkit-datetime-edit-day-field [data-astro-cid-sckkx6r4]{padding-block:0}::-webkit-datetime-edit-hour-field [data-astro-cid-sckkx6r4]{padding-block:0}::-webkit-datetime-edit-minute-field [data-astro-cid-sckkx6r4]{padding-block:0}::-webkit-datetime-edit-second-field [data-astro-cid-sckkx6r4]{padding-block:0}::-webkit-datetime-edit-millisecond-field [data-astro-cid-sckkx6r4]{padding-block:0}::-webkit-datetime-edit-meridiem-field [data-astro-cid-sckkx6r4]{padding-block:0}:-moz-ui-invalid[data-astro-cid-sckkx6r4]{box-shadow:none}::-webkit-inner-spin-button [data-astro-cid-sckkx6r4]{height:auto}::-webkit-outer-spin-button [data-astro-cid-sckkx6r4]{height:auto}[data-astro-cid-sckkx6r4][hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.top-3{top:calc(var(--spacing)*3)}.right-3{right:calc(var(--spacing)*3)}.isolate{isolation:isolate}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-12{margin-top:calc(var(--spacing)*12)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-3{margin-right:calc(var(--spacing)*3)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.ml-1\.5{margin-left:calc(var(--spacing)*1.5)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-4{margin-left:calc(var(--spacing)*4)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-48{height:calc(var(--spacing)*48)}.h-64{height:calc(var(--spacing)*64)}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-0\.5{width:calc(var(--spacing)*.5)}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-none{max-width:none}.flex-1{flex:1}.flex-grow,.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.animate-spin{animation:var(--animate-spin)}.resize-none{resize:none}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-2{gap:calc(var(--spacing)*2)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}: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-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*6)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*8)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-x-reverse)))}.overflow-hidden{overflow:hidden}.scroll-smooth{scroll-behavior:smooth}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[\#00FF85\]{border-color:#00ff85}.border-\[--border-color\]{border-color:--border-color}.border-gray-700{border-color:var(--color-gray-700)}.bg-\[\#00FF85\]{background-color:#00ff85}.bg-\[\#121212\]{background-color:#121212}.bg-\[--accent-blue\]{background-color:--accent-blue}.bg-\[--accent-green\]{background-color:--accent-green}.bg-\[--accent-green\]\/20{background-color:color-mix(in oklab,--accent-green 20%,transparent)}.bg-\[--background-secondary\]{background-color:--background-secondary}.bg-\[--bg-terminal\]{background-color:--bg-terminal}.bg-\[--border-color\]{background-color:--border-color}.bg-\[--card-bg\]{background-color:--card-bg}.bg-\[--tag-bg\]{background-color:--tag-bg}.bg-\[--text-primary\]{background-color:--text-primary}.bg-black{background-color:var(--color-black)}.bg-black\/20{background-color:color-mix(in oklab,var(--color-black)20%,transparent)}.bg-black\/30{background-color:color-mix(in oklab,var(--color-black)30%,transparent)}.bg-black\/40{background-color:color-mix(in oklab,var(--color-black)40%,transparent)}.object-cover{object-fit:cover}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-6{padding-top:calc(var(--spacing)*6)}.pt-8{padding-top:calc(var(--spacing)*8)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pl-6{padding-left:calc(var(--spacing)*6)}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.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-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--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))}.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)}.text-\[\#e0e0e0\]{color:#e0e0e0}.text-\[--accent-blue\]{color:--accent-blue}.text-\[--accent-green\]{color:--accent-green}.text-\[--bg-primary\]{color:--bg-primary}.text-\[--tag-text\]{color:--tag-text}.text-\[--text-primary\]{color:--text-primary}.text-\[--text-secondary\]{color:--text-secondary}.text-\[--text-tertiary\]{color:--text-tertiary}.text-black{color:var(--color-black)}.text-blue-600{color:var(--color-blue-600)}.text-gray-700{color:var(--color-gray-700)}.text-red-500{color:var(--color-red-500)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.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;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}@media (hover:hover){.hover\:translate-y-\[-5px\]:hover{--tw-translate-y:-5px;translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:border-\[--accent-green\]:hover{border-color:--accent-green}.hover\:bg-\[--background-hover\]:hover{background-color:--background-hover}.hover\:bg-\[--tag-bg-hover\]:hover{background-color:--tag-bg-hover}.hover\:bg-black\/50:hover{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}.hover\:text-\[--accent-green\]:hover{color:--accent-green}.hover\:text-\[--text-primary\]:hover{color:--text-primary}.hover\:text-blue-600:hover{color:var(--color-blue-600)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}}.focus\:border-\[--accent-green\]:focus{border-color:--accent-green}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media (width>=40rem){.sm\:h-96{height:calc(var(--spacing)*96)}.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))}}@media (width>=48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:mt-0{margin-top:calc(var(--spacing)*0)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}}@media (width>=64rem){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (prefers-color-scheme:dark){.dark\:text-blue-400{color:var(--color-blue-400)}.dark\:text-gray-300{color:var(--color-gray-300)}@media (hover:hover){.dark\:hover\:text-blue-400:hover{color:var(--color-blue-400)}}}}.terminal-window[data-astro-cid-sckkx6r4]{background-color:--bg-terminal;color:--text-primary;border:1px solid var(--border-color);flex-direction:column;min-height:100vh;font-family:JetBrains Mono,monospace;display:flex;box-shadow:0 0 0 2px #00ff8533,0 20px 68px #0000008c}.terminal-header-bar[data-astro-cid-sckkx6r4]{border-bottom-style:var(--tw-border-style);background-color:var(--color-black);padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*2);border-bottom-width:1px;border-color:var(--border-color);align-items:center;display:flex}.terminal-buttons[data-astro-cid-sckkx6r4]{margin-right:calc(var(--spacing)*4);display:flex}:where(.terminal-buttons[data-astro-cid-sckkx6r4]>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.terminal-button[data-astro-cid-sckkx6r4]{height:calc(var(--spacing)*3);width:calc(var(--spacing)*3);border-radius:3.40282e38px;display:block}.terminal-button-red[data-astro-cid-sckkx6r4]{background-color:var(--color-red-500)}.terminal-button-yellow[data-astro-cid-sckkx6r4]{background-color:var(--color-yellow-500)}.terminal-button-green[data-astro-cid-sckkx6r4]{background-color:var(--color-green-500)}.terminal-title[data-astro-cid-sckkx6r4]{text-align:center;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-gray-500);flex:1}@property --tw-rotate-x{syntax:"*";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@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-duration{syntax:"*";inherits:false}@property --tw-ease{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}@keyframes spin{to{transform:rotate(360deg)}}:root{--font-weight: 400}.font-semibold[data-astro-cid-sckkx6r4]{--font-weight: 500}.font-bold[data-astro-cid-sckkx6r4]{--font-weight: 700}
