@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2) format("woff2");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}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2) format("woff2");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}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2) format("woff2");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}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2) format("woff2");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}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2) format("woff2");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}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#0a0a0a;color:#e5e5e5;font-size:1rem;line-height:1.6}:root{--cyber-card-accent-rgb: 0, 204, 51;--cyber-card-border: rgba(var(--cyber-card-accent-rgb), .2);--cyber-card-border-strong: rgba(var(--cyber-card-accent-rgb), .42);--cyber-card-glow: rgba(var(--cyber-card-accent-rgb), .14);--cyber-card-radius: 10px;--z-layer-background: 0;--z-layer-content: 1;--z-layer-footer: 2;--z-layer-nav: 40;--z-layer-a11y: 60;--z-layer-a11y-panel: 61;--z-layer-cursor-trail: 70;--z-layer-chatbot: 80;--z-layer-chatbot-panel: 81;--z-layer-skip-link: 100}.skip-to-main{position:absolute;top:-100%;left:50%;transform:translate(-50%);z-index:var(--z-layer-skip-link);background:#0a0a0a;color:#00ff41;border:3px solid #00ff41;padding:.75rem 1.5rem;font-family:Courier New,monospace;font-size:1rem;font-weight:700;text-decoration:none;border-radius:0 0 8px 8px;transition:top .2s ease}.skip-to-main:focus{top:0;outline:3px solid #00ff41;outline-offset:2px}body.nav-menu-open{overflow:hidden}*:focus-visible{outline:3px solid #00ff41!important;outline-offset:3px!important;box-shadow:0 0 0 6px #00ff4140!important}*:focus:not(:focus-visible){outline:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #00ff41!important;outline-offset:3px!important;box-shadow:0 0 0 6px #00ff4140!important;border-radius:4px}html.high-contrast{--a11y-text: #ffffff;--a11y-muted: #d4d4d4;--a11y-accent: #00ff41;--a11y-bg: #000000;--a11y-surface: #1a1a1a;--a11y-border: #00ff41}html.high-contrast body{background:var(--a11y-bg)!important;color:var(--a11y-text)!important}html.high-contrast app-root p,html.high-contrast app-root span,html.high-contrast app-root li,html.high-contrast app-root td,html.high-contrast app-root th,html.high-contrast app-root label,html.high-contrast app-root div{color:var(--a11y-text)!important}html.high-contrast .description,html.high-contrast .tagline,html.high-contrast .subtitle,html.high-contrast .built-with,html.high-contrast .footer-bottom p,html.high-contrast .project-meta,html.high-contrast .dates{color:var(--a11y-muted)!important}html.high-contrast h1,html.high-contrast h2,html.high-contrast h3,html.high-contrast h4,html.high-contrast .section-title,html.high-contrast .nav-text,html.high-contrast .logo-host{color:var(--a11y-accent)!important;text-shadow:none!important}html.high-contrast a{color:var(--a11y-accent)!important;text-decoration:underline!important}html.high-contrast .project-card,html.high-contrast .info-card,html.high-contrast .contact-form,html.high-contrast .login-card,html.high-contrast .nav-link,html.high-contrast .nav-content,html.high-contrast .hamburger-button,html.high-contrast .close-button,html.high-contrast .skill-category,html.high-contrast .footer,html.high-contrast .footer-section,html.high-contrast .footer-links a,html.high-contrast .cyber-glass-card{border-color:var(--a11y-border)!important}html.high-contrast .cyber-glass-card,html.high-contrast .footer,html.high-contrast .footer-section,html.high-contrast .nav-content,html.high-contrast .hamburger-button,html.high-contrast .close-button{background:var(--a11y-surface)!important;box-shadow:none!important}html.high-contrast button,html.high-contrast .btn,html.high-contrast .btn-primary,html.high-contrast .btn-secondary,html.high-contrast .btn-outline{border:2px solid var(--a11y-accent)!important}html.high-contrast *:focus-visible{outline:4px solid #ffffff!important;outline-offset:3px!important;box-shadow:0 0 0 8px #ffffff4d!important}html.reduced-motion,html.reduced-motion *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html.screen-reader-mode .animated-bg,html.screen-reader-mode .cyber-logo .scan-line,html.screen-reader-mode .terminal-network-bg,html.screen-reader-mode .circle{display:none!important}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.sr-only-focusable:focus,.sr-only-focusable:active{position:static!important;width:auto!important;height:auto!important;overflow:visible!important;clip:auto!important;white-space:normal!important}#aria-live-polite,#aria-live-assertive{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-contrast:more){:root{--a11y-text: #ffffff;--a11y-accent: #00ff41}body{color:#fff!important}}.shared-cyber-layout .contact-container,.shared-cyber-layout .credentials-container,.shared-cyber-layout .a11y-statement-container,.shared-cyber-layout .interactive-projects-container,.shared-cyber-layout .login-container,.shared-cyber-layout .docs-container,.shared-cyber-layout .doc-viewer-container{background:transparent!important}.shared-cyber-layout .contact-container:before,.shared-cyber-layout .credentials-container:before,.shared-cyber-layout .a11y-statement-container:before,.shared-cyber-layout .interactive-projects-container:before{display:none!important}.cyber-glass-card{position:relative;overflow:hidden;border:1px solid var(--cyber-card-border);border-radius:var(--cyber-card-radius);background:radial-gradient(130% 120% at 0% 0%,rgba(var(--cyber-card-accent-rgb),.11) 0%,rgba(var(--cyber-card-accent-rgb),.05) 30%,transparent 70%),linear-gradient(165deg,#141c16eb,#080c0acc);box-shadow:inset 0 0 0 1px rgba(var(--cyber-card-accent-rgb),.04),0 8px 18px #0000003d;transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease,background .3s ease}.cyber-glass-card:hover,.cyber-glass-card:focus-visible{border-color:var(--cyber-card-border-strong);background:radial-gradient(130% 120% at 0% 0%,rgba(var(--cyber-card-accent-rgb),.16) 0%,rgba(var(--cyber-card-accent-rgb),.07) 35%,transparent 72%),linear-gradient(165deg,#18221af0,#0a0f0bd6);box-shadow:inset 0 0 0 1px rgba(var(--cyber-card-accent-rgb),.08),0 0 20px var(--cyber-card-glow),0 14px 28px #00000052;transform:translateY(-2px) scale(1.01)}.cyber-glass-card:focus-within{border-color:var(--cyber-card-border-strong);box-shadow:inset 0 0 0 1px rgba(var(--cyber-card-accent-rgb),.08),0 0 16px var(--cyber-card-glow),0 10px 20px #00000047}html.reduced-motion .cyber-glass-card,html.reduced-motion .cyber-glass-card:hover,html.reduced-motion .cyber-glass-card:focus-visible{transform:none!important}html.reduced-motion .hamburger-button:hover,html.reduced-motion .hamburger-button:focus-visible,html.reduced-motion .close-button:hover,html.reduced-motion .close-button:focus-visible,html.reduced-motion .nav-link:hover,html.reduced-motion .nav-link:focus-visible,html.reduced-motion .footer-links a:hover,html.reduced-motion .footer-links a:focus-visible{transform:none!important}@media(prefers-reduced-motion:reduce){.cyber-glass-card,.cyber-glass-card:hover,.cyber-glass-card:focus-visible{transform:none}.hamburger-button:hover,.hamburger-button:focus-visible,.close-button:hover,.close-button:focus-visible,.nav-link:hover,.nav-link:focus-visible,.footer-links a:hover,.footer-links a:focus-visible{transform:none}}.home-container .hero-buttons{display:flex;flex-direction:column;gap:.85rem;align-items:center;animation:fadeIn 1s ease-out .8s both;margin-bottom:3rem;padding:1rem;border-radius:14px;border:1px solid rgba(var(--cyber-card-accent-rgb),.22);background:radial-gradient(130% 120% at 0% 0%,rgba(var(--cyber-card-accent-rgb),.1) 0%,rgba(var(--cyber-card-accent-rgb),.035) 34%,transparent 72%),linear-gradient(165deg,#0c120ec2,#080c0aa8);box-shadow:inset 0 0 0 1px rgba(var(--cyber-card-accent-rgb),.04),0 10px 24px #00000059;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.home-container .button-row{display:flex;gap:.85rem;justify-content:center;flex-wrap:wrap}.home-container .btn{min-height:46px;min-width:208px;padding:.72rem 1.3rem;border-radius:10px;text-decoration:none;font-weight:600;font-size:.96rem;letter-spacing:.3px;line-height:1.2;font-family:Space Grotesk,Courier New,monospace;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;position:relative;overflow:hidden;isolation:isolate;will-change:transform,box-shadow;border:1px solid rgba(var(--cyber-card-accent-rgb),.24);color:#dbe2df;background:radial-gradient(130% 120% at 0% 0%,rgba(var(--cyber-card-accent-rgb),.08) 0%,rgba(var(--cyber-card-accent-rgb),.03) 32%,transparent 72%),linear-gradient(165deg,#121a14d6,#0a0f0bbd);box-shadow:inset 0 0 0 1px rgba(var(--cyber-card-accent-rgb),.05),0 4px 12px #0000003d}.home-container .btn:before{content:"";position:absolute;left:0;top:0;width:2px;height:100%;background:#0c3;transform:scaleY(0);transform-origin:top;transition:transform .25s ease;pointer-events:none}.home-container .btn-primary{color:#e8f7eb;border-color:rgba(var(--cyber-card-accent-rgb),.34);background:radial-gradient(130% 120% at 0% 0%,rgba(var(--cyber-card-accent-rgb),.14) 0%,rgba(var(--cyber-card-accent-rgb),.06) 35%,transparent 72%),linear-gradient(165deg,#141e17e6,#0a100cd1);box-shadow:inset 0 0 0 1px rgba(var(--cyber-card-accent-rgb),.08),0 0 10px rgba(var(--cyber-card-accent-rgb),.14),0 6px 16px #0000004d}.home-container .btn-outline,.home-container .btn-secondary{border-color:rgba(var(--cyber-card-accent-rgb),.22)}.home-container .btn:hover,.home-container .btn:focus-visible{color:#00ff41;border-color:var(--cyber-card-border-strong);background:rgba(var(--cyber-card-accent-rgb),.09);box-shadow:0 0 14px rgba(var(--cyber-card-accent-rgb),.14);transform:translate(2px)}.home-container .btn:hover:before,.home-container .btn:focus-visible:before{transform:scaleY(1)}.home-container .btn-primary:hover,.home-container .btn-primary:focus-visible{border-color:rgba(var(--cyber-card-accent-rgb),.56);background:rgba(var(--cyber-card-accent-rgb),.12);box-shadow:0 0 18px rgba(var(--cyber-card-accent-rgb),.22)}.home-container .btn svg{flex-shrink:0;transition:transform .25s ease,filter .25s ease}.home-container .btn:hover svg,.home-container .btn:focus-visible svg{transform:scale(1.08);filter:drop-shadow(0 0 6px rgba(var(--cyber-card-accent-rgb),.35))}html.reduced-motion .home-container .btn:hover,html.reduced-motion .home-container .btn:focus-visible,html.reduced-motion .home-container .btn-primary:hover,html.reduced-motion .home-container .btn-primary:focus-visible{transform:none!important}html.reduced-motion .home-container .btn:hover svg,html.reduced-motion .home-container .btn:focus-visible svg,html.reduced-motion .home-container .btn-primary:hover svg,html.reduced-motion .home-container .btn-primary:focus-visible svg{transform:none!important;filter:none!important}@media(prefers-reduced-motion:reduce){.home-container .btn:hover,.home-container .btn:focus-visible,.home-container .btn-primary:hover,.home-container .btn-primary:focus-visible{transform:none}.home-container .btn:hover svg,.home-container .btn:focus-visible svg,.home-container .btn-primary:hover svg,.home-container .btn-primary:focus-visible svg{transform:none;filter:none}}
