*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--bg-deep:#060a10;--bg-base:#080c14;--bg-raised:#0a1020;--bg-card:#0d1628;--border-dim:#111c30;--border-mid:#1a2540;--border-hi:#1e3a6e;--blue-dim:#1e3a6e;--blue-mid:#2e4a7a;--blue-acc:#3b6fcf;--blue-bright:#4d82d6;--blue-light:#6a9fe8;--blue-sky:#7ab8f5;--blue-pale:#a0b8e0;--text-dim:#2e4a7a;--text-mid:#5a7aac;--text-body:#8aaad4;--text-primary:#dce6f5;--text-white:#f0f5ff;--tag-fe-bg:#091828;--tag-fe-text:#7ab8f5;--tag-fe-border:#1a3a5c;--tag-be-bg:#0e0e1a;--tag-be-text:#a0a0e0;--tag-be-border:#2a2a4a;--tag-inf-bg:#0c1420;--tag-inf-text:#5a8fcf;--tag-inf-border:#1a2e4a}html{scroll-behavior:smooth}body{background:#04060c;color:var(--text-primary);font-family:'Syne',sans-serif;font-weight:400;min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:2rem 1rem 4rem;-webkit-font-smoothing:antialiased}body::before{content:'';position:fixed;inset:0;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 2px,rgba(0,0,0,0.04) 2px,rgba(0,0,0,0.04) 4px);pointer-events:none;z-index:1000}body::after{content:'';position:fixed;top:-200px;left:50%;transform:translateX(-50%);width:800px;height:500px;background:radial-gradient(ellipse at center,rgba(59,111,207,0.07) 0%,transparent 70%);pointer-events:none;z-index:0}.wrapper{width:100%;max-width:1600px;position:relative;z-index:1}@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.wrapper{animation:fadeUp 0.6s ease both}.shell{background:var(--bg-base);border:0.5px solid var(--border-mid);border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px rgba(59,111,207,0.05),0 32px 80px rgba(0,0,0,0.6),0 0 60px rgba(30,58,110,0.08)}.topbar{background:var(--bg-deep);border-bottom:0.5px solid var(--border-mid);padding:0.65rem 1.5rem;display:flex;align-items:center;gap:8px;user-select:none}.dot{width:11px;height:11px;border-radius:50%}.topbar-url{font-family:'Space Mono',monospace;font-size:11px;color:var(--blue-dim);margin-left:10px;letter-spacing:0.5px}.topbar-spacer{flex:1}.topbar-status{font-family:'Space Mono',monospace;font-size:10px;color:var(--blue-dim);letter-spacing:1px}.hero{padding:4rem 5rem 3rem;border-bottom:0.5px solid var(--border-dim);display:grid;grid-template-columns:1fr auto;align-items:center;gap:2.5rem;position:relative;overflow:hidden}.hero::before{content:'';position:absolute;bottom:0;right:-80px;width:400px;height:400px;background:radial-gradient(ellipse at center,rgba(30,58,110,0.18) 0%,transparent 65%);pointer-events:none}.hero-prompt{font-family:'Space Mono',monospace;font-size:12px;color:var(--blue-bright);margin-bottom:0.6rem;letter-spacing:1px}.cursor{display:inline-block;width:8px;height:1em;background:var(--blue-acc);margin-left:4px;vertical-align:text-bottom;animation:blink 1.1s step-end infinite}@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}.hero-name{font-family:'Syne',sans-serif;font-size:clamp(42px,7vw,60px);font-weight:800;line-height:0.92;color:var(--text-white);letter-spacing:-2.5px}.hero-name .outline{color:transparent;-webkit-text-stroke:1.5px var(--blue-acc)}.hero-role{font-family:'Space Mono',monospace;font-size:11px;color:var(--blue-mid);margin-top:1.1rem;letter-spacing:1.2px;line-height:1.8}.hero-links{display:flex;flex-direction:column;gap:8px;position:relative;z-index:1}.hero-link{font-family:'Space Mono',monospace;font-size:11px;color:var(--blue-light);text-decoration:none;border:0.5px solid var(--border-hi);padding:7px 18px;border-radius:4px;text-align:center;letter-spacing:0.5px;background:var(--bg-raised);transition:background 0.15s,border-color 0.15s,color 0.15s;white-space:nowrap}.hero-link:hover{background:var(--border-dim);border-color:var(--blue-acc);color:var(--blue-sky)}.summary-strip{padding:1.75rem 5rem;border-bottom:0.5px solid var(--border-dim);background:var(--bg-raised)}.summary-text{font-size:13.5px;line-height:1.8;color:var(--text-mid);border-left:2px solid var(--blue-dim);padding-left:1.1rem}.body{padding:3rem 5rem}.section-label{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:3.5px;color:var(--blue-bright);text-transform:uppercase;margin-bottom:1.25rem;display:flex;align-items:center;gap:10px}.section-label::after{content:'';flex:1;height:0.5px;background:var(--border-dim)}.exp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2.5rem}.exp-card{background:var(--bg-raised);border:0.5px solid var(--border-mid);border-radius:8px;padding:1.35rem 1.25rem 1.25rem;position:relative;overflow:hidden;transition:border-color 0.2s,background 0.2s}.exp-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1.5px;background:linear-gradient(90deg,transparent,var(--blue-acc),transparent);opacity:0.5;transition:opacity 0.2s}.exp-card:hover{border-color:var(--border-hi);background:var(--bg-card)}.exp-card:hover::before{opacity:1}.card-epoch{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:3px;color:var(--text-dim);text-transform:uppercase;margin-bottom:0.65rem}.card-epoch.now{color:var(--blue-bright)}.card-title{font-size:14.5px;font-weight:700;color:var(--text-white);margin-bottom:3px;line-height:1.3}.card-company{font-family:'Space Mono',monospace;font-size:10px;color:var(--blue-bright);margin-bottom:4px;letter-spacing:0.3px}.card-date{font-family:'Space Mono',monospace;font-size:10px;color:var(--blue-dim);margin-bottom:0.65rem}.card-desc{font-size:12px;line-height:1.7;color:var(--text-mid)}.card-bullets{margin-top:0.5rem;padding-left:0;list-style:none}.card-bullets li{font-family:'Space Mono',monospace;font-size:10.5px;color:var(--text-mid);padding:3px 0 3px 14px;position:relative;line-height:1.6}.card-bullets li::before{content:'→';position:absolute;left:0;color:var(--blue-dim)}.skills-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem}.skill-group{}.skill-group-name{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:2.5px;text-transform:uppercase;margin-bottom:0.6rem}.skill-group-name.fe{color:var(--tag-fe-text)}.skill-group-name.be{color:var(--tag-be-text)}.skill-group-name.inf{color:var(--tag-inf-text)}.tag-row{display:flex;flex-wrap:wrap;gap:5px}.tag{font-family:'Space Mono',monospace;font-size:10px;padding:3px 9px;border-radius:3px;letter-spacing:0.3px;white-space:nowrap}.tag.fe{background:var(--tag-fe-bg);color:var(--tag-fe-text);border:0.5px solid var(--tag-fe-border)}.tag.be{background:var(--tag-be-bg);color:var(--tag-be-text);border:0.5px solid var(--tag-be-border)}.tag.inf{background:var(--tag-inf-bg);color:var(--tag-inf-text);border:0.5px solid var(--tag-inf-border)}.divider{border:none;border-top:0.5px solid var(--border-dim);margin:2rem 0}.edu-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.edu-card{background:var(--bg-raised);border:0.5px solid var(--border-mid);border-radius:8px;padding:1rem 1.25rem;flex:1;min-width:200px}.edu-school{font-size:13.5px;font-weight:700;color:var(--text-white);margin-bottom:2px}.edu-detail{font-family:'Space Mono',monospace;font-size:10px;color:var(--blue-mid);letter-spacing:0.5px}.footer{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 5rem;border-top:0.5px solid var(--border-dim);background:var(--bg-deep);flex-wrap:wrap;gap:0.75rem}.footer-text{font-family:'Space Mono',monospace;font-size:10px;color:var(--blue-mid);letter-spacing:0.5px}.footer-badge{font-family:'Space Mono',monospace;font-size:9px;background:var(--tag-fe-bg);color:var(--blue-light);border:0.5px solid var(--border-hi);padding:4px 14px;border-radius:3px;letter-spacing:1.5px;text-transform:uppercase}@media (max-width:1100px){.exp-grid{grid-template-columns:repeat(2,1fr)}.skills-grid{grid-template-columns:repeat(2,1fr)}.hero{padding:3rem 3rem 2.5rem}.summary-strip{padding:1.5rem 3rem}.body{padding:2.5rem 3rem}.footer{padding:1rem 3rem}}@media (max-width:640px){body{padding:0.5rem 0.5rem 3rem}.hero{grid-template-columns:1fr;padding:2.5rem 1.5rem 2rem;gap:1.5rem}.hero-links{flex-direction:row}.hero-link{flex:1}.summary-strip{padding:1.25rem 1.5rem}.body{padding:2rem 1.5rem}.footer{padding:1rem 1.5rem}.exp-grid{grid-template-columns:1fr}.skills-grid{grid-template-columns:1fr}}