:root{--font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, "SFMono-Regular", "Menlo", "Consolas", monospace;--bg: #ffffff;--bg-subtle: #f6f7f9;--surface: #ffffff;--border: #e5e7eb;--text: #1f2328;--text-muted: #6b7280;--accent: #4f46e5;--accent-hover: #4338ca;--accent-contrast: #ffffff;--code-bg: #f3f4f6;--radius: 12px;--radius-sm: 8px;--maxw: 720px;--shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 4px 16px rgba(0, 0, 0, .04)}:root[data-theme=dark]{--bg: #0d1117;--bg-subtle: #161b22;--surface: #161b22;--border: #272d36;--text: #e6edf3;--text-muted: #9198a1;--accent: #a5b4fc;--accent-hover: #c7d2fe;--accent-contrast: #1f2328;--code-bg: #1b2129;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 16px rgba(0, 0, 0, .3)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #0d1117;--bg-subtle: #161b22;--surface: #161b22;--border: #272d36;--text: #e6edf3;--text-muted: #9198a1;--accent: #a5b4fc;--accent-hover: #c7d2fe;--accent-contrast: #1f2328;--code-bg: #1b2129;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 16px rgba(0, 0, 0, .3)}}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{line-height:1.25;margin:0;font-weight:700;letter-spacing:-.01em}h1{font-size:clamp(1.9rem,4vw,2.6rem)}h2{font-size:1.4rem}h3{font-size:1.1rem}p{margin:0}img{max-width:100%;height:auto}.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:1.25rem}.app-shell{display:flex;flex-direction:column;min-height:100vh}.site-main{flex:1;padding-block:3rem}.stack{display:flex;flex-direction:column;gap:1rem}.stack-sm{display:flex;flex-direction:column;gap:.5rem}.stack-lg{display:flex;flex-direction:column;gap:2.5rem}.site-header{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 85%,transparent);-webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--border)}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.85rem}.brand{font-weight:700;font-size:1.05rem;color:var(--text);letter-spacing:-.02em}.brand:hover{text-decoration:none;color:var(--accent)}.nav-links{display:flex;align-items:center;gap:.35rem}.nav-link{color:var(--text-muted);padding:.35rem .65rem;border-radius:var(--radius-sm);font-size:.95rem}.nav-link:hover{color:var(--text);background:var(--bg-subtle);text-decoration:none}.nav-link.active{color:var(--accent);font-weight:600}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:.4rem;padding:4px;border:none;background:transparent;border-radius:50%;cursor:pointer;transition:background .15s ease}.theme-toggle:hover{background:var(--bg-subtle)}.theme-toggle:hover .solar-system{--ring-strength: 48%;--sun-glow: 9px}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.site-footer{border-top:1px solid var(--border);padding-block:2rem;color:var(--text-muted);font-size:.9rem}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.footer-links{display:flex;gap:1rem}.footer-links a{color:var(--text-muted)}.footer-links a:hover{color:var(--accent)}.hero{display:flex;flex-direction:column;gap:.75rem;padding-block:1rem .5rem}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:600;color:var(--accent)}.lead{font-size:1.2rem;color:var(--text-muted)}.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.5rem}.button{display:inline-flex;align-items:center;gap:.4rem;background:var(--accent);color:var(--accent-contrast);padding:.55rem 1.1rem;border-radius:var(--radius-sm);font-weight:600;font-size:.95rem;border:1px solid transparent;transition:background .15s ease}.button:hover{background:var(--accent-hover);text-decoration:none}.button-ghost{background:transparent;color:var(--text);border-color:var(--border)}.button-ghost:hover{background:var(--bg-subtle)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.section-link{font-size:.9rem;font-weight:600;white-space:nowrap}.post-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.post-card{display:flex;flex-direction:column;gap:.3rem;padding:1rem 1.1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.post-card:hover{text-decoration:none;border-color:color-mix(in srgb,var(--accent) 45%,var(--border));box-shadow:var(--shadow);transform:translateY(-1px)}.post-date{font-size:.8rem;color:var(--text-muted)}.post-title{font-weight:600;font-size:1.1rem}.post-desc{color:var(--text-muted);font-size:.95rem}.entry{display:flex;flex-direction:column;gap:.35rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.entry:last-child{border-bottom:none;padding-bottom:0}.entry-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}.entry-dates{color:var(--text-muted);font-size:.9rem;white-space:nowrap}.bullets{margin:.35rem 0 0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.3rem}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.25rem}.skill-group h3{margin-bottom:.5rem;font-size:1rem}.tag-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.tag-list.inline{margin-top:.25rem}.tag{display:inline-block;padding:.15rem .6rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:999px;font-size:.8rem;color:var(--text-muted)}.prose{font-size:1.05rem}.prose>*+*{margin-top:1.1rem}.prose h2{margin-top:2rem}.prose h3{margin-top:1.5rem}.prose ul,.prose ol{padding-left:1.4rem;display:flex;flex-direction:column;gap:.35rem}.prose code{font-family:var(--font-mono);font-size:.9em;background:var(--code-bg);padding:.15em .4em;border-radius:6px}.prose pre{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem;overflow-x:auto}.prose pre code{background:none;padding:0;font-size:.9rem}.prose blockquote{margin:0;padding-left:1rem;border-left:3px solid var(--accent);color:var(--text-muted)}.prose table{width:100%;border-collapse:collapse;font-size:.95rem;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border);padding:.5rem .75rem;text-align:left}.prose th{background:var(--bg-subtle)}.prose a{text-decoration:underline}.prose img{border-radius:var(--radius-sm)}.solar-system{--sun: #ffd43b;--mercury: #98a1ae;--venus: #e0b17a;--earth: #3b82f6;--mars: #ef4444;--ring-w: 1px;--ring-strength: 26%;--sun-glow: 6px;position:relative;flex:none;width:28px;height:28px}.solar-system .sun{position:absolute;top:50%;left:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--sun);box-shadow:0 0 var(--sun-glow) color-mix(in srgb,var(--sun) 75%,transparent);transition:box-shadow .15s ease}.solar-system .orbit{position:absolute;top:50%;left:50%;width:var(--size);height:var(--size);border:var(--ring-w) solid color-mix(in srgb,var(--text-muted) var(--ring-strength),transparent);transition:border-color .15s ease;border-radius:50%;transform:translate(-50%,-50%);animation:orbit-spin linear infinite}.solar-system .planet{position:absolute;top:50%;left:50%;border-radius:50%;transform:translate(-50%,-50%) translateY(calc((var(--size) - var(--ring-w)) / -2))}.solar-system .orbit-mercury{--size: 10px;animation-duration:4s;animation-delay:-.5s}.solar-system .orbit-venus{--size: 16px;animation-duration:7s;animation-delay:-2.62s}.solar-system .orbit-earth{--size: 22px;animation-duration:11s;animation-delay:-6.88s}.solar-system .orbit-mars{--size: 27px;animation-duration:17s;animation-delay:-14.88s}.solar-system .orbit-mercury .planet{width:3px;height:3px;background:var(--mercury)}.solar-system .orbit-venus .planet{width:3.5px;height:3.5px;background:var(--venus)}.solar-system .orbit-earth .planet{width:4px;height:4px;background:var(--earth)}.solar-system .orbit-mars .planet{width:3px;height:3px;background:var(--mars)}@keyframes orbit-spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@media (prefers-reduced-motion: reduce){.solar-system .orbit{animation:none}}.muted{color:var(--text-muted)}.small{font-size:.85rem}.notfound{text-align:center;padding-block:3rem;align-items:center}@media (max-width: 480px){.nav-links{gap:.15rem}.nav-link{padding:.35rem .45rem;font-size:.9rem}}
