.blog-body{color:var(--tx2);max-width:none}.blog-body p{font-size:1.125rem;font-weight:300;line-height:1.8;margin-bottom:1rem;color:var(--tx2)}.blog-body h1{font-size:2rem;font-weight:700;color:var(--tx1);margin-bottom:.75rem;letter-spacing:-.02em}.blog-body h2{font-size:1.5rem;font-weight:600;color:var(--tx1);margin-top:3rem;margin-bottom:.75rem;padding-top:2rem;border-top:1px solid var(--bd);letter-spacing:-.01em}.blog-body h2:first-of-type{margin-top:1.5rem;padding-top:0;border-top:none}.blog-body h3{font-size:1.2rem;font-weight:600;color:var(--tx1);margin-top:2.5rem;margin-bottom:.5rem}.blog-body h4{font-size:1.05rem;font-weight:600;color:var(--tx1);margin-top:2rem;margin-bottom:.5rem}.blog-body h5{font-size:1rem;font-weight:600;color:var(--tx1);margin-top:1.5rem;margin-bottom:.5rem}.blog-body ul,.blog-body ol{color:var(--tx2);padding-left:1.5rem;margin-bottom:1rem;line-height:1.8;font-size:1.125rem;font-weight:300}.blog-body li{margin-bottom:.25rem}.blog-body li code{font-size:.8125rem}.blog-body a{color:var(--ac);text-decoration:none}.blog-body a:hover{text-decoration:underline}.blog-body blockquote{border-left:3px solid var(--bd);padding-left:1rem;margin:1.5rem 0;color:var(--tx3);font-style:italic;font-weight:300}.blog-body hr{border:none;border-top:1px solid var(--bd);margin:2rem 0}.blog-body img{max-width:100%;height:auto;border-radius:4px;margin:1rem 0}.blog-body figure{margin:1.5rem 0}.blog-body figcaption{font-size:.8125rem;color:var(--tx3);margin-top:.5rem;text-align:center}.blog-body table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.875rem}.blog-body th{text-align:left;padding:.625rem 1rem;background:var(--surface);border:1px solid var(--bd);color:var(--tx1);font-weight:600}.blog-body td{padding:.625rem 1rem;border:1px solid var(--bd);color:var(--tx2);vertical-align:top}.blog-body tr:nth-child(2n) td{background:var(--surface2)}.blog-body pre{margin:1.25rem 0;overflow-x:auto}.blog-body .astro-code,.blog-body pre{background-color:#0c0f18;border:1px solid #1e2230;border-radius:4px;padding:1.25rem 1.5rem;font-size:.8125rem;line-height:1.65}.blog-body .astro-code code,.blog-body pre code{background:none;border:none;padding:0;color:#e7edf8;font-size:inherit}.blog-card{background:var(--surface);border:1px solid var(--bd);border-radius:4px;overflow:hidden;transition:border-color .15s}.blog-card:hover{border-color:var(--ac)}.blog-card-image{width:100%;aspect-ratio:16 / 9;-o-object-fit:cover;object-fit:cover;display:block}.blog-badge{display:inline-block;font-size:.6875rem;font-family:JetBrains Mono,monospace;font-weight:500;letter-spacing:.05em;text-transform:uppercase;padding:.125rem .5rem;border-radius:3px;background:var(--ac-bg);color:var(--ac);border:1px solid transparent}.blog-badge--secondary{background:var(--surface2);color:var(--tx3)}.blog-filter-pill{font-size:.75rem;font-family:JetBrains Mono,monospace;padding:.25rem .75rem;border-radius:3px;border:1px solid var(--bd);background:transparent;color:var(--tx3);cursor:pointer;transition:color .1s,border-color .1s}.blog-filter-pill:hover{color:var(--tx1);border-color:var(--bd2)}.blog-filter-pill--active{color:var(--ac);border-color:var(--ac);background:var(--ac-bg)}.blog-pagination{display:flex;align-items:center;gap:.25rem;justify-content:center}.blog-page-btn{font-size:.8125rem;font-family:JetBrains Mono,monospace;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:3px;border:1px solid var(--bd);background:transparent;color:var(--tx3);cursor:pointer;transition:color .1s,border-color .1s}.blog-page-btn:hover{color:var(--tx1);border-color:var(--bd2)}.blog-page-btn--active{color:var(--ac);border-color:var(--ac);background:var(--ac-bg)}.blog-page-btn:disabled{opacity:.4;cursor:not-allowed}.blog-callout{border:1px solid var(--bd);border-radius:4px;padding:1rem 1.25rem;margin:1.5rem 0}.blog-callout__label{font-size:.6875rem;font-family:JetBrains Mono,monospace;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.5rem}.blog-callout--tldr{background:var(--ac-bg);border-color:var(--ac)}.blog-callout--tldr .blog-callout__label{color:var(--ac)}.blog-callout--note{background:var(--note-bg);border-color:var(--note-bd)}.blog-callout--note .blog-callout__label{color:var(--note-tx)}.blog-callout--context{background:var(--ac-bg);border-color:var(--ac)}.blog-callout--context .blog-callout__label{color:var(--ac)}.blog-callout--definition{background:var(--ac-bg);border-color:var(--ac)}.blog-callout--definition .blog-callout__label{color:var(--ac)}.tldr-block{border:1px solid var(--bd);border-radius:4px;overflow:hidden;margin:1.5rem 0}.tldr-block__header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;background:var(--surface);border-bottom:1px solid var(--bd)}.tldr-block__label-wrap{display:flex;align-items:center;gap:.5rem}.tldr-block__dot{width:6px;height:6px;border-radius:50%;background:var(--ac)}.tldr-block__label{font-size:.6875rem;font-family:JetBrains Mono,monospace;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--tx1)}.tldr-block__meta{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-family:JetBrains Mono,monospace;color:var(--tx4)}.tldr-block__difficulty{padding:.125rem .375rem;border-radius:3px;font-size:.6875rem;font-weight:500}.tldr-block__difficulty--beginner{background:var(--ac-bg);color:var(--ac)}.tldr-block__difficulty--intermediate{background:var(--note-bg);color:var(--note-tx)}.tldr-block__difficulty--advanced{background:#ef444414;color:#ef4444}.tldr-block__body{padding:1rem 1.25rem}.tldr-block__section{margin-bottom:1rem}.tldr-block__section:last-child{margin-bottom:0}.tldr-block__section-label{font-size:.6875rem;font-family:JetBrains Mono,monospace;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--tx4);margin-bottom:.375rem}.tldr-block__divider{border-top:1px solid var(--bd);margin:1rem 0}.tldr-block__takeaway{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.375rem;font-size:.875rem;color:var(--tx2)}.tldr-block__num{flex-shrink:0;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-family:JetBrains Mono,monospace;font-weight:600;border-radius:50%;background:var(--ac-bg);color:var(--ac)}.tldr-block__prereq{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.25rem;font-size:.875rem;color:var(--tx2)}.tldr-block__prereq-dash{color:var(--tx4);flex-shrink:0}.blog-prompt{border:1px solid #1e2230;border-radius:4px;overflow:hidden;margin:1.5rem 0;background:#0c0f18;color:#b8bcc8;font-family:JetBrains Mono,monospace;font-size:.8125rem}.blog-prompt__header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;border-bottom:1px solid #1e2230;font-size:.6875rem;color:#6b7a90}.blog-prompt__body{padding:1rem 1.25rem;line-height:1.65;white-space:pre-wrap;overflow-x:auto}.blog-tabs__list{display:flex;border-bottom:1px solid var(--bd);gap:0;margin-bottom:0}.blog-tabs__tab{font-size:.8125rem;font-family:JetBrains Mono,monospace;padding:.5rem 1rem;border:none;background:transparent;color:var(--tx3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .1s}.blog-tabs__tab:hover{color:var(--tx1)}.blog-tabs__tab--active{color:var(--ac);border-bottom-color:var(--ac)}.blog-tabs__panel{padding-top:0}.blog-social-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:3px;border:1px solid var(--bd);color:var(--tx3);transition:color .1s,border-color .1s}.blog-social-btn:hover{color:var(--tx1);border-color:var(--bd2)}.blog-toc-link{display:block;font-size:.75rem;font-family:JetBrains Mono,monospace;color:var(--tx4);text-decoration:none;padding:.25rem .75rem;border-left:2px solid transparent;transition:color .1s}.blog-toc-link:hover{color:var(--tx1)}.blog-toc-link--active{color:var(--ac);border-left-color:var(--ac)}.blog-hero{background:var(--surface);border:1px solid var(--bd);border-radius:4px;overflow:hidden}.blog-search{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border:1px solid var(--bd);border-radius:3px;background:var(--surface);transition:border-color .1s}.blog-search:focus-within{border-color:var(--ac)}.blog-search input{border:none;background:transparent;color:var(--tx1);font-size:.8125rem;outline:none;width:100%}.blog-search input::-moz-placeholder{color:var(--tx4)}.blog-search input::placeholder{color:var(--tx4)}
