:root{--color-bg-primary:#fff;--color-bg-secondary:#f8f9fa;--color-text-primary:#222;--color-text-secondary:#666;--color-accent:#1a73e8;--color-border:#e0e0e0;--shadow-sm:0 1px 3px #0000001f;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 20px #00000026;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--font-family-primary:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-size-base:1rem;--font-size-sm:.875rem;--font-size-lg:1.125rem;--font-size-xl:1.5rem;--font-size-2xl:2rem;--font-size-3xl:3rem;--transition-fast:.15s ease-in-out;--transition-base:.25s ease-in-out;--transition-slow:.4s ease-in-out}[data-theme=dark]{--color-bg-primary:#1a1a1a;--color-bg-secondary:#2a2a2a;--color-text-primary:#fff;--color-text-secondary:#b0b0b0;--color-accent:#4a9eff;--color-border:#404040;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 6px #00000080;--shadow-lg:0 10px 20px #0009}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-family-primary);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-bg-primary);transition:background-color var(--transition-base),color var(--transition-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}:focus{outline:none}:focus-visible{outline-offset:2px;outline:2px solid #1abc9c}[data-theme=dark] :focus-visible{outline-offset:2px;outline:2px solid #4a9eff}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}[data-theme=dark] [data-section=portfolio]{background:#1f1f1f}[data-theme=dark] [data-section=portfolio] h1{color:#eee}[data-theme=dark] [data-section=portfolio] h5{color:#999}[data-theme=dark] [data-section=portfolio] button{color:#bbb}[data-theme=dark] [data-section=portfolio] button:hover{color:#1abc9c}[data-theme=dark] [data-section=portfolio] article{background:#1f1f1f}[data-theme=dark] [data-section=portfolio] article>div:last-child{background-color:#1f1f1f;border-top-color:#333}[data-theme=dark] [data-section=portfolio] article>div:last-child h3 a{color:#eee}[data-theme=dark] [data-section=portfolio] article>div:last-child h3 a:hover{color:#1abc9c}[data-theme=dark] [data-section=portfolio] article>div:last-child span,[data-theme=dark] [data-section=portfolio] article>div:last-child span a{color:#999}[data-theme=dark] [data-section=portfolio] article>div:last-child span a:hover{color:#eee}
