@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap";/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@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-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--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-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-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;--border-angle:0deg}}}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip:auto;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.z-10{z-index:10}.container{width:100%}.mx-auto{margin-inline:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-auto{width:auto}.w-full{width:100%}.min-w-\[160px\]{min-width:160px}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.translate-none{translate:none}.scale-3d{scale:var(--tw-scale-x)var(--tw-scale-y)var(--tw-scale-z)}.transform{transform: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-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x,)var(--tw-pan-y,)var(--tw-pinch-zoom,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}:where(.space-y-reverse>:not(:last-child)){--tw-space-y-reverse:1}:where(.space-x-reverse>:not(:last-child)){--tw-space-x-reverse:1}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.border{border-style:var(--tw-border-style);border-width:1px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-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-l{border-left-style:var(--tw-border-style);border-left-width:1px}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-l{--tw-gradient-position:to left 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))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-repeat{background-repeat:repeat}.mask-no-clip{-webkit-mask-clip:no-clip;mask-clip:no-clip}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.object-contain{-o-object-fit:contain;object-fit:contain}.text-center{text-align:center}.text-wrap{text-wrap:wrap}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.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,)}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.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)}.inset-ring{--tw-inset-ring-shadow:inset 0 0 0 1px var(--tw-inset-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)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-invert{--tw-backdrop-invert:invert(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,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,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.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,visibility,content-visibility,overlay,pointer-events!important;transition-timing-function:var(--tw-ease,ease)!important;transition-duration:var(--tw-duration,0s)!important}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-300{--tw-duration:.3s;transition-duration:.3s}:where(.divide-x-reverse>:not(:last-child)){--tw-divide-x-reverse:1}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.hover\:grayscale-0:hover{--tw-grayscale:grayscale(0%);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,)}}@property --border-angle{syntax:"<angle>";inherits:false;initial-value:0deg}:root{--background:0 0% 100%;--foreground:222.2 84% 4.9%;--border:214.3 31.8% 91.4%;--input:214.3 31.8% 91.4%;--ring:222.2 84% 4.9%;--radius:.5rem;--primary:222.2 47.4% 11.2%;--primary-foreground:210 40% 98%;--muted:210 40% 96.1%;--muted-foreground:215.4 16.3% 46.9%;--codebg:#f1f1f1f0;--primary-base:#fcfcfc;--accent:210 40% 96.1%;--accent-foreground:222.2 47.4% 11.2%;--blue-primary-rgb:90,25,154;--ch-0:light;--ch-1:#6e7781;--ch-2:#0550ae;--ch-3:#953800;--ch-4:#24292f;--ch-5:#8250df;--ch-6:#116329;--ch-7:#cf222e;--ch-8:#0a3069;--ch-9:#82071e;--ch-10:#f6f8fa;--ch-11:#ffebe9;--ch-12:#dafbe1;--ch-13:#ffd8b5;--ch-14:#eaeef2;--ch-15:#57606a;--ch-16:#fff;--ch-17:#eaeef280;--ch-18:#fdff0033;--ch-19:#1a85ff;--ch-20:#add6ff;--ch-21:#0969da;--ch-22:#f8fafc;--ch-23:#d1d5db;--ch-24:#8c959f;--ch-25:#afb8c133;--ch-26:#ffffffe6;--token-null:#000;--token-operator:#000;--token-boolean:#000;--token-number:#000;--token-property:#fdcc59;--token-tag:#f7801f;--token-punctuation:#000;--token-template-string:#5bf8ee;--token-script:#ffcb8b;--token-selector:#c85e7c;--token-attr-name:#b392f0;--token-attr-value:#008422;--token-function-variable:#b392f0;--token-black:#000;--white:#fff;--black:#000;--gray-light:#f3f4f6;--gray-medium:#6b7280;--gray-dark:#1f2937;--blue-primary:#5a189a;--blue-secondary:#e5389b;--purple-twitch:#9147ff;--border-white:#fff;--background-light:#eee;--text-primary:#1b1b1b;--text-secondary:#6a5f85;--text-muted:#6a5f85;--heading-color:#1b1b1b;--paragraph-color:#1b1b1b;--link-color:#5a189a;--link-hover-color:#e5389b;--project-title-color:#1b1b1b;--project-description-color:#6a5f85;--project-tag-bg:#5a199a1a;--project-tag-text:#5a189a;--project-tag-border:#5a199a33;--project-link-bg:#5a199a1a;--project-link-text:#5a189a;--project-link-border:#5a199a33;--bg-primary:#f9f7ff;--bg-secondary:#e2d8f3;--bg-tertiary:#e2d8f3;--bg-card:#fff;--bg-overlay:#0000001a;--border-primary:#e2d8f3;--border-secondary:#d1d5db;--border-focus:#5a189a;--shadow-light:#0000001a;--shadow-medium:#00000026;--shadow-dark:#00000040;--gradient-1:linear-gradient(135deg,#667eea 0%,#764ba2 100%);--gradient-2:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);--gradient-3:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%);--gradient-4:linear-gradient(135deg,#43e97b 0%,#38f9d7 100%);--gradient-5:linear-gradient(135deg,#fa709a 0%,#fee140 100%);--gradient-6:linear-gradient(135deg,#ff9a9e 0%,#fecfef 100%);--gradient-7:linear-gradient(135deg,#a8edea 0%,#fed6e3 100%);--gradient-8:linear-gradient(135deg,#ffecd2 0%,#fcb69f 100%);--gradient-9:linear-gradient(135deg,#84fab0 0%,#8fd3f4 100%);--gradient-10:linear-gradient(135deg,#ff9a9e 0%,#fad0c4 100%)}.dark{--background:228 86% 5%;--foreground:210 40% 98%;--primary:210 40% 98%;--primary-foreground:222.2 47.4% 11.2%;--border:217.2 32.6% 17.5%;--input:217.2 32.6% 17.5%;--ring:212.7 26.8% 83.9%;--radius:.5rem;--muted:217.2 32.6% 17.5%;--muted-foreground:215 20.2% 65.1%;--codebg:#030608;--primary-base:#0a0a0a;--accent:217.2 32.6% 17.5%;--accent-foreground:210 40% 98%;--ch-0:dark;--ch-1:#a1a1aa;--ch-2:#7dd3fc;--ch-3:#fb923c;--ch-4:#cbd5e1;--ch-5:#d8b4fe;--ch-6:#86efac;--ch-7:#f87171;--ch-8:#93c5fd;--ch-9:#fca5a5;--ch-10:#eff6ff;--ch-11:#450a0a;--ch-12:#052e16;--ch-13:#451a03;--ch-14:#111827;--ch-15:#a1a1aa;--ch-16:#0a0a0a;--ch-17:#6b72801a;--ch-18:#ffffff0b;--ch-19:#3b82f6;--ch-20:#155e75;--ch-21:#2563eb;--ch-22:#171717;--ch-23:#404040;--ch-24:#6b7280;--ch-25:#6b728066;--ch-26:#171717e6;--token-null:#fff;--token-operator:#fff;--token-boolean:#fff;--token-number:#fff;--token-property:#fdcc59;--token-tag:#66befd;--token-punctuation:#fff;--token-template-string:#5bf8ee;--token-script:#ffcb8b;--token-selector:#c85e7c;--token-attr-name:#b392f0;--token-attr-value:#52b7ff;--token-function-variable:#b392f0;--token-black:#fff;--white:#000;--black:#fff;--gray-light:#1f2937;--gray-medium:#9ca3af;--gray-dark:#f9fafb;--blue-primary:#9d4edd;--blue-secondary:#ff5edf;--purple-twitch:#a855f7;--border-white:#374151;--background-light:#374151;--text-primary:#e9e9ff;--text-secondary:#9a9ab8;--text-muted:#9a9ab8;--heading-color:#e9e9ff;--paragraph-color:#e9e9ff;--link-color:#9d4edd;--link-hover-color:#ff5edf;--project-title-color:#e9e9ff;--project-description-color:#9a9ab8;--project-tag-bg:#9d4edd33;--project-tag-text:#9d4edd;--project-tag-border:#9d4edd4d;--project-link-bg:#9d4edd33;--project-link-text:#9d4edd;--project-link-border:#9d4edd4d;--bg-primary:#0b0b0f;--bg-secondary:#1c1c24;--bg-tertiary:#1c1c24;--bg-card:#1c1c24;--bg-overlay:#0000004d;--border-primary:#1c1c24;--border-secondary:#4b5563;--border-focus:#9d4edd;--shadow-light:#00000040;--shadow-medium:#00000059;--shadow-dark:#00000080;--gradient-1:linear-gradient(135deg,#4c1d95 0%,#581c87 100%);--gradient-2:linear-gradient(135deg,#be185d 0%,#dc2626 100%);--gradient-3:linear-gradient(135deg,#0369a1 0%,#0891b2 100%);--gradient-4:linear-gradient(135deg,#059669 0%,#0d9488 100%);--gradient-5:linear-gradient(135deg,#be185d 0%,#ca8a04 100%);--gradient-6:linear-gradient(135deg,#be185d 0%,#ec4899 100%);--gradient-7:linear-gradient(135deg,#0d9488 0%,#ec4899 100%);--gradient-8:linear-gradient(135deg,#f59e0b 0%,#f97316 100%);--gradient-9:linear-gradient(135deg,#10b981 0%,#06b6d4 100%);--gradient-10:linear-gradient(135deg,#be185d 0%,#fb7185 100%)}.gradient-1{background:var(--gradient-1)}.gradient-2{background:var(--gradient-2)}.gradient-3{background:var(--gradient-3)}.gradient-4{background:var(--gradient-4)}.gradient-5{background:var(--gradient-5)}.gradient-6{background:var(--gradient-6)}.gradient-7{background:var(--gradient-7)}.gradient-8{background:var(--gradient-8)}.gradient-9{background:var(--gradient-9)}.gradient-10{background:var(--gradient-10)}.overlay-dark{background-color:#0000004d;border-radius:16px;position:absolute;top:0;right:0;bottom:0;left:0}.content-overlay{background:linear-gradient(#0000,#0006,#000c);border-radius:16px;flex-direction:column;justify-content:flex-end;gap:12px;padding:24px;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.tag-pill{background-color:var(--project-tag-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--project-tag-text);border:1px solid var(--project-tag-border);border-radius:9999px;padding:4px 12px;font-size:12px;font-weight:500;transition:all .3s}.tag-pill:hover{background-color:var(--project-tag-bg);box-shadow:0 2px 8px var(--shadow-light);transform:translateY(-1px)}:root .tag-pill{color:#fff;background-color:#ffffff40;border:1px solid #ffffff4d}:root .tag-pill:hover{background-color:#ffffff59;box-shadow:0 2px 8px #0003}.project-link{background-color:var(--project-link-bg);color:var(--project-link-text);border:1px solid var(--project-link-border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:8px;align-self:flex-start;align-items:center;gap:8px;margin-top:8px;padding:8px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex}.project-link:hover{background-color:var(--project-link-bg);box-shadow:0 4px 12px var(--shadow-medium);transform:translateY(-2px)}:root .project-link{color:#fff;background-color:#fff3;border:1px solid #ffffff4d}:root .project-link:hover{background-color:#ffffff4d;box-shadow:0 4px 12px #0000004d}.project-title{color:var(--project-title-color)!important}.project-description{color:var(--project-description-color)!important}.theme-toggle{cursor:pointer;letter-spacing:.02em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:2px solid #0000;border-radius:2rem;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:500;transition:all .3s;display:flex;box-shadow:0 4px 12px #0000001a}.theme-toggle:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000026}.theme-toggle.language-toggle{background:rgba(var(--blue-primary-rgb),.1);border-color:rgba(var(--blue-primary-rgb),.2);color:var(--text-primary);margin-right:.5rem;font-weight:500}.theme-toggle.language-toggle:hover{background:rgba(var(--blue-primary-rgb),.15);border-color:rgba(var(--blue-primary-rgb),.3)}.theme-toggle.light{color:#fff;background:#000c;border-color:#ffffff1a}.theme-toggle.light:hover{background:#000000e6;border-color:#fff3}.theme-toggle.dark{color:#000;background:#fffc;border-color:#0000001a}.theme-toggle.dark:hover{background:#ffffffe6;border-color:#0003}.theme-toggle-mobile{display:none}@media (max-width:768px){.header .nav-links{background-color:var(--bg-primary);flex-direction:column;width:70%;height:100vh;padding:5rem 2rem;transition:right .3s;position:fixed;top:0;right:-100%;box-shadow:-5px 0 15px #0000001a}.header .nav-links.active{right:0}.header .mobile-menu-btn{display:flex}.theme-toggle-desktop{display:none}.theme-toggle-mobile{width:100%;box-shadow:none;border:2px solid var(--border-primary);color:var(--text-primary);background:0 0;justify-content:center;margin-top:1rem;display:flex}.theme-toggle-mobile:hover{box-shadow:none;background:var(--bg-secondary);transform:none}.theme-toggle-mobile.language-toggle{background:rgba(var(--blue-primary-rgb),.1);margin-bottom:1rem}}.custom-cursor{border:3px solid var(--purple-twitch);background:var(--white);pointer-events:none;z-index:10001;mix-blend-mode:exclusion;border-radius:50%;justify-content:center;align-items:center;width:6px;height:6px;transition:background .2s,border .2s;display:flex;position:fixed;box-shadow:0 2px 8px #9147ff26}.canvas-overlay{pointer-events:none;width:100vw;height:100vh;position:fixed;top:0;left:0}.canvas-fluid{z-index:9999}.canvas-light{z-index:3}.bg-pattern{position:relative;overflow:hidden}.bg-pattern:before{content:"";pointer-events:none;z-index:-1;background-image:radial-gradient(circle at 25% 25%,#5a199a14,#0000 50%),radial-gradient(circle at 75% 75%,#e5389b14,#0000 50%);position:absolute;top:0;right:0;bottom:0;left:0}.dark .bg-pattern:before{background-image:radial-gradient(circle at 25% 25%,#9d4edd1f,#0000 50%),radial-gradient(circle at 75% 75%,#ff5edf1f,#0000 50%)}.floating-particles{pointer-events:none;z-index:1;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.particle{background:var(--blue-primary);opacity:.6;width:4px;height:4px;box-shadow:0 0 8px var(--blue-primary);border-radius:50%;animation:15s linear infinite float;position:absolute}.particle:first-child{animation-duration:12s;animation-delay:0s;left:5%}.particle:nth-child(2){animation-duration:18s;animation-delay:1.5s;left:15%}.particle:nth-child(3){animation-duration:15s;animation-delay:3s;left:25%}.particle:nth-child(4){animation-duration:20s;animation-delay:4.5s;left:35%}.particle:nth-child(5){animation-duration:14s;animation-delay:6s;left:45%}.particle:nth-child(6){animation-duration:16s;animation-delay:7.5s;left:55%}.particle:nth-child(7){animation-duration:13s;animation-delay:9s;left:65%}.particle:nth-child(8){animation-duration:19s;animation-delay:10.5s;left:75%}.particle:nth-child(9){animation-duration:17s;animation-delay:12s;left:85%}.particle:nth-child(10){animation-duration:11s;animation-delay:13.5s;left:95%}@keyframes float{0%{opacity:0;transform:translateY(100vh)translate(0)rotate(0)}25%{opacity:.6;transform:translateY(75vh)translate(20px)rotate(90deg)}50%{opacity:.6;transform:translateY(50vh)translate(-15px)rotate(180deg)}75%{opacity:.6;transform:translateY(25vh)translate(10px)rotate(270deg)}to{opacity:0;transform:translateY(-100px)translate(0)rotate(360deg)}}.grid-pattern{background-image:linear-gradient(#5a199a0f 1px,#0000 1px),linear-gradient(90deg,#5a199a0f 1px,#0000 1px);background-size:50px 50px}.dark .grid-pattern{background-image:linear-gradient(#9d4edd14 1px,#0000 1px),linear-gradient(90deg,#9d4edd14 1px,#0000 1px)}.noise-texture{position:relative}.noise-texture:after{content:"";pointer-events:none;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.04'/%3E%3C/svg%3E");position:absolute;top:0;right:0;bottom:0;left:0}.services-section{background:var(--bg-primary);padding:120px 0;position:relative;overflow:hidden}.services-background{z-index:0;background:linear-gradient(135deg,#5a199a05,#e5389b05,#5a199a05);position:absolute;top:0;right:0;bottom:0;left:0}.services-grid-overlay{z-index:0;background-image:radial-gradient(circle at 20% 20%,#5a199a08,#0000 50%),radial-gradient(circle at 80% 80%,#e5389b08,#0000 50%);position:absolute;top:0;right:0;bottom:0;left:0}.dark .services-background{background:linear-gradient(135deg,#9d4edd08,#ff5edf08,#9d4edd08)}.dark .services-grid-overlay{background-image:radial-gradient(circle at 20% 20%,#9d4edd0d,#0000 50%),radial-gradient(circle at 80% 80%,#ff5edf0d,#0000 50%)}.services-header{text-align:center;z-index:1;margin-bottom:80px;position:relative}.services-title{background:linear-gradient(135deg,var(--blue-primary),var(--blue-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:1.5rem;font-size:3.5rem;font-weight:700;position:relative}.dark .services-title{text-shadow:0 0 30px #9d4edd80}.services-subtitle{color:var(--text-secondary);max-width:600px;margin:0 auto;font-size:1.25rem;line-height:1.6}.services-grid{z-index:1;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;display:grid;position:relative}.service-card{cursor:pointer;position:relative}.service-card-inner{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:20px;padding:2.5rem;transition:all .4s;position:relative;overflow:hidden}.service-card-inner:before{content:"";opacity:0;z-index:-1;background:linear-gradient(135deg,#5a199a0d,#e5389b0d);transition:opacity .4s;position:absolute;top:0;right:0;bottom:0;left:0}.dark .service-card-inner:before{background:linear-gradient(135deg,#9d4edd14,#ff5edf14)}.service-card:hover .service-card-inner:before{opacity:1}.service-card:hover .service-card-inner{border-color:var(--blue-primary);transform:translateY(-8px);box-shadow:0 20px 40px #5a199a1a,0 0 0 1px #5a199a1a}.dark .service-card:hover .service-card-inner{box-shadow:0 20px 40px #9d4edd33,0 0 0 1px #9d4edd33}.service-icon{color:#fff;border-radius:20px;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:1.5rem;font-size:2rem;transition:all .4s;display:flex;position:relative;overflow:hidden}.service-icon:before{content:"";background:inherit;filter:blur(20px);opacity:.5;z-index:-1;position:absolute;top:0;right:0;bottom:0;left:0}.service-card:hover .service-icon{transform:scale(1.1)rotate(5deg);box-shadow:0 10px 30px #0000004d}.service-title{color:var(--text-primary);margin-bottom:1rem;font-size:1.5rem;font-weight:600;transition:color .3s}.service-description{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1rem;line-height:1.6}.service-features{flex-wrap:wrap;gap:.5rem;display:flex}.service-feature{background:var(--bg-tertiary);color:var(--blue-primary);border:1px solid var(--border-primary);border-radius:25px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .3s}.service-feature:hover{background:var(--blue-primary);color:#fff;transform:translateY(-2px);box-shadow:0 5px 15px #5a199a4d}.dark .service-feature:hover{box-shadow:0 5px 15px #9d4edd66}.service-glow{opacity:0;pointer-events:none;z-index:-1;background:linear-gradient(45deg,#0000 30%,#5a199a1a,#0000 70%);border-radius:20px;transition:opacity .4s;position:absolute;top:0;right:0;bottom:0;left:0}.dark .service-glow{background:linear-gradient(45deg,#0000 30%,#9d4edd26,#0000 70%)}.service-card:hover .service-glow{opacity:1;animation:2s ease-in-out infinite glow-sweep}@keyframes glow-sweep{0%,to{transform:translate(-100%)}50%{transform:translate(100%)}}@media (max-width:768px){.services-grid{grid-template-columns:1fr;gap:1.5rem}.services-title{font-size:2.5rem}.service-card-inner{padding:2rem}.service-icon{width:60px;height:60px;font-size:1.5rem}}.hero{width:100vw;height:100vh;position:relative;overflow:hidden}.hero-container{z-index:2;position:relative}.hero-content{align-items:center;gap:2rem;display:flex;position:relative}.hero-profile{flex-direction:column;align-items:center;display:flex}.hero-image{-o-object-fit:cover;object-fit:cover;background:linear-gradient(45deg,var(--blue-primary),var(--blue-secondary))padding-box,linear-gradient(45deg,var(--blue-primary),var(--blue-secondary))border-box;z-index:1;background-clip:padding-box,border-box;border:4px solid #0000;border-radius:50%;width:160px;height:160px;margin-bottom:24px;position:relative}.hero-image:before{content:"";background:linear-gradient(45deg,var(--blue-primary),var(--blue-secondary));z-index:-1;filter:blur(8px);opacity:.7;border-radius:50%;animation:4s ease-in-out infinite gradient-rotate,3s ease-in-out infinite gradient-pulse;position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.hero-image:after{content:"";background:linear-gradient(45deg,var(--blue-primary),var(--blue-secondary));z-index:-1;filter:blur(4px);opacity:.5;border-radius:50%;animation:3s ease-in-out infinite reverse gradient-rotate,2.5s ease-in-out infinite gradient-pulse;position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}@keyframes gradient-rotate{0%{transform:rotate(0)scale(1)}25%{transform:rotate(90deg)scale(1.05)}50%{transform:rotate(180deg)scale(1)}75%{transform:rotate(270deg)scale(1.05)}to{transform:rotate(360deg)scale(1)}}@keyframes gradient-pulse{0%,to{opacity:.7;filter:blur(8px)}50%{opacity:1;filter:blur(12px)}}@keyframes glow-breathe{0%,to{box-shadow:0 0 20px var(--blue-primary),0 0 40px var(--blue-primary),0 0 60px var(--blue-primary)}50%{box-shadow:0 0 30px var(--blue-primary),0 0 60px var(--blue-primary),0 0 90px var(--blue-primary)}}.dark .hero-image:before,.app.dark-theme .hero-image:before{filter:blur(12px);opacity:.8;box-shadow:0 0 20px var(--blue-primary),0 0 40px var(--blue-primary),0 0 60px var(--blue-primary);animation:4s ease-in-out infinite gradient-rotate,3s ease-in-out infinite gradient-pulse,4s ease-in-out infinite glow-breathe}.dark .hero-image:after,.app.dark-theme .hero-image:after{filter:blur(6px);opacity:.6;box-shadow:0 0 15px var(--blue-secondary),0 0 30px var(--blue-secondary);animation:3s ease-in-out infinite reverse gradient-rotate,2.5s ease-in-out infinite gradient-pulse,3s ease-in-out infinite glow-breathe}.logo{align-items:center;gap:10px;display:flex}.logo-text{letter-spacing:-.01em;font-size:1.5rem;font-weight:700}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--text-primary);letter-spacing:.01em;font-family:Space Grotesk,sans-serif;font-weight:400;line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.header{z-index:1000;background-color:#0000;width:100%;padding:1rem 0;transition:all .3s;position:fixed;top:0;left:0}.header.scrolled{background-color:var(--bg-primary);box-shadow:0 2px 10px var(--shadow-light);padding:.5rem 0}.header .header-inner{justify-content:space-between;align-items:center;display:flex}.header .logo{color:var(--text-primary);cursor:pointer;font-size:1.5rem;font-weight:700;text-decoration:none}.header .nav-links{align-items:center;gap:2rem;display:flex}.header .nav-links .nav-link{color:var(--text-primary);cursor:pointer;letter-spacing:.01em;font-weight:500;text-decoration:none;transition:color .3s}.header .nav-links .nav-link:hover{color:var(--link-hover-color)}.header .header-actions{align-items:center;gap:1rem;display:flex}.header .mobile-menu-btn{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:6px;padding:5px;display:none}.header .mobile-menu-btn span{background-color:var(--text-primary);width:25px;height:2px;transition:all .3s;display:block}.header .mobile-menu-btn.active span:first-child{transform:translateY(8px)rotate(45deg)}.header .mobile-menu-btn.active span:nth-child(2){opacity:0}.header .mobile-menu-btn.active span:last-child{transform:translateY(-8px)rotate(-45deg)}.hero{background-color:var(--bg-primary);align-items:center;min-height:100vh;padding-top:80px;display:flex}.hero .hero-title{letter-spacing:-.03em;font-size:4rem;font-weight:700}.hero .hero-subtitle{letter-spacing:0;color:var(--text-secondary);max-width:600px;margin-bottom:2rem;font-size:1.25rem;font-weight:400}.hero .hero-cta{gap:1rem;display:flex}.about-content{grid-template-columns:2fr 1fr;align-items:start;gap:4rem;display:grid}.about-content .about-text p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1.125rem}.about-content .about-text p:last-child{margin-bottom:0}.about-content .about-stats{text-align:center;grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.about-content .about-stats .stat-item h3{color:var(--blue-primary);margin-bottom:.5rem;font-size:2.5rem}.about-content .about-stats .stat-item p{color:var(--text-secondary);font-size:.875rem}.gray-bg{background-color:var(--bg-tertiary)}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.project-card{background-color:var(--bg-card);box-shadow:0 4px 6px var(--shadow-light);border-radius:.5rem;transition:transform .3s;overflow:hidden}.project-card .project-image{width:100%;height:200px;overflow:hidden}.project-card .project-image img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .3s}.project-card .project-content{padding:1.5rem}.project-card .project-content .project-title{margin-bottom:.5rem;font-size:1.25rem}.project-card .project-content .project-description{color:var(--text-secondary);margin-bottom:1rem;font-size:.875rem}.project-card .project-content .project-technologies{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.project-card .project-content .project-technologies .tech-tag{background-color:var(--bg-tertiary);color:var(--blue-primary);border-radius:1rem;padding:.25rem .75rem;font-size:.75rem;font-weight:500}.project-card .project-content .project-links{gap:1rem;display:flex}.project-card .project-content .project-links .project-link{color:var(--text-primary);font-size:1.25rem;transition:color .3s}.project-card .project-content .project-links .project-link:hover{color:var(--link-hover-color)}.project-card:hover .project-image img{transform:scale(1.1)}.experience-timeline{max-width:800px;margin:0 auto}.experience-item{background-color:var(--bg-card);box-shadow:0 4px 6px var(--shadow-light);border-radius:.5rem;margin-bottom:2rem;padding:2rem;position:relative}.experience-item:last-child{margin-bottom:0}.experience-item .experience-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.experience-item .experience-header .company-name{margin-bottom:0;font-size:1.5rem}.experience-item .experience-header .period{color:var(--blue-primary);font-weight:500}.experience-item .position{color:var(--text-secondary);margin-bottom:1rem;font-size:1.125rem}.experience-item .description-list{padding-left:1.5rem;list-style:none}.experience-item .description-list li{color:var(--text-secondary);margin-bottom:.5rem;position:relative}.experience-item .description-list li:before{content:"•";color:var(--blue-primary);position:absolute;left:-1.5rem}.experience-item .description-list li:last-child{margin-bottom:0}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.skill-card{background-color:var(--bg-card);box-shadow:0 4px 6px var(--shadow-light);border-radius:.5rem;padding:2rem}.skill-card .skill-category{color:var(--blue-primary);margin-bottom:1.5rem;font-size:1.5rem}.skill-card .skill-items{flex-direction:column;gap:1.5rem;display:flex}.skill-card .skill-item .skill-info{justify-content:space-between;margin-bottom:.5rem;display:flex}.skill-card .skill-item .skill-info .skill-name{font-weight:500}.skill-card .skill-item .skill-info .skill-level{color:var(--text-secondary)}.skill-card .skill-item .skill-bar{background-color:var(--bg-tertiary);border-radius:4px;height:8px;overflow:hidden}.skill-card .skill-item .skill-bar .skill-progress{background-color:var(--blue-primary);border-radius:4px;height:100%}.footer{background-color:var(--bg-tertiary);margin-top:5rem;padding:3rem 0}.footer .footer-content{flex-direction:column;align-items:center;gap:1.5rem;display:flex}.footer .social-links{gap:1.5rem;display:flex}.footer .social-links a{color:var(--text-primary);font-size:1.5rem;transition:color .3s}.footer .social-links a:hover{color:var(--link-hover-color)}.footer .copyright{color:var(--text-secondary);font-size:.875rem}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;margin-bottom:1rem;font-weight:700;line-height:1.2}.hero-title{letter-spacing:-.03em;font-size:4rem;font-weight:700}.section-title{letter-spacing:-.02em;font-size:2.5rem;font-weight:700}.dark h1,.dark h2,.dark h3,.dark h4,.dark h5,.dark h6,.app.dark-theme h1,.app.dark-theme h2,.app.dark-theme h3,.app.dark-theme h4,.app.dark-theme h5,.app.dark-theme h6{text-shadow:0 0 8px var(--blue-primary)}.btn{letter-spacing:.02em;cursor:pointer;border-radius:.375rem;align-items:center;padding:.75rem 1.5rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex}.btn svg{width:1.25rem;height:1.25rem;margin-left:.5rem;transition:transform .3s}.btn:hover svg{transform:translateY(2px)}.btn-primary{background-color:var(--blue-primary);color:#fff;transition:all .3s}.btn-primary:hover{background:linear-gradient(90deg,var(--blue-primary)0%,var(--blue-secondary)100%);transform:translateY(-2px);box-shadow:0 4px 12px #9d4edd4d}.btn-outline{border:2px solid var(--blue-primary);color:var(--blue-primary);transition:all .3s}.btn-outline:hover{background:linear-gradient(90deg,var(--blue-primary)0%,var(--blue-secondary)100%);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #9d4edd4d}.hero-cta{flex-wrap:wrap;gap:1rem;display:flex}.hero-cta .btn{justify-content:center;min-width:140px}@media (max-width:768px){.hero-cta{flex-direction:column;width:100%}.hero-cta .btn{width:100%}}.section{padding:5rem 0}.section-title{text-align:center;margin-bottom:2rem;font-size:2.5rem}.grid{gap:2rem;display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.contact-content{grid-template-columns:1fr 2fr;gap:4rem;margin-top:2rem;display:grid}.contact-info h3{margin-bottom:1rem;font-size:1.5rem}.contact-info p{color:#6a5f85;margin-bottom:2rem}.contact-details{flex-direction:column;gap:1.5rem;display:flex}.contact-item{color:#1b1b1b;align-items:center;gap:1rem;text-decoration:none;transition:transform .3s;display:flex}.contact-item:hover{transform:translate(10px)}.contact-item .contact-icon{background-color:var(--blue-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.25rem;display:flex}.contact-item .contact-text h4{margin-bottom:.25rem;font-size:1rem}.contact-item .contact-text p{color:var(--text-secondary);margin:0;font-size:.875rem}.contact-form{background-color:var(--bg-card);box-shadow:0 4px 6px var(--shadow-light);border-radius:.5rem;padding:2rem}.contact-form .form-group{margin-bottom:1.5rem}.contact-form .form-group label{margin-bottom:.5rem;font-weight:500;display:block}.contact-form .form-group input,.contact-form .form-group textarea{border:1px solid var(--border-primary);border-radius:.375rem;width:100%;padding:.75rem;font-family:inherit;font-size:1rem;transition:border-color .3s}.contact-form .form-group input:focus,.contact-form .form-group textarea:focus{border-color:var(--border-focus);outline:none}.contact-form .form-group textarea{resize:vertical}.contact-form button{width:100%}@media (max-width:768px){.header .nav-links{background-color:var(--bg-primary);flex-direction:column;width:70%;height:100vh;padding:5rem 2rem;transition:right .3s;position:fixed;top:0;right:-100%;box-shadow:-5px 0 15px #0000001a}.header .nav-links.active{right:0}.header .mobile-menu-btn{display:flex}.hero .hero-title{font-size:2.5rem}.hero .hero-subtitle{font-size:1.25rem}.hero .hero-cta{flex-direction:column}.about-content{grid-template-columns:1fr;gap:3rem}.about-content .about-stats{grid-template-columns:repeat(3,1fr)}.projects-grid{grid-template-columns:1fr}.experience-item .experience-header{flex-direction:column;align-items:flex-start;gap:.5rem}.experience-item .experience-header .period{font-size:.875rem}.skills-grid,.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.section{padding:3rem 0}.contact-content{grid-template-columns:1fr;gap:2rem}.contact-form{padding:1.5rem}}.app.light-theme{color:#1f2937;background:#fff}.app.dark-theme{background:var(--bg-primary);color:var(--text-primary)}.app.dark-theme .section,.app.dark-theme .container{color:var(--text-primary);background:0 0}.app.dark-theme .btn-primary{background:var(--blue-primary);color:#fff}.app.dark-theme .btn-outline{border-color:var(--blue-primary);color:var(--blue-primary);background:0 0}.app.dark-theme .btn-outline:hover{background:var(--blue-primary);color:#fff}.app.dark-theme .hero-title,.app.dark-theme .section-title{color:var(--heading-color)}.app.dark-theme .footer{background:var(--bg-secondary);color:var(--text-secondary)}.app.dark-theme .copyright{color:var(--text-muted)}.app.dark-theme .header{background-color:var(--bg-primary)}.app.dark-theme .header.scrolled{background-color:var(--bg-secondary);box-shadow:0 2px 10px var(--shadow-medium)}.app.dark-theme .logo,.app.dark-theme .nav-link{color:var(--text-primary)}.app.dark-theme .nav-link:hover{color:var(--blue-secondary)}.app.dark-theme .mobile-menu-btn span{background-color:var(--text-primary)}.app.dark-theme .hero{background-color:var(--bg-primary)}.app.dark-theme .about-content{background:0 0}.app.dark-theme .about-text p{color:var(--text-secondary)}.app.dark-theme .about-stats .stat-item h3{color:var(--blue-secondary)}.app.dark-theme .about-stats .stat-item p{color:var(--text-secondary)}.app.dark-theme .project-card{background-color:var(--bg-card);color:var(--text-primary);box-shadow:0 4px 12px var(--shadow-dark)}.app.dark-theme .project-card .project-description{color:var(--text-secondary)}.app.dark-theme .project-card .tech-tag{background-color:var(--bg-tertiary);color:var(--blue-secondary)}.app.dark-theme .experience-item{background-color:var(--bg-card);color:var(--text-primary);box-shadow:0 4px 12px var(--shadow-dark)}.app.dark-theme .experience-item .position,.app.dark-theme .experience-item .description-list li{color:var(--text-secondary)}.app.dark-theme .skills-grid .skill-card{background-color:var(--bg-card);color:var(--text-primary)}.app.dark-theme .skill-card .skill-category{color:var(--blue-secondary)}.app.dark-theme .skill-card .skill-item .skill-level{color:var(--text-secondary)}.app.dark-theme .skill-card .skill-bar{background-color:var(--bg-tertiary)}.app.dark-theme .skill-card .skill-progress{background-color:var(--blue-secondary)}.app.dark-theme .testimonial-card{background-color:var(--bg-card);color:var(--text-primary);box-shadow:0 4px 12px var(--shadow-dark)}.app.dark-theme .testimonial-feedback,.app.dark-theme .testimonial-info .testimonial-role{color:var(--text-secondary)}.app.dark-theme .section{color:var(--text-primary);background:0 0}.app.dark-theme .contact-form{background-color:var(--bg-card);color:var(--text-primary);box-shadow:0 4px 12px var(--shadow-dark)}.app.dark-theme .contact-form label{color:var(--text-primary)}.app.dark-theme .contact-form input,.app.dark-theme .contact-form textarea{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-primary)}.app.dark-theme .contact-form input:focus,.app.dark-theme .contact-form textarea:focus{border-color:var(--blue-secondary)}.app.dark-theme .contact-item{color:var(--text-primary)}.app.dark-theme .contact-item .contact-icon{background-color:var(--blue-secondary);color:var(--bg-primary)}.app.dark-theme .footer{background-color:var(--bg-secondary);color:var(--text-secondary)}.app.dark-theme .social-links a{color:var(--text-primary)}.app.dark-theme .social-links a:hover{color:var(--blue-secondary)}.gradient-border-content{z-index:1;background:var(--bg-primary);border-radius:calc(var(--border-radius,.75rem) - 4px);flex-direction:column;justify-content:center;height:100%;padding:1.5rem;display:flex;position:relative}@keyframes rotate-gradient{to{--border-angle:360deg}}.app.dark-theme .gradient-border-content{background:hsl(var(--background))}.gradient-border-container{background-color:var(--bg-card);box-shadow:0 4px 6px var(--shadow-light);border-radius:.5rem;padding:0;position:relative;overflow:visible}.gradient-border-container:before{content:none}@keyframes border-conic-rotate{to{--border-angle:360deg}}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@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-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@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-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-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}
