:root{--bg:#07111f;--panel:#0d1b2d;--panel2:#12243a;--text:#eaf1f8;--muted:#91a5ba;--line:#20374f;--a:#66dcff;--a2:#8978ff;--green:#57d58c;--yellow:#f0c86b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.75 system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--a);text-decoration:none}header{height:64px;position:fixed;z-index:5;inset:0 0 auto;background:#07111fe8;backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px}.brand{color:var(--text);font-weight:800;font-size:17px}.brand b{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;margin-right:8px;background:linear-gradient(135deg,var(--a2),var(--a));color:#fff}header button,.github{height:36px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);padding:0 11px;margin-left:7px;cursor:pointer}.github{display:inline-flex;align-items:center}.layout{}aside{position:fixed;top:64px;bottom:0;width:275px;border-right:1px solid var(--line);padding:20px 15px;overflow:auto}#search{width:100%;height:40px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--text);padding:0 11px;outline:0}nav p{font-size:10px;letter-spacing:.13em;color:var(--muted);font-weight:800;margin:22px 9px 5px}nav a{display:block;color:var(--muted);padding:6px 9px;border-radius:7px;font-size:13px}nav a:hover,nav a.active{background:var(--panel2);color:var(--a);text-decoration:none}main{margin-left:275px;padding:65px 7vw 100px;max-width:1200px}.article{max-width:900px}.ey{color:var(--a);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:800}h1{font-size:clamp(38px,5vw,58px);line-height:1.06;letter-spacing:-.045em;margin:10px 0 20px}h2{font-size:29px;line-height:1.2;margin:50px 0 14px}h3{font-size:20px;margin:30px 0 8px}.lead{font-size:19px;color:var(--muted);max-width:780px}.badges{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0}.badge{border:1px solid var(--line);background:var(--panel);border-radius:99px;padding:3px 9px;font-size:12px;color:var(--muted)}.buttons{display:flex;gap:9px;flex-wrap:wrap;margin:25px 0}.btn{display:inline-block;padding:8px 13px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);font-weight:700}.primary{background:linear-gradient(135deg,var(--a2),var(--a));color:white;border:0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.card{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:17px}.card b{display:block}.card p{color:var(--muted);font-size:13px;margin:3px 0}.callout{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--a);border-radius:9px;padding:15px;margin:22px 0}.warn{border-left-color:var(--yellow)}.ok{border-left-color:var(--green)}.arch{background:var(--panel);border:1px solid var(--line);padding:16px;border-radius:14px;margin:22px 0}.layer{padding:13px 15px;border:1px solid var(--line);border-radius:9px;margin:7px 0;display:flex;gap:13px;align-items:center}.n{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;color:#fff;font-weight:900}.l1 .n{background:#364354}.l2 .n{background:#286dab}.l3 .n{background:#2e8b5e}.l4 .n{background:#b48620}.l5 .n{background:#bd3f4c}.layer small{display:block;color:var(--muted)}.down{text-align:center;color:var(--muted)}pre{background:#050d17;border:1px solid #1b2c40;border-radius:9px;padding:15px;overflow:auto;color:#d9e7f5;font:12.5px/1.55 monospace;position:relative}.copy{position:absolute;right:8px;top:8px;background:#14273b;color:#bcd0e4;border:1px solid #29435e;border-radius:5px;padding:3px 7px;cursor:pointer}table{width:100%;border-collapse:collapse;margin:20px 0}th,td{text-align:left;border-bottom:1px solid var(--line);padding:10px}td{color:var(--muted)}ol{padding-left:22px}li{margin:12px 0}.next{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:60px;padding-top:17px}.next a{border:1px solid var(--line);padding:8px 12px;border-radius:8px;background:var(--panel)}#menu{display:none}@media(max-width:850px){aside{transform:translateX(-100%);transition:.2s;background:var(--bg);z-index:4}aside.open{transform:none}main{margin-left:0;padding:42px 18px 80px}.grid{grid-template-columns:1fr}#menu{display:inline-block}.github{display:none}}