/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */.fixed{position:fixed}.container{width:100%}.grid{display:grid}.inline{display:inline}.resize{resize:both}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--gray-900:#1a1a1a;--gray-800:#2d2d2d;--gray-600:#4a4a4a;--gray-500:#6b6b6b;--gray-400:#9b9b9b;--gray-300:#d4d4d4;--gray-200:#e8e4f0;--gray-100:#f3f0f8;--gray-50:#faf9fc;--purple-500:#7c6ba6;--purple-400:#9b8ab8}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--gray-800);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fdfcfe;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5}.container{max-width:720px;padding:var(--space-20)var(--space-6);margin:0 auto}header{margin-bottom:var(--space-10);border-bottom:none;padding-bottom:0}h1{margin-bottom:var(--space-2);color:var(--gray-800);font-size:36px;font-weight:500}.subtitle{color:var(--purple-400);font-size:17px}.tabs{margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--gray-200);align-items:center;gap:0;display:flex}.tab{padding:var(--space-1)var(--space-2);color:var(--gray-400);cursor:pointer;background:0 0;border:none;border-radius:4px;margin:0;font-family:inherit;font-size:15px;font-weight:400;text-decoration:none;transition:color .2s,background .2s}.tab:hover{color:var(--purple-500);background:var(--gray-50)}.tab:focus-visible{outline:2px solid var(--purple-500);outline-offset:2px}.tab.active{color:var(--purple-500);background:var(--gray-50)}.separator{margin-left:var(--space-2);margin-right:var(--space-2);color:var(--gray-300);display:inline-block}.tab-content{animation:fadeIn .15s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.about p{color:var(--gray-600);margin-bottom:var(--space-5);font-size:18px;line-height:1.6}.about p:last-child{margin-bottom:0}section{margin-bottom:var(--space-12)}h2{text-transform:uppercase;letter-spacing:.05em;color:var(--purple-400);margin-bottom:var(--space-6);font-size:14px;font-weight:500}.timeline-item{padding-left:var(--space-4);padding-right:var(--space-4);border-left:2px solid var(--gray-200);transition:all .2s}.timeline-item:hover{border-left-color:var(--purple-400)}.timeline-item.collapsed{margin-bottom:var(--space-6)}.timeline-item.expanded{margin-bottom:var(--space-10)}.timeline-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);cursor:pointer;padding:var(--space-2);margin:calc(-1*var(--space-2));border-radius:4px;transition:background .2s;display:flex}.timeline-header:hover{background:#faf9fc80}.timeline-header:focus-visible{outline:2px solid var(--purple-500);outline-offset:2px}.timeline-content{flex-direction:column;display:flex}.timeline-meta{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.timeline-meta-separator{color:var(--gray-300)}.timeline-chevron{color:var(--purple-400);padding-left:var(--space-3);flex-shrink:0;margin-left:auto;font-size:14px;transition:transform .2s;display:inline-block}.timeline-chevron.expanded{transform:rotate(180deg)}.timeline-chevron.collapsed{transform:rotate(0)}.timeline-item h3{color:var(--gray-800);margin-bottom:var(--space-1);font-size:19px;font-weight:500}.period{color:var(--purple-400);white-space:nowrap;font-size:14px}.role{color:var(--gray-500);margin:0;font-size:15px}.timeline-item ul{padding-left:0;list-style:none}.timeline-details{margin-top:var(--space-4);animation:fadeIn .15s ease-in}.timeline-item li{color:var(--gray-600);margin-bottom:var(--space-2);padding-left:var(--space-4);font-size:15px;line-height:1.6;position:relative}.timeline-item li:before{content:"•";color:var(--purple-400);font-size:15px;line-height:1.6;position:absolute;top:-1px;left:0}.project-grid{gap:var(--space-6);display:grid}.project-item{padding:var(--space-5);border:1px solid var(--gray-200);cursor:pointer;background:0 0;border-radius:4px;text-decoration:none;transition:border-color .2s,background .2s;display:block}.project-item:hover{border-color:var(--purple-400);background:var(--gray-50)}.project-item:focus-visible{outline:2px solid var(--purple-500);outline-offset:2px}.project-item h3{color:var(--gray-800);margin:0 0 var(--space-2)0;font-size:17px;font-weight:500}.tech-stack{color:var(--purple-400);margin-bottom:var(--space-3);font-size:13px}.project-item p:last-child{color:var(--gray-600);margin:0;font-size:15px;line-height:1.5}.inline-link{color:var(--link-color,var(--purple-500));border-bottom:1px solid #0000;text-decoration:none;transition:all .2s;position:relative}.inline-link:hover{border-bottom-color:var(--link-color,var(--purple-400));opacity:.8}.inline-link:focus-visible{outline:2px solid var(--link-color,var(--purple-500));outline-offset:2px;border-radius:2px}footer{margin-top:var(--space-10);padding-top:var(--space-6);border-top:1px solid var(--gray-200)}.footer-links{font-size:15px}.footer-links a{color:var(--purple-500);text-decoration:none;transition:opacity .2s}.footer-links a[target=_blank]:after{content:" ↗";opacity:.5;font-size:.85em}.footer-links a:hover{opacity:.7}.footer-links a:focus-visible{outline:2px solid var(--purple-500);outline-offset:2px;border-radius:2px}.footer-links span{margin:0 var(--space-2);color:var(--gray-300)}.background-controls{z-index:1000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:15px;position:fixed;top:20px;right:24px}.background-controls,.background-controls-item{align-items:center;display:flex}.background-controls-separator{margin:0 var(--space-2);color:var(--gray-300)}.background-controls-button{padding:var(--space-1)var(--space-1);color:var(--gray-500);cursor:pointer;background:0 0;border:none;border-radius:2px;font-family:inherit;font-size:15px;font-weight:400;transition:color .2s}.background-controls-button:hover{color:var(--purple-500)}.background-controls-button:focus-visible{outline:2px solid var(--purple-500);outline-offset:2px;border-radius:2px}.background-controls-button.active{color:var(--purple-500)}.background-controls-play-button{padding:var(--space-1)var(--space-2);margin-left:var(--space-3);color:var(--gray-500);cursor:pointer;text-align:center;background:0 0;border:none;border-radius:4px;width:60px;font-family:inherit;font-size:15px;font-weight:400;transition:color .2s,background .2s,opacity .2s}.background-controls-play-button:hover:not(:disabled){color:var(--purple-500);background:var(--gray-50)}.background-controls-play-button:focus-visible{outline:2px solid var(--purple-500);outline-offset:2px}.background-controls-play-button.active{color:var(--purple-500);text-decoration:underline;-webkit-text-decoration-color:var(--purple-500);text-decoration-color:var(--purple-500);text-underline-offset:3px;text-decoration-thickness:1px}.background-controls-play-button:disabled{color:var(--gray-300);cursor:not-allowed;opacity:.4}@media (max-width:640px){.container{padding:90px var(--space-5)var(--space-16)}header{margin-bottom:var(--space-8)}h1{font-size:32px}.tab{font-size:14px}.timeline-header{gap:var(--space-2)}.timeline-chevron{padding-left:var(--space-2);font-size:12px}.timeline-item h3{font-size:17px}.role{font-size:14px}.period{font-size:13px}.background-controls{-webkit-backdrop-filter:blur(2px);width:fit-content;box-shadow:none;background:#ffffff4d;border-radius:4px;margin-left:auto;margin-right:auto;padding:3px 6px;font-size:9px;top:16px;left:0;right:0}.background-controls-button{padding:2px 1px;font-size:9px}.background-controls-separator{margin:0 1px;font-size:9px}.background-controls-play-button{font-size:9px}}