body{min-height:100vh;display:flex;flex-direction:column}body>main#main-content{flex:1 0 auto}.blog-container{max-width:760px;margin:0 auto;padding:56px 24px 72px}.blog-index-container{max-width:1040px;margin:0 auto;padding:56px 24px 72px}.blog-index-header{max-width:720px;margin:0 auto 40px;text-align:center}.blog-eyebrow{font-family:var(--font-mono);font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan-deep);margin-bottom:12px}.blog-index-title{font-size:clamp(2rem,4.4vw,2.9rem);font-weight:800;letter-spacing:-1px;line-height:1.08;margin-bottom:14px}.blog-index-sub{font-size:17px;color:var(--text-2);line-height:1.6;max-width:600px;margin:0 auto 20px}.blog-rss-link{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--cyan-deep);border:1px solid var(--cyan-line);background:var(--cyan-tint);border-radius:100px;padding:6px 14px;transition:background .2s,transform .2s}.blog-rss-link:hover{background:#dfeaff;transform:translateY(-1px)}.blog-rss-link svg{width:15px;height:15px}.blog-card-meta{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;color:var(--text-3);margin-bottom:10px}.blog-meta-sep{color:var(--border-hover)}.blog-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.blog-tag{font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.02em;color:var(--cyan-deep);background:var(--cyan-tint);border:1px solid var(--cyan-line);border-radius:6px;padding:3px 8px}.blog-featured-card{display:block;position:relative;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-lg);padding:32px;box-shadow:var(--sh-sm);margin-bottom:32px;transition:transform .35s var(--ease-spring),box-shadow .35s,border-color .35s;overflow:hidden}.blog-featured-card:hover{transform:translateY(-4px);box-shadow:var(--sh-lg);border-color:var(--cyan-line)}.blog-featured-card:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--cyan),var(--violet));transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-out)}.blog-featured-card:hover:after{transform:scaleX(1)}.blog-featured-flag{display:inline-block;font-family:var(--font-mono);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--cyan-ink);background:var(--cyan);border-radius:6px;padding:3px 9px;margin-bottom:14px}.blog-featured-title{font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:800;letter-spacing:-.4px;line-height:1.2;color:var(--text);margin-bottom:10px}.blog-featured-desc{font-size:15px;color:var(--text-2);line-height:1.6;max-width:56rem}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media (max-width:860px){.blog-grid{grid-template-columns:1fr 1fr}}@media (max-width:560px){.blog-grid{grid-template-columns:1fr}}.blog-card{display:block;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);padding:22px;box-shadow:var(--sh-sm);transition:transform .35s var(--ease-spring),box-shadow .35s,border-color .35s}.blog-card:hover{transform:translateY(-4px);box-shadow:var(--sh-md);border-color:var(--cyan-line)}.blog-card-title{font-size:16px;font-weight:700;line-height:1.3;color:var(--text);margin-bottom:8px}.blog-card-desc{font-size:13.5px;color:var(--text-2);line-height:1.55}.blog-post-header{margin-bottom:32px}.blog-back{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--cyan-deep);margin-bottom:22px;transition:gap .2s}.blog-back:hover{gap:10px}.blog-back svg{width:15px;height:15px}.blog-title{font-size:clamp(1.9rem,4vw,2.7rem);font-weight:800;letter-spacing:-1px;line-height:1.12;color:var(--text);margin:14px 0 12px}.blog-dek{font-size:18px;color:var(--text-2);line-height:1.55;margin-bottom:16px}.blog-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12.5px;color:var(--text-3)}.blog-byline{color:var(--text-2);font-weight:600}.blog-prose{font-size:16px;line-height:1.75;color:var(--text)}.blog-prose>p{margin:0 0 1.15rem;color:var(--text)}.blog-prose h2{font-size:1.5rem;font-weight:800;letter-spacing:-.4px;color:var(--text);margin:2.4rem 0 1rem;line-height:1.25}.blog-prose h3{font-size:1.2rem;font-weight:700;color:var(--text);margin:1.8rem 0 .7rem}.blog-prose ul,.blog-prose ol{margin:0 0 1.15rem;padding-left:1.35rem;color:var(--text)}.blog-prose li{margin-bottom:.5rem}.blog-prose li::marker{color:var(--cyan-deep)}.blog-prose a{color:var(--cyan-deep);font-weight:600;text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--cyan-line)}.blog-prose a:hover{text-decoration-color:var(--cyan-deep)}.blog-prose strong{color:var(--text);font-weight:700}.blog-prose code{font-family:var(--font-mono);font-size:.9em;background:#eef2f8;color:var(--cyan-deep);border-radius:5px;padding:1px 6px}.blog-prose pre{background:#f6f8fb;color:var(--text);border:1px solid var(--border);border-radius:var(--r-md);padding:16px 18px;overflow-x:auto;margin:0 0 1.3rem;font-size:13px;line-height:1.7}.blog-prose pre code{background:none;color:inherit;padding:0;font-size:inherit}.blog-prose blockquote{border-left:3px solid var(--cyan-line);background:var(--cyan-tint);margin:0 0 1.3rem;padding:12px 18px;border-radius:0 8px 8px 0;color:var(--text-2)}.blog-prose img{max-width:100%;border-radius:var(--r-md);border:1px solid var(--border)}.blog-prose table{width:100%;border-collapse:collapse;font-size:14px;margin:0 0 1.3rem}.blog-prose th,.blog-prose td{padding:10px 14px;border-bottom:1px solid var(--border);text-align:left}.blog-prose thead th{background:var(--cyan-tint);color:var(--text);font-weight:700}.blog-prose hr{border:none;border-top:1px solid var(--border);margin:2rem 0}.blog-post-footer{margin-top:56px;padding-top:32px;border-top:1px solid var(--border)}.blog-pn{display:flex;gap:16px;flex-wrap:wrap}.blog-pn-link{flex:1;min-width:220px;display:flex;flex-direction:column;gap:6px;padding:18px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);box-shadow:var(--sh-sm);transition:transform .3s var(--ease-spring),box-shadow .3s,border-color .3s}.blog-pn-link:hover{transform:translateY(-3px);box-shadow:var(--sh-md);border-color:var(--cyan-line)}.blog-pn-next{text-align:right;align-items:flex-end}.blog-pn-label{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--cyan-deep)}.blog-pn-label svg{width:14px;height:14px}.blog-pn-title{font-size:14.5px;font-weight:700;color:var(--text);line-height:1.3}.blog-pn-spacer{flex:1;min-width:220px}.blog-related{margin-top:44px}.blog-related-heading{font-size:18px;font-weight:800;letter-spacing:-.3px;color:var(--text);margin-bottom:18px}.blog-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media (max-width:760px){.blog-related-grid{grid-template-columns:1fr}.blog-pn-next{text-align:left;align-items:flex-start}}.blog-related-card{display:block;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);padding:18px;box-shadow:var(--sh-sm);transition:transform .3s var(--ease-spring),box-shadow .3s,border-color .3s}.blog-related-card:hover{transform:translateY(-3px);box-shadow:var(--sh-md);border-color:var(--cyan-line)}.blog-related-title{font-size:14.5px;font-weight:700;color:var(--text);line-height:1.3;margin-bottom:8px}.kb-focus:focus-visible{outline:2px solid var(--cyan-deep);outline-offset:3px;border-radius:6px}.blog-prose .grid{display:grid;gap:1rem}.blog-prose .grid-cols-1{grid-template-columns:1fr}@media (min-width:768px){.blog-prose .md\:grid-cols-2{grid-template-columns:1fr 1fr}}.blog-prose .flex{display:flex}.blog-prose .items-start{align-items:flex-start}.blog-prose .items-center{align-items:center}.blog-prose .flex-shrink-0{flex-shrink:0}.blog-prose .block{display:block}.blog-prose .inline{display:inline}.blog-prose .w-full{width:100%}.blog-prose .overflow-x-auto{overflow-x:auto}.blog-prose .text-center{text-align:center}.blog-prose .text-left{text-align:left}.blog-prose .gap-3{gap:.75rem}.blog-prose .gap-4{gap:1rem}.blog-prose .gap-6{gap:1.5rem}@media (min-width:768px){.blog-prose .md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}}.blog-prose .divide-y>*+*{border-top:1px solid var(--border)}.blog-prose .divide-slate-800>*+*{border-color:var(--border)}.blog-prose .border-sky-500\/20{border-color:var(--cyan-line)}.blog-prose .space-y-2>*+*{margin-top:.5rem}.blog-prose .space-y-3>*+*{margin-top:.75rem}.blog-prose .list-disc{list-style:disc}.blog-prose .list-inside{list-style-position:inside}.blog-prose .p-4{padding:1rem}.blog-prose .p-5{padding:1.25rem}.blog-prose .p-6{padding:1.5rem}.blog-prose .px-4{padding-left:1rem;padding-right:1rem}.blog-prose .py-2{padding-top:.5rem;padding-bottom:.5rem}.blog-prose .py-3{padding-top:.75rem;padding-bottom:.75rem}.blog-prose .mb-2{margin-bottom:.5rem}.blog-prose .mb-3{margin-bottom:.75rem}.blog-prose .mb-4{margin-bottom:1rem}.blog-prose .mt-0\.5{margin-top:.125rem}.blog-prose .mt-3{margin-top:.75rem}.blog-prose .mt-4{margin-top:1rem}.blog-prose .my-4{margin-top:1rem;margin-bottom:1rem}.blog-prose .my-6{margin-top:1.5rem;margin-bottom:1.5rem}.blog-prose .my-8{margin-top:2rem;margin-bottom:2rem}.blog-prose .w-4{width:1rem}.blog-prose .h-4{height:1rem}.blog-prose .w-5{width:1.25rem}.blog-prose .h-5{height:1.25rem}.blog-prose .rounded-lg{border-radius:8px}.blog-prose .rounded-xl{border-radius:12px}.blog-prose .border{border:1px solid var(--border)}.blog-prose .border-b{border-bottom:1px solid var(--border)}.blog-prose .border-slate-700,.blog-prose .border-slate-800,.blog-prose .border-slate-700\/50{border-color:var(--border)}.blog-prose .glass-card{background:var(--bg);border:1px solid var(--border);box-shadow:var(--sh-sm)}.blog-prose .bg-slate-900{background:#eef2f8}.blog-prose .font-mono{font-family:var(--font-mono)}.blog-prose .font-medium{font-weight:500}.blog-prose .font-semibold{font-weight:700}.blog-prose .text-xs{font-size:.75rem}.blog-prose .text-sm{font-size:.875rem}.blog-prose .text-white,.blog-prose .text-slate-200{color:var(--text)}.blog-prose .text-slate-300,.blog-prose .text-slate-400{color:var(--text-2)}.blog-prose .text-slate-500,.blog-prose .text-slate-600{color:var(--text-3)}.blog-prose .text-sky-400,.blog-prose .hover\:text-sky-300:hover{color:var(--cyan-deep)}.blog-prose .text-emerald-400,.blog-prose .text-green-400{color:#0f9d6b}.blog-prose .text-amber-400{color:#b45309}.blog-prose .text-purple-400{color:#7c3aed}.blog-prose .hover\:underline:hover{text-decoration:underline}
