:root{--bg-0:#050912;--bg-1:#0a1226;--bg-2:#0e1a35;--panel:#172c5452;--panel-strong:#1c346080;--border-glass:#94bdff29;--border-glass-strong:#94bdff4d;--accent:#5b8def;--accent-soft:#9ad1ff;--accent-deep:#345bb8;--text-0:#eef3ff;--text-1:#b7c4e6;--text-2:#7c8bb3;--code-bg:#0a1122;--shadow-deep:0 30px 80px -20px #000a28b3;--radius-lg:22px;--radius-md:14px;--radius-sm:9px;--font-display:"Space Grotesk", system-ui, sans-serif;--font-body:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;width:100%;overflow-x:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}body{background:radial-gradient(1200px 600px at 15% -10%, #5b8def29, transparent 60%), radial-gradient(900px 500px at 100% 10%, #7a5cff1a, transparent 55%), var(--bg-0);width:100%;color:var(--text-0);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.55;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-0);letter-spacing:-.01em;margin:0}p{color:var(--text-1);margin:0}a{color:inherit;text-decoration:none}button{font-family:inherit}:focus-visible{outline:2px solid var(--accent-soft);outline-offset:3px;border-radius:4px}.container{max-width:1120px;margin:0 auto;padding:0 28px}section{padding:108px 0;position:relative}.section-head{max-width:620px;margin-bottom:56px}.section-head .kicker{font-family:var(--font-mono);color:var(--accent-soft);margin:0 0 14px;font-size:.85rem}.section-head h2{font-size:clamp(1.8rem,3vw,2.5rem);font-weight:600}.section-head p{max-width:62ch;margin-top:16px;font-size:1.05rem}.glass{background:linear-gradient(155deg, var(--panel-strong), var(--panel) 60%, #0a122640);border:1px solid var(--border-glass);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(18px);position:relative;overflow:hidden}.glass:before{content:"";pointer-events:none;background:linear-gradient(115deg,#ffffff24 0%,#fff0 26%);position:absolute;inset:0}.nav{z-index:40;-webkit-backdrop-filter:blur(14px);background:#0509128c;border-bottom:1px solid #94bdff14;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;max-width:1120px;margin:0 auto;padding:18px 28px;display:flex}.nav-mark{font-family:var(--font-display);align-items:center;gap:10px;font-size:1.05rem;font-weight:600;display:flex}.nav-mark .dot{background:var(--accent-soft);border-radius:50%;width:9px;height:9px;box-shadow:0 0 14px 3px #9ad1ff8c}.nav-links{gap:30px;margin:0;padding:0;list-style:none;display:flex}.nav-links a{color:var(--text-1);font-size:.95rem;transition:color .2s}.nav-links a:hover{color:var(--text-0)}.nav-cta{border:1px solid var(--border-glass-strong);border-radius:999px;padding:9px 18px;font-size:.9rem;transition:border-color .2s,background .2s}.nav-cta:hover{border-color:var(--accent-soft);background:#94bdff14}.nav-toggle{display:none}.hero{padding-top:96px;padding-bottom:60px}.hero-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:56px;display:grid}.hero-grid>*{min-width:0}.hero-eyebrow{font-family:var(--font-mono);color:var(--accent-soft);margin-bottom:20px;font-size:.85rem;display:inline-block}.hero h1{font-size:clamp(2.4rem,5vw,3.6rem);font-weight:700;line-height:1.08}.hero h1 span{background:linear-gradient(100deg, var(--accent-soft), var(--accent) 60%);color:#0000;-webkit-background-clip:text;background-clip:text}.hero-sub{max-width:46ch;color:var(--text-1);margin-top:22px;font-size:1.12rem}.hero-actions{flex-wrap:wrap;gap:16px;margin-top:36px;display:flex}.btn-primary{background:linear-gradient(120deg, var(--accent), var(--accent-deep));color:#fff;cursor:pointer;border:none;border-radius:12px;padding:13px 26px;font-size:.98rem;font-weight:500;transition:transform .2s,box-shadow .2s;box-shadow:0 14px 30px -10px #5b8def8c}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 36px -8px #5b8defa6}.btn-ghost{border:1px solid var(--border-glass-strong);color:var(--text-0);border-radius:12px;padding:13px 24px;font-size:.98rem;transition:background .2s,border-color .2s}.btn-ghost:hover{border-color:var(--accent-soft);background:#94bdff14}.hero-stats{gap:40px;margin-top:52px;display:flex}.hero-stats div strong{font-family:var(--font-display);color:var(--text-0);font-size:1.5rem;display:block}.hero-stats div span{color:var(--text-2);font-size:.85rem}.mirror-wrap{perspective:1400px;min-width:0;max-width:100%;position:relative}.mirror-panel{padding:22px;transition:transform .6s;transform:rotateY(-8deg)rotateX(3deg)}.mirror-wrap:hover .mirror-panel{transform:rotateY(-3deg)rotateX(1deg)}.code-card{background:var(--code-bg);border-radius:var(--radius-md);box-shadow:var(--shadow-deep);border:1px solid #94bdff1f;overflow:hidden}.code-card-bar{background:#ffffff08;border-bottom:1px solid #94bdff14;align-items:center;gap:8px;padding:13px 16px;display:flex}.code-card-bar .traffic{background:#94bdff40;border-radius:50%;width:10px;height:10px}.code-card-bar .filename{font-family:var(--font-mono);color:var(--text-2);margin-left:10px;font-size:.78rem}.code-card pre{font-family:var(--font-mono);margin:0;padding:22px 22px 26px;font-size:.86rem;line-height:1.75;overflow-x:auto}.tok-key{color:#8ab4ff}.tok-fn{color:#9ad1ff}.tok-str{color:#7fe3c0}.tok-com{color:#56638c}.tok-var{color:#eef3ff}.tok-punct{color:#7c8bb3}.mirror-reflection{border-radius:var(--radius-md);filter:blur(2px);opacity:.45;pointer-events:none;background:linear-gradient(#5b8def29,#0000 80%);height:90px;position:absolute;bottom:-46px;left:6%;right:6%;transform:scaleY(-1);-webkit-mask-image:linear-gradient(#00000080,#0000);mask-image:linear-gradient(#00000080,#0000)}.mirror-glow{filter:blur(10px);z-index:-1;background:radial-gradient(circle,#5b8def59,#0000 70%);border-radius:50%;width:340px;height:340px;position:absolute;top:-60px;right:-60px}.about-grid{grid-template-columns:1fr 1fr;align-items:start;gap:48px;display:grid}.about-grid>*{min-width:0}.about-text p+p{margin-top:16px}.about-facts{gap:20px;padding:30px;display:grid}.about-fact{align-items:flex-start;gap:16px;display:flex}.about-fact .idx{font-family:var(--font-mono);color:var(--accent-soft);padding-top:3px;font-size:.85rem}.about-fact h4{margin-bottom:4px;font-size:1rem;font-weight:600}.about-fact p{font-size:.92rem}.skills-groups{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.skills-groups>*{min-width:0}.skill-group{padding:26px}.skill-group h3{color:var(--accent-soft);margin-bottom:18px;font-size:1.02rem;font-weight:600}.chip-row{flex-wrap:wrap;gap:9px;display:flex}.chip{border:1px solid var(--border-glass);color:var(--text-1);background:#94bdff0a;border-radius:999px;padding:7px 13px;font-size:.85rem}.projects-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.projects-grid>*{min-width:0}.project-card{flex-direction:column;height:100%;padding:26px;transition:transform .25s,border-color .25s;display:flex}.project-card:hover{border-color:var(--border-glass-strong);transform:translateY(-5px)}.project-card .sheen{background:linear-gradient(90deg, transparent, var(--accent-soft), transparent);opacity:.7;height:3px;position:absolute;top:0;left:0;right:0}.project-card h3{margin-bottom:10px;font-size:1.12rem;font-weight:600}.project-card p{flex-grow:1;font-size:.93rem}.project-tags{flex-wrap:wrap;gap:7px;margin:18px 0 20px;display:flex}.project-tags span{font-family:var(--font-mono);color:var(--text-2);border:1px solid var(--border-glass);border-radius:6px;padding:4px 9px;font-size:.72rem}.project-link{color:var(--accent-soft);border-bottom:1px solid #0000;align-items:center;gap:6px;width:fit-content;font-size:.9rem;transition:border-color .2s;display:inline-flex}.project-link:hover{border-color:var(--accent-soft)}.cert-card{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;padding:38px 42px;display:flex}.cert-info h3{margin-bottom:8px;font-size:1.3rem}.cert-info p{max-width:48ch}.cert-meta{color:var(--text-2);gap:24px;margin-top:16px;font-size:.85rem;display:flex}.cert-meta strong{color:var(--text-0);font-weight:500}.cert-badge{border:1px solid var(--border-glass-strong);width:88px;height:88px;font-family:var(--font-display);color:var(--accent-soft);background:radial-gradient(circle at 35% 30%,#9ad1ff59,#5b8def14 70%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.4rem;font-weight:700;display:flex}.contact-panel{text-align:center;padding:56px}.contact-panel h2{margin-bottom:16px;font-size:clamp(1.8rem,3.4vw,2.6rem)}.contact-panel p{max-width:52ch;margin:0 auto;font-size:1.05rem}.contact-links{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:34px;display:flex}.footer{border-top:1px solid #94bdff14;margin-top:40px;padding:36px 0 48px}.footer-inner{color:var(--text-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;font-size:.85rem;display:flex}.footer-links{gap:20px;display:flex}.footer-links a:hover{color:var(--text-0)}@media (width<=900px){.hero-grid,.about-grid{grid-template-columns:1fr}.skills-groups,.projects-grid{grid-template-columns:1fr 1fr}.mirror-panel{transform:none}.mirror-reflection{display:none}}@media (width<=640px){section{padding:76px 0}.nav-links{display:none}.skills-groups,.projects-grid{grid-template-columns:1fr}.hero-stats{gap:26px}.cert-card{text-align:center;justify-content:center}.cert-meta{justify-content:center}.nav-mark{font-size:.95rem}.nav-cta{padding:7px 14px;font-size:.82rem}.hero-eyebrow{font-size:.78rem}.hero h1{font-size:clamp(2rem,8vw,2.6rem)}.hero-sub{font-size:.98rem}.btn-primary,.btn-ghost{padding:11px 20px;font-size:.88rem}.hero-stats div strong{font-size:1.25rem}.hero-stats div span,.section-head .kicker{font-size:.78rem}.section-head h2{font-size:clamp(1.5rem,6vw,1.9rem)}.section-head p{font-size:.95rem}.about-fact h4{font-size:.92rem}.about-fact p{font-size:.85rem}.skill-group h3{font-size:.92rem}.chip{padding:6px 11px;font-size:.78rem}.project-card h3{font-size:1rem}.project-card p{font-size:.85rem}.project-tags span{font-size:.68rem}.project-link{font-size:.82rem}.cert-info h3{font-size:1.1rem}.cert-meta{font-size:.78rem}.cert-badge{width:68px;height:68px;font-size:1.1rem}.contact-panel h2{font-size:clamp(1.5rem,6vw,2rem)}.contact-panel p{font-size:.92rem}.footer-inner{font-size:.78rem}}
