*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #0000ee;--color-primary-dark: #551a8b;--color-secondary: #764ba2;--color-text: #000000;--color-text-light: #000000;--color-bg: #ffffff;--color-bg-alt: #f8f9fa;--color-border: #e0e0e0;--font-sans: "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 2rem;--space-xl: 4rem;--max-width: 800px;--header-height: 60px}[data-theme=dark]{--color-primary: #6b8eff;--color-primary-dark: #9b7be4;--color-text: #ffffff;--color-text-light: #ffffff;--color-bg: #000000;--color-bg-alt: #1a1a1a;--color-border: #333333}html{font-family:var(--font-sans);font-size:14px;line-height:1.6;color:var(--color-text);background:var(--color-bg);scroll-behavior:smooth;transition:color .3s ease,background .3s ease}body{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;margin-bottom:var(--space-md)}h1{font-size:clamp(2rem,5vw,3rem)}h2{font-size:clamp(1.5rem,4vw,2.5rem)}h3{font-size:clamp(1.25rem,3vw,2rem)}p{margin-bottom:var(--space-md)}a{color:var(--color-primary);text-decoration:none;transition:color .3s ease}a:hover{color:var(--color-primary-dark)}code{font-family:var(--font-mono);font-size:.875em;background:var(--color-bg-alt);padding:var(--space-xs) var(--space-sm);border-radius:.25rem}pre{background:var(--color-bg-alt);padding:var(--space-md);border-radius:.5rem;overflow-x:auto;margin-bottom:var(--space-md)}pre code{background:none;padding:0}ul,ol{margin-bottom:var(--space-md);padding-left:var(--space-lg)}li{margin-bottom:var(--space-sm)}blockquote{margin:2rem 0;padding:1rem 1.5rem;border-left:4px solid var(--color-primary);background:var(--color-bg-alt);font-style:italic}blockquote p{margin-bottom:0}main{min-height:100vh}header{background:var(--color-bg);position:sticky;top:0;z-index:1000}.header-container{max-width:var(--max-width);margin:0 auto;padding:1.5rem 2rem}.site-nav{display:flex;align-items:baseline;justify-content:space-between}.nav-right{display:flex;align-items:center;gap:1.5rem}.site-title{font-size:2rem;font-weight:700;text-decoration:none;color:var(--color-text);letter-spacing:-.5px;transition:opacity .2s ease}.site-title:hover{opacity:.7;color:var(--color-text)}.cv-link{font-size:1.125rem;font-weight:500;color:var(--color-text);text-decoration:underline;transition:opacity .2s ease}.cv-link:hover{opacity:.7;color:var(--color-text)}.theme-toggle{background:none;border:none;cursor:pointer;padding:0;color:var(--color-text);transition:opacity .2s ease;position:relative;width:20px;height:20px}.theme-toggle:hover{opacity:.7}.theme-toggle svg{position:absolute;top:0;left:0;transition:opacity .3s ease}[data-theme=light] .theme-toggle .moon-icon,[data-theme=dark] .theme-toggle .sun-icon{opacity:0}.about{padding:1rem 2rem 3rem;background:var(--color-bg)}.about .container{max-width:var(--max-width);margin:0 auto}.about-content{font-size:1.125rem;line-height:1.8;color:var(--color-text-light)}.about-content strong{color:var(--color-text);font-weight:600}.about-content a{color:var(--color-primary);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .3s ease}.about-content a:hover{border-bottom-color:var(--color-primary)}.about-content hr{margin:2rem 0;border:none;border-top:1px solid var(--color-border)}.about-content ol,.about-content ul{margin:1rem 0}.about-content li{margin-bottom:.5rem}.about-content code{background:var(--color-bg-alt);padding:.2rem .4rem;border-radius:.25rem;font-size:.9em}.social-links{display:flex;gap:1rem;justify-content:center;margin:2rem 0}.social-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:transparent;color:var(--color-text-light);text-decoration:none;transition:all .3s ease}.social-link:hover{background:var(--color-bg-alt);transform:translateY(-2px)}.social-link svg{width:20px;height:20px}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg)}.text-center{text-align:center}@media (max-width: 768px){:root{font-size:14px}.container{padding:0 var(--space-md)}.header-container{padding:1.25rem 1rem}.site-title{font-size:1.5rem}.cv-link{font-size:1rem}.theme-panel{right:-1rem}}
