:root{--bg-primary: #0D1117;--bg-secondary: #161B22;--bg-card: #1C2128;--bg-card-hover: #22272E;--accent: #00D4FF;--accent-hover: #00BFEA;--amber: #FFB800;--green: #3FB950;--red: #F85149;--text-primary: #F0F6FC;--text-secondary: #8B949E;--text-muted: #484F58;--border: #30363D;--border-accent: #00D4FF;--font-mono: "JetBrains Mono", "Fira Code", "Courier New", monospace;--font-sans: "Inter", -apple-system, "Segoe UI", Roboto, sans-serif;--max-width: 1200px;--max-width-narrow: 760px;--radius: 8px;--radius-lg: 12px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-hover)}ul{list-style:none}img{max-width:100%;height:auto}.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}.container-narrow{max-width:var(--max-width-narrow);margin:0 auto;padding:0 24px}.btn{display:inline-block;font-family:var(--font-sans);font-weight:600;font-size:.95rem;padding:12px 28px;border-radius:50px;border:2px solid transparent;cursor:pointer;transition:all .25s ease;text-align:center}.btn-primary{background:var(--accent);color:var(--bg-primary);border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--bg-primary);transform:translateY(-1px);box-shadow:0 4px 20px #00d4ff4d}.btn-sm{padding:8px 20px;font-size:.85rem}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:16px 0;transition:all .3s ease;background:transparent}.navbar.scrolled{background:#0d1117d9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);padding:10px 0}.navbar-inner{display:flex;align-items:center;justify-content:space-between}.logo{font-family:var(--font-mono);font-size:1.4rem;font-weight:700;color:var(--text-primary)}.logo:hover{color:var(--text-primary)}.logo .cursor{animation:blink 1s step-end infinite;color:var(--accent)}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.nav-links{display:flex;gap:32px}.nav-links a{color:var(--text-secondary);font-size:.9rem;font-weight:500;transition:color .2s}.nav-links a:hover{color:var(--text-primary)}.nav-actions{display:flex;align-items:center;gap:16px}.nav-signin{color:var(--text-secondary);font-size:.9rem;font-weight:500}.nav-signin:hover{color:var(--text-primary)}.mobile-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;z-index:1001}.mobile-toggle span{width:24px;height:2px;background:var(--text-primary);transition:all .3s;transform-origin:center}.blog-main{padding-top:120px;padding-bottom:80px;min-height:calc(100vh - 400px)}.blog-index-hero{padding:48px 0 32px;border-bottom:1px solid var(--border);margin-bottom:48px}.blog-index-title{font-family:var(--font-mono);font-size:clamp(2.4rem,5vw,3.4rem);font-weight:700;line-height:1.1;margin-bottom:16px}.blog-index-prompt{color:var(--accent);margin-right:.05em}.blog-index-sub{font-size:1.1rem;color:var(--text-secondary);max-width:560px}.blog-index-empty{color:var(--text-secondary);text-align:center;padding:60px 0}.post-list{display:flex;flex-direction:column;gap:0}.post-list-item{border-bottom:1px solid var(--border)}.post-list-link{display:block;padding:28px 0;color:var(--text-primary);transition:transform .2s}.post-list-link:hover{color:var(--text-primary);transform:translate(4px)}.post-list-date{display:block;font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted);margin-bottom:8px;letter-spacing:.02em}.post-list-title{font-family:var(--font-mono);font-size:clamp(1.3rem,3vw,1.6rem);font-weight:600;line-height:1.25;margin-bottom:10px}.post-list-description{color:var(--text-secondary);font-size:1rem;margin-bottom:12px;line-height:1.55}.post-list-more{font-family:var(--font-mono);font-size:.85rem;color:var(--accent);font-weight:500}.post-header{padding:24px 0 36px;border-bottom:1px solid var(--border);margin-bottom:48px}.post-eyebrow{font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted);margin-bottom:16px;text-transform:lowercase;letter-spacing:.04em}.post-eyebrow a{color:var(--text-muted)}.post-eyebrow a:hover{color:var(--accent)}.post-title{font-family:var(--font-mono);font-size:clamp(2rem,4.5vw,2.8rem);font-weight:700;line-height:1.15;margin-bottom:20px;letter-spacing:-.01em}.post-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--text-secondary);font-size:.9rem;font-family:var(--font-mono)}.post-meta-dot{color:var(--text-muted)}.post-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.post-tags li{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);padding:4px 10px;border:1px solid var(--border);border-radius:4px}.post-body{font-size:1.05rem;line-height:1.7;color:var(--text-primary)}.post-body p{margin:0 0 1.25em;color:var(--text-primary)}.post-body p em,.post-body em{color:var(--text-secondary)}.post-body h2{font-family:var(--font-mono);font-size:1.5rem;font-weight:700;line-height:1.25;margin:2.5em 0 .75em;padding-top:.75em;border-top:1px solid var(--border);color:var(--text-primary)}.post-body h3{font-family:var(--font-mono);font-size:1.2rem;font-weight:600;line-height:1.3;margin:2em 0 .5em;color:var(--text-primary)}.post-body a{color:var(--accent);text-decoration:underline;text-decoration-color:#00d4ff66;text-underline-offset:3px;transition:text-decoration-color .2s}.post-body a:hover{text-decoration-color:var(--accent)}.post-body ul,.post-body ol{margin:0 0 1.25em 1.5em;padding-left:0}.post-body ul{list-style:disc}.post-body ol{list-style:decimal}.post-body li{margin-bottom:.4em}.post-body blockquote{margin:1.5em 0;padding:12px 20px;border-left:3px solid var(--accent);background:var(--bg-secondary);color:var(--text-secondary);font-style:italic}.post-body code{font-family:var(--font-mono);font-size:.9em;padding:2px 6px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--accent)}.post-body pre{margin:1.5em 0;padding:18px 20px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto;font-size:.85rem;line-height:1.6}.post-body pre code{padding:0;background:none;border:none;color:var(--text-primary);font-size:1em}.post-body hr{margin:2.5em 0;border:0;border-top:1px solid var(--border)}.post-body table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:.95rem}.post-body th,.post-body td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border)}.post-body th{font-family:var(--font-mono);font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--border)}.post-body strong{color:var(--text-primary);font-weight:600}.post-footer{margin-top:64px;padding-top:32px;border-top:1px solid var(--border)}.post-back{font-family:var(--font-mono);font-size:.9rem;color:var(--text-secondary)}.post-back:hover{color:var(--accent)}.footer{background:var(--bg-secondary);border-top:1px solid var(--border);padding:48px 0 24px;margin-top:80px}.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-bottom:32px}.footer-col h4{font-family:var(--font-mono);font-size:.85rem;font-weight:700;margin-bottom:16px;color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em}.footer-col li{margin-bottom:8px}.footer-col a{color:var(--text-secondary);font-size:.85rem}.footer-col a:hover{color:var(--text-primary)}.footer-col code{font-family:var(--font-mono);font-size:inherit;background:none;padding:0}.footer-bottom{border-top:1px solid var(--border);padding-top:20px;text-align:center}.footer-bottom p{color:var(--text-muted);font-size:.8rem}@media(max-width:768px){.nav-links,.nav-actions{display:none}.mobile-toggle{display:flex}.nav-links.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--bg-secondary);padding:24px;gap:16px;border-bottom:1px solid var(--border)}.footer-grid{grid-template-columns:repeat(2,1fr)}.blog-main{padding-top:90px}}@media(max-width:480px){.footer-grid{grid-template-columns:1fr}}
