:root{
    --navy:#0A0D1E; --panel:#15183A; --panel-2:#1B1F47;
    --line:#242850; --line-soft:#1D2145;
    --indigo:#6D63F0; --violet:#8B5CF6; --peri:#A9A4F5;
    --text:#E8E7F6; --muted:#9B98C9; --dim:#6E70A0;
    --f:"Poppins","Helvetica Neue",Arial,sans-serif;
    --fi:"Lora",Georgia,serif;
    --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0;background:var(--navy);color:var(--text);font-family:var(--f);
    font-size:16.5px;line-height:1.62;-webkit-font-smoothing:antialiased;
  }
  a{color:var(--peri)}
  a:hover{color:var(--white,#fff)}
  code{font-family:var(--mono);font-size:.88em;background:var(--panel-2);
       border:1px solid var(--line);border-radius:5px;padding:1px 5px;color:#CFCBFA}

  header.top{border-bottom:1px solid var(--line-soft);background:rgba(10,13,30,.92);
    position:sticky;top:0;z-index:20;backdrop-filter:blur(8px)}
  .bar{max-width:1120px;margin:0 auto;padding:16px 26px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
  .logo{font-weight:700;letter-spacing:-.02em;font-size:18px;text-decoration:none;color:var(--text)}
  .logo i{font-family:var(--fi);font-style:italic;font-weight:400;color:var(--peri)}
  nav.docs{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}
  nav.docs a{font-size:13.5px;text-decoration:none;color:var(--muted);
    padding:6px 12px;border-radius:999px;border:1px solid transparent}
  nav.docs a:hover{color:var(--text);border-color:var(--line)}
  nav.docs a[aria-current]{color:var(--text);background:var(--panel-2);border-color:var(--line)}

  .shell{max-width:1120px;margin:0 auto;padding:0 26px 96px;
    display:grid;grid-template-columns:230px minmax(0,1fr);gap:56px;align-items:start}

  aside{position:sticky;top:78px;padding-top:54px}
  aside h2{font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
    color:var(--dim);margin:0 0 14px}
  aside ol{list-style:none;margin:0;padding:0}
  aside li{margin:0 0 2px}
  aside a{display:block;text-decoration:none;color:var(--muted);font-size:13.5px;
    line-height:1.35;padding:5px 8px;border-radius:7px;border-left:2px solid transparent}
  aside a:hover{color:var(--text);background:var(--panel);border-left-color:var(--indigo)}

  main{padding-top:54px;min-width:0}
  .masthead{border-bottom:1px solid var(--line-soft);padding-bottom:30px;margin-bottom:36px}
  .eyebrow{font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
    color:var(--peri);margin-bottom:16px}
  h1{font-size:clamp(30px,5vw,44px);font-weight:600;line-height:1.1;letter-spacing:-.025em;
    margin:0 0 14px;text-wrap:balance}
  .sub{color:var(--muted);font-size:18px;max-width:60ch;margin:0 0 18px}
  .meta{font-size:13.5px;color:var(--dim)}

  main h2{font-size:23px;font-weight:600;letter-spacing:-.015em;line-height:1.25;
    margin:52px 0 14px;padding-top:8px;scroll-margin-top:82px;text-wrap:balance}
  main h3{font-size:17px;font-weight:600;margin:30px 0 10px;color:#DCDAF4;scroll-margin-top:82px}
  main h4{font-size:15px;font-weight:600;margin:22px 0 8px;color:var(--muted);scroll-margin-top:82px}
  main p{margin:0 0 15px;max-width:70ch}
  main ul,main ol{margin:0 0 16px;padding-left:22px;max-width:70ch}
  main li{margin:0 0 7px}
  strong{color:#fff;font-weight:600}
  hr{border:0;border-top:1px solid var(--line-soft);margin:44px 0}

  .ah{opacity:0;margin-left:8px;text-decoration:none;color:var(--dim);font-weight:400}
  h2:hover .ah,h3:hover .ah,h4:hover .ah{opacity:1}

  blockquote{margin:22px 0;padding:16px 20px;background:var(--panel);
    border-left:3px solid var(--indigo);border-radius:0 10px 10px 0}
  blockquote p{margin:0;max-width:66ch}

  .tw{overflow-x:auto;margin:0 0 22px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
  table{border-collapse:collapse;width:100%;font-size:14.5px;min-width:520px}
  th{text-align:left;font-weight:600;font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;
    color:var(--dim);padding:12px 16px;border-bottom:1px solid var(--line);white-space:nowrap}
  td{padding:12px 16px;border-bottom:1px solid var(--line-soft);vertical-align:top;color:var(--muted)}
  tr:last-child td{border-bottom:none}
  td strong{color:var(--text)}

  footer{border-top:1px solid var(--line-soft);margin-top:64px}
  .fin{max-width:1120px;margin:0 auto;padding:34px 26px 60px;font-size:13.5px;color:var(--dim)}
  .fin p{margin:0 0 8px;max-width:70ch}

  @media (max-width:900px){
    .shell{grid-template-columns:1fr;gap:0}
    aside{position:static;padding-top:34px;border-bottom:1px solid var(--line-soft);padding-bottom:20px}
    aside ol{columns:2;column-gap:20px}
    main{padding-top:34px}
  }
  @media (max-width:560px){
    body{font-size:16px}
    aside ol{columns:1}
    .bar{padding:14px 18px}
    .shell{padding:0 18px 72px}
  }

  @media print{
    :root{--text:#111;--muted:#333;--dim:#555;--line:#ccc;--line-soft:#e2e2e2;
          --panel:#fff;--panel-2:#f4f4f8;--peri:#333}
    body{background:#fff;color:#111;font-size:10.5pt;line-height:1.45}
    header.top,aside,nav.docs,.ah{display:none}
    .shell{display:block;max-width:none;padding:0}
    main{padding-top:0}
    a{color:#111;text-decoration:none}
    h1{font-size:20pt}main h2{font-size:13pt;margin-top:20pt;page-break-after:avoid}
    main h3{font-size:11pt;page-break-after:avoid}
    table{font-size:9pt;min-width:0}
    .tw{overflow:visible;border:1px solid #ccc}
    blockquote{background:#f6f6fa;border-left:3px solid #888}
    tr,li,blockquote{page-break-inside:avoid}
    footer{border-top:1px solid #ccc}
  }
