.hero h1{margin:0 0 8px;font-size:34px}.link-card{transition:transform .12s ease,border-color .12s ease}.link-card:hover{transform:translateY(-2px);border-color:#ffffff29}.link-title{font-weight:650;margin-bottom:6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.link-note{color:var(--muted);line-height:1.5}.meta{margin-top:14px;color:var(--muted);display:flex;gap:10px;align-items:center;flex-wrap:wrap}.featured-project{display:flex;flex-direction:column;height:100%}.project-lang{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--muted);font-weight:400}.language-dot{width:10px;height:10px;border-radius:50%}.project-homepage{margin-top:auto;padding-top:10px;font-size:13px;color:#58a6ff}.section-header{background:transparent;border:none;border-bottom:1px solid var(--line);border-radius:0;padding:0 0 12px;box-shadow:none}.section-header h2{margin:0 0 4px;font-size:20px;font-weight:600}.section-header .sub{font-size:14px}.projects-header{margin-bottom:20px}.projects-header h1{margin:0 0 8px;font-size:26px;font-weight:600}.project-list{display:flex;flex-direction:column;gap:12px}.project-item{padding:14px 16px;background:linear-gradient(180deg,#ffffff0a,#ffffff05);border:1px solid var(--line);border-radius:10px;transition:border-color .15s ease,background .15s ease}.project-item:hover{border-color:#ffffff24;background:linear-gradient(180deg,#ffffff0f,#ffffff08)}.project-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}.project-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;margin:0}.project-title-link{color:#58a6ff;text-decoration:none}.project-title-link:hover{text-decoration:underline}.project-visibility{display:inline-flex;align-items:center;padding:2px 8px;border:1px solid var(--line);border-radius:999px;font-size:12px;color:var(--muted);background:#0003}.project-description{color:var(--muted);font-size:14px;line-height:1.5;margin:0 0 10px}.project-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.project-meta-item{display:flex;align-items:center;gap:4px}.project-language{display:flex;align-items:center;gap:6px}.language-dot{width:12px;height:12px;border-radius:50%}.project-actions{display:flex;gap:8px;margin-top:10px}.project-actions .btn{padding:6px 12px;font-size:13px;border-radius:8px}.loading{text-align:center;padding:40px;color:var(--muted)}.cv-container{max-width:800px;margin:0 auto}.cv-header{text-align:center;padding:32px 24px;margin-bottom:24px}.cv-header h1{margin:0 0 8px;font-size:32px;font-weight:700}.cv-header .cv-title{font-size:18px;color:var(--muted);margin-bottom:16px}.cv-contact{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:16px}.cv-section{margin-bottom:32px}.cv-section-title{font-size:20px;font-weight:600;margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid var(--line)}.cv-summary{padding:20px 24px;line-height:1.7;color:var(--text)}.cv-timeline{position:relative;padding-left:32px}.cv-timeline:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;background:var(--line)}.cv-timeline-item{position:relative;padding:16px 20px;margin-bottom:12px;background:linear-gradient(180deg,#ffffff0a,#ffffff05);border:1px solid var(--line);border-radius:10px;transition:border-color .15s ease,background .15s ease}.cv-timeline-item:hover{border-color:#ffffff24;background:linear-gradient(180deg,#ffffff0f,#ffffff08)}.cv-timeline-item:before{content:"";position:absolute;left:-32px;top:24px;width:10px;height:10px;border-radius:50%;background:#58a6ff;border:2px solid var(--bg);z-index:1}.cv-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px;flex-wrap:wrap}.cv-item-title{font-size:16px;font-weight:600;margin:0;color:var(--text)}.cv-item-company{font-size:15px;color:#58a6ff;margin:4px 0}.cv-item-date{font-size:13px;color:var(--muted);white-space:nowrap;padding:4px 12px;background:#0000004d;border-radius:6px;border:1px solid var(--line)}.cv-item-description{color:var(--muted);line-height:1.6;margin:8px 0;font-size:14px}.cv-item-description ul{margin:8px 0;padding-left:20px}.cv-item-description li{margin:6px 0}.cv-item-tech{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.cv-tech-tag{font-size:12px;padding:4px 10px;background:#58a6ff26;border:1px solid rgba(88,166,255,.3);border-radius:4px;color:#58a6ff}.cv-skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;padding:20px 24px}.cv-skill-category{margin-bottom:16px}.cv-skill-category h4{margin:0 0 10px;font-size:14px;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.5px}.cv-skill-list{display:flex;flex-wrap:wrap;gap:6px}.cv-skill-item{font-size:13px;padding:6px 12px;background:#ffffff0f;border:1px solid var(--line);border-radius:6px;color:var(--text)}.cv-download{text-align:center;padding:24px}.cv-download-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:600;background:#3b82f638;border:1px solid rgba(59,130,246,.35);border-radius:10px;color:var(--text);transition:all .15s ease}.cv-download-btn:hover{background:#3b82f64d;border-color:#3b82f680;transform:translateY(-2px)}.cv-education-item{margin-bottom:16px}.cv-degree{font-size:15px;font-weight:600;margin:0 0 4px}.cv-institution{font-size:14px;color:#58a6ff;margin:0 0 4px}.cv-edu-date{font-size:13px;color:var(--muted)}@media(max-width:640px){.cv-header h1{font-size:28px}.cv-timeline{padding-left:24px}.cv-timeline-item:before{left:-24px}.cv-item-header{flex-direction:column;align-items:flex-start}.cv-item-date{align-self:flex-start}.cv-skills-grid{grid-template-columns:1fr}}.nav{position:sticky;top:0;background:#0b0f14b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0}.brand{font-weight:700;letter-spacing:.2px}.nav-links{display:flex;gap:14px;align-items:center}.nav-links a{padding:8px 10px;border-radius:10px;color:var(--muted)}.nav-links a.active,.nav-links a:hover{background:var(--btn);color:var(--text)}.footer{border-top:1px solid var(--line);padding:18px 0;color:var(--muted)}.footer-inner{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.footer-links{display:flex;gap:12px}:root{--bg: #0b0f14;--card: #111827;--text: #e5e7eb;--muted: #a1a1aa;--line: rgba(255,255,255,.08);--btn: rgba(255,255,255,.1);--btn2: rgba(255,255,255,.16);--radius: 16px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,"Apple Color Emoji","Segoe UI Emoji";background:radial-gradient(1200px 600px at 20% 0%,rgba(59,130,246,.18),transparent 50%),radial-gradient(1000px 500px at 80% 0%,rgba(16,185,129,.14),transparent 55%),var(--bg);background-attachment:fixed;color:var(--text);min-height:100vh}a{color:inherit;text-decoration:none}.container{width:min(980px,calc(100% - 32px));margin:0 auto}main{padding:26px 0 40px}.card{background:linear-gradient(180deg,#ffffff0f,#ffffff08);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 10px 30px #00000040}.stack{display:grid;gap:14px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}@media(max-width:760px){.grid{grid-template-columns:1fr}}.cta-row{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--btn);color:var(--text)}.btn:hover{background:var(--btn2)}.btn.primary{background:#3b82f638;border-color:#3b82f659}.pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.pill{font-size:13px;color:var(--muted);padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#00000026}.sub{margin:0;color:var(--muted);line-height:1.6}
