.blog-gallery[data-v-55e508ef]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1.25rem 0}.blog-gallery.compact[data-v-55e508ef]{grid-template-columns:repeat(auto-fill,minmax(150px,200px));gap:.75rem;margin:1rem 0 .25rem}figure[data-v-55e508ef]{margin:0}a[data-v-55e508ef]{display:block;border-radius:12px;overflow:hidden;border:1px solid rgba(148,163,184,.2)}img[data-v-55e508ef]{display:block;width:100%;height:auto;transition:transform .25s ease}a:hover img[data-v-55e508ef]{transform:scale(1.03)}figcaption[data-v-55e508ef]{margin-top:.4rem;font-size:.8rem;line-height:1.4;color:var(--text-muted)}.tech-box[data-v-126e3c89]{margin:1rem 0 0;border-radius:12px;border:1px solid rgba(56,189,248,.3);background:linear-gradient(135deg,#38bdf817,#38bdf805)}summary[data-v-126e3c89]{display:flex;align-items:center;gap:.55rem;padding:.75rem 1rem;cursor:pointer;font-weight:700;list-style:none}summary[data-v-126e3c89]::-webkit-details-marker{display:none}summary[data-v-126e3c89]:after{content:"▾";margin-left:auto;color:var(--accent);transition:transform .2s}details[open] summary[data-v-126e3c89]:after{transform:rotate(180deg)}.icon[data-v-126e3c89]{font-size:1.05rem}ul[data-v-126e3c89]{margin:0;padding:0 1rem .9rem 2.1rem;line-height:1.6}li[data-v-126e3c89]{margin:.5rem 0}li[data-v-126e3c89]::marker{color:var(--accent)}li[data-v-126e3c89] strong{color:var(--accent)}.blog-prose{line-height:1.7;color:var(--text)}.blog-prose>:first-child{margin-top:0}.blog-prose>:last-child{margin-bottom:0}.blog-prose h2{margin:2.25rem 0 .6rem;font-size:1.35rem;line-height:1.3}.blog-prose h3{margin:1.6rem 0 .4rem;font-size:1.1rem}.blog-prose p,.blog-prose ul,.blog-prose ol{margin:.7rem 0}.blog-prose li{margin:.3rem 0}.blog-prose li::marker{color:var(--accent)}.blog-prose strong{color:#f8fafc}.blog-prose a{color:var(--accent);text-decoration:underline;text-decoration-color:#38bdf866;text-underline-offset:3px}.blog-prose a:hover{text-decoration-color:var(--accent)}.blog-prose code{padding:.08rem .38rem;border-radius:6px;background:#94a3b829;font-size:.88em}.blog-prose pre{margin:1rem 0;padding:.9rem 1.1rem;border-radius:12px;background:#0b1120;border:1px solid rgba(148,163,184,.2);overflow-x:auto}.blog-prose pre code{padding:0;background:none;font-size:.86rem;color:#bae6fd}.blog-prose hr{border:none;border-top:1px solid rgba(148,163,184,.2);margin:2rem 0}.blog-prose blockquote.note{margin:1.2rem 0;padding:.85rem 1.1rem;border-radius:12px;border:1px solid rgba(56,189,248,.3);background:linear-gradient(135deg,#38bdf81a,#38bdf808);font-style:normal;font-size:.97rem}.blog-prose blockquote.note strong{color:var(--accent)}.blog-prose blockquote:not(.note){position:relative;margin:1.6rem 0;padding:.2rem 0 .2rem 1.4rem;border-left:3px solid var(--accent);font-size:1.2rem;font-weight:600;font-style:italic;line-height:1.45;color:#f1f5f9}.blog-prose blockquote p{margin:0}.blog-prose blockquote:not(.note) p+p{margin-top:.35rem;font-size:.85rem;font-weight:500;font-style:normal;color:var(--text-muted)}.blog-prose .img-scroll{display:block;overflow-x:auto;margin:1.2rem 0 .4rem;border-radius:14px}.blog-prose .img-scroll img{display:block;width:100%;height:auto;border-radius:14px}.blog-prose .img-scroll img[src$=".svg"],.blog-prose .img-scroll img[src^="data:image/svg"]{min-width:600px}.blog-prose p:has(>em:only-child){margin-top:.3rem;font-size:.85rem;color:var(--text-muted)}.blog-prose .table-wrap{overflow-x:auto;margin:1.2rem 0;border-radius:12px;border:1px solid rgba(148,163,184,.2)}.blog-prose table{border-collapse:collapse;width:100%;min-width:560px;font-size:.88rem;line-height:1.5}.blog-prose th,.blog-prose td{padding:.55rem .8rem;text-align:left;vertical-align:top;border-bottom:1px solid rgba(148,163,184,.14)}.blog-prose th{background:#94a3b81a;font-weight:700;white-space:nowrap}.blog-prose tr:last-child td{border-bottom:none}.blog-prose thead tr:not(:has(th:not(:empty))){display:none}.blog-prose table:has(thead th:first-child:empty) td:first-child{color:var(--text-muted);width:40%}.blog-prose table:has(thead th:first-child:empty) td:last-child{font-weight:700}.blog-prose tbody tr:hover td{background:#94a3b80d}
