.blog-page,.blog-post-page{--bp-bg-0: #06080c;--bp-bg-1: #0b0e14;--bp-bg-2: #11151c;--bp-ink: #f4f5f7;--bp-ink-2: #d6d8dd;--bp-ink-3: #a4a8b1;--bp-ink-4: #6c707a;--bp-ink-5: #4a4e57;--bp-line: rgba(255, 255, 255, .07);--bp-line-2: rgba(255, 255, 255, .14);--bp-accent: #3b82f6;--bp-accent-2: #60a5fa;--bp-accent-glow: rgba(59, 130, 246, .3);background:var(--bp-bg-0);color:var(--bp-ink-2);font-family:Inter Tight,Inter,system-ui,-apple-system,sans-serif;letter-spacing:-.005em}.blog-page a,.blog-post-page a{color:inherit;text-decoration:none}.blog-page h1,.blog-page h2,.blog-page h3,.blog-page h4{color:var(--bp-ink);margin:0}.blog-page p{margin:0}.blog-page em{font-style:normal;color:var(--bp-ink-3)}.blog-page .bp-hero{position:relative;max-width:1200px;margin:0 auto;padding:56px 32px 32px;border-bottom:1px solid var(--bp-line)}.blog-page .bp-hero-eyebrow{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--bp-accent);font-weight:500;display:flex;align-items:center;gap:10px;margin-bottom:18px}.blog-page .bp-hero-eyebrow .sep{width:28px;height:1px;background:var(--bp-line-2)}.blog-page .bp-hero h1{font-size:clamp(40px,5.2vw,68px);font-weight:600;letter-spacing:-.035em;line-height:1.02;color:var(--bp-ink);margin-bottom:16px;max-width:880px}.blog-page .bp-hero h1 em{color:var(--bp-ink-3)}.blog-page .bp-hero p{font-size:17px;color:var(--bp-ink-3);line-height:1.55;max-width:580px;letter-spacing:-.005em}.blog-page .bp-hero-meta{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:28px;font-family:JetBrains Mono,monospace;font-size:11.5px;color:var(--bp-ink-4);letter-spacing:.04em}.blog-page .bp-hero-meta .sep{color:var(--bp-ink-5)}.blog-page .bp-hero-meta .num{color:var(--bp-ink-2)}.blog-page .bp-filter{border-bottom:1px solid var(--bp-line);background:#0009}.blog-page .bp-filter-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:14px 32px;gap:24px;flex-wrap:wrap}.blog-page .bp-tabs{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.blog-page .bp-tab{font-size:12.5px;padding:7px 13px;border-radius:6px;color:var(--bp-ink-3);border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:7px;font-weight:450;background:transparent}.blog-page .bp-tab:hover{color:var(--bp-ink);background:#ffffff08}.blog-page .bp-tab.active{color:var(--bp-ink);border-color:var(--bp-line-2);background:#ffffff06}.blog-page .bp-tab .count{font-family:JetBrains Mono,monospace;font-size:10.5px;color:var(--bp-ink-4);padding:1px 6px;border:1px solid var(--bp-line-2);border-radius:4px;background:var(--bp-bg-1)}.blog-page .bp-tab.active .count{color:var(--bp-accent);border-color:#3b82f64d}.blog-page .bp-featured{max-width:1200px;margin:0 auto;padding:56px 32px;border-bottom:1px solid var(--bp-line)}.blog-page .bp-featured-label{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--bp-accent);margin-bottom:28px;font-weight:500;display:flex;align-items:center;gap:10px}.blog-page .bp-featured-label:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--bp-accent);box-shadow:0 0 12px var(--bp-accent-glow)}.blog-page .bp-featured-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:stretch}@media (max-width: 980px){.blog-page .bp-featured-grid{grid-template-columns:1fr;gap:32px}}.blog-page .bp-featured-art{position:relative;border:1px solid var(--bp-line-2);border-radius:12px;background:linear-gradient(180deg,#0a0d14,#050608);overflow:hidden;min-height:320px;display:flex;align-items:center;justify-content:center;isolation:isolate;padding:24px}.blog-page .bp-featured-art:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 50%,rgba(59,130,246,.12),transparent 60%),repeating-linear-gradient(0deg,rgba(255,255,255,.02) 0,rgba(255,255,255,.02) 1px,transparent 1px,transparent 32px),repeating-linear-gradient(90deg,rgba(255,255,255,.02) 0,rgba(255,255,255,.02) 1px,transparent 1px,transparent 32px);pointer-events:none}.blog-page .bp-featured-term{position:relative;z-index:1;width:100%;max-width:480px;background:#080a10d9;border:1px solid var(--bp-line-2);border-radius:10px;font-family:JetBrains Mono,monospace;box-shadow:0 30px 60px -20px #0009;overflow:hidden}.blog-page .bp-featured-term .head{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--bp-line);background:var(--bp-bg-2);font-size:11px;color:var(--bp-ink-4)}.blog-page .bp-featured-term .head .dots{display:flex;gap:6px}.blog-page .bp-featured-term .head .dots span{width:9px;height:9px;border-radius:50%;background:var(--bp-ink-5)}.blog-page .bp-featured-term .head .file{margin-left:6px;color:var(--bp-ink-3)}.blog-page .bp-featured-term .body{padding:16px 18px;font-size:12.5px;line-height:1.85;color:var(--bp-ink-2);white-space:pre-wrap;overflow-x:auto}.blog-page .bp-featured-term .com{color:var(--bp-ink-4)}.blog-page .bp-featured-term .key{color:#a78bfa}.blog-page .bp-featured-term .str{color:#4ade80}.blog-page .bp-featured-term .num{color:#f5b74b}.blog-page .bp-featured-body{display:flex;flex-direction:column;justify-content:center;min-width:0}.blog-page .bp-featured-tag{display:inline-flex;align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--bp-ink-3);padding:5px 10px;border:1px solid var(--bp-line-2);border-radius:5px;background:var(--bp-bg-1);width:-moz-fit-content;width:fit-content;margin-bottom:20px}.blog-page .bp-featured-tag .pip{width:5px;height:5px;border-radius:50%;background:var(--bp-accent)}.blog-page .bp-featured-h2{font-size:clamp(28px,3.2vw,40px);font-weight:600;letter-spacing:-.028em;line-height:1.1;color:var(--bp-ink);margin-bottom:18px}.blog-page .bp-featured-h2 a{color:inherit}.blog-page .bp-featured-h2 a:hover{color:var(--bp-accent-2)}.blog-page .bp-featured-excerpt{font-size:16px;color:var(--bp-ink-3);line-height:1.6;margin-bottom:28px}.blog-page .bp-featured-byline{display:flex;align-items:center;gap:14px;padding-top:24px;border-top:1px solid var(--bp-line);font-size:13px;color:var(--bp-ink-3);flex-wrap:wrap}.blog-page .bp-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--bp-accent),#1d4ed8);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#fff;border:1px solid var(--bp-line-2);flex-shrink:0;letter-spacing:0}.blog-page .bp-byline-author{color:var(--bp-ink);font-weight:500}.blog-page .bp-byline-meta{font-family:JetBrains Mono,monospace;font-size:11.5px;color:var(--bp-ink-4);letter-spacing:.02em}.blog-page .bp-byline-meta .dot{margin:0 7px;color:var(--bp-ink-5)}.blog-page .bp-posts{max-width:1200px;margin:0 auto;padding:64px 32px 80px}.blog-page .bp-posts-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:36px;padding-bottom:18px;border-bottom:1px solid var(--bp-line);gap:14px;flex-wrap:wrap}.blog-page .bp-posts-head h2{font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--bp-ink)}.blog-page .bp-posts-head .meta{font-family:JetBrains Mono,monospace;font-size:11.5px;color:var(--bp-ink-4);letter-spacing:.04em}.blog-page .bp-posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--bp-line);border:1px solid var(--bp-line);border-radius:12px;overflow:hidden}@media (max-width: 980px){.blog-page .bp-posts-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.blog-page .bp-posts-grid{grid-template-columns:1fr}}.blog-page .bp-post{background:var(--bp-bg-1);padding:28px 28px 24px;display:flex;flex-direction:column;min-height:340px;position:relative}.blog-page .bp-post:hover{background:#0a0c11}.blog-page .bp-post:hover .bp-post-title{color:var(--bp-accent-2)}.blog-page .bp-post-cat{display:inline-flex;align-items:center;gap:7px;font-family:JetBrains Mono,monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--bp-ink-3);font-weight:500;margin-bottom:22px}.blog-page .bp-post-cat:before{content:"";width:5px;height:5px;border-radius:1px;background:var(--bp-accent)}.blog-page .bp-post-title{font-size:19px;font-weight:550;line-height:1.25;letter-spacing:-.018em;color:var(--bp-ink);margin-bottom:12px}.blog-page .bp-post-excerpt{font-size:14px;color:var(--bp-ink-3);line-height:1.55;flex:1;margin-bottom:22px}.blog-page .bp-post-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:18px;border-top:1px solid var(--bp-line);flex-wrap:wrap}.blog-page .bp-post-author{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--bp-ink-2);min-width:0}.blog-page .bp-post-author .name{font-weight:500}.blog-page .bp-post-author .av{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,var(--bp-accent),#1d4ed8);font-size:10px;font-weight:600;color:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--bp-line-2)}.blog-page .bp-post-meta{font-family:JetBrains Mono,monospace;font-size:10.5px;color:var(--bp-ink-4);letter-spacing:.04em;text-align:right;white-space:nowrap}.blog-page .bp-post-meta .dot{color:var(--bp-ink-5);margin:0 6px}.blog-page .bp-empty{padding:60px 32px;text-align:center;color:var(--bp-ink-4);font-size:14px}.blog-page .bp-sub{max-width:1200px;margin:0 auto;padding:56px 32px;border-top:1px solid var(--bp-line);display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}@media (max-width: 800px){.blog-page .bp-sub{grid-template-columns:1fr;gap:24px}}.blog-page .bp-sub h3{font-size:28px;font-weight:600;letter-spacing:-.025em;margin-bottom:10px;color:var(--bp-ink)}.blog-page .bp-sub p{font-size:14px;color:var(--bp-ink-3);line-height:1.55;max-width:420px}.blog-page .bp-sub-form{display:flex;gap:8px;background:var(--bp-bg-1);border:1px solid var(--bp-line-2);border-radius:10px;padding:6px}.blog-page .bp-sub-form input{flex:1;background:transparent;border:0;outline:0;padding:10px 14px;font-size:14px;color:var(--bp-ink);font-family:inherit;min-width:0}.blog-page .bp-sub-form input::-moz-placeholder{color:var(--bp-ink-4)}.blog-page .bp-sub-form input::placeholder{color:var(--bp-ink-4)}.blog-page .bp-sub-form button{padding:10px 18px;font-size:13px;font-weight:500;background:var(--bp-accent);color:#fff;border-radius:7px;white-space:nowrap;border:0;cursor:pointer}.blog-page .bp-sub-form button:hover{background:var(--bp-accent-2)}.blog-post-page main{max-width:1280px;margin:0 auto;padding:64px 32px 96px}.blog-post-page article{max-width:920px}.blog-post-page .bp-prose{max-width:920px}.blog-post-page .bp-back{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--bp-ink-4);letter-spacing:.06em;display:inline-flex;align-items:center;gap:6px;margin-bottom:32px}.blog-post-page .bp-back:hover{color:var(--bp-ink-2)}.blog-post-page .bp-tag{display:inline-flex;align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--bp-accent);margin-bottom:20px}.blog-post-page .bp-tag:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--bp-accent)}.blog-post-page h1{font-size:clamp(32px,4.4vw,52px);font-weight:600;letter-spacing:-.035em;line-height:1.05;color:var(--bp-ink);margin-bottom:24px}.blog-post-page .bp-post-byline{display:flex;align-items:center;gap:14px;padding:24px 0;border-top:1px solid var(--bp-line);border-bottom:1px solid var(--bp-line);margin-bottom:40px;font-size:13px;color:var(--bp-ink-3);flex-wrap:wrap}.blog-post-page .bp-post-byline .av{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--bp-accent),#1d4ed8);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:#fff;border:1px solid var(--bp-line-2)}.blog-post-page .bp-post-byline .name{color:var(--bp-ink);font-weight:500}.blog-post-page .bp-post-byline .meta{font-family:JetBrains Mono,monospace;font-size:11.5px;color:var(--bp-ink-4);letter-spacing:.02em}.blog-post-page .bp-prose{color:var(--bp-ink-2);font-size:17px;line-height:1.7}.blog-post-page .bp-prose>*{margin-bottom:22px}.blog-post-page .bp-prose p{color:var(--bp-ink-2);letter-spacing:-.005em}.blog-post-page .bp-prose strong{color:var(--bp-ink);font-weight:550}.blog-post-page .bp-prose em{color:var(--bp-accent-2);font-style:italic}.blog-post-page .bp-prose h2{font-size:26px;font-weight:600;letter-spacing:-.025em;color:var(--bp-ink);margin-top:48px;margin-bottom:16px;scroll-margin-top:96px}.blog-post-page .bp-prose h3{font-size:20px;font-weight:550;letter-spacing:-.02em;color:var(--bp-ink);margin-top:36px;margin-bottom:14px}.blog-post-page .bp-prose ul,.blog-post-page .bp-prose ol{padding-left:22px;color:var(--bp-ink-2)}.blog-post-page .bp-prose li{margin-bottom:8px}.blog-post-page .bp-prose blockquote{margin:32px 0;padding:4px 0 4px 22px;border-left:2px solid var(--bp-accent);font-size:19px;color:var(--bp-ink);font-weight:450;letter-spacing:-.015em;line-height:1.5}.blog-post-page .bp-prose code{font-family:JetBrains Mono,monospace;font-size:.86em;background:var(--bp-bg-2);border:1px solid var(--bp-line);border-radius:4px;padding:1px 6px;color:var(--bp-accent-2)}.blog-post-page .bp-prose pre{background:#080a10d9;border:1px solid var(--bp-line-2);border-radius:10px;padding:16px 18px;overflow-x:auto;font-family:JetBrains Mono,monospace;font-size:13.5px;line-height:1.7;color:var(--bp-ink-2)}.blog-post-page .bp-prose pre code{background:transparent;border:0;padding:0;color:inherit;font-size:inherit}.blog-post-page .bp-prose a{color:var(--bp-accent-2);border-bottom:1px solid rgba(96,165,250,.4)}.blog-post-page .bp-prose a:hover{color:var(--bp-accent);border-color:var(--bp-accent)}.blog-post-page .bp-prose hr{border:0;height:1px;background:var(--bp-line);margin:48px 0}.blog-post-page .bp-prose img{max-width:100%;border-radius:10px;border:1px solid var(--bp-line);margin:24px 0}.blog-post-page .bp-post-foot{margin-top:64px;padding-top:32px;border-top:1px solid var(--bp-line);display:flex;justify-content:space-between;gap:14px;font-family:JetBrains Mono,monospace;font-size:12px;color:var(--bp-ink-4);flex-wrap:wrap}.blog-post-page .bp-post-foot a{color:var(--bp-accent-2)}
