@import"https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@500;600;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg: #1a2024;--panel: #232c31;--panel-strong: #2f3a40;--card: #1f282d;--text: #e6e7e9;--muted: #9ea3a8;--silver: #b4b8bd;--steel: #7d8590;--border: #38434a;--accent: #4fd1e6;--accent-soft: rgba(79, 209, 230, .14);--font-display: "Chakra Petch", "Inter", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;--shadow: 0 8px 24px rgba(0, 0, 0, .28);--radius: 6px;--transition: .2s ease}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;font-family:var(--font-body);background-color:var(--bg);background-image:linear-gradient(rgba(180,184,189,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(180,184,189,.045) 1px,transparent 1px);background-size:36px 36px;color:var(--text);line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3{font-family:var(--font-display)}.led{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent);animation:blink 2.4s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.35}}.page-shell{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:24px 0 40px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:18px 0 22px;border-bottom:1px solid var(--border)}.brand{display:inline-flex;align-items:center;color:var(--text);font-family:var(--font-display);font-size:1rem;font-weight:700;letter-spacing:.12em}.brand span{color:var(--silver)}.nav{display:flex;flex-wrap:wrap;gap:25px;color:var(--muted);font-family:var(--font-mono);font-size:.82rem}.nav a{transition:color var(--transition)}.nav a:hover{color:var(--accent)}.hero{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:56px;padding:70px 0 40px}.eyebrow{margin:0 0 14px;color:var(--accent);font-family:var(--font-mono);font-size:.8rem}.hero h1{margin:0;max-width:11em;font-size:clamp(2.6rem,5.6vw,4.6rem);font-weight:700;line-height:1.04;letter-spacing:-.02em}.lead{max-width:560px;margin-top:22px;color:var(--muted);font-size:1.02rem;line-height:1.8}.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.primary-btn,.secondary-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));font-family:var(--font-display);font-weight:600;transition:var(--transition)}.primary-btn{color:#11181b;background:var(--accent)}.primary-btn:hover{background:#8be4f2}.secondary-btn{color:var(--text);background:var(--panel-strong)}.secondary-btn:hover{color:var(--accent)}.stats{display:flex;flex-wrap:wrap;gap:12px;margin:34px 0 0}.stats>div{min-width:130px;padding:14px 15px;background:var(--panel);border:1px solid var(--border);border-left:2px solid var(--accent);border-radius:3px}.stats strong{display:block;color:var(--text);font-family:var(--font-display);font-size:1.05rem}.stats span{color:var(--muted);font-size:.78rem}.hero-card{padding:18px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.mini-panel{display:flex;align-items:center;gap:8px;padding-bottom:14px}.dot{width:9px;height:9px;border-radius:50%;background:var(--steel)}.window-title{margin-left:auto;color:var(--steel);font-family:var(--font-mono);font-size:.75rem}.photo-frame{position:relative;overflow:hidden;aspect-ratio:1 / 1;background:#12181b;border:1px solid var(--border)}.photo-frame img{width:100%;height:100%;object-fit:cover;filter:grayscale(.55) contrast(1.05)}.photo-fallback{display:grid;place-items:center;width:100%;height:100%;color:var(--steel);font-family:var(--font-display);font-size:5rem;font-weight:700;letter-spacing:.1em}.corner{position:absolute;z-index:2;width:22px;height:22px;border:0 solid var(--accent)}.corner.tl{top:8px;left:8px;border-width:2px 0 0 2px}.corner.tr{top:8px;right:8px;border-width:2px 2px 0 0}.corner.bl{bottom:8px;left:8px;border-width:0 0 2px 2px}.corner.br{right:8px;bottom:8px;border-width:0 2px 2px 0}.scanline{position:absolute;left:0;right:0;top:0;z-index:1;height:3px;background:var(--accent);box-shadow:0 0 18px 4px var(--accent-soft),0 0 6px var(--accent);opacity:0;animation:scan 2.2s ease-in-out .4s 1 forwards}@keyframes scan{0%{top:0;opacity:1}90%{opacity:1}to{top:calc(100% - 3px);opacity:0}}.photo-tag{position:absolute;left:14px;bottom:14px;z-index:2;display:inline-flex;align-items:center;padding:3px 9px;background:#12181bd9;border:1px solid var(--border);color:var(--text);font-family:var(--font-mono);font-size:.7rem}.photo-tag .led{margin-right:6px}.spec-list{margin:14px 0;font-family:var(--font-mono);font-size:.78rem}.spec-row{display:flex;justify-content:space-between;gap:16px;padding:7px 0;border-bottom:1px dashed var(--border)}.spec-row dt{color:var(--steel)}.spec-row dd{margin:0;color:var(--text);text-align:right}.code-window{overflow-x:auto;padding:14px 16px;background:#12181b;border:1px solid var(--border);border-radius:4px;color:var(--silver);font-family:var(--font-mono);font-size:.78rem;line-height:1.8}.line{white-space:pre-wrap;overflow-wrap:anywhere}.indent{padding-left:20px}.token.purple{color:var(--steel)}.token.blue{color:var(--accent)}.section-block{padding-top:85px}.section-heading{margin-bottom:30px}.section-heading h2{margin:0;font-size:clamp(1.9rem,4vw,2.8rem);letter-spacing:-.02em}.section-description{margin:10px 0 0;color:var(--muted)}.about-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.about-grid p{margin:0;color:var(--muted);line-height:1.85}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.project-card{padding:25px;background:var(--card);border:1px solid var(--border);border-top:2px solid var(--steel);border-radius:var(--radius);transition:border-color var(--transition)}.project-card:hover{border-top-color:var(--accent)}.project-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.badge{display:inline-block;padding:5px 9px;color:var(--silver);background:var(--panel-strong);border-radius:3px;font-family:var(--font-mono);font-size:.7rem}.project-status{display:inline-flex;align-items:center;color:var(--muted);font-family:var(--font-mono);font-size:.72rem}.project-card h3{margin:18px 0 10px;font-size:1.4rem}.project-card p{margin:0;color:var(--muted);line-height:1.75}.tag-list,.skill-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.tag-list span,.skill-pill{padding:6px 10px;color:var(--silver);background:var(--bg);border:1px solid var(--border);border-radius:3px;font-family:var(--font-mono);font-size:.74rem}.experience-list{position:relative;display:flex;flex-direction:column;gap:16px;padding-left:34px}.experience-list:before{content:"";position:absolute;top:8px;bottom:8px;left:8px;width:2px;background:linear-gradient(var(--accent),var(--border))}.experience-card{position:relative;padding:22px 24px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius)}.node{position:absolute;top:28px;left:-34px;width:18px;height:18px;background:var(--bg);border:2px solid var(--accent);border-radius:50%}.node:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:var(--accent)}.experience-content h3{margin:0 0 6px}.experience-content p{margin:0 0 6px;color:var(--muted);font-size:.9rem;line-height:1.75}.experience-content .experience-role{color:var(--accent);font-weight:600}.experience-content .experience-organization{font-family:var(--font-mono);font-size:.78rem}.education-grid,.skills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.education-card,.skill-group{padding:24px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius)}.education-card h3,.skill-group h3{margin:0 0 12px}.education-card span{color:var(--accent);font-family:var(--font-mono);font-size:.8rem}.education-card p{color:var(--muted);line-height:1.75;font-size:.9rem}.skill-group .skill-list{margin-top:0}.interests-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.interest-card{padding:23px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius)}.interest-card h3{margin:0 0 12px;color:var(--text)}.interest-card p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.75}.footer{margin-top:90px;padding-top:40px;border-top:1px solid var(--border)}.footer h2{max-width:700px;margin:0;font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.15}.footer-content>p:not(.eyebrow){max-width:600px;color:var(--muted);line-height:1.8}.contact-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.contact-links a{padding:10px 18px;color:var(--silver);background:var(--panel);border:1px solid var(--border);border-radius:3px;font-family:var(--font-mono);font-size:.82rem;transition:var(--transition)}.contact-links a:hover{color:var(--accent);border-color:var(--accent)}.footer-bottom{display:flex;justify-content:space-between;gap:15px;margin-top:60px;padding-top:20px;border-top:1px solid var(--border);color:var(--muted);font-family:var(--font-mono);font-size:.78rem}.footer-bottom a{color:var(--silver)}@media (max-width: 860px){.hero{grid-template-columns:1fr}.hero-card{max-width:440px}.projects-grid,.about-grid,.education-grid,.skills-grid{grid-template-columns:1fr}.interests-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 540px){.page-shell{width:calc(100% - 28px)}.topbar{align-items:flex-start;flex-direction:column;gap:16px}.nav{gap:10px 18px;font-size:.78rem}.hero{padding-top:44px}.stats{display:grid;grid-template-columns:repeat(2,1fr)}.section-block{padding-top:65px}.interests-grid{grid-template-columns:1fr}.experience-list{padding-left:28px}.node{left:-28px}.footer-bottom{flex-direction:column}}a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}.scanline{display:none}}.social-list{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:0;list-style:none}.social-list a{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:38px;height:38px;color:var(--silver);background:var(--bg);border:1px solid var(--border);border-radius:3px;font-size:1rem;transition:var(--transition)}.social-list a:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.social-list.labeled{margin:14px 0 0}.social-list.labeled a{width:auto;padding:0 14px;font-family:var(--font-mono);font-size:.82rem}.social-list.labeled svg{font-size:1rem}
