@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";:root{--bg: #0d1320;--surface: rgba(16, 22, 35, .92);--surface-2: rgba(20, 28, 44, .92);--text: #eef4ff;--muted: #a5afc4;--line: rgba(124, 146, 184, .22);--accent: #7aa6ff;--accent-hover: #94b8ff;--orbital: rgba(122, 166, 255, .14);--shadow: 0 10px 28px rgba(2, 6, 16, .28)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:IBM Plex Sans,sans-serif;background-color:var(--bg);background-image:radial-gradient(1px 1px at 10% 18%,rgba(255,255,255,.46),transparent),radial-gradient(1px 1px at 23% 60%,rgba(255,255,255,.34),transparent),radial-gradient(1px 1px at 37% 31%,rgba(255,255,255,.4),transparent),radial-gradient(1px 1px at 63% 16%,rgba(255,255,255,.3),transparent),radial-gradient(1px 1px at 72% 73%,rgba(255,255,255,.42),transparent),radial-gradient(1px 1px at 86% 41%,rgba(255,255,255,.36),transparent),radial-gradient(1px 1px at 92% 84%,rgba(255,255,255,.34),transparent),radial-gradient(circle at top right,rgba(92,76,162,.2),transparent 28%),linear-gradient(180deg,#111a2d 0%,#0d1320 100%);background-attachment:fixed;position:relative}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 82% 18%,rgba(122,166,255,.08),transparent 18rem),radial-gradient(circle at 74% 56%,rgba(122,166,255,.05),transparent 14rem);opacity:.55}main{width:min(1180px,92vw);margin:1.1rem auto 0;display:grid;gap:1.1rem;position:relative;z-index:1}.starfield{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.9}.starfield path{fill:none;stroke:#9bb5e247;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}.starfield circle{fill:#f4f8fff2}.starfield .glow{fill:url(#star-glow)}h1,h2,h3{margin:0;font-weight:700}h1{font-size:clamp(2rem,4.6vw,3rem);line-height:1.18}h2{font-size:clamp(1.1rem,2vw,1.3rem)}h3{font-size:1.05rem}p{margin:0;line-height:1.55}a{color:inherit}section{display:grid;gap:.85rem;padding:1.1rem 1rem;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);position:relative}section:after{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,transparent,transparent calc(100% - 1px),rgba(122,166,255,.06)),linear-gradient(to bottom,transparent,transparent calc(100% - 1px),rgba(122,166,255,.05));pointer-events:none;border-radius:10px}section.compact{padding-top:1.4rem;padding-bottom:1.4rem}.lead,.section-lead{color:var(--muted)}.mono{font-family:IBM Plex Mono,monospace}.section-lead{margin-bottom:.2rem;font-size:.92rem}.home-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem;align-items:center;position:relative}.home-copy{display:grid;gap:.75rem;position:relative;z-index:1}.kicker{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:.72rem;letter-spacing:.02em;text-transform:uppercase}.terminal-preview{margin:0;display:block;position:relative;z-index:1}.terminal-preview:after{content:"";position:absolute;left:50%;top:50%;width:22rem;height:22rem;border-radius:50%;border:1px solid rgba(122,166,255,.15);transform:translate(-50%,-50%);box-shadow:0 0 0 3.5rem #7aa6ff0b,0 0 0 7rem #7aa6ff08;pointer-events:none;z-index:-1}.terminal-shell{width:100%;padding:1rem;border-radius:14px;background:linear-gradient(135deg,#293a7a 0%,#4a4f93 48%,#8f5ea8 100%);box-shadow:0 18px 40px #05081247}.terminal-card{border-radius:12px;background:#161a24;border:1px solid rgba(255,255,255,.06);overflow:hidden}.terminal-bar{display:flex;gap:.6rem;padding:.9rem 1rem .2rem}.terminal-bar .dot{width:.78rem;height:.78rem;border-radius:50%}.terminal-bar .red{background:#ff5f57}.terminal-bar .yellow{background:#febc2e}.terminal-bar .green{background:#28c840}.terminal-code{display:grid;gap:.18rem;padding:.35rem 1rem 1rem;font-family:IBM Plex Mono,monospace;font-size:.86rem;line-height:1.6}.code-row{display:grid;grid-template-columns:1.8rem 1fr;gap:.75rem;align-items:start}.line-number{color:#d8e0f259;text-align:right;user-select:none}.line-body{color:#d8dce7;overflow-wrap:anywhere}.token.keyword{color:#ff846f}.token.type{color:#86c7c3;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em}.token.string{color:#deaa5d}.token.blank{display:inline-block;min-height:1em}.top-nav{position:sticky;top:.6rem;z-index:3;width:min(1180px,92vw);margin:.6rem auto 0;padding:.55rem .65rem;background:rgba(12,18,29,.9);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 18px #02061033;display:grid;gap:.35rem;backdrop-filter:blur(10px)}.top-nav .top-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.top-nav .top-actions{display:flex;align-items:center;gap:.5rem}.top-nav nav{display:flex;flex-wrap:wrap;gap:.35rem}.top-nav .brand,.top-nav .link,.top-nav .github{display:inline-flex;align-items:center;border:1px solid transparent;background:transparent;color:var(--text);font:inherit;font-size:.76rem;border-radius:6px;padding:.35rem .55rem;text-decoration:none}.top-nav .locale-toggle{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--surface-2)}.top-nav .locale-toggle button{border:0;background:transparent;color:var(--muted);font:inherit;font-size:.82rem;padding:.45rem .6rem;cursor:pointer}.top-nav .locale-toggle button.active{background:var(--accent);color:#101010}.top-nav .brand{font-size:.74rem;font-weight:500}.top-nav .link:hover,.top-nav .brand:hover{background:var(--surface-2);border-color:var(--line)}.top-nav .github{border-color:#7aa6ff38;color:var(--text);font-weight:500;background:rgba(122,166,255,.08)}.top-nav .github:hover{background:var(--accent-hover);color:#101010}.hero-actions,.cv-actions{display:flex;flex-wrap:wrap;gap:.6rem}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:8px;padding:.5rem .75rem;text-decoration:none;font-weight:500;font-family:IBM Plex Mono,monospace;font-size:.75rem}.btn.primary{background:var(--accent);color:#101010}.btn.primary:hover{background:var(--accent-hover)}.btn.secondary{border-color:var(--line);background:var(--surface-2)}.btn.secondary:hover{background:#444444}.cert-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}#highlights{gap:.75rem}.cert-strip span{display:flex;flex-direction:column;align-items:flex-start;align-items:center;gap:.4rem;padding:.55rem .65rem;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-size:.76rem;line-height:1.45}.cert-strip svg{width:1.35rem;height:1.35rem;color:var(--accent);flex:0 0 auto}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;align-items:stretch}.project-grid.full{margin-top:.75rem}.project-card,.experience-item,.education-card,.skills-grid article,.cv-grid article{padding:.85rem;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.project-card{display:grid;gap:.65rem;align-content:start}.project-header{display:grid;gap:.2rem}.project-card h3,.experience-item h3,.education-card h3,.skills-grid h3,.cv-grid h3{font-size:.85rem}.role,.org,.experience-item .top-row p,.summary,.cv-note{color:var(--muted);font-size:.72rem;line-height:1.45}.project-card ul,.experience-item ul,.education-card ul,.skills-grid ul,.cv-grid ul{margin:0;padding-left:1.1rem;display:grid;gap:.25rem;color:var(--muted);font-size:.76rem;line-height:1.45}.chips,.stack,.links{display:flex;flex-wrap:wrap;gap:.4rem}.chips span,.stack small{border-radius:6px;border:1px solid var(--line);background:rgba(10,15,24,.55);padding:.18rem .45rem;font-size:.66rem;font-family:IBM Plex Mono,monospace}.links a{color:var(--accent);font-size:.87rem}.all-projects summary{cursor:pointer;color:var(--accent);font-weight:500;font-family:IBM Plex Mono,monospace;font-size:.76rem}.experience-list{position:relative}.experience-item .top-row{display:flex;justify-content:space-between;gap:.7rem}.timeline-grid{display:grid;grid-template-columns:1fr;row-gap:1rem;position:relative}.timeline-grid:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:linear-gradient(180deg,transparent,rgba(122,166,255,.32),transparent)}.timeline-left,.timeline-right{position:relative;display:flex;width:100%}.timeline-left:after,.timeline-right:after{content:"";position:absolute;top:1rem;width:.55rem;height:.55rem;border-radius:50%;background:rgba(238,244,255,.9);box-shadow:0 0 0 4px #7aa6ff1f;z-index:2}.timeline-left:before,.timeline-right:before{content:"";position:absolute;top:1.26rem;height:1px;background:rgba(122,166,255,.28)}.timeline-left:after{left:calc(50% - .275rem)}.timeline-left:before{left:calc(50% - .95rem);width:.95rem}.timeline-right:after{left:calc(50% - .275rem)}.timeline-right:before{left:50%;width:.95rem}.timeline-left>.experience-item,.timeline-left>.education-card{width:calc(50% - .95rem);margin-right:auto}.timeline-right>.experience-item,.timeline-right>.education-card{width:calc(50% - .95rem);margin-left:auto}.skills-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.cv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}footer{width:min(1180px,92vw);margin:1rem auto 1.6rem;padding:.85rem 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;color:var(--muted);position:relative;z-index:1;font-size:.76rem}footer a{color:var(--text);font-family:IBM Plex Mono,monospace}@media (max-width: 980px){.home-grid{grid-template-columns:1fr}.terminal-preview:after{left:58%;top:54%;width:16rem;height:16rem;box-shadow:0 0 0 2.8rem #7aa6ff0a,0 0 0 5.3rem #7aa6ff06}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cert-strip,.skills-grid,.cv-grid,.timeline-grid{grid-template-columns:1fr}.timeline-grid:before,.timeline-left:after,.timeline-right:after,.timeline-left:before,.timeline-right:before{display:none}.timeline-left>.experience-item,.timeline-left>.education-card,.timeline-right>.experience-item,.timeline-right>.education-card{width:100%;max-width:none}}@media (max-width: 760px){main{margin-top:.8rem}.top-nav{top:.4rem;border-radius:10px}.top-nav .top-row{align-items:flex-start;flex-direction:column}.top-nav nav{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.15rem}.top-nav .top-actions{width:100%;justify-content:space-between}.project-grid{grid-template-columns:1fr}section{padding:1rem}.terminal-shell{padding:.75rem}.terminal-code{font-size:.74rem}.experience-item .top-row{flex-direction:column;gap:.3rem}.skills-grid,.cv-grid{grid-template-columns:1fr}footer{flex-direction:column;align-items:flex-start;gap:.45rem}}
