@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;600;700&family=Space+Grotesk:wght@500;700&display=swap";:root{--bg: #f6f7fb;--surface: #ffffff;--surface-alt: #eef2ff;--text: #1a1a1a;--text-muted: #4a5568;--border: #dbe1ea;--accent: #0f766e;--accent-dark: #115e59;--bg-fade-a: #e6f5f5;--bg-fade-b: #f0ebff;--code-bg: #fbfbff;--short: #2563eb;--deep: #9333ea;--max-width: 940px}[data-theme=dark]{--bg: #0b1114;--surface: #121c21;--surface-alt: #19252c;--text: #e7eef2;--text-muted: #a4b3bd;--border: #27404d;--accent: #14b8a6;--accent-dark: #2dd4bf;--bg-fade-a: #10323a;--bg-fade-b: #22203d;--code-bg: #0f171c;--short: #93c5fd;--deep: #e9d5ff}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:IBM Plex Sans,Segoe UI,sans-serif;color:var(--text);background:radial-gradient(circle at 8% 10%,var(--bg-fade-a) 0%,transparent 40%),radial-gradient(circle at 92% 0%,var(--bg-fade-b) 0%,transparent 35%),var(--bg);line-height:1.6}a{color:var(--accent-dark);text-decoration:none}a:hover{text-decoration:underline}.container{width:min(var(--max-width),92%);margin:0 auto}.site-header{border-bottom:1px solid var(--border);background-color:#ffffffe6;backdrop-filter:blur(8px);position:sticky;top:0;z-index:10}.header-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 0}.brand{display:inline-flex;align-items:center}.brand img{height:32px;width:auto}.theme-toggle{border:1px solid var(--border);border-radius:999px;padding:.35rem .7rem;background:var(--surface);color:var(--text);font-size:.85rem;cursor:pointer}.theme-toggle:hover{border-color:var(--accent)}.nav{margin:0;padding:0;display:flex;gap:1rem;list-style:none}.site-footer{margin-top:4rem;border-top:1px solid var(--border);color:var(--text-muted);font-size:.95rem}.site-footer .container{padding:1.5rem 0 3rem}.footer-links{display:flex;gap:.45rem;align-items:center;margin:.25rem 0 0;font-size:.9rem}.footer-links a{color:var(--text-muted)}.hero{padding:4rem 0 2.2rem}.hero h1{font-family:Space Grotesk,Segoe UI,sans-serif;font-size:clamp(2rem,4vw,3rem);line-height:1.15;margin:0 0 1rem}.hero p{max-width:760px;margin:0;color:var(--text-muted);font-size:1.06rem}.cta-row{margin-top:1.5rem;display:flex;gap:.8rem;flex-wrap:wrap}.button{display:inline-block;border:1px solid var(--border);padding:.7rem 1.1rem;border-radius:10px;font-weight:600}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button.primary:hover{background:var(--accent-dark);text-decoration:none}.section-head{margin-top:1rem;margin-bottom:1rem}.section-head h2{margin:0;font-family:Space Grotesk,Segoe UI,sans-serif}.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1rem}.post-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1rem}.post-card h3{margin:.5rem 0;line-height:1.3}.post-card p{margin:0;color:var(--text-muted)}.post-card-top{display:flex;align-items:center;justify-content:space-between;gap:.7rem;font-size:.9rem}.post-card-meta{display:flex;gap:.5rem;color:var(--text-muted)}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:.25rem .65rem;font-weight:600}.badge.short{background:color-mix(in srgb,var(--short) 20%,transparent);color:var(--short)}.badge.deep{background:color-mix(in srgb,var(--deep) 20%,transparent);color:var(--deep)}.tags{margin-top:.8rem;display:flex;flex-wrap:wrap;gap:.4rem}.tag{border:1px solid var(--border);border-radius:999px;padding:.15rem .5rem;font-size:.83rem;color:var(--text-muted)}.post{max-width:100%;margin:2rem auto 0;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:min(4vw,2rem)}.post-layout{max-width:1120px;margin:0 auto}.post-layout.with-toc{display:grid;grid-template-columns:minmax(0,780px) minmax(220px,290px);gap:1.2rem;align-items:start}.post-header h1{line-height:1.18;margin-top:.5rem;margin-bottom:.6rem}.post-meta{color:var(--text-muted);font-size:.95rem}.post-content h2,.post-content h3{margin-top:2rem;margin-bottom:.5rem}.post-content pre{overflow-x:auto;border:1px solid var(--border);border-radius:10px;padding:.9rem;background:var(--code-bg)}.code-pre{position:relative}.copy-button{position:absolute;top:.55rem;right:.55rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:.75rem;padding:.25rem .5rem;cursor:pointer}.copy-button:hover{border-color:var(--accent)}.post-content blockquote{margin:1rem 0;padding-left:.9rem;border-left:3px solid var(--border);color:var(--text-muted)}.comments{margin-top:2.2rem}.notice{border:1px dashed var(--border);background:var(--surface-alt);border-radius:12px;padding:.9rem}.list-page{padding-top:2.2rem}.filters-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem;margin-bottom:1rem}.filter-label{display:block;font-weight:600;margin-bottom:.4rem}.search-input{width:100%;padding:.62rem .72rem;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text)}.type-filters,.tag-filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.8rem}.chip{border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);padding:.3rem .72rem;font-size:.85rem;cursor:pointer}.chip.active{border-color:var(--accent);color:var(--accent-dark);background:color-mix(in srgb,var(--accent) 14%,transparent)}.results-count{margin:0 0 .75rem;color:var(--text-muted);font-size:.92rem}.post-item.hidden{display:none}.about{max-width:780px;padding-top:2.2rem}.about .panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem;margin:1rem 0}.toc-panel{position:sticky;top:86px;margin-top:2rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.9rem}.toc-panel h2{margin:0 0 .6rem;font-size:1rem}.toc-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.toc-panel li a{color:var(--text-muted);font-size:.9rem}.toc-panel li a:hover{color:var(--accent-dark)}.toc-sub{padding-left:.7rem}@media (max-width: 700px){.nav{gap:.65rem;font-size:.95rem}.hero{padding-top:2.5rem}}@media (max-width: 960px){.post-layout.with-toc{grid-template-columns:1fr}.toc-panel{position:static;margin-top:1rem}}
