.page .phero-split{text-align:left;padding-bottom:64px}.page .phero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}.page .phero-split .crumb{justify-content:flex-start}.page .phero-split h1{margin:0;max-width:none}.page .phero-split .lede{margin-left:0;margin-right:0}.page .phero-split .phero-cta{justify-content:flex-start}.page .flist{list-style:none;margin-top:22px;display:flex;flex-direction:column;gap:12px}.page .flist li{display:flex;align-items:flex-start;gap:11px;font-size:14.5px;color:var(--text);line-height:1.5}.page .flist code{font-family:var(--mono);font-size:13px;color:var(--accent)}.page .vc{flex:none;width:18px;height:18px;border-radius:5px;background:var(--accent-soft);display:grid;place-items:center;margin-top:1px}@media(max-width:900px){.page .phero-grid{grid-template-columns:1fr;gap:40px}.page .phero-r{display:none}}.page .topo{position:relative;border:1px solid var(--border);border-radius:16px;background:var(--panel);aspect-ratio:1/.92;padding:18px}.page .topo-lines{position:absolute;inset:18px;width:calc(100% - 36px);height:calc(100% - 36px);z-index:0}.page .topo-lines line{stroke:var(--accent);stroke-width:.4;stroke-dasharray:1.5 1.5;opacity:.3}.page .topo-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;width:62px;height:62px;border-radius:16px;background:var(--accent-soft);border:2px solid rgba(255,86,48,.4);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.page .topo-core span{font-family:var(--mono);font-size:9px;color:var(--accent)}.page .topo-node{position:absolute;z-index:2;text-align:center;transform:translate(-50%,-50%)}.page .topo-node.n-tl{left:18%;top:14%}.page .topo-node.n-tr{left:82%;top:14%}.page .topo-node.n-ml{left:10%;top:50%}.page .topo-node.n-mr{left:90%;top:50%}.page .topo-node.n-bl{left:22%;top:88%}.page .topo-node.n-br{left:78%;top:88%}.page .tn-box{width:40px;height:40px;border-radius:11px;background:var(--bg2);border:1px solid var(--border2);display:grid;place-items:center;margin:0 auto}.page .tn-blue{color:var(--blue)}.page .tn-purple{color:#b18cff}.page .tn-amber{color:#f5b94a}.page .tn-good{color:var(--good)}.page .tn-dim{color:var(--muted)}.page .tn-name{font-family:var(--mono);font-size:9px;color:var(--muted);margin-top:5px}.page .tn-ip{font-family:var(--mono);font-size:8px;color:var(--dim)}.page .topo-badge{position:absolute;z-index:3;display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:500;border-radius:9px;padding:6px 9px;background:var(--panel2);box-shadow:0 8px 24px -10px #000c}.page .tb-good{top:-12px;right:-8px;color:var(--good);border:1px solid rgba(61,220,132,.3)}.page .tb-ac{bottom:-12px;left:-8px;color:var(--accent);border:1px solid rgba(255,86,48,.3)}.page .stepcard .stepnum{width:38px;height:38px;border-radius:50%;background:var(--accent-soft);border:1px solid rgba(255,86,48,.3);color:var(--accent);font-family:var(--mono);font-size:15px;font-weight:600;display:grid;place-items:center;margin-bottom:18px}.page .codechip{margin-top:16px;background:var(--bg);border:1px solid var(--border);border-radius:9px;padding:11px 13px}.page .codechip code{font-family:var(--mono);font-size:11.5px;color:var(--accent);word-break:break-all}.page .codeblock{margin-top:16px;background:#0a0d13;border:1px solid var(--border);border-radius:10px;padding:13px}.page .code{font-family:var(--mono);font-size:11.5px;line-height:1.65;color:#7fd49a;white-space:pre;overflow-x:auto}.page .code .c-dim{color:var(--dim)}.page .code .c-ac{color:var(--accent)}.page .checks{list-style:none;margin-top:16px;display:flex;flex-direction:column;gap:10px}.page .checks li{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--text)}.page .os-grid{margin-top:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.page .os-cell{background:var(--bg2);border:1px solid var(--border);border-radius:9px;padding:11px;text-align:center}.page .os-cell b{display:block;font-size:13px;font-weight:600;color:var(--text)}.page .os-cell span{display:block;margin-top:3px;font-size:10px;color:var(--muted)}.page .cta{border-top:1px solid var(--border)}
