@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url("fonts/ibm-plex-sans.woff2") format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url("fonts/ibm-plex-mono-400.woff2") format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url("fonts/ibm-plex-mono-500.woff2") format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url("fonts/ibm-plex-mono-600.woff2") format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url("fonts/poppins-600.woff2") format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url("fonts/poppins-700.woff2") format('woff2')}

:root{
  --shell:#29204a; --hero-a:#34285c; --hero-b:#302556;
  --violet:#8b5cf6; --link:#6d28d9; --orange:#f97316; --orange-hi:#fb8b3c; --on-orange:#1c1206;
  --ink:#1b0f2b; --body:#4b3f63; --muted:#8d82a8; --dim:#c2b9d8; --pale:#f0ecfa; --lilac:#b79cf5;
  --rule:#e6dff4; --wash:#f7f4fc; --sunken:#faf8fd; --card:#17122a; --card-ink:#e6e0f2;
  --sans:'IBM Plex Sans',system-ui,-apple-system,Segoe UI,sans-serif;
  --head:Poppins,'IBM Plex Sans',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,Consolas,monospace;
  --max:1320px; --bar:72px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0;background:#fff;overflow-x:hidden}
body{font-family:var(--sans);color:var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--link);text-decoration:none}
a:hover{color:var(--orange)}
:focus-visible{outline:2px solid var(--orange);outline-offset:2px;border-radius:4px}
[hidden]{display:none!important}
.skip-link{position:absolute;left:8px;top:-60px;z-index:200;padding:12px 18px;border-radius:0 0 8px 8px;background:var(--orange);color:var(--on-orange);font:600 14px/1 var(--sans);transition:top .15s ease-out}
.skip-link:focus{top:0}

/* header */
.bar{position:sticky;top:0;z-index:50;background:var(--shell);border-bottom:1px solid rgba(167,146,224,.12)}
.bar-in{max-width:var(--max);margin:0 auto;padding:0 clamp(14px,4vw,32px);height:var(--bar);display:flex;align-items:center;gap:clamp(10px,2.2vw,28px)}
.brand{display:flex;align-items:center;gap:11px;flex:0 0 auto}
.brand img{width:34px;height:34px;object-fit:contain}
.brand span{font:600 20px/1 var(--head);letter-spacing:-.01em;color:var(--pale);white-space:nowrap}
.brand b{color:var(--violet);font-weight:600}
.brand em{font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--lilac);font-style:normal;padding-left:11px;margin-left:2px;border-left:1px solid rgba(167,146,224,.3)}
.spacer{flex:1}
.bar a.top{font:500 14px/1 var(--sans);color:var(--dim);white-space:nowrap}
.bar a.top:hover,.bar a.top:focus-visible{color:#fff}
.cta{font:600 13px/1 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--on-orange);background:var(--orange);padding:13px clamp(13px,2.2vw,20px);border-radius:8px;white-space:nowrap}
.cta:hover,.cta:focus-visible{background:var(--orange-hi);color:var(--on-orange)}

/* hero */
.hero{padding:clamp(40px,6vw,64px) clamp(18px,4vw,32px) clamp(34px,5vw,50px);background:radial-gradient(900px 520px at 78% 8%,rgba(134,96,220,.5) 0%,rgba(134,96,220,0) 62%),linear-gradient(180deg,var(--hero-a) 0%,var(--hero-b) 100%)}
.hero-in{max-width:var(--max);margin:0 auto}
.eyebrow{font:600 12px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--lilac)}
.hero h1{font:700 clamp(25px,5vw,46px)/1.1 var(--head);letter-spacing:-.03em;color:#fff;margin:14px 0 0;text-wrap:balance}
.hero p{font:400 clamp(15px,2vw,18px)/1.65 var(--sans);color:#cfc6e6;margin:16px 0 0;max-width:680px;text-wrap:pretty}

/* three-column shell */
.shell{max-width:var(--max);margin:0 auto;padding:clamp(28px,4vw,44px) clamp(18px,4vw,32px) clamp(48px,7vw,84px);display:grid;grid-template-columns:228px minmax(0,1fr) 196px;gap:clamp(22px,2.6vw,36px);align-items:start}
.side,.toc{position:sticky;top:calc(var(--bar) + 24px);max-height:calc(100vh - var(--bar) - 48px);overflow-y:auto}
.rail-label{font:500 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
.side .group{margin:0 0 20px}
.side .group > .rail-label{margin:0 0 8px}
.side ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px;border-left:1px solid var(--rule)}
.side li{margin:0}
.side a{display:block;font:400 14px/1.35 var(--sans);color:#4b3f63;padding:8px 12px;border-left:2px solid transparent;margin-left:-1px}
.side a:hover,.side a:focus-visible{color:var(--ink);border-left-color:var(--violet);background:var(--wash)}
.side a.current{font-weight:600;color:var(--ink);border-left-color:var(--violet);background:var(--wash)}
.toc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px;border-left:1px solid var(--rule)}
.toc a{display:block;font:400 13px/1.35 var(--sans);color:#4b3f63;padding:7px 12px;border-left:2px solid transparent;margin-left:-1px}
.toc a.sub{padding-left:24px;font-size:12.5px;color:var(--muted)}
.toc a:hover,.toc a:focus-visible{color:var(--ink);border-left-color:var(--violet);background:var(--wash)}

/* content */
main,.side,.toc{min-width:0}
main h1,main h2,main h3,main p,main li,th,td,.hero h1,.hero p{overflow-wrap:break-word}
main h1{font:700 clamp(26px,3.6vw,34px)/1.18 var(--head);letter-spacing:-.025em;color:var(--ink);margin:0 0 6px}
main h2{font:600 clamp(21px,2.6vw,27px)/1.25 var(--head);letter-spacing:-.02em;color:var(--ink);margin:44px 0 0;padding-bottom:10px;border-bottom:1px solid var(--rule)}
main h3{font:600 clamp(17px,2vw,19px)/1.3 var(--head);letter-spacing:-.01em;color:var(--ink);margin:30px 0 0}
main h4,main h5,main h6{font:600 15px/1.35 var(--sans);color:var(--ink);margin:24px 0 0}
h1[id],h2[id],h3[id],h4[id]{scroll-margin-top:calc(var(--bar) + 20px)}
main p{font:400 16px/1.7 var(--sans);color:var(--body);margin:14px 0 0;text-wrap:pretty}
main ul,main ol{margin:14px 0 0;padding-left:22px}
main li{font:400 16px/1.7 var(--sans);color:var(--body);margin:5px 0 0}
main li::marker{color:var(--muted)}
main strong{color:var(--ink);font-weight:600}
main hr{border:0;border-top:1px solid var(--rule);margin:34px 0 0}
/* Inline code must WRAP: a path like C:\ProgramData\DPLens\config\agent.yaml
   is longer than a phone's viewport, and `white-space:nowrap` would push the
   whole page wider than the screen. Table cells keep nowrap — the table has
   its own horizontal scroll. */
code{font:500 13.5px/1.5 var(--mono);background:var(--wash);color:#41306b;padding:2px 6px;border-radius:5px;border:1px solid var(--rule);overflow-wrap:anywhere}
pre{background:var(--card);border-radius:12px;padding:18px 20px;overflow-x:auto;margin:18px 0 0}
pre code{font:400 13px/1.65 var(--mono);background:none;border:0;padding:0;color:#ddd5f0;white-space:pre}
blockquote{margin:18px 0 0;padding:14px 18px;border-left:3px solid var(--violet);background:var(--sunken);border-radius:0 8px 8px 0}
blockquote p{margin:0;color:#3f3457}
blockquote p + p{margin-top:10px}
table{border-collapse:collapse;margin:18px 0 0;width:100%;font-size:14.5px;display:block;overflow-x:auto}
th,td{border:1px solid var(--rule);padding:9px 12px;vertical-align:top;text-align:left;font:400 14.5px/1.6 var(--sans);color:var(--body)}
th{background:var(--wash);font-weight:600;color:var(--ink);white-space:nowrap}
td code,th code{white-space:nowrap}
figure{margin:26px 0 0}
.figlink{display:block;border-radius:12px}
figure img{display:block;width:100%;border:1px solid var(--rule);border-radius:12px;background:var(--sunken);transition:border-color .15s ease-out,box-shadow .15s ease-out}
.figlink:hover img,.figlink:focus-visible img{border-color:var(--violet);box-shadow:0 10px 30px -18px rgba(27,15,43,.5)}
figcaption{font:400 13.5px/1.6 var(--sans);color:var(--muted);margin-top:10px}
figcaption::after{content:" — select to view full size";color:var(--muted);opacity:.75}
main .callout{margin-top:26px;background:var(--card);border-radius:16px;padding:24px 26px}
main .callout p{color:var(--card-ink)}
main .callout a{color:#c4b5fd}
/* `main strong` is heading-ink, which is invisible on a dark card. */
main .callout strong{color:#fff}

/* version picker — a <details> disclosure, so choosing a release never
   depends on JavaScript */
.vpick{position:relative;flex:0 0 auto}
.vpick>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;border:1px solid rgba(167,146,224,.28);background:rgba(167,146,224,.08);font:500 13px/1 var(--sans);color:var(--pale);white-space:nowrap}
.vpick>summary::-webkit-details-marker{display:none}
.vpick>summary::after{content:"";width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--lilac)}
.vpick>summary:hover,.vpick[open]>summary{border-color:rgba(167,146,224,.5);color:#fff}
.vpick .vlab{font:600 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--lilac)}
.vpanel{position:absolute;top:calc(100% + 8px);left:0;z-index:60;min-width:232px;padding:8px;border-radius:12px;background:#221a40;border:1px solid rgba(167,146,224,.22);box-shadow:0 18px 40px -20px rgba(0,0,0,.8)}
.vpanel ul{list-style:none;margin:0;padding:0}
.vpanel li{display:flex;align-items:center;gap:8px}
.vpanel li+li{margin-top:2px}
.vpanel a.v{flex:1;display:flex;align-items:baseline;gap:8px;padding:8px 10px;border-radius:8px;font:500 14px/1.3 var(--sans);color:var(--pale)}
.vpanel a.v em{font:500 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;font-style:normal;color:var(--lilac)}
.vpanel a.v:hover,.vpanel a.v:focus-visible{background:rgba(167,146,224,.14);color:#fff}
.vpanel a.v[aria-current]{background:rgba(139,92,246,.22)}
.vpanel a.notes{padding:8px 10px;border-radius:8px;font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.vpanel a.notes:hover,.vpanel a.notes:focus-visible{color:#fff;background:rgba(167,146,224,.14)}

/* stale-version banner */
main .callout.stale{margin-top:0;margin-bottom:8px;background:#2a1b12;border:1px solid rgba(249,115,22,.4)}
main .callout.stale p{color:#f6e3d2}
main .callout.stale a{color:var(--orange-hi)}

/* search */
.search{flex:1 1 320px;min-width:0;max-width:440px;position:relative;margin:0}
.search input{width:100%;padding:9px 12px 9px 34px;border-radius:8px;border:1px solid rgba(167,146,224,.28);background:rgba(167,146,224,.08) no-repeat 11px 50%;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23b79cf5' stroke-width='1.6'%3E%3Ccircle cx='7' cy='7' r='4.4'/%3E%3Cpath d='M10.4 10.4 14 14'/%3E%3C/svg%3E");background-size:15px 15px;font:400 14px/1.2 var(--sans);color:#fff}
.search input::placeholder{color:#9b8fbb}
.search input:focus{outline:none;border-color:var(--violet);background-color:rgba(167,146,224,.16)}
.search input:focus~kbd{display:none}
.search kbd{position:absolute;right:9px;top:50%;transform:translateY(-50%);padding:2px 6px;border-radius:5px;border:1px solid rgba(167,146,224,.3);font:500 11px/1.4 var(--mono);color:var(--lilac);pointer-events:none}
.sresults{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:60;max-height:min(70vh,560px);overflow-y:auto;padding:6px;border-radius:12px;background:#fff;border:1px solid var(--rule);box-shadow:0 22px 48px -22px rgba(27,15,43,.55)}
.sresults a{display:block;padding:10px 12px;border-radius:8px;color:var(--ink)}
.sresults a .st{display:block;font:600 14px/1.35 var(--sans);color:var(--ink)}
.sresults a .ss{display:block;font:500 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.sresults a .sx{display:block;font:400 13px/1.5 var(--sans);color:var(--body);margin-top:3px}
.sresults a mark{background:#fde9c8;color:var(--ink);border-radius:3px;padding:0 1px}
.sresults a:hover,.sresults a.on{background:var(--wash)}
.sresults a.on{outline:2px solid var(--violet);outline-offset:-2px}
.sresults p.none{margin:0;padding:12px;font:400 14px/1.5 var(--sans);color:var(--muted)}
.sresults p.none a{display:inline;padding:0;color:var(--link)}

/* generated all-pages index */
main .allsec{margin-top:36px}
main .allsec h2{margin-top:0}
main .allpage{margin-top:20px}
main .allpage h3{margin-top:0}
main .allpage p.sum{margin-top:4px;font-size:15px;color:var(--muted)}
main .allpage ul{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px;padding-left:0;list-style:none}
main .allpage li{margin:0;font-size:14px}

/* footer */
.foot{padding:44px clamp(18px,4vw,32px);background:var(--shell);border-top:1px solid rgba(167,146,224,.12)}
.foot-in{max-width:var(--max);margin:0 auto;display:flex;align-items:center;gap:16px 24px;flex-wrap:wrap}
.foot-mark{display:flex;align-items:center;gap:10px}
.foot-mark span.badge{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:rgba(167,146,224,.12)}
.foot-mark span.badge img{width:22px;height:22px;object-fit:contain}
.foot-mark span.name{font:600 15px/1 var(--head);color:var(--pale)}
.foot-mark span.name b{color:var(--violet);font-weight:600}
.foot .tag{font:400 13px/1.5 var(--sans);color:#a79ac4}
.foot-links{display:flex;gap:16px 22px;flex-wrap:wrap}
.foot-links a{font:400 13px/1 var(--sans);color:var(--dim)}
.foot-links a:hover,.foot-links a:focus-visible{color:#fff}
.foot-legal{max-width:var(--max);margin:26px auto 0;padding-top:20px;border-top:1px solid rgba(167,146,224,.1);display:flex;flex-direction:column;gap:4px}
.foot-legal span{font:400 12px/1.6 var(--sans);color:var(--muted)}

@media (max-width:1080px){
  .shell{grid-template-columns:212px minmax(0,1fr)}
  .toc{display:none}
}
@media (max-width:980px){
  .search kbd{display:none}
}
@media (max-width:760px){
  .shell{grid-template-columns:1fr;gap:26px}
  .side{position:static;max-height:none;padding-bottom:22px;border-bottom:1px solid var(--rule)}
  .bar a.top{display:none}
  .brand em{display:none}
  .vpick .vlab{display:none}
  /* The bar wraps rather than squeezing the search box out of usefulness. */
  .bar-in{height:auto;min-height:var(--bar);flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
  .search{order:10;flex:1 1 100%;max-width:none}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
@media print{
  .bar,.skip-link,.side,.toc,.foot{display:none!important}
  .shell{display:block;padding:0}
  .hero{background:none;padding:0 0 12px}
  .hero h1{color:#000}.hero p,.eyebrow{color:#333}
  pre{background:#f4f4f4;border:1px solid #ccc}
  pre code{color:#111}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:11px}
}
