:root{--accent:#0e7490;--accent-hover:#155e75;--accent-soft:14, 116, 144;--black:15, 23, 42;--gray:100, 116, 139;--gray-light:226, 232, 240;--gray-dark:51, 65, 85;--surface:255, 255, 255;--page:248, 250, 252;--border:226, 232, 240;--code-bg:#0f172a;--code-text:#e2e8f0;--code-keyword:#7dd3fc;--code-string:#86efac;--code-comment:#94a3b8;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"Fira Code", "JetBrains Mono", "Cascadia Code", "SF Mono", Consolas, Monaco, monospace;--radius:14px;--radius-sm:10px;--shadow-sm:0 1px 2px #0f172a0d;--shadow:0 10px 30px #0f172a0f;--shadow-lg:0 18px 50px #0f172a1a;--max:960px;--header-h:72px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);text-align:left;word-wrap:break-word;overflow-wrap:break-word;min-height:100vh;color:rgb(var(--gray-dark));background:radial-gradient(1200px 500px at 10% -10%, rgba(var(--accent-soft), .12), transparent 55%), radial-gradient(900px 420px at 100% 0%, #0ea5e914, transparent 50%), rgb(var(--page));-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;padding:0;font-size:18px;line-height:1.7;display:flex}main{width:var(--max);flex:1;max-width:calc(100% - 2.5rem);margin:0 auto;padding:2.5rem 0 4rem}h1,h2,h3,h4,h5,h6{color:rgb(var(--black));letter-spacing:-.02em;margin:0 0 .5rem;line-height:1.2}h1{font-size:clamp(2.25rem,4vw,3.25rem);font-weight:700}h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:650}h3{font-size:1.15rem}h4{font-size:1.1rem}h5{font-size:1rem}strong,b{font-weight:650}a{color:var(--accent);text-decoration:none;transition:color .15s,background-color .15s,border-color .15s,box-shadow .15s}a:hover{color:var(--accent-hover)}p{margin-bottom:1em}.prose p{margin-bottom:1.35em}.prose a{border-bottom:1px solid rgba(var(--accent-soft), .35)}.prose a:hover{border-bottom-color:var(--accent-hover)}textarea,input{font-size:16px}table{width:100%}img{border-radius:var(--radius-sm);max-width:100%;height:auto}code{font-family:var(--font-mono);background-color:rgba(var(--border), .85);border-radius:6px;padding:.15em .4em;font-size:.88em}pre{border-radius:var(--radius-sm);background-color:var(--code-bg);box-shadow:var(--shadow-sm);border:1px solid #94a3b826;padding:1.25em 1.35em;overflow-x:auto}pre>code{font-family:var(--font-mono);color:var(--code-text);background:0 0;padding:0;font-size:.875em;line-height:1.65}blockquote{border-left:4px solid var(--accent);color:rgb(var(--gray));margin:0;padding:.25rem 0 .25rem 1.25rem}hr{border:none;border-top:1px solid rgb(var(--border))}::selection{background:rgba(var(--accent-soft), .18);color:rgb(var(--black))}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{clip:rect(1px 1px 1px 1px);clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:0;padding:0;overflow:hidden;position:absolute!important}.section-label{text-transform:uppercase;letter-spacing:.12em;color:rgb(var(--gray));margin:0 0 1rem;font-size:.8rem;font-weight:650}.section{border-top:1px solid rgb(var(--border));padding:2.75rem 0}.section:first-of-type{border-top:none;padding-top:0}.page-hero{margin-bottom:.5rem;padding:.5rem 0 2rem}.page-hero p{color:rgb(var(--gray-dark));max-width:55ch;margin:.75rem 0 0;font-size:1.125rem}.lead{max-width:65ch;color:rgb(var(--gray-dark));font-size:1.15rem;line-height:1.8}.card-grid{gap:1rem;display:grid}.card-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:rgb(var(--surface));border:1px solid rgb(var(--border));border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.35rem 1.4rem;transition:transform .15s,box-shadow .15s,border-color .15s}.card:hover{box-shadow:var(--shadow);border-color:rgba(var(--accent-soft), .28);transform:translateY(-2px)}.card h4{margin:0 0 .45rem;font-size:1.1rem;font-weight:650}.card p{color:rgb(var(--gray-dark));margin:0 0 .75rem;line-height:1.65}.card p:last-child{margin-bottom:0}.card-links{flex-wrap:wrap;gap:.75rem 1rem;margin-top:.35rem;display:flex}.card-links a,.text-link{font-size:.92rem;font-weight:600}.meta{color:rgb(var(--gray));margin:0 0 .4rem;font-size:.9rem}.avatar{object-fit:cover;box-shadow:var(--shadow);border:4px solid #fff;border-radius:999px}.chip-row{flex-wrap:wrap;gap:.5rem;display:flex}.chip{background:rgba(var(--accent-soft), .08);border:1px solid rgba(var(--accent-soft), .14);color:rgb(var(--black));border-radius:999px;align-items:center;padding:.35rem .7rem;font-size:.85rem;font-weight:500;display:inline-flex}.btn{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.7rem 1.15rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);color:#fff}.btn-secondary{background:rgb(var(--surface));color:rgb(var(--black));border-color:rgb(var(--border))}.btn-secondary:hover{border-color:rgba(var(--accent-soft), .4);color:var(--accent-hover)}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.section-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.25rem;display:flex}.section-head .section-label{margin:0}@media (width<=800px){.card-grid.cols-2,.card-grid.cols-3{grid-template-columns:1fr}main{padding-top:1.75rem}}@media (width<=720px){body{font-size:17px}}footer[data-astro-cid-jo6i4kqk]{border-top:1px solid rgb(var(--border));background:#ffffffb8;margin-top:auto;padding:2.5rem 0 2rem}.footer-inner[data-astro-cid-jo6i4kqk]{width:var(--max);grid-template-columns:1.4fr 1fr auto;align-items:start;gap:2rem;max-width:calc(100% - 2.5rem);margin:0 auto 1.5rem;display:grid}.footer-name[data-astro-cid-jo6i4kqk]{color:rgb(var(--black));letter-spacing:-.02em;margin:0 0 .35rem;font-weight:700}.footer-tag[data-astro-cid-jo6i4kqk]{color:rgb(var(--gray));max-width:28ch;margin:0;font-size:.95rem}.footer-nav[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem 1.25rem;display:grid}.footer-nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:rgb(var(--gray-dark));border:none;font-size:.95rem;font-weight:500;text-decoration:none}.footer-nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--accent)}.social-links[data-astro-cid-jo6i4kqk]{gap:.4rem;display:flex}.social-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{width:2.25rem;height:2.25rem;color:rgb(var(--gray-dark));border:1px solid rgb(var(--border));background:#fff;border-radius:999px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.social-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--accent);border-color:rgba(var(--accent-soft), .35)}.copyright[data-astro-cid-jo6i4kqk]{width:var(--max);border-top:1px solid rgb(var(--border));max-width:calc(100% - 2.5rem);color:rgb(var(--gray));margin:0 auto;padding-top:1.25rem;font-size:.88rem}@media (width<=800px){.footer-inner[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr;gap:1.5rem}}header[data-astro-cid-nen7h5rs]{z-index:40;-webkit-backdrop-filter:blur(14px);background:#f8fafcd1;border-bottom:1px solid #e2e8f0e6;position:sticky;top:0}.nav[data-astro-cid-nen7h5rs]{width:var(--max);max-width:calc(100% - 2.5rem);min-height:var(--header-h);justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;display:flex}.brand[data-astro-cid-nen7h5rs]{color:rgb(var(--black));letter-spacing:-.02em;border:none;font-size:1.05rem;font-weight:700;text-decoration:none}.brand[data-astro-cid-nen7h5rs]:hover{color:var(--accent)}.menu[data-astro-cid-nen7h5rs]{align-items:center;gap:1.5rem;display:flex}.nav-links[data-astro-cid-nen7h5rs]{align-items:center;gap:.25rem;display:flex}.nav-links[data-astro-cid-nen7h5rs] a{color:rgb(var(--gray-dark));border:none;border-radius:999px;padding:.45rem .7rem;font-size:.95rem;font-weight:500;text-decoration:none}.nav-links[data-astro-cid-nen7h5rs] a:hover{color:var(--accent-hover);background:rgba(var(--accent-soft), .08)}.nav-links[data-astro-cid-nen7h5rs] a.active{color:var(--accent);background:rgba(var(--accent-soft), .12);font-weight:650;text-decoration:none}.social-links[data-astro-cid-nen7h5rs]{align-items:center;gap:.35rem;display:flex}.social-links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:rgb(var(--gray));border:none;border-radius:999px;justify-content:center;align-items:center;width:2.1rem;height:2.1rem;display:inline-flex}.social-links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:var(--accent);background:rgba(var(--accent-soft), .1)}.menu-toggle[data-astro-cid-nen7h5rs]{border:1px solid rgb(var(--border));cursor:pointer;background:#fff;border-radius:.75rem;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;padding:0;display:none}.menu-toggle-bars[data-astro-cid-nen7h5rs],.menu-toggle-bars[data-astro-cid-nen7h5rs]:before,.menu-toggle-bars[data-astro-cid-nen7h5rs]:after{background:rgb(var(--black));border-radius:2px;width:1.1rem;height:2px;transition:transform .15s,opacity .15s;display:block;position:relative}.menu-toggle-bars[data-astro-cid-nen7h5rs]:before,.menu-toggle-bars[data-astro-cid-nen7h5rs]:after{content:"";position:absolute;left:0}.menu-toggle-bars[data-astro-cid-nen7h5rs]:before{top:-6px}.menu-toggle-bars[data-astro-cid-nen7h5rs]:after{top:6px}.menu-toggle[data-astro-cid-nen7h5rs][aria-expanded=true] .menu-toggle-bars[data-astro-cid-nen7h5rs]{background:0 0}.menu-toggle[data-astro-cid-nen7h5rs][aria-expanded=true] .menu-toggle-bars[data-astro-cid-nen7h5rs]:before{top:0;transform:rotate(45deg)}.menu-toggle[data-astro-cid-nen7h5rs][aria-expanded=true] .menu-toggle-bars[data-astro-cid-nen7h5rs]:after{top:0;transform:rotate(-45deg)}@media (width<=820px){.menu-toggle[data-astro-cid-nen7h5rs]{display:inline-flex}.menu[data-astro-cid-nen7h5rs]{border-bottom:1px solid rgb(var(--border));box-shadow:var(--shadow);background:#fffffff7;flex-direction:column;align-items:stretch;gap:1rem;padding:1rem 1.25rem 1.25rem;display:none;position:absolute;top:calc(100% + 1px);left:0;right:0}.menu[data-astro-cid-nen7h5rs].open{display:flex}.nav-links[data-astro-cid-nen7h5rs]{flex-direction:column;align-items:stretch;gap:.25rem}.nav-links[data-astro-cid-nen7h5rs] a{padding:.75rem .9rem}.social-links[data-astro-cid-nen7h5rs]{padding-top:.25rem}}
