@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;700&display=swap";:root{--bg: #120f15;--bg-soft: rgba(23, 18, 27, .88);--panel: rgba(31, 24, 36, .82);--panel-soft: rgba(39, 29, 46, .78);--line: rgba(255, 225, 236, .14);--line-strong: rgba(255, 182, 214, .24);--text: #f7eef3;--muted: #cab9c4;--accent: #ff9ec3;--accent-soft: #ffd7e4;--accent-cool: #9dcfff;--shadow: 0 24px 80px rgba(0, 0, 0, .34)}:root[data-theme=petal]{--bg: #fbf1f5;--bg-soft: rgba(255, 250, 252, .92);--panel: rgba(255, 250, 252, .92);--panel-soft: rgba(255, 246, 250, .94);--line: rgba(133, 74, 100, .12);--line-strong: rgba(202, 102, 146, .26);--text: #2c1a22;--muted: #755765;--accent: #d65c97;--accent-soft: #f5a8c7;--accent-cool: #3b7ebb;--shadow: 0 24px 70px rgba(163, 98, 126, .17)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--text);font-family:IBM Plex Sans,Noto Sans SC,sans-serif;background:radial-gradient(circle at top,rgba(255,158,195,.13),transparent 30%),linear-gradient(180deg,var(--bg),color-mix(in srgb,var(--bg) 88%,black))}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 18%),radial-gradient(circle at 20% 10%,rgba(157,207,255,.08),transparent 22%);opacity:.8}a{color:inherit;text-decoration:none}.blog-topbar,.blog-shell,.blog-footer{width:min(980px,calc(100% - 32px));margin:0 auto;position:relative;z-index:1}.blog-topbar{padding:28px 0 12px;display:flex;align-items:center;justify-content:space-between;gap:18px}.blog-brand{display:flex;align-items:center;gap:14px}.blog-brand-mark{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-cool));color:#fff7fa;font-family:Space Grotesk,sans-serif;font-weight:700;box-shadow:var(--shadow)}.blog-brand-title,.blog-brand-subtitle,.blog-footer p,.eyebrow,.featured-label,.toc-title{margin:0}.blog-brand-title{font-family:Space Grotesk,sans-serif;font-size:1rem}.blog-brand-subtitle,.blog-footer p,.hero-copy,.post-card p,.featured-link p,.article-description,.prose,.article-meta,.back-link,.toc-card li a{color:var(--muted)}.blog-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px}.blog-nav a,.blog-nav button,.pill-link,.back-link{border:1px solid var(--line);border-radius:999px;background:#ffffff05;padding:10px 14px;font:inherit;color:inherit;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background-color .18s ease}.blog-nav a:hover,.blog-nav button:hover,.pill-link:hover,.back-link:hover,.post-card:hover,.featured-link:hover{transform:translateY(-1px);border-color:var(--line-strong)}.blog-shell{padding:18px 0 80px}.blog-hero{padding:24px 0 20px}.eyebrow,.featured-label,.toc-title{text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;color:var(--muted)}.blog-hero h1,.section-head h2,.featured-link h2,.post-card h3,.article-header h1,.prose h2,.prose h3{margin:0;font-family:Space Grotesk,sans-serif}.blog-hero h1{margin-top:14px;max-width:10ch;font-size:clamp(3rem,8vw,5rem);line-height:.98}.hero-copy{margin-top:18px;max-width:60ch;line-height:1.85}.hero-links{margin-top:24px;display:flex;flex-wrap:wrap;gap:12px}.pill-link.primary{background:linear-gradient(135deg,var(--accent),var(--accent-cool));color:#fff8fb}.featured-card,.post-card,.article-shell,.toc-card{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);backdrop-filter:blur(18px)}.featured-card{margin-top:18px;padding:24px;border-radius:28px}.featured-link{margin-top:16px;display:grid;gap:18px}.featured-meta,.post-meta{margin:0;font-family:IBM Plex Mono,monospace;font-size:.85rem;color:var(--accent-cool)}.featured-link h2{margin-top:8px;font-size:clamp(1.9rem,4vw,2.9rem)}.featured-link p{margin-top:10px;line-height:1.8}.tag-row{display:flex;flex-wrap:wrap;gap:10px}.tag{padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:#ffffff08;font-family:IBM Plex Mono,monospace;font-size:.78rem;color:var(--text)}.list-section{margin-top:32px}.section-head h2{margin-top:10px;font-size:2rem}.post-grid{margin-top:20px;display:grid;gap:18px}.post-card{padding:22px;border-radius:24px}.post-card h3{margin-top:10px;font-size:1.45rem}.post-card p{margin-top:10px;line-height:1.75}.back-link{display:inline-flex;margin-bottom:20px}.article-shell{padding:28px;border-radius:30px}.article-header h1{margin-top:14px;font-size:clamp(2.3rem,6vw,4rem);line-height:1.02}.article-description{margin-top:18px;max-width:60ch;line-height:1.85}.article-meta{margin-top:18px;display:flex;flex-wrap:wrap;gap:16px;font-family:IBM Plex Mono,monospace;font-size:.84rem}.toc-card{margin-top:26px;padding:18px 20px;border-radius:22px;background:var(--panel-soft)}.toc-card ul{margin:14px 0 0;padding-left:18px}.toc-card li+li{margin-top:8px}.prose{margin-top:34px;font-size:1.03rem;line-height:1.95}.prose :where(p,ul,ol,pre,blockquote,h2,h3){margin:1.1em 0}.prose h2{font-size:1.85rem;line-height:1.1}.prose h3{font-size:1.35rem}.prose a{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 60%,transparent)}.prose ul,.prose ol{padding-left:1.4rem}.prose li+li{margin-top:.45rem}.prose code{padding:.18rem .4rem;border-radius:.45rem;background:#ffffff0f;font-family:IBM Plex Mono,monospace;font-size:.92em}.prose pre{overflow-x:auto;padding:1rem 1.1rem;border-radius:1rem;border:1px solid var(--line);background:color-mix(in srgb,var(--panel-soft) 92%,black 8%)}.prose pre code{padding:0;background:transparent}.prose blockquote{padding:.2rem 0 .2rem 1rem;border-left:3px solid var(--accent-soft)}.blog-footer{padding:0 0 32px;display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line)}@media(max-width:760px){.blog-topbar,.blog-footer{flex-direction:column;align-items:flex-start}.blog-nav{justify-content:flex-start}.blog-hero h1{font-size:clamp(2.4rem,14vw,3.6rem)}.article-shell,.featured-card,.post-card{padding:20px}.article-meta{flex-direction:column;gap:8px}}
