/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-border-style:solid}}}.fixed{position:fixed}.container{width:100%}.flex{display:flex}.grid{display:grid}.inline{display:inline}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.underline{text-decoration-line:underline}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}: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{margin-bottom:var(--space-10);padding-left:var(--space-4);padding-right:var(--space-4);border-left:2px solid var(--gray-200);transition:border-color .2s}.timeline-item:hover{border-left-color:var(--purple-400)}.timeline-header{margin-bottom:var(--space-1);justify-content:space-between;align-items:baseline;display:flex}.timeline-item h3{color:var(--gray-800);font-size:19px;font-weight:500}.period{color:var(--purple-400);white-space:nowrap;font-size:14px}.role{color:var(--gray-500);margin-bottom:var(--space-3);font-size:15px}.timeline-item ul{padding-left:0;list-style:none}.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(--purple-500);border-bottom:1px solid #0000;text-decoration:none;transition:all .2s;position:relative}.inline-link:hover{border-bottom-color:var(--purple-400);opacity:.8}.inline-link:focus-visible{outline:2px solid 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)}nav[aria-label=Background\ controls]{top:20px;right:24px}@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{flex-direction:column;align-items:flex-start}.period{margin-top:var(--space-1)}nav[aria-label=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}nav[aria-label=Background\ controls] button{padding:2px 1px;font-size:9px}nav[aria-label=Background\ controls] span[aria-hidden]{margin:0 1px;font-size:9px}}nav[aria-label=Background\ controls] button:focus-visible{outline:2px solid var(--purple-500);outline-offset:2px;border-radius:2px}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}