.circuit-background{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;background:var(--bg);mask-image:linear-gradient(to right,black 0%,black 15%,transparent 26%,transparent 74%,black 85%,black 100%);-webkit-mask-image:linear-gradient(to right,black 0%,black 15%,transparent 26%,transparent 74%,black 85%,black 100%)}@media (max-width: 768px){.circuit-background{mask-image:linear-gradient(to right,black 0%,black 3%,transparent 8%,transparent 92%,black 97%,black 100%);-webkit-mask-image:linear-gradient(to right,black 0%,black 3%,transparent 8%,transparent 92%,black 97%,black 100%)}}.circuit-svg{position:absolute;top:50%;left:50%;width:140%;height:140%;transform:translate(-50%,-50%);opacity:.92}.circuit-wires-mobile-vertical{visibility:hidden;pointer-events:none}@media (max-width: 768px){.circuit-wires-mobile-vertical{visibility:visible}}.circuit-trace-back{opacity:.35}.circuit-pulse{stroke-dasharray:10 600;stroke-dashoffset:0;animation:circuit-flow linear infinite}@keyframes circuit-flow{to{stroke-dashoffset:-610}}.circuit-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:48px 48px;opacity:.4;-webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 20%,transparent 70%);mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 20%,transparent 70%)}.main{position:relative;z-index:1;max-width:52rem;margin:0 auto;padding:0 1.25rem 4rem}#home,#about,#skills,#education,#experience,#work,#contact{scroll-margin-top:5rem}.section-title{font-family:var(--font-mono);font-size:1.5rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin:0 auto 1.25rem;text-align:center;padding-bottom:.05rem;border-bottom:1px solid var(--accent);max-width:fit-content}.site-header{position:sticky;top:0;z-index:100;background:var(--header-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.nav{display:flex;align-items:center;justify-content:space-between;max-width:52rem;margin:0 auto;padding:1.5rem 1.25rem}.nav-logo{font-family:var(--font-mono);font-weight:500;font-size:1.125rem;color:var(--text)}.nav-logo:hover{color:var(--accent)}.nav-links{display:flex;gap:1.75rem;list-style:none;margin:0;padding:0}.nav-links a,.nav-links .nav-link{color:var(--text-muted);font-size:.9375rem;border-bottom:1px solid transparent;padding-bottom:2px}.nav-links a:hover,.nav-links .nav-link:hover{color:var(--text)}.nav-links .nav-link-active{color:var(--accent);border-bottom-color:var(--accent);text-shadow:0 0 10px rgba(0,212,170,.6),0 0 20px rgba(0,212,170,.3)}.nav-links .nav-link-active:hover{color:var(--accent-dim);border-bottom-color:var(--accent-dim);text-shadow:0 0 10px rgba(0,212,170,.5),0 0 18px rgba(0,212,170,.25)}.nav-toggle{display:none;flex-direction:column;gap:5px;padding:8px;background:none;border:none;cursor:pointer;color:var(--text)}.nav-toggle span{display:block;width:22px;height:2px;background:currentColor;border-radius:1px}.theme-toggle{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;margin-left:.5rem;padding:0;background:none;border:none;border-radius:var(--radius);color:var(--text-muted);cursor:pointer;transition:color .2s var(--ease),background .2s var(--ease)}.theme-toggle:hover{color:var(--accent);background:#00d4aa1a}.hero{padding:4rem 0 2rem;min-height:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.hero-label{font-family:var(--font-mono);font-size:.875rem;color:var(--accent);margin:0 0 .25rem;animation:fadeUp .6s var(--ease) both}.hero-title{font-family:var(--font-sans);font-size:clamp(2.25rem,7vw,3.5rem);font-weight:600;line-height:1.15;margin:0 0 .75rem;color:var(--text);animation:fadeUp .6s var(--ease) .1s both;text-shadow:0 0 20px rgba(0,212,170,.25),0 0 40px rgba(0,212,170,.15),0 0 60px rgba(0,212,170,.08)}.hero-tagline{font-size:1.125rem;color:var(--text-muted);max-width:28rem;margin:0 0 1.5rem;animation:fadeUp .6s var(--ease) .2s both;text-align:center}.hero-cta{display:inline-block;font-size:.9375rem;font-weight:500;padding:.6rem 1.25rem;background:var(--accent);color:var(--bg);border-radius:var(--radius);transition:transform .2s var(--ease),background .2s var(--ease);animation:fadeUp .6s var(--ease) .3s both}.hero-cta:hover{background:var(--accent-dim);transform:translateY(-2px)}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.about{padding:3rem 0;border-top:1px solid var(--border)}.about-content{max-width:36rem;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.about-photo{max-width:480px;width:100%;height:auto;display:block;border-radius:var(--radius);flex-shrink:0;box-shadow:0 4px 24px #00d4aa26,0 0 40px #00d4aa14}.about-content p{margin:0 0 1rem;color:var(--text-muted);text-align:center;font-size:1.0625rem;line-height:1.65}.about-content p:last-child{margin-bottom:0}.skills{padding:3rem 0;border-top:1px solid var(--border)}.skills-content{max-width:36rem;margin:0 auto;text-align:center}.skills-group{margin-bottom:1.25rem}.skills-group:last-child{margin-bottom:0}.skills-label{font-family:var(--font-mono);font-size:1rem;font-weight:500;color:var(--accent);margin:0 0 .35rem}.skills-list{display:flex;flex-wrap:wrap;gap:.5rem .75rem;justify-content:center;margin:0}.skills-pill{display:inline-block;font-size:.875rem;color:var(--text);background:#00d4aa1f;border:1px solid rgba(0,212,170,.35);border-radius:2rem;padding:.35rem .85rem;transition:border-color .2s var(--ease),background .2s var(--ease)}.skills-pill:hover{border-color:#00d4aa80;background:#00d4aa2e}.education{padding:3rem 0;border-top:1px solid var(--border)}.education-content{max-width:36rem;margin:0 auto}.education-list{margin-bottom:2.5rem}.education-entry{margin-bottom:2.5rem;text-align:center}.education-entry:last-child{margin-bottom:0}.education-school{font-family:var(--font-sans);font-size:1.0625rem;font-weight:600;color:var(--text);margin:0 0 .35rem}.education-degree{font-size:1rem;color:var(--text);margin:0 0 .35rem}.education-meta{font-family:var(--font-mono);font-size:.9375rem;color:var(--text-muted);margin:0}.education-date{margin-top:.15rem}.education-subtitle{font-family:var(--font-mono);font-size:1rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0 0 1rem;text-align:center}.certificates-content{max-width:36rem;margin:0 auto;text-align:center}.certificate-item{margin-bottom:1rem}.certificate-item:last-child{margin-bottom:0}.certificate-name{font-size:1.0625rem;font-weight:500;color:var(--text);margin:0 0 .25rem}.certificate-date{font-family:var(--font-mono);font-size:.9375rem;color:var(--text-muted);margin:0}.experience{padding:3rem 0;border-top:1px solid var(--border)}.experience-list{max-width:36rem;margin:0 auto}.experience-job{margin-bottom:2.5rem;text-align:center}.experience-job:last-child{margin-bottom:0}.experience-company{font-family:var(--font-sans);font-size:1.25rem;font-weight:600;color:var(--text);margin:0 0 .2rem}.experience-role{font-family:var(--font-mono);font-size:1rem;font-weight:500;color:var(--accent);margin:0 0 .25rem}.experience-meta{font-size:.9375rem;color:var(--text-muted);margin:0 0 .25rem}.experience-date{margin-bottom:.75rem}.experience-bullets{margin:.75rem auto 0;padding-left:1.25rem;font-size:1.0625rem;line-height:1.6;color:var(--text-muted);text-align:left;max-width:32rem}.experience-bullets li{margin-bottom:.5rem}.experience-bullets li:last-child{margin-bottom:0}.work{padding:3rem 0;border-top:1px solid var(--border)}.project-list{list-style:none;margin:0 auto;padding:0;display:flex;flex-direction:column;gap:.5rem;max-width:36rem}.project-card{border-radius:var(--radius);border:1px solid var(--border);transition:border-color .2s var(--ease),background .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease)}.project-card:hover{border-color:var(--accent-dim);background:#00d4aa0a;transform:translateY(-2px);box-shadow:0 6px 20px #00d4aa1f,0 0 24px #00d4aa0f}.project-link{display:block;padding:1rem 1.25rem;color:var(--text);text-align:center;cursor:default}.project-card:hover .project-link{color:var(--text)}.project-name{display:block;font-family:var(--font-mono);font-weight:500;font-size:1.125rem;margin-bottom:.2rem;color:var(--accent)}.project-desc{font-size:1.0625rem;color:var(--text-muted)}.hobbies{padding:3rem 0;border-top:1px solid var(--border);text-align:center}.hobbies-page{border-top:none;padding-top:2rem}.hobbies-intro{font-size:1.0625rem;color:var(--text-muted);margin:0 0 1rem}.hobbies-list{max-width:36rem;margin:0 auto;list-style:none;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.5rem}.hobbies-list li{font-size:1.0625rem;color:var(--text)}.hobby-entry{margin-top:2.5rem;text-align:center;max-width:42rem;margin-left:auto;margin-right:auto}.hobby-title{font-family:var(--font-mono);font-size:1.25rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0 0 .75rem}.hobby-desc{font-size:1.0625rem;line-height:1.6;color:var(--text-muted);margin:0 0 1.5rem}.hobby-pair-headers{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem;text-align:left}.hobby-pair-headers .hobby-desc{margin-bottom:0}.hobby-pair-headers>div:first-child .hobby-desc{margin-bottom:0}@media (max-width: 640px){.hobby-pair-headers{grid-template-columns:1fr;text-align:center}}.hobby-collage{display:grid;gap:.25rem;border-radius:var(--radius);overflow:hidden}.hobby-collage-item{overflow:hidden;min-width:0;min-height:0;background:var(--bg-panel)}.hobby-collage-item img{width:100%;height:100%;object-fit:cover;display:block;vertical-align:middle}.hobby-collage-item--rotate-90 img{transform:rotate(90deg) scale(1.5);object-fit:cover}.hobby-collage--6{grid-template-columns:repeat(3,1fr);grid-auto-rows:10rem}.hobby-collage--6 .hobby-collage-item:first-child{grid-column:span 2;grid-row:span 2}.hobby-collage--5{grid-template-columns:repeat(3,1fr);grid-auto-rows:10rem}.hobby-collage--5 .hobby-collage-item:first-child{grid-column:span 2;grid-row:span 2}.hobby-collage--2{grid-template-columns:1fr 1fr;grid-auto-rows:14rem}.hobby-collage--1{grid-template-columns:1fr;grid-auto-rows:14rem}.contact{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:18rem;padding:3.25rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center;box-sizing:border-box}.contact-intro{font-size:1.0625rem;color:var(--text-muted);margin:0 0 1rem}[data-theme=dark] .about-content p,[data-theme=dark] .hero-tagline,[data-theme=dark] .project-desc,[data-theme=dark] .contact-intro,[data-theme=dark] .hobbies-intro,[data-theme=dark] .hobby-desc{color:#e6edf3}[data-theme=light] .about-content p,[data-theme=light] .hero-tagline,[data-theme=light] .contact-intro,[data-theme=light] .project-desc,[data-theme=light] .skills-label,[data-theme=light] .hobbies-intro,[data-theme=light] .hobby-desc,[data-theme=light] .site-footer p{color:var(--text)}[data-theme=light] .site-footer p{opacity:1}[data-theme=light] .nav-links .nav-link-active{text-shadow:0 0 10px rgba(176,58,10,.6),0 0 20px rgba(176,58,10,.3)}[data-theme=light] .nav-links .nav-link-active:hover{text-shadow:0 0 10px rgba(176,58,10,.5),0 0 18px rgba(176,58,10,.25)}[data-theme=light] .hero-title{text-shadow:0 0 20px rgba(176,58,10,.25),0 0 40px rgba(176,58,10,.15),0 0 60px rgba(176,58,10,.08)}[data-theme=light] .about-photo{box-shadow:0 4px 24px #b03a0a26,0 0 40px #b03a0a14}[data-theme=light] .theme-toggle:hover{background:#b03a0a1a}[data-theme=light] .skills-pill{background:#b03a0a1f;border-color:#b03a0a59}[data-theme=light] .skills-pill:hover{border-color:#b03a0a80;background:#b03a0a2e}[data-theme=light] .project-card:hover{background:#b03a0a0a;box-shadow:0 6px 20px #b03a0a1f,0 0 24px #b03a0a0f}.contact-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem 1rem;list-style:none;margin:0;padding:0}.contact-links a{display:inline-flex;align-items:center;gap:.5rem;font-weight:500;font-size:.9375rem;padding:.5rem 1.25rem;border-radius:2rem;border:1px solid var(--accent);color:var(--accent);background:transparent;transition:color .2s var(--ease),background .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease)}.contact-icon{width:1.125rem;height:1.125rem;flex-shrink:0}.contact-links a:hover{color:var(--bg);background:var(--accent);border-color:var(--accent);transform:translateY(-1px)}.site-footer{position:relative;z-index:1;max-width:52rem;margin:0 auto;padding:2rem 1.25rem;text-align:center}.site-footer p{margin:0;font-size:.8125rem;color:var(--text-muted);opacity:.85}@media (max-width: 640px){.nav-links{display:none}.nav-links.is-open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;padding:1rem;background:var(--bg-panel);border-bottom:1px solid var(--border)}.nav-links.is-open li{padding:.75rem 0;border-bottom:1px solid var(--border)}.nav-links.is-open li:last-child{border-bottom:none}.nav-toggle{display:flex}.hero{padding:2.5rem 0 2rem}.hero-tagline{font-size:1rem}}:root{--bg: #0a0e14;--bg-panel: #0d1117;--grid: #161b22;--text: #e6edf3;--text-muted: #8b949e;--accent: #00d4aa;--accent-dim: #00a884;--circuit: rgba(0, 212, 170, .35);--circuit-pulse: rgba(0, 212, 170, .9);--wire-1: rgba(0, 212, 170, .4);--wire-1-pulse: rgba(0, 212, 170, .9);--wire-2: rgba(190, 150, 170, .32);--wire-2-pulse: rgba(210, 165, 185, .65);--wire-3: rgba(200, 180, 130, .32);--wire-3-pulse: rgba(220, 200, 150, .65);--wire-4: rgba(130, 160, 200, .32);--wire-4-pulse: rgba(150, 180, 220, .65);--wire-5: rgba(160, 155, 200, .32);--wire-5-pulse: rgba(180, 175, 220, .65);--wire-6: rgba(100, 180, 160, .32);--wire-6-pulse: rgba(130, 200, 180, .65);--wire-7: rgba(200, 160, 160, .32);--wire-7-pulse: rgba(220, 180, 180, .65);--wire-8: rgba(110, 180, 195, .32);--wire-8-pulse: rgba(140, 200, 215, .65);--wire-9: rgba(180, 175, 220, .32);--wire-9-pulse: rgba(195, 190, 230, .65);--wire-10: rgba(130, 195, 165, .32);--wire-10-pulse: rgba(160, 215, 185, .65);--gate-stroke: rgba(139, 148, 158, .5);--gate-fill: rgba(22, 27, 34, .6);--border: #484f58;--header-bg: rgba(10, 14, 20, .85);--font-sans: "Space Grotesk", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace;--radius: 6px;--ease: cubic-bezier(.4, 0, .2, 1)}[data-theme=light]{--bg: #f0f2f5;--bg-panel: #ffffff;--grid: #dde1e6;--text: #0a0c0e;--text-muted: #363d45;--border: #6e7681;--accent: #b03a0a;--accent-dim: #8b2e0f;--header-bg: rgba(255, 255, 255, .95);--gate-stroke: rgba(66, 74, 83, .5);--gate-fill: rgba(255, 255, 255, .8);--wire-1: rgba(0, 100, 85, .55);--wire-1-pulse: rgba(0, 115, 95, .9);--wire-2: rgba(120, 85, 95, .45);--wire-2-pulse: rgba(140, 100, 115, .7);--wire-3: rgba(130, 110, 70, .45);--wire-3-pulse: rgba(150, 125, 80, .7);--wire-4: rgba(70, 100, 130, .45);--wire-4-pulse: rgba(85, 120, 155, .7);--wire-5: rgba(95, 90, 130, .45);--wire-5-pulse: rgba(110, 105, 155, .7);--wire-6: rgba(50, 110, 95, .45);--wire-6-pulse: rgba(65, 130, 110, .7);--wire-7: rgba(130, 95, 95, .45);--wire-7-pulse: rgba(155, 115, 115, .7);--wire-8: rgba(60, 110, 120, .45);--wire-8-pulse: rgba(75, 130, 150, .7);--wire-9: rgba(110, 105, 155, .45);--wire-9-pulse: rgba(130, 125, 180, .7);--wire-10: rgba(65, 120, 100, .45);--wire-10-pulse: rgba(85, 145, 120, .7)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-sans);font-size:1rem;line-height:1.6;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none;transition:color .2s var(--ease)}a:hover{color:var(--text)}#root{min-height:100vh;position:relative}
