*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0d0d0d;--surface: #141414;--border: #222;--text: #e8e8e8;--muted: #666;--accent: #e8e8e8;--font: "Inter", system-ui, -apple-system, sans-serif}html{font-size:15px;-webkit-font-smoothing:antialiased}body{background-color:var(--bg);color:var(--text);font-family:var(--font);line-height:1.6;min-height:100vh}a{color:var(--text);text-decoration:none;border-bottom:1px solid var(--border);transition:border-color .15s}a:hover{border-color:var(--text)}.contact-row a{border-bottom:none}.app{max-width:680px;margin:0 auto;padding:0 24px}.header{padding:48px 0 40px}.nav{display:flex;gap:8px}.tab{background:none;border:1px solid var(--border);border-radius:4px;font-family:inherit;font-size:.8rem;letter-spacing:.06em;color:var(--muted);cursor:pointer;padding:6px 14px;transition:color .15s,border-color .15s,background .15s}.tab:hover{color:var(--text);border-color:#444}.tab--active{color:var(--text);border-color:#555;background:var(--surface)}.main{padding-bottom:80px}.content{display:flex;flex-direction:column;gap:48px}.hero{display:flex;align-items:flex-end;gap:20px}.profile-photo{width:88px;height:100px;border-radius:6px;object-fit:contain;flex-shrink:0;filter:grayscale(20%);align-self:flex-end;margin-top:-40px;margin-bottom:-16px}.name{font-size:1.4rem;font-weight:500;letter-spacing:-.02em;margin-bottom:4px}.subtitle{color:var(--muted);font-size:.9rem}.contact{margin-top:12px;font-size:.85rem;color:var(--muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.contact a{color:var(--muted);border-color:transparent}.contact a:hover{color:var(--text);border-color:var(--border)}.dot{color:var(--border)}.contact-section{border-top:1px solid var(--border);padding-top:24px;padding-bottom:0;display:flex;flex-direction:column;gap:8px}.contact-row{display:grid;grid-template-columns:72px 1fr;gap:16px;font-size:.8rem}.contact-label{color:#444}.section-title{font-size:.75rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:20px}.timeline{display:flex;flex-direction:column;position:relative}.timeline-item{display:grid;grid-template-columns:80px 1px 1fr;gap:0 20px;position:relative}.timeline-year{font-size:.75rem;color:var(--muted);text-align:right;padding-top:3px;line-height:1.4;white-space:nowrap}.timeline-line{display:flex;flex-direction:column;align-items:center;position:relative}.timeline-dot{width:7px;height:7px;border-radius:50%;background:#333;border:1px solid #555;flex-shrink:0;margin-top:4px;z-index:1}.timeline-connector{width:1px;flex:1;background:var(--border);margin-top:4px}.timeline-item:last-child .timeline-connector{display:none}.timeline-body{padding-bottom:36px}.timeline-item:last-child .timeline-body{padding-bottom:0}.timeline-org{font-size:.9rem;font-weight:500;line-height:1.4;margin-bottom:2px}.timeline-role{font-size:.8rem;color:var(--muted);margin-bottom:8px}.timeline-desc{font-size:.85rem;color:var(--muted);line-height:1.65}.skills-list{font-size:.875rem;color:var(--muted);line-height:1.8}.about-text{font-size:.875rem;color:var(--muted);line-height:1.75}.project-grid{display:flex;flex-direction:column;gap:2px}.project-card{border-top:1px solid var(--border);padding:24px 0 36px}.project-card:last-child{padding-bottom:0}.project-card-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px}.project-name{font-size:.95rem;font-weight:500;letter-spacing:-.01em}.project-name a{border-bottom:none;color:var(--text)}.project-links{display:flex;align-items:center;gap:12px;flex-shrink:0}.project-links a{font-size:1rem;color:#444;border:none;transition:color .15s}.project-links a:hover{color:var(--text)}.project-desc{font-size:.875rem;color:var(--muted);line-height:1.65;margin-bottom:14px}@media(max-width:480px){.app{padding:0 16px}.header{padding:32px 0 28px}.timeline-item{grid-template-columns:64px 1px 1fr;gap:0 14px}.timeline-year{font-size:.7rem}}
