@import url(https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=JetBrains+Mono:wght@300;400;500&display=swap);*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
/* ! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com */*,:after,:before{border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}:root{--bg:#0a0a0f;--bg-2:#111118;--bg-3:#16161e;--surface:#1c1c26;--border:#ffffff12;--accent:#7effd4;--accent-2:#5b9cf6;--text:#e8e8f0;--muted:#6b6b82;--white:#fff;--radius:12px;--transition:0.35s cubic-bezier(0.4,0,0.2,1)}html{scroll-behavior:smooth}*,:after,:before{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;background:#0a0a0f;background:var(--bg);color:#e8e8f0;color:var(--text);font-family:JetBrains Mono,monospace;margin:0}.portfolio{min-height:100vh;overflow-x:hidden}.about-grid,.hero,.project-card,.skill-group{opacity:0;transform:translateY(28px);transition:opacity .65s cubic-bezier(.4,0,.2,1) .35s,transform .65s cubic-bezier(.4,0,.2,1) .35s;transition:opacity .65s var(--transition),transform .65s var(--transition)}.about-grid.revealed,.hero.revealed,.project-card.revealed,.skill-group.revealed{opacity:1;transform:translateY(0)}.nav{align-items:center;display:flex;justify-content:space-between;left:0;padding:20px 48px;position:fixed;right:0;top:0;transition:background .35s cubic-bezier(.4,0,.2,1),border-bottom .35s cubic-bezier(.4,0,.2,1),-webkit-backdrop-filter .35s cubic-bezier(.4,0,.2,1);transition:background .35s cubic-bezier(.4,0,.2,1),border-bottom .35s cubic-bezier(.4,0,.2,1),backdrop-filter .35s cubic-bezier(.4,0,.2,1);transition:background .35s cubic-bezier(.4,0,.2,1),border-bottom .35s cubic-bezier(.4,0,.2,1),backdrop-filter .35s cubic-bezier(.4,0,.2,1),-webkit-backdrop-filter .35s cubic-bezier(.4,0,.2,1);transition:background var(--transition),border-bottom var(--transition),-webkit-backdrop-filter var(--transition);transition:background var(--transition),border-bottom var(--transition),backdrop-filter var(--transition);transition:background var(--transition),border-bottom var(--transition),backdrop-filter var(--transition),-webkit-backdrop-filter var(--transition)}.nav-scrolled{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a0a0fe0;border-bottom:1px solid #ffffff12;border-bottom:1px solid var(--border);padding:12px 48px}.nav-logo{color:#fff;color:var(--white);font-family:Syne,sans-serif;font-size:1.4rem;font-weight:800;letter-spacing:-.5px;text-decoration:none}.nav-logo .accent{color:#7effd4;color:var(--accent)}.nav-links{display:flex;gap:36px}.nav-links a{color:#6b6b82;color:var(--muted);font-size:.78rem;font-weight:400;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;transition:color .35s cubic-bezier(.4,0,.2,1);transition:color var(--transition)}.nav-links a:hover{color:#7effd4;color:var(--accent)}.hamburger{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:5px;padding:4px}.hamburger span{background:#e8e8f0;background:var(--text);border-radius:2px;display:block;height:2px;transition:all .3s;width:22px}@media (max-width:768px){.nav{padding:18px 24px}.nav-scrolled{padding:12px 24px}.nav-links{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0a0a0ff7;border-bottom:1px solid #ffffff12;border-bottom:1px solid var(--border);display:none;flex-direction:column;gap:28px;left:0;padding:40 px 0;position:fixed;right:0;top:60px}.nav-links.open{display:flex}.nav-links a{font-size:1rem}}.hero{align-items:center;display:flex;gap:40px;justify-content:space-between;min-height:100vh;overflow:hidden;padding:40px 48px 80px;position:relative}.hero-bg-grid{background-image:linear-gradient(rgba(126,255,212,.025) 1px,#0000 0),linear-gradient(90deg,rgba(126,255,212,.025) 1px,#0000 0);background-size:48px 48px;inset:0;-webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 40%,#000 40%,#0000 100%);mask-image:radial-gradient(ellipse 80% 80% at 50% 40%,#000 40%,#0000 100%)}.hero-bg-grid,.hero:before{pointer-events:none;position:absolute}.hero:before{background:radial-gradient(circle,#7effd40f 0,#0000 70%);content:"";height:600px;right:-200px;top:-200px;width:600px}.hero-content{max-width:680px;position:relative;z-index:1}.hero-eyebrow{color:#5b9cf6;color:var(--accent-2);font-size:.75rem;letter-spacing:.12em;margin:0 0 20px;text-transform:uppercase}.hero-name{color:#fff;color:var(--white);font-family:Syne,sans-serif;font-size:clamp(2.8rem,6vw,5.2rem);font-weight:800;line-height:1;margin:0 15px 50px}.hero-typed{color:#6b6b82;color:var(--muted);font-size:1.05rem;line-height:1.6;margin:0 0 36px}.typed-text{color:#e8e8f0;color:var(--text);font-weight:500}.cursor{animation:blink 1s step-end infinite;color:#7effd4;color:var(--accent);display:inline-block;margin-left:1px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:36px}.btn-primary{align-items:center;background:#7effd4;background:var(--accent);border:none;border-radius:12px;border-radius:var(--radius);color:#050508;display:inline-flex;font-family:JetBrains Mono,monospace;font-size:.82rem;font-weight:500;gap:8px;letter-spacing:.04em;padding:12px 28px;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s}.btn-primary:hover{box-shadow:0 8px 30px #7effd440;transform:translateY(-2px)}.btn-primary.btn-full{justify-content:center;width:100%}.btn-ghost{align-items:center;background:#0000;border:1px solid #7effd4;border:1px solid var(--accent);border-radius:12px;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-family:JetBrains Mono,monospace;font-size:.82rem;font-weight:500;gap:8px;letter-spacing:.04em;padding:12px 28px;text-decoration:none;transition:border-color .2s,color .2s,transform .2s}.btn-ghost,.btn-ghost:hover{color:#7effd4;color:var(--accent)}.btn-ghost:hover{border-color:#7effd4;border-color:var(--accent);transform:translateY(-2px)}.hero-social{align-items:center;display:flex;gap:16px}.hero-social .social-icon{align-items:center;background:#1c1c26;background:var(--surface);border:1px solid #ffffff12;border:1px solid var(--border);border-radius:8px;color:#6b6b82;color:var(--muted);display:flex;flex-shrink:0;font-size:.78rem;gap:6px;height:36px;justify-content:center;text-decoration:none;transition:all .2s;width:36px}.hero-social .social-icon:hover{border-color:#7effd4;border-color:var(--accent);color:#7effd4;color:var(--accent);transform:translateY(-2px)}.hero-social .social-email{font-size:.78rem;text-decoration:underline;transition:color .2s;white-space:nowrap}.hero-social .social-email,.hero-social .social-email:hover{color:#7effd4;color:var(--accent)}.hero-photo-wrap{animation:rotate-ring 12s linear infinite;background:conic-gradient(from 0deg,#0000 70%,#7effd44d 100%);border:1px solid #7effd44d;border-radius:50%;flex-shrink:0;position:relative;z-index:1}@keyframes rotate-ring{to{transform:rotate(1turn)}}.hero-photo{border:3px solid #16161e;border:3px solid var(--bg-3);border-radius:50%;display:block;height:260px;object-fit:cover;position:relative;width:260px;z-index:1}@media (max-width:900px){.hero{align-items:center;flex-direction:column-reverse;gap:40px;padding:100px 24px 60px}.hero-photo{height:140px;width:140px}.hero-name{font-size:clamp(2.2rem,8vw,3.2rem)}}.section{padding:100px 48px}.section:nth-child(2n){background:#111118;background:var(--bg-2)}.section-inner{margin:0 auto;max-width:1100px}.section-header{align-items:baseline;display:flex;gap:2px;margin-bottom:20px}.section-eyebrow{color:#7effd4;color:var(--accent);font-size:.72rem;font-weight:500;letter-spacing:.16em;opacity:.7}.section-title{color:#fff;color:var(--white);font-family:Syne,sans-serif;font-size:2.2rem;font-weight:800;letter-spacing:-.02em;padding-top:20px}@media (max-width:768px){.section{padding:72px 24px}.section-title{font-size:1.75rem}}.projects-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.project-card{background:#1c1c26;background:var(--surface);border:1px solid #ffffff12;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);cursor:pointer;transition:opacity .65s cubic-bezier(.4,0,.2,1) .35s,transform .65s cubic-bezier(.4,0,.2,1) .35s,border-color .25s,box-shadow .25s;transition:opacity .65s var(--transition),transform .65s var(--transition),border-color .25s,box-shadow .25s}.project-card:hover{border-color:#7effd440;box-shadow:0 8px 40px #7effd40f;transform:translateY(-4px)!important}.project-card.featured{background:linear-gradient(135deg,#1c1c26,#7effd408);background:linear-gradient(135deg,var(--surface),#7effd408);border-color:#7effd426}.card-inner{gap:16px;height:100%;padding:28px}.card-header,.card-inner{display:flex;flex-direction:column}.card-header{gap:4px}.featured-badge{background:#7effd433;border-radius:4px;color:#7effd4;color:var(--accent);display:inline-block;font-size:.65rem;letter-spacing:.1em;margin-bottom:8px;padding:2px 8px;text-transform:uppercase;width:fit-content}.card-title{color:#fff;color:var(--white);font-family:Syne,sans-serif;font-size:1.15rem;font-weight:700;letter-spacing:-.01em;margin:0}.card-desc,.card-subtitle{color:#6b6b82;color:var(--muted);font-size:.82rem;margin:0}.card-desc{flex:1 1;line-height:1.65}.card-footer{align-items:center;gap:10px;justify-content:space-between;margin-top:auto}.card-footer,.tags{display:flex;flex-wrap:wrap}.tags{gap:6px}.tag{background:#5b9cf626;border-radius:4px;color:#5b9cf6;color:var(--accent-2);font-size:.65rem;letter-spacing:.06em;padding:2px 8px}.card-link{align-items:center;color:#7effd4;color:var(--accent);display:inline-flex;flex-shrink:0;font-size:.72rem;gap:6px;letter-spacing:.04em;text-decoration:none;transition:opacity .2s}.card-link:hover{opacity:.7}.skill-group{display:flex;flex-direction:column;gap:4px}.skill-label{color:#7effd4;color:var(--accent);font-size:.68rem;letter-spacing:.12em;margin-bottom:5px;margin-top:20px;text-transform:uppercase}.skill-items{display:flex;flex-wrap:wrap;gap:8px}.skill-pill{background:#1c1c26;background:var(--surface);border:1px solid #ffffff12;border:1px solid var(--border);border-radius:6px;color:#e8e8f0;color:var(--text);cursor:default;font-size:.78rem;padding:4px 14px;transition:border-color .2s,color .2s}.skill-pill:hover{border-color:#7effd44d;color:#7effd4;color:var(--accent)}.about-grid{grid-gap:60px;align-items:start;display:grid;gap:60px;grid-template-columns:1fr 220px}.about-text{display:flex;flex-direction:column;gap:20px}.about-text p{color:#6b6b82;color:var(--muted);font-size:.92rem;line-height:1.85;margin:0}.about-text strong{color:#e8e8f0;color:var(--text);font-weight:500}.about-text em{color:#7effd4;color:var(--accent);font-style:normal}.about-sidebar{gap:24px}.about-sidebar,.about-stat{display:flex;flex-direction:column}.about-stat{background:#1c1c26;background:var(--surface);border:1px solid #ffffff12;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);gap:4px;padding:20px}.stat-num{color:#7effd4;color:var(--accent);font-family:Syne,sans-serif;font-size:1.8rem;font-weight:800;letter-spacing:-.02em}.stat-label{color:#6b6b82;color:var(--muted);font-size:.72rem;letter-spacing:.06em}@media (max-width:768px){.about-grid{gap:40px;grid-template-columns:1fr}.about-sidebar{flex-direction:row;flex-wrap:wrap}.about-stat{flex:1 1;min-width:100px}}.contact-inner{margin:0 auto;max-width:680px}.contact-sub{color:#6b6b82;color:var(--muted);font-size:.9rem;margin:-10px 0 44px}.contact-form{display:flex;flex-direction:column;gap:28px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}@media (max-width:600px){.form-row{grid-template-columns:1fr}}.form-field{display:flex;flex-direction:column;gap:8px}.form-field label{color:#6b6b82;color:var(--muted);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.form-field input,.form-field textarea{background:#1c1c26;background:var(--surface);border:1px solid #ffffff12;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);color:#e8e8f0;color:var(--text);font-family:JetBrains Mono,monospace;font-size:.85rem;outline:none;padding:18px 16px;resize:vertical;transition:border-color .2s,box-shadow .2s}.form-field input::placeholder,.form-field textarea::placeholder{color:#6b6b8299}.form-field input:focus,.form-field textarea:focus{border-color:#7effd459;box-shadow:0 0 0 3px #7effd40f}.contact-alt{border-top:1px solid #ffffff12;border-top:1px solid var(--border);color:#6b6b82;color:var(--muted);flex-wrap:wrap;font-size:.78rem;gap:20px;margin-top:28px;padding-top:24px}.contact-alt,.contact-alt a{align-items:center;display:flex}.contact-alt a{color:#7effd4;color:var(--accent);gap:6px;text-decoration:none;transition:opacity .2s}.contact-alt a:hover{opacity:.7}.footer{align-items:center;border-top:1px solid #ffffff12;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:32px 48px}.footer p{color:#6b6b82;color:var(--muted);font-size:.75rem;margin:0}.footer-sub{color:#6b6b8280}@media (max-width:480px){.footer{flex-direction:column;padding:24px}}
/*# sourceMappingURL=main.9c58dbd6.css.map*/