:root{--ink: #231f16;--muted: #6b624c;--paper: #fff9eb;--field: #f2ead7;--line: rgba(76, 56, 40, .15);--leaf: #477a3f;--sprout: #8fb05b;--water: #477b8b;--code: #1f251f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:linear-gradient(180deg,#fff9ebf5,#f2ead7fa),repeating-linear-gradient(90deg,rgba(76,56,40,.04) 0 1px,transparent 1px 28px);color:var(--ink);font-family:PingFang SC,Microsoft YaHei,Noto Sans CJK SC,sans-serif;margin:0}a{color:inherit}.blog-header{backdrop-filter:blur(14px);background:#fff9ebe6;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.blog-nav{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1120px;min-height:68px;padding:0 24px}.blog-brand{align-items:center;display:inline-flex;font-size:19px;font-weight:950;gap:10px;text-decoration:none}.blog-brand img{height:34px;width:34px}.blog-nav__links{align-items:center;display:flex;gap:22px}.blog-nav__links a{color:var(--muted);font-size:14px;font-weight:800;text-decoration:none}.blog-nav__links a:hover{color:var(--ink)}.blog-main{margin:0 auto;max-width:1120px;padding:72px 24px 96px}.blog-kicker,.article-label{color:var(--leaf);font-size:12px;font-weight:950;letter-spacing:0;text-transform:uppercase}.blog-hero{border-bottom:1px solid var(--line);display:grid;gap:48px;grid-template-columns:minmax(0,1fr) 360px;padding-bottom:64px}.blog-hero h1,.article-hero h1{font-size:clamp(42px,7vw,76px);font-weight:950;letter-spacing:0;line-height:1.06;margin:16px 0 0}.blog-hero p,.article-hero__dek{color:var(--muted);font-size:18px;line-height:1.8;margin:24px 0 0;max-width:720px}.deploy-map{align-content:center;background:#fff9ebb8;border:1px solid var(--line);border-radius:8px;display:grid;gap:12px;min-height:280px;padding:28px}.deploy-map__node{align-items:center;background:#477a3f14;border:1px solid rgba(71,122,63,.18);border-radius:8px;display:flex;font-weight:900;gap:12px;min-height:58px;padding:12px 14px}.deploy-map__node span{align-items:center;background:var(--leaf);border-radius:50%;color:var(--paper);display:inline-flex;flex:0 0 28px;font-size:12px;height:28px;justify-content:center}.deploy-map__line{background:var(--line);height:18px;margin-left:28px;width:1px}.article-list{display:grid;gap:0;margin-top:56px}.article-card{align-items:start;border-bottom:1px solid var(--line);display:grid;gap:28px;grid-template-columns:150px minmax(0,1fr) auto;padding:28px 0;text-decoration:none}.article-card:hover h2{color:var(--leaf)}.article-card time,.article-meta{color:var(--muted);font-size:13px;font-weight:800}.article-card h2{font-size:28px;line-height:1.3;margin:0;transition:color .16s ease}.article-card p{color:var(--muted);line-height:1.7;margin:10px 0 0}.article-card__arrow{color:var(--leaf);font-size:28px;font-weight:900}.article-main{margin:0 auto;max-width:1120px;padding:64px 24px 112px}.article-hero{border-bottom:1px solid var(--line);padding-bottom:52px}.article-hero h1{max-width:920px}.article-meta{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}.article-layout{align-items:start;display:grid;gap:64px;grid-template-columns:220px minmax(0,720px);margin-top:48px}.article-toc{border-left:2px solid var(--sprout);display:grid;gap:12px;padding-left:18px;position:sticky;top:96px}.article-toc strong{font-size:13px}.article-toc a{color:var(--muted);font-size:13px;line-height:1.5;text-decoration:none}.article-toc a:hover{color:var(--leaf)}.article-body{min-width:0}.article-body h2{font-size:32px;line-height:1.25;margin:64px 0 18px}.article-body h2:first-child{margin-top:0}.article-body h3{font-size:21px;margin:36px 0 12px}.article-body p,.article-body li{color:#4f4736;font-size:16px;line-height:1.85}.article-body ul,.article-body ol{padding-left:24px}.article-body li+li{margin-top:8px}.article-body a{color:var(--leaf);font-weight:800}.article-note{background:#477b8b14;border-left:3px solid var(--water);border-radius:0 8px 8px 0;color:#385d67;line-height:1.75;margin:26px 0;padding:16px 18px}.article-warning{background:#8fb05b1a;border-left-color:var(--sprout);color:#3d5f37}.pyramid{display:grid;gap:10px;margin:28px 0}.pyramid__level{background:#fffcf2cc;border:1px solid var(--line);border-radius:8px;display:grid;gap:8px;margin-inline:var(--level-inset, 0);padding:16px 18px}.pyramid__level:nth-child(1){--level-inset: 12%}.pyramid__level:nth-child(2){--level-inset: 9%}.pyramid__level:nth-child(3){--level-inset: 6%}.pyramid__level:nth-child(4){--level-inset: 3%}.pyramid__level strong{color:var(--ink);font-size:17px}.pyramid__level span{color:var(--muted);font-size:14px;line-height:1.6}.article-checklist{background:#fff9ebb8;border:1px solid var(--line);border-radius:8px;display:grid;gap:12px;margin:28px 0;padding:20px}.article-checklist h3,.article-checklist ul{margin:0}pre{background:var(--code);border:1px solid rgba(255,255,255,.08);border-radius:8px;color:#e9eedf;line-height:1.7;margin:20px 0 28px;overflow-x:auto;padding:20px}code{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.9em}p code,li code,td code{background:#4c382814;border-radius:5px;color:#315b38;padding:2px 5px}.article-table-wrap{overflow-x:auto}table{border-collapse:collapse;margin:24px 0;min-width:620px;width:100%}th,td{border-bottom:1px solid var(--line);line-height:1.6;padding:14px 12px;text-align:left;vertical-align:top}th{color:var(--ink);font-size:13px}td{color:var(--muted);font-size:14px}.article-footer{border-top:1px solid var(--line);margin-top:72px;padding-top:28px}.article-footer a{color:var(--leaf);font-weight:900;text-decoration:none}@media(max-width:820px){.blog-hero,.article-layout{grid-template-columns:1fr}.deploy-map{min-height:0}.article-toc{position:static}.article-card{grid-template-columns:1fr auto}.article-card time{grid-column:1 / -1}}@media(max-width:560px){.blog-main,.article-main{padding-left:18px;padding-right:18px}.blog-nav{padding:0 18px}.blog-nav__links a:first-child{display:none}.blog-hero h1,.article-hero h1{font-size:40px}.article-card{grid-template-columns:1fr}.article-card__arrow{display:none}}
