:root{color-scheme:light;--bg: #f7f8fa;--surface: #ffffff;--ink: #161a1f;--muted: #5b6673;--line: #dce1e7;--line-strong: #b7c0ca;--teal: #0f766e;--teal-soft: #d9f1ee;--amber: #a16207;--code-bg: #111827;--code-ink: #edf2f7;--max: 1180px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg);color:var(--ink)}body{margin:0;min-height:100vh}a{color:inherit;text-decoration:none}.site-shell,.article-shell{width:min(var(--max),calc(100vw - 32px));margin:0 auto}.archive-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,560px);gap:32px;align-items:end;padding:48px 0 28px;border-bottom:1px solid var(--line)}.mark{width:fit-content;margin:0 0 14px;padding:4px 8px;border:1px solid var(--line-strong);border-radius:6px;color:var(--teal);font-size:.8rem;font-weight:700}.archive-title h1{margin:0;font-size:3.35rem;line-height:1.08;letter-spacing:0;word-break:keep-all;overflow-wrap:break-word}.archive-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:0}.archive-stats div{min-width:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}dt,dd{margin:0}.archive-stats dt{color:var(--muted);font-size:.78rem;font-weight:700}.archive-stats dd{margin-top:6px;color:var(--ink);font-size:1.1rem;font-weight:800;line-height:1.25}.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:28px 0 72px}.category-card{display:grid;gap:10px;align-content:start;min-height:210px;padding:22px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.category-card:hover{border-color:var(--teal)}.category-kicker{margin:0;color:var(--teal);font-size:.82rem;font-weight:800}.category-card h2{margin:0;font-size:2rem;line-height:1.2;letter-spacing:0}.category-card p{margin:0;color:var(--muted);font-size:.98rem;line-height:1.65;word-break:keep-all;overflow-wrap:break-word}.category-card span{align-self:end;width:fit-content;margin-top:8px;padding:6px 9px;border:1px solid var(--line-strong);border-radius:6px;color:var(--teal);font-size:.86rem;font-weight:800}.category-page-header{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:32px;align-items:end;padding:28px 0;border-bottom:1px solid var(--line)}.category-page-header .archive-title p:not(.mark){max-width:640px;margin:14px 0 0;color:var(--muted);font-size:1rem;line-height:1.65;word-break:keep-all;overflow-wrap:break-word}.category-page-header .archive-stats{grid-template-columns:1fr}.post-list{display:grid;gap:10px;padding:26px 0 64px}.category-page-header+.post-list{padding:20px 0 0}.post-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px 18px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.post-row-with-cover{grid-template-columns:168px minmax(0,1fr) auto}.post-row:hover{border-color:var(--teal)}.post-thumb{display:block;align-self:center;overflow:hidden;aspect-ratio:3 / 2;border:1px solid var(--line);border-radius:6px;background:#eef2f5}.post-thumb img{display:block;width:100%;height:100%;object-fit:contain}.post-main{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start}.post-order{display:inline-grid;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--teal-soft);color:var(--teal);font-size:.82rem;font-weight:800}.post-main strong{display:block;color:var(--ink);font-size:1.05rem;line-height:1.35}.post-main span span{display:block;margin-top:5px;color:var(--muted);font-size:.94rem;line-height:1.5}.post-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;color:var(--muted);font-size:.86rem}.post-meta span{padding:3px 7px;border:1px solid var(--line);border-radius:6px;background:#fafbfc}.article-nav{padding:26px 0 0}.article-nav a{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border:1px solid var(--line-strong);border-radius:6px;color:var(--teal);font-size:.9rem;font-weight:800}.article-layout{max-width:780px;margin:0 auto;padding:26px 0 72px}.article-kicker{display:flex;gap:7px;align-items:center;margin:0 0 14px;color:var(--teal);font-size:.82rem;font-weight:800}.article-heading .article-source{margin:12px 0 0;color:var(--muted);font-size:.82rem;line-height:1.4}.article-content{min-width:0}.article-heading{padding-bottom:26px;border-bottom:1px solid var(--line)}.article-heading h1{margin:0;font-size:3.15rem;line-height:1.12;letter-spacing:0;word-break:keep-all;overflow-wrap:break-word}.article-heading p{max-width:720px;margin:16px 0 0;color:var(--muted);font-size:1.05rem;line-height:1.65}.article-cover{margin:24px 0 34px}.article-cover img{display:block;width:100%;aspect-ratio:3 / 2;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:#eef2f5}.article-content :where(h2){margin:44px 0 18px;font-size:2.05rem;line-height:1.25;letter-spacing:0;word-break:keep-all;overflow-wrap:break-word}.article-content :where(h3){margin:34px 0 12px;font-size:1.35rem;line-height:1.35;letter-spacing:0}.article-content :where(p,li){color:#252b33;font-size:1.03rem;line-height:1.92}.article-content :where(p){margin:0 0 18px}.article-content :where(ul,ol){padding-left:1.4rem}.article-content :where(code){border-radius:4px;background:#e9edf2;padding:.1em .28em;color:#172033;font-size:.92em}.article-content :where(pre){overflow-x:auto;margin:24px 0;padding:18px;border-radius:8px;background:var(--code-bg);color:var(--code-ink)}.article-content :where(pre code){background:transparent;padding:0;color:inherit}.article-content :where(table){display:block;width:100%;overflow-x:auto;margin:24px 0 28px;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.article-content :where(th,td){min-width:150px;padding:12px 14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;vertical-align:top;color:#252b33;font-size:.96rem;line-height:1.65}.article-content :where(th){background:#eef7f6;color:#0f3f3a;font-weight:850}.article-content :where(tr:last-child td){border-bottom:0}.article-content :where(th:last-child,td:last-child){border-right:0}.article-content :where(img){max-width:100%}.article-content :where(.concept-diagram){margin:26px 0 34px}.article-content :where(.concept-diagram img){display:block;width:100%;border:1px solid var(--line);border-radius:8px;background:#eef2f5}.article-content :where(figcaption){margin-top:9px;color:var(--muted);font-size:.92rem;line-height:1.55}.article-content :where(blockquote){margin:24px 0;padding:4px 0 4px 18px;border-left:3px solid var(--amber);color:var(--muted)}@media(max-width:860px){.archive-header,.category-page-header,.post-row-with-cover,.post-row{grid-template-columns:1fr}.post-thumb{width:min(100%,360px)}.archive-stats,.category-grid{grid-template-columns:1fr}.post-meta{justify-content:flex-start}.archive-title h1{font-size:2.65rem}.article-heading h1{font-size:2.35rem}.article-content :where(h2){font-size:1.75rem}}@media(max-width:560px){.site-shell,.article-shell{width:min(var(--max),calc(100vw - 20px))}.archive-header{padding-top:28px}.post-row{padding:14px}.category-card{min-height:auto}.post-main{grid-template-columns:38px minmax(0,1fr)}.archive-title h1{font-size:2.25rem}.article-heading h1{font-size:2rem}.article-content :where(h2){font-size:1.55rem}}
