:root{--bg-light: #f0eee7;--bg-dark: #1f1e1d;--text-light: #1f1e1d;--text-dark: #f0eee7}body{font-family:STIX Two Text,serif;transition:background-color .3s ease,color .3s ease}body.light{background-color:var(--bg-light);color:var(--text-light)}body.dark{background-color:var(--bg-dark);color:var(--text-dark)}#root{min-height:100vh;width:100%}*{margin:0;padding:0;box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1{font-size:2.5rem;font-weight:700;line-height:1.2;letter-spacing:-.02em;margin-bottom:1rem}h2{font-size:1.5rem;font-weight:700;line-height:1.3;letter-spacing:-.01em;margin-bottom:.875rem}h3{font-size:1.25rem;font-weight:700;line-height:1.4;margin-bottom:.75rem}p{font-size:1.1rem;line-height:1.6;margin-bottom:1rem}strong{font-weight:700}.text-large{font-size:1.05rem;line-height:1.7}.text-small{font-size:.95rem;line-height:1.5}.text-muted{opacity:.8}.container{max-width:650px;margin:0 auto;padding:60px 20px}a{color:inherit;text-decoration:none;transition:opacity .2s ease}a:hover{opacity:.6}.links{display:flex;gap:1.5rem;margin-bottom:2rem}.links a{text-decoration:underline;font-size:.95rem}p a{text-decoration:underline;font-style:italic}.theme-toggle{position:fixed;top:2rem;right:2rem;width:48px;height:26px;cursor:pointer}.theme-toggle input{opacity:0;width:0;height:0;position:absolute}.theme-toggle .slider{position:absolute;inset:0;background-color:transparent;border:1.5px solid currentColor;border-radius:26px;transition:all .3s ease}.theme-toggle .slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:2.5px;background-color:currentColor;border-radius:50%;transition:transform .3s ease}.theme-toggle input:checked+.slider:before{transform:translate(22px)}.theme-toggle:hover .slider{opacity:.7}.section{margin-top:2rem}.section .experience-header{margin-bottom:2rem;font-style:italic}.job{margin-bottom:2rem}.job-header{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem}.job h3{font-size:1.2rem;font-weight:700;line-height:1.3;margin-bottom:.25rem}.company{font-style:italic;font-size:1.05rem;margin-bottom:.5rem}.company a{text-decoration:underline}.date{font-size:.95rem;white-space:nowrap;opacity:.9}.tech-stack{font-style:italic;font-size:.95rem;opacity:.8}.project{margin-bottom:1.5rem}.project-description{font-size:1rem;line-height:1.6;margin-bottom:.25rem}.project-description strong{font-weight:700}.project-link{font-style:italic;font-size:.95rem;opacity:.8;margin-bottom:0}.project-link a{text-decoration:underline}.footer{display:flex;justify-content:space-between;align-items:center;margin-top:3rem;padding-top:2rem;font-size:.9rem;opacity:.8;gap:2rem}.footer-text{font-size:.9rem;line-height:1.6;margin:0}.footer-text a{text-decoration:underline;font-style:italic}.footer-links{display:flex;gap:1rem;align-items:center;white-space:nowrap}.footer-links a{text-decoration:underline}.email{font-size:.95rem;opacity:.8}.dot-ripple{position:relative;display:inline-block;color:#daa520}.dot-ripple:before{content:"●";position:relative;z-index:2}.dot-ripple:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:8px;height:8px;background-color:#daa520;border-radius:50%;opacity:.4;animation:ripple 2s ease-out infinite}@keyframes ripple{0%{width:8px;height:8px;opacity:.3}to{width:20px;height:20px;opacity:0}}@media(max-width:768px){h1{font-size:2rem}h3{font-size:1.1rem}p{font-size:1rem}.container{padding:40px 20px}.links{gap:1rem}.job-header{flex-direction:column;gap:.5rem}.date{align-self:flex-start;margin-top:.25rem}.footer{flex-direction:column;align-items:flex-start;gap:1.5rem}.footer-links{align-self:flex-start}.theme-toggle{top:1.5rem;right:1.5rem}}
