*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #ffffff;--text: #1a1d24;--muted: #6b7280;--accent: hsl(47, 90%, 42%);--accent-hover: hsl(47, 90%, 32%);--border: #e8eaed;--surface: #f7f8fa;--max-width: 740px;--font-sans: "Noto Sans", system-ui, -apple-system, sans-serif;--font-mono: "Noto Sans Mono", ui-monospace, monospace}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #12151e;--text: #e8eaf0;--muted: #7a8090;--accent: hsl(52, 95%, 58%);--accent-hover: hsl(52, 95%, 72%);--border: #232736;--surface: #1a1f2e}}[data-theme=dark]{--bg: #12151e;--text: #e8eaf0;--muted: #7a8090;--accent: hsl(52, 95%, 58%);--accent-hover: hsl(52, 95%, 72%);--border: #232736;--surface: #1a1f2e}body{font-family:var(--font-sans);background:var(--bg);background-image:radial-gradient(ellipse 80% 50% at 50% 110%,hsl(47,90%,42%,.07) 0%,transparent 65%);background-attachment:fixed;color:var(--text);line-height:1.7;font-size:1rem;font-weight:400}header{border-bottom:1px solid var(--border);padding:1.25rem 2rem}nav{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between}.site-name{font-weight:700;font-size:1rem;text-decoration:none;color:var(--text);letter-spacing:.02em}nav ul{list-style:none;display:flex;align-items:center;gap:1.75rem}nav ul a{text-decoration:none;color:var(--muted);font-size:.7rem;font-family:var(--font-mono);font-weight:500;text-transform:uppercase;letter-spacing:.15em;transition:color .15s}nav ul a:hover,nav ul a.active{color:var(--accent)}#theme-toggle{background:none;border:1px solid var(--border);border-radius:6px;padding:.25rem .4rem;cursor:pointer;color:var(--muted);display:flex;align-items:center;transition:color .15s,border-color .15s}#theme-toggle:hover{color:var(--accent);border-color:var(--accent)}main{max-width:var(--max-width);margin:0 auto;padding:4rem 2rem}footer{border-top:1px solid var(--border);padding:1.5rem 2rem;text-align:center;color:var(--muted);font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;margin-top:5rem}h1{font-size:2.25rem;font-weight:700;line-height:1.15;margin-bottom:1.5rem;letter-spacing:-.02em}h2{font-size:1.25rem;font-weight:600;line-height:1.3;margin-top:3rem;margin-bottom:.875rem;letter-spacing:-.01em}h3{font-size:1.05rem;font-weight:600;margin-top:2rem;margin-bottom:.75rem}p{margin-bottom:1.1rem;font-weight:300}strong{font-weight:600}a{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent);text-underline-offset:3px;transition:text-decoration-color .15s,color .15s}a:hover{color:var(--accent-hover);text-decoration-color:var(--accent-hover)}ul,ol{margin-bottom:1.1rem;padding-left:1.5rem;font-weight:300}li{margin-bottom:.35rem}blockquote{border-left:2px solid var(--accent);padding:.75rem 1.25rem;margin:1.75rem 0;color:var(--muted)}blockquote p{margin-bottom:0;font-weight:400}img{max-width:100%;height:auto;border-radius:6px;margin:2rem 0;display:block;border:1px solid var(--border)}code{font-family:var(--font-mono);font-size:.85em;background:var(--surface);padding:.15em .4em;border-radius:4px;border:1px solid var(--border)}pre{background:var(--surface);padding:1.5rem;border-radius:8px;overflow-x:auto;margin:1.75rem 0;border:1px solid var(--border)}pre code{background:none;padding:0;border:none;font-size:.875rem}iframe{max-width:100%;border:none;display:block;margin:2rem 0;border-radius:8px}.portfolio-context{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:1.25rem 1.5rem;margin-bottom:2.5rem;color:var(--muted);font-size:.9rem}.portfolio-context p:last-child{margin-bottom:0}.callout{border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:4px;padding:1rem 1.25rem;margin:1.5rem 0;background:var(--surface)}.callout--warning{border-left-color:#f59e0b}.callout--tip{border-left-color:#10b981}.callout__title{font-weight:600;margin-bottom:.5rem;color:var(--text)}.callout__body p:last-child{margin-bottom:0}.testimonials{display:flex;flex-direction:column;gap:1.5rem;margin-top:1.5rem}.testimonial{border:1px solid var(--border);border-radius:6px;padding:1.25rem 1.5rem}.testimonial blockquote{border:none;padding:0;margin:0 0 .75rem;color:var(--text);font-style:italic}.testimonial-attribution{font-size:.875rem;color:var(--muted)}.portfolio-grid{display:grid;gap:1rem;margin-top:1.5rem}hr{border:none;border-top:1px solid var(--border);margin:2.5rem 0}@media (max-width: 600px){header{padding:1rem}main{padding:2.5rem 1.25rem}nav ul{gap:1rem}nav ul a{font-size:.65rem;letter-spacing:.1em}h1{font-size:1.75rem}}
