:root{--bg:#11130b;--bg-grad-1:#161a0f;--bg-grad-2:#0c0e07;--surface:#1a1e13b8;--surface-strong:#202517eb;--border:#dce6b414;--border-strong:#dce6b42e;--text:#d6dac1;--text-muted:#969d77;--text-strong:#f1f3df;--accent:#b8cf5c;--accent-strong:#d3e688;--accent-soft:#b8cf5c2e;--tag-bg:#b8cf5c1f;--tag-border:#b8cf5c52;--shadow:0 30px 80px -20px #000000a6, 0 10px 30px -15px #00000080;--particle:#b8cf5c;--sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono:ui-monospace, "JetBrains Mono", SFMono-Regular, Menlo, Monaco, Consolas, monospace;font-family:var(--sans);color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px;line-height:1.55}[data-theme=light]{--bg:#f4f2e3;--bg-grad-1:#f7f5e8;--bg-grad-2:#e8e5cf;--surface:#fdfbf0d1;--surface-strong:#fffef8f5;--border:#3a401b1f;--border-strong:#3a401b38;--text:#3a3f24;--text-muted:#6f7553;--text-strong:#1d2010;--accent:#6b7c2a;--accent-strong:#4f5d1a;--accent-soft:#6b7c2a1f;--tag-bg:#6b7c2a1a;--tag-border:#6b7c2a52;--shadow:0 24px 60px -20px #3a401b2e, 0 8px 24px -10px #3a401b1f;--particle:#6b7c2a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;padding:0}body{background:radial-gradient(1200px 800px at 10% 0%, var(--accent-soft), transparent 60%), radial-gradient(900px 700px at 90% 100%, #d6c66e14, transparent 60%), linear-gradient(180deg, var(--bg-grad-1), var(--bg-grad-2));color:var(--text);background-attachment:fixed;min-height:100svh;transition:background-color .24s,color .24s}.page{flex-direction:column;align-items:center;min-height:100svh;padding:clamp(24px,6vw,64px) 20px 48px;display:flex;position:relative}.particle-canvas{pointer-events:none;z-index:0;width:100vw;height:100svh;position:fixed;inset:0}.resume-card{z-index:1;background:var(--surface);border:1px solid var(--border);width:100%;max-width:960px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px)saturate(140%);border-radius:20px;padding:clamp(24px,4vw,44px);position:relative}.page-footer{z-index:1;color:var(--text-muted);margin-top:28px;font-size:13px;position:relative}h1,h2,h3,h4{color:var(--text-strong);letter-spacing:-.01em;margin:0;font-weight:600}p{margin:0}code{font-family:var(--mono);color:var(--text-strong);background:#7f7f7f1f;border-radius:6px;padding:2px 6px;font-size:.9em}.resume-header{border-bottom:1px solid var(--border);flex-direction:column;gap:18px;padding-bottom:24px;display:flex}.header-top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.header-text{flex-direction:column;gap:6px;display:flex}.theme-toggle{border:1px solid var(--border);width:40px;height:40px;color:var(--text-strong);cursor:pointer;background:#7f7f7f0d;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .16s,background .16s,transform .16s;display:inline-flex}.theme-toggle:hover{border-color:var(--tag-border);background:var(--tag-bg);transform:translateY(-1px)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theme-toggle svg{width:18px;height:18px}.name{background:linear-gradient(120deg, var(--text-strong), var(--accent-strong));color:#0000;letter-spacing:-.02em;-webkit-background-clip:text;background-clip:text;font-size:clamp(28px,4vw,40px);font-weight:700}.title{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:15px;font-weight:600}.tagline{color:var(--text-muted);max-width:60ch;font-size:16px}.links{flex-wrap:wrap;gap:8px 14px;margin:0;padding:0;list-style:none;display:flex}.links a{border:1px solid var(--border);color:var(--text);background:#7f7f7f0a;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:14px;text-decoration:none;transition:border-color .15s,background .15s,color .15s,transform .15s;display:inline-flex}.links a:hover{border-color:var(--tag-border);background:var(--tag-bg);color:var(--text-strong);transform:translateY(-1px)}.link-icon{color:var(--accent);flex-shrink:0}.tab-nav{border:1px solid var(--border);background:#7f7f7f0d;border-radius:14px;flex-wrap:wrap;gap:6px;margin:24px 0 28px;padding:6px;display:flex}.tab-btn{min-width:96px;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;flex:auto;padding:9px 14px;font-size:14px;font-weight:500;transition:background .18s,color .18s,border-color .18s}.tab-btn:hover{color:var(--text-strong);background:#7f7f7f0f}.tab-btn.active{background:var(--surface-strong);color:var(--text-strong);border-color:var(--border-strong);box-shadow:inset 0 1px #ffffff0d}.tab-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.panel{animation:.24s both fade-up}.section{flex-direction:column;gap:20px;display:flex}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.about-section .lead{color:var(--text);max-width:65ch;font-size:17px}.quick-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.quick-card{border:1px solid var(--border);background:#7f7f7f0a;border-radius:12px;flex-direction:column;gap:4px;padding:16px;display:flex}.quick-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:11px}.quick-value{color:var(--text-strong);font-size:16px;font-weight:600}.quick-sub{color:var(--text-muted);font-size:14px}.timeline{margin:0;padding:0 0 0 22px;list-style:none;position:relative}.timeline:before{content:"";background:linear-gradient(180deg, var(--accent), var(--accent-soft));border-radius:2px;width:2px;position:absolute;top:6px;bottom:6px;left:6px}.timeline-item{padding-bottom:28px;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-marker{background:var(--bg);border:2px solid var(--accent);width:14px;height:14px;box-shadow:0 0 0 4px var(--accent-soft);border-radius:50%;position:absolute;top:6px;left:-22px}.timeline-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.job-role{color:var(--text-strong);font-size:17px;font-weight:600}.job-company{color:var(--accent);margin-top:2px;font-size:14px;font-weight:500}.job-period{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.job-bullets{flex-direction:column;gap:6px;margin:12px 0 0;padding-left:18px;display:flex}.job-bullets li{color:var(--text);font-size:14.5px;line-height:1.55}.job-bullets li::marker{color:var(--accent)}.edu-card{border:1px solid var(--border);background:#7f7f7f0a;border-radius:14px;flex-direction:column;gap:14px;padding:20px;display:flex}.edu-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.edu-school{font-size:18px}.edu-meta{color:var(--text-muted);margin-top:2px;font-size:14px}.edu-side{color:var(--text-muted);flex-direction:column;align-items:flex-end;gap:4px;font-size:13px;display:flex}.edu-gpa{color:var(--text-strong);font-weight:600}.edu-subhead{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:12px;font-weight:600}.tag-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tag{background:var(--tag-bg);border:1px solid var(--tag-border);color:var(--text-strong);border-radius:999px;padding:4px 10px;font-size:12.5px;font-weight:500;display:inline-flex}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.skill-group{border:1px solid var(--border);background:#7f7f7f0a;border-radius:14px;flex-direction:column;gap:12px;padding:18px;display:flex}.skill-category{color:var(--text-strong);font-size:15px}.project-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.project-card{border:1px solid var(--border);background:#7f7f7f0a;border-radius:14px;flex-direction:column;gap:12px;padding:18px;transition:border-color .16s,transform .16s;display:flex}.project-card:hover{border-color:var(--tag-border);transform:translateY(-2px)}.project-card.highlight{border-color:var(--tag-border);background:linear-gradient(180deg, var(--tag-bg), #7f7f7f0a)}.project-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.project-name{font-size:16px}.project-links{gap:10px;display:flex}.project-links a{color:var(--accent);border-bottom:1px dashed #0000;font-size:13px;text-decoration:none;transition:border-color .16s}.project-links a:hover{border-bottom-color:var(--accent)}.project-desc{color:var(--text);font-size:14.5px}.empty-state{text-align:center;border:1px dashed var(--border-strong);color:var(--text-muted);border-radius:14px;flex-direction:column;gap:8px;padding:36px 20px;display:flex}.empty-state h3{color:var(--text-strong)}@media (width<=600px){.resume-card{border-radius:16px}.timeline-head{flex-direction:column;align-items:flex-start}.job-period{font-size:12px}}@media (prefers-reduced-motion:reduce){.panel,.project-card,.links a,.tab-btn{transition:none!important;animation:none!important}}
