:root{color-scheme:light;--ink:#182238;--muted:#5b6578;--line:#dbe1eb;--paper:#f5f7fb;--blue:#3159d8;--violet:#7562d9;--dark:#0d1326;--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--blue);text-underline-offset:3px}button,input,select{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #bb8c1b;outline-offset:4px}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:20px;background:white;padding:12px;z-index:10}.topbar{background:#090e1b;color:#dce3f6;padding:18px max(24px,calc((100% - 1180px)/2));display:flex;justify-content:space-between;gap:20px;align-items:center}.brand{color:#91abff;text-decoration:none;font-size:20px;font-weight:760;letter-spacing:-.5px}.brand::before{content:"◈";color:#9483ff;margin-right:10px}.toplinks{display:flex;gap:22px;align-items:center;font-size:13px}.toplinks a{color:#e0e5f2;text-decoration:none}.tag{font-size:11px;letter-spacing:.09em;font-weight:750;text-transform:uppercase;display:inline-block;padding:5px 10px;border:1px solid #d7dfef;border-radius:7px;color:#4d5c79;background:#f6f8fc}.tag.blue{color:#294fac;background:#edf2ff;border-color:#c5d3fa}.tag.amber{color:#805212;background:#fff5dc;border-color:#e7d4a7}.hero{background:radial-gradient(ellipse at 88% 8%,#343161 0,transparent 58%),linear-gradient(125deg,#141f3e,#111427);color:white;padding:58px max(24px,calc((100% - 1180px)/2)) 56px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:#b2c3ed;display:flex;gap:12px;align-items:center}.hero h1{font-size:clamp(34px,4.4vw,57px);line-height:1.13;letter-spacing:-1.8px;max-width:840px;margin:20px 0}.hero .lede{max-width:790px;color:#d7dff1;font-size:18px;line-height:1.65;margin-bottom:25px}.hero a{color:#c3d5ff}.hero .tag{background:#263459;color:#dae6ff;border-color:#4d5c82}.hero-note{max-width:860px;border-left:3px solid #95afff;padding-left:15px;font-size:14px;color:#bfcce7}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:24px 0}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:9px;padding:11px 18px;border:1px solid #c8d3e8;background:white;color:#294fac;text-decoration:none;font-size:14px;font-weight:700;cursor:pointer;line-height:1.45}.button.primary{background:#3159d8;color:white;border-color:#3159d8}.hero .button{color:#203662}.hero .button.primary{background:#dce6ff;color:#172b5b;border-color:#dce6ff}.wrap{max-width:1228px;padding:40px 24px 64px;margin:auto}.section-intro{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:22px}.section-intro h2{margin:0;font-size:27px;letter-spacing:-.6px}.section-intro p{margin:5px 0 0;color:var(--muted);max-width:690px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:27px;display:flex;flex-direction:column;box-shadow:0 5px 18px #23324a05;min-width:0}.card.featured{border-color:#adbee9;border-top:4px solid #5372dd;padding-top:24px}.card .symbol{font-size:13px;font-weight:800;letter-spacing:.13em;color:#7888af;margin-bottom:16px}.card h3{font-size:24px;line-height:1.25;letter-spacing:-.5px;margin:18px 0 12px}.card p{color:var(--muted);font-size:15px}.card .button{margin-top:auto;align-self:start}.card dl{display:grid;gap:2px;margin:8px 0 20px}.card dt{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:750;color:#6a7590}.card dd{margin:0 0 10px;font-size:13px}.card ul{padding-left:20px;font-size:14px;color:#3f4d66;margin-bottom:24px}.panel{background:white;border:1px solid var(--line);padding:28px;border-radius:var(--radius);margin-top:28px}.panel h2,.panel h3{margin-top:0}.notice{padding:18px 22px;border-left:4px solid #5272db;background:#edf2ff;border-radius:0 10px 10px 0;margin:20px 0;font-size:14px}.notice.warn{background:#fff7e5;border-color:#c69b3b}.notice p{margin:6px 0}.layout{max-width:1256px;margin:auto;display:grid;grid-template-columns:250px minmax(0,1fr);gap:34px;padding:34px 24px 64px}.sidebar{align-self:start;position:sticky;top:24px;font-size:13px;max-height:calc(100vh - 48px);overflow:auto}.sidebar .nav-label{font-size:10px;font-weight:800;letter-spacing:.12em;color:#7d89a1;text-transform:uppercase;margin:20px 10px 10px}.sidebar a{display:block;padding:8px 12px;margin:3px 0;text-decoration:none;color:#4a5872;border-left:2px solid transparent;border-radius:0 6px 6px 0}.sidebar a:hover{background:#e8eefb;border-left-color:#5272db}.sidebar .downloads-link{color:#3159d8;font-weight:700}.content{min-width:0}.intro-panel,.step{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:30px;margin-bottom:24px}.intro-panel h2{margin:0 0 10px}.step{scroll-margin-top:24px}.step-head{display:flex;gap:15px;align-items:baseline;border-bottom:1px solid #e6eaf2;padding-bottom:17px;margin-bottom:18px}.step-head .num{font-size:12px;font-weight:800;color:#536da9;letter-spacing:.07em;white-space:nowrap}.step h2{margin:0;line-height:1.3;font-size:25px;letter-spacing:-.5px}.goal{font-size:17px;margin:12px 0 20px}.step h3{font-size:13px;color:#55647d;text-transform:uppercase;letter-spacing:.065em;margin:22px 0 8px}.step ul,.step ol{padding-left:23px;margin:8px 0 20px}.step li{margin:8px 0}.dual{display:grid;grid-template-columns:1fr 1fr;gap:18px}.small{font-size:13px;color:var(--muted)}.ref-links{border-top:1px solid var(--line);padding-top:15px;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px}.code{margin:17px 0;border:1px solid #cfd8eb;border-radius:10px;overflow:hidden}.codebar{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#eaf0fb;padding:8px 13px;font-size:11px;color:#4b5f86}.copy{background:white;border:1px solid #c5d1e6;border-radius:6px;padding:5px 10px;color:#3159b4;font-size:12px;cursor:pointer}pre{margin:0;background:#101b30;color:#e4ecfb;padding:19px;overflow:auto;tab-size:2;line-height:1.7;font-size:12px}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.inline-code{overflow-wrap:anywhere;font-size:.9em;background:#edf2fa;padding:2px 5px;border-radius:4px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}td,th{vertical-align:top;padding:12px;text-align:left;border-bottom:1px solid #e0e5ed}th{background:#f1f4fa;font-size:11px;letter-spacing:.035em;text-transform:uppercase}td{min-width:130px}.route-grid{display:grid;gap:14px}.route{padding:19px;border:1px solid #dce3f0;border-radius:10px}.route h3{margin:0 0 7px;font-size:17px}.route p{margin:7px 0}.downloads{display:grid;grid-template-columns:1fr 1fr;gap:14px}.download{display:block;padding:18px;border:1px solid #cdd9ef;border-radius:12px;text-decoration:none;line-height:1.5}.download strong{display:block;margin-bottom:5px}.download span{font-size:13px;color:var(--muted)}details{border-top:1px solid #e1e6ef;padding:15px 0}summary{font-weight:700;cursor:pointer}details p{color:#45526a}.footer{border-top:1px solid var(--line);padding:25px max(24px,calc((100% - 1180px)/2));font-size:12px;color:#66758e;display:flex;justify-content:space-between;gap:20px}.footer a{color:#53688e}.chips{display:flex;gap:8px;flex-wrap:wrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:950px){.cards{grid-template-columns:1fr}.card{display:grid;grid-template-columns:1fr 1fr;column-gap:28px}.card .symbol,.card .tag,.card h3,.card p{grid-column:1}.card dl,.card ul{grid-column:2}.card dl{grid-row:1/4}.card ul{grid-row:4/6}.card .button{grid-column:1}.layout{grid-template-columns:200px minmax(0,1fr);gap:20px}.hero{padding-top:40px;padding-bottom:40px}.dual{grid-template-columns:1fr}}
@media(max-width:680px){.topbar{padding:15px 20px}.toplinks a:first-child{display:none}.toplinks{gap:12px}.hero{padding:32px 22px}.hero h1{font-size:36px;letter-spacing:-1px}.hero .lede{font-size:16px}.wrap{padding:28px 18px 42px}.section-intro{display:block}.section-intro .tag{margin-top:15px}.card{display:flex;padding:23px}.card.featured{padding-top:20px}.layout{display:block;padding:22px 18px}.sidebar{position:static;max-height:none;margin-bottom:22px;border:1px solid var(--line);border-radius:12px;background:white;padding:10px}.sidebar nav{display:grid;grid-template-columns:1fr 1fr}.sidebar a{font-size:12px;padding:7px 9px}.step,.intro-panel,.panel{padding:22px}.step h2{font-size:22px}.step-head{gap:10px}.downloads{grid-template-columns:1fr}.footer{display:block;padding:22px}.footer span{display:block;margin:7px 0}.actions .button{width:100%}pre{font-size:11px;padding:14px}.table-scroll{margin:0 -7px}td,th{padding:10px}.hero .eyebrow{flex-wrap:wrap}}
@media print{@page{size:A4;margin:17mm}body{background:white;color:black;font-size:10pt;line-height:1.45}.topbar,.sidebar,.copy,.actions,.skip,.footer,.no-print{display:none!important}.hero{background:white;color:black;padding:0 0 14pt;border-bottom:1px solid #aaa}.hero h1{font-size:26pt;color:black}.hero .lede,.hero-note,.eyebrow{color:#333}.hero .tag{color:#333;border-color:#777;background:white}.layout,.wrap{display:block;padding:14pt 0}.step,.panel,.intro-panel{border:0;border-bottom:1px solid #bbb;border-radius:0;padding:10pt 0;margin:0;break-inside:auto}.step-head,.step h2,.step h3{break-after:avoid}.step h2{font-size:17pt}.notice,pre,.route{break-inside:avoid}.notice{background:white;border:1px solid #aaa}.cards,.dual,.downloads{display:block}.card{display:block;break-inside:avoid;box-shadow:none;border:1px solid #aaa;margin:12pt 0}.card .button{display:none}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f6f6;color:black;font-size:8pt}.codebar{background:#eee}.table-scroll{overflow:visible}table{font-size:8.5pt}td{min-width:0}a{color:#222}.download{margin-bottom:8pt}details{display:block}details>p{display:block}.chips{display:block}.tag{font-size:8pt}}
