:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;font-weight:400;--color-bg-primary: #020617;--color-bg-elevated: #020617;--color-surface: rgba(15, 23, 42, .94);--color-border-subtle: rgba(148, 163, 184, .2);--color-border-strong: rgba(30, 64, 175, .65);--color-text-primary: #e5e7eb;--color-text-secondary: #9ca3af;--color-accent: #6366f1;--color-accent-soft: rgba(99, 102, 241, .15);--bg-body: radial-gradient(circle at top left, #1d2439 0, transparent 55%), radial-gradient(circle at bottom right, #0b1120 0, transparent 55%), radial-gradient(circle at top right, #020617 0, transparent 50%), #00010a;--bg-navbar: radial-gradient(circle at top, rgba(30, 64, 175, .42), #020617);--bg-card: #020617;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--radius-md: 10px;--radius-lg: 14px;--shadow-soft: 0 18px 45px rgba(15, 23, 42, .65);--shadow-strong: 0 26px 60px rgba(15, 23, 42, .95);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=dark]{color-scheme:dark}:root[data-theme=light]{color-scheme:light;--color-bg-primary: #f4f4f5;--color-bg-elevated: #ffffff;--color-surface: #ffffff;--color-border-subtle: rgba(15, 23, 42, .08);--color-border-strong: rgba(148, 163, 184, .75);--color-text-primary: #020617;--color-text-secondary: #4b5563;--color-accent: #4f46e5;--color-accent-soft: rgba(79, 70, 229, .12);--bg-body: #f4f4f5;--bg-navbar: rgba(255, 255, 255, .92);--bg-card: #ffffff;--shadow-soft: 0 18px 45px rgba(15, 23, 42, .16);--shadow-strong: 0 20px 40px rgba(15, 23, 42, .18)}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg-body);color:var(--color-text-primary)}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}.app-shell{min-height:100vh;display:flex;flex-direction:column}.layout{max-width:920px;width:100%;margin:0 auto;padding:var(--space-xl) var(--space-md) var(--space-xl)}.navbar{position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:var(--bg-navbar);border-bottom:1px solid var(--color-border-subtle);box-shadow:0 18px 45px #0f172a33}.navbar-inner{max-width:1040px;margin:0 auto;padding:var(--space-md) var(--space-md);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-lg)}.navbar-brand{font-size:1.3rem;font-weight:650;letter-spacing:.04em;color:var(--color-text-primary);display:inline-flex;align-items:center;gap:.5rem}.navbar-brand:before{content:"";width:10px;height:10px;border-radius:999px;background:radial-gradient(circle,#22c55e,#16a34a);box-shadow:0 0 16px #22c55ecc}.navbar-menu{display:flex;align-items:center;gap:var(--space-md);order:1}.navbar-actions{display:flex;align-items:center;gap:.65rem;order:2;margin-left:auto}.navbar-link{font-size:.9rem;font-weight:500;color:var(--color-text-secondary);padding:8px 12px;border-radius:999px;border:1px solid transparent;transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}.navbar-link:hover{background:var(--color-accent-soft);color:var(--color-text-primary);border-color:var(--color-accent);text-decoration:none;transform:translateY(-1px)}.navbar-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.menu-toggle,.theme-toggle{width:32px;height:32px;border-radius:999px;border:1px solid var(--color-border-subtle);background:transparent;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;color:var(--color-text-secondary);transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.menu-toggle{display:none}.menu-toggle:hover,.theme-toggle:hover{background:var(--color-accent-soft);color:var(--color-text-primary);border-color:var(--color-accent);transform:translateY(-1px)}.menu-toggle:focus-visible,.theme-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.menu-toggle-icon,.theme-toggle-icon{width:16px;height:16px;display:inline-flex}.menu-toggle-icon svg,.theme-toggle-icon svg{width:100%;height:100%;fill:currentColor}.blog-list{display:flex;flex-direction:column;gap:var(--space-lg)}.page-header{text-align:left}.page-header h1{margin:0 0 var(--space-xs);font-size:2.1rem}.page-subtitle,.text-muted{margin:0;font-size:.95rem;color:var(--color-text-secondary)}.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg)}@media(max-width:1024px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.blog-card{border-radius:18px;overflow:hidden;background:var(--bg-card);border:1px solid var(--color-border-strong);box-shadow:var(--shadow-strong);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.blog-card:hover{transform:translateY(-6px);box-shadow:0 32px 70px #0f172afa;border-color:#818cf8e6}.blog-card-thumbnail{position:relative;background:var(--bg-card);aspect-ratio:16 / 9}.blog-card-body{padding:1.1rem 1.4rem 1.3rem;display:flex;flex-direction:column;gap:.35rem}.blog-card-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.15rem}.tag-pill{padding:.18rem .6rem;border-radius:999px;border:1px solid var(--color-border-subtle);font-size:.75rem;text-transform:lowercase;letter-spacing:.03em;color:var(--color-text-secondary);background:var(--color-accent-soft)}.blog-card-title{margin:0;font-size:1.1rem}.blog-card-title a{color:var(--color-text-primary)}.blog-card-title a:hover{text-decoration:underline}.blog-card-description{margin:.15rem 0 .4rem;font-size:.96rem;color:var(--color-text-secondary)}.blog-card-meta{margin-top:auto;display:flex;flex-wrap:wrap;gap:.7rem;font-size:.8rem;color:var(--color-text-secondary)}.blog-card-meta-item{display:inline-flex;align-items:center;gap:.25rem}.blog-post{max-width:760px;margin:0 auto}.blog-post .page-header{margin-bottom:var(--space-lg)}.blog-post .page-header h1{font-size:2.2rem}.markdown-body{padding:var(--space-lg);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border-subtle);box-shadow:var(--shadow-soft)}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin-top:var(--space-lg);margin-bottom:var(--space-sm)}.markdown-body p{margin-top:0;margin-bottom:var(--space-sm)}.markdown-body code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.92em;padding:.14rem .38rem;border-radius:6px;background:#94a3b824;color:var(--color-text-primary)}.markdown-body pre{margin-top:0;margin-bottom:var(--space-md);overflow-x:auto}.markdown-body pre code{display:block;padding:0;border-radius:0;background:transparent;color:#e2e8f0;line-height:1.7;white-space:pre}.markdown-body .code-block{position:relative;margin:0 0 var(--space-md);border-radius:14px;overflow:hidden}.markdown-body .code-copy-button{position:absolute;top:.75rem;right:.75rem;z-index:1;border:1px solid rgba(148,163,184,.24);border-radius:10px;width:2.25rem;height:2.25rem;padding:0;background:#0f172ae0;color:#e2e8f0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.markdown-body .code-copy-button:hover{background:#1e293bf5;border-color:#6366f1a6;transform:translateY(-1px)}.markdown-body .code-copy-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.markdown-body .code-copy-icon{width:1rem;height:1rem;display:inline-flex}.markdown-body .code-copy-icon svg{width:100%;height:100%;fill:currentColor}:root[data-theme=light] .markdown-body .code-copy-button{background:#ffffffeb;color:#0f172a;border-color:#94a3b880}:root[data-theme=light] .markdown-body .code-copy-button:hover{background:#f8fafcfa}.markdown-body .code-block pre{margin:0!important;border-radius:0!important;border:none!important;box-shadow:none!important}.markdown-body .code-comment{color:#22c55e}.markdown-body ul{padding-left:1.4rem;margin-top:0;margin-bottom:var(--space-sm)}.markdown-body li+li{margin-top:4px}.hero{margin-bottom:var(--space-xl)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--space-xl);align-items:center}.hero-main h1{margin:0 0 var(--space-sm);font-size:2.4rem}.hero-kicker{margin:0 0 6px;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-secondary)}.hero-subtitle{margin:0 0 var(--space-md);font-size:1rem;color:var(--color-text-secondary)}.hero-bullets{margin:0;padding-left:1.25rem;font-size:.95rem;color:var(--color-text-secondary)}.hero-bullets li+li{margin-top:4px}.hero-newsletter{align-self:stretch}.hero-newsletter-inner{height:100%;padding:var(--space-lg);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border-subtle);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:var(--space-sm)}.hero-newsletter-kicker{margin:0;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-accent)}.hero-newsletter-inner h2{margin:4px 0;font-size:1.3rem}.hero-newsletter-copy{margin:0 0 var(--space-sm);font-size:.9rem;color:var(--color-text-secondary)}.newsletter-form{display:flex;flex-direction:column;gap:var(--space-sm)}.newsletter-input{border-radius:999px;border:1px solid var(--color-border-subtle);padding:.6rem .9rem;font-size:.9rem;background:var(--color-bg-elevated);color:var(--color-text-primary)}.newsletter-input::placeholder{color:var(--color-text-secondary)}.newsletter-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent-soft)}.newsletter-button{border-radius:999px;border:none;padding:.7rem 1rem;font-size:.9rem;font-weight:500;background:var(--color-accent);color:#fff;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.newsletter-button:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 14px 35px #4f46e58c}.newsletter-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.newsletter-hint{margin:0;font-size:.8rem;color:var(--color-text-secondary)}.blog-section{margin-top:var(--space-xl)}.section-header{margin-bottom:var(--space-md);text-align:left}.section-kicker{margin:0 0 4px;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-secondary)}.section-header h2{margin:0;font-size:1.3rem}.simple-page{max-width:760px;margin:0 auto}.simple-page-body{margin-top:var(--space-md);padding:var(--space-lg);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border-subtle);box-shadow:var(--shadow-soft)}.simple-page-body p{margin-top:0;margin-bottom:var(--space-sm)}.social-links{margin-top:var(--space-md);display:flex;flex-wrap:wrap;gap:var(--space-sm)}.social-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;color:var(--color-text-secondary);padding:.35rem .8rem;border-radius:999px;border:1px solid var(--color-border-subtle);background:var(--color-accent-soft);text-decoration:none;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.social-link:hover{color:var(--color-accent);border-color:var(--color-accent);transform:translateY(-1px);text-decoration:none}.social-icon{width:16px;height:16px;display:inline-flex}.social-icon svg{width:100%;height:100%;fill:currentColor}@media(max-width:768px){.navbar-inner{padding-inline:14px;gap:.9rem}.navbar-brand{font-size:1.08rem}.menu-toggle{display:inline-flex}.navbar-actions{margin-left:auto}.navbar-menu{display:none;width:100%;flex-direction:column;align-items:stretch;gap:.5rem;padding:.9rem;border-radius:16px;background:var(--color-surface);border:1px solid var(--color-border-subtle);box-shadow:var(--shadow-soft)}.navbar-menu-open{display:flex}.navbar-link{display:block;width:100%;padding:.8rem .95rem;border-radius:12px;background:#94a3b814;color:var(--color-text-primary)}.layout{padding-inline:14px}.blog-card{padding:14px}.markdown-body{padding:var(--space-md)}.hero-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-lg)}.hero-newsletter-inner,.simple-page-body{padding:var(--space-md)}.blog-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-md)}}
