
  #lps-docs{
    --cyan:#18b7d8; --blue:#4a86d6; --violet:#8a5bd4; --pink:#d12bbd;
    --deep:#1b0533; --main:#29084d;
    --grad:linear-gradient(135deg,var(--cyan) 0%,var(--blue) 34%,var(--violet) 66%,var(--pink) 100%);
    --ink:#1a1530; --ink-2:#4b4566; --ink-3:#857fa0;
    --surface:#ffffff; --line:rgba(26,21,48,0.10); --code-bg:#1c0a38; --code-ink:#e9e4f5;
    --radius:16px;
    --lps-top:96px;            /* clearance for your sticky site header — tweak if needed */
    --mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
    --sans:"Inter","Helvetica Neue",-apple-system,BlinkMacSystemFont,Arial,sans-serif;

    font-family:var(--sans); color:var(--ink); line-height:1.65;
    max-width:1160px; margin:0 auto; padding:8px 20px 0;
  }
  #lps-docs *{box-sizing:border-box;}
  #lps-docs a{color:var(--blue); text-decoration:none;}
  #lps-docs a:hover{text-decoration:underline;}

  /* top utility bar (print + mobile contents) */
  #lps-docs .lps-bar{display:flex; align-items:center; gap:12px; padding:6px 0 14px;}
  #lps-docs .lps-bar .spacer{flex:1;}
  #lps-docs .print-btn,#lps-docs .menu-btn{
    display:inline-flex; align-items:center; gap:7px; height:36px; padding:0 14px;
    border-radius:9px; background:var(--surface); border:1px solid var(--line);
    color:var(--ink-2); font-family:var(--sans); font-size:13px; font-weight:600; cursor:pointer;
    transition:border-color .18s,color .18s,transform .18s;
  }
  #lps-docs .print-btn:hover,#lps-docs .menu-btn:hover{color:var(--ink); border-color:rgba(138,91,212,0.4); transform:translateY(-1px);}
  #lps-docs .print-btn svg,#lps-docs .menu-btn svg{width:15px;height:15px;}
  #lps-docs .menu-btn{display:none;}

  /* layout */
  #lps-docs .layout{display:grid; grid-template-columns:248px minmax(0,1fr); gap:44px; align-items:start;}

  /* sidebar / TOC */
  #lps-docs .sidebar{position:sticky; top:var(--lps-top); max-height:calc(100vh - var(--lps-top) - 24px); overflow-y:auto; padding:6px 8px 30px 0; -webkit-overflow-scrolling:touch;}
  #lps-docs .toc-label{font-size:11px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--ink-3); margin:20px 0 8px 12px;}
  #lps-docs .toc-label:first-child{margin-top:0;}
  #lps-docs .toc{list-style:none; margin:0; padding:0;}
  #lps-docs .toc a{display:block; padding:6px 12px; margin:1px 0; border-left:2px solid transparent; color:var(--ink-2); font-size:13.5px; font-weight:500; border-radius:0 7px 7px 0; transition:color .15s,background .15s,border-color .15s;}
  #lps-docs .toc a:hover{color:var(--ink); background:rgba(26,21,48,0.04); text-decoration:none;}
  #lps-docs .toc a.sub{padding-left:26px; font-size:13px; color:var(--ink-3);}
  #lps-docs .toc a.active{color:var(--violet); font-weight:700; border-left-color:var(--violet); background:linear-gradient(90deg,rgba(138,91,212,0.12),rgba(138,91,212,0));}

  /* content */
  #lps-docs .content{padding:2px 0 60px; min-width:0;}
  #lps-docs .eyebrow{display:inline-block; font-size:11.5px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:transparent; background:var(--grad); -webkit-background-clip:text; background-clip:text; margin-bottom:14px;}
  #lps-docs h1.title{font-size:clamp(28px,4.4vw,42px); font-weight:800; letter-spacing:-0.03em; line-height:1.08; margin:0 0 18px; color:var(--ink);}
  #lps-docs .lead{font-size:17px; color:var(--ink-2); max-width:70ch; margin:0 0 24px;}
  #lps-docs .meta{display:flex; flex-wrap:wrap; gap:10px 22px; align-items:center; padding:16px 0 26px; margin-bottom:30px; border-bottom:1px solid var(--line); font-size:13.5px; color:var(--ink-2);}
  #lps-docs .meta .m-item{display:inline-flex; align-items:center; gap:7px;}
  #lps-docs .meta .m-item svg{width:15px;height:15px;color:var(--violet);}
  #lps-docs .meta .badge{display:inline-flex; align-items:center; gap:6px; padding:4px 11px; border-radius:999px; background:rgba(138,91,212,0.10); border:1px solid rgba(138,91,212,0.22); color:var(--violet); font-weight:600; font-size:12.5px;}

  #lps-docs .paths{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:30px 0 40px;}
  #lps-docs .path{position:relative; display:block; padding:22px 22px 20px; border-radius:var(--radius); background:var(--surface); border:1px solid var(--line); box-shadow:0 14px 30px rgba(26,21,48,0.05); transition:transform .2s,box-shadow .2s,border-color .2s; overflow:hidden;}
  #lps-docs .path:hover{transform:translateY(-3px); border-color:transparent; box-shadow:0 18px 44px rgba(41,8,77,0.16); text-decoration:none;}
  #lps-docs .path::before{content:""; position:absolute; inset:0 0 auto 0; height:4px; background:var(--grad); opacity:0; transition:opacity .2s;}
  #lps-docs .path:hover::before{opacity:1;}
  #lps-docs .path .p-kicker{font-size:11px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--ink-3);}
  #lps-docs .path .p-name{font-size:20px; font-weight:800; letter-spacing:-0.02em; color:var(--ink); margin:4px 0 8px; display:flex; align-items:center; gap:10px;}
  #lps-docs .path .p-name .dot{width:9px;height:9px;border-radius:50%;}
  #lps-docs .path.pull .p-name .dot{background:var(--cyan);}
  #lps-docs .path.push .p-name .dot{background:var(--pink);}
  #lps-docs .path .p-desc{font-size:14px; color:var(--ink-2); margin:0 0 16px;}
  #lps-docs .path .p-go{font-size:13px; font-weight:700; color:var(--violet); display:inline-flex; align-items:center; gap:6px;}
  #lps-docs .path .p-go svg{width:14px;height:14px; transition:transform .2s;}
  #lps-docs .path:hover .p-go svg{transform:translateX(3px);}

  #lps-docs section{scroll-margin-top:calc(var(--lps-top) + 16px);}
  #lps-docs h2{font-size:26px; font-weight:800; letter-spacing:-0.025em; margin:52px 0 8px; padding-top:14px; color:var(--ink); scroll-margin-top:calc(var(--lps-top) + 16px);}
  #lps-docs h2 .sec-eyebrow{display:block; font-size:11px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--ink-3); margin-bottom:6px;}
  #lps-docs h3{font-size:18px; font-weight:700; letter-spacing:-0.01em; margin:34px 0 6px; color:var(--ink); scroll-margin-top:calc(var(--lps-top) + 16px);}
  #lps-docs h2 .anchor,#lps-docs h3 .anchor{opacity:0; margin-left:8px; color:var(--ink-3); font-weight:600; font-size:0.7em; transition:opacity .15s; text-decoration:none;}
  #lps-docs h2:hover .anchor,#lps-docs h3:hover .anchor{opacity:1;}
  #lps-docs p{margin:12px 0; max-width:74ch; color:var(--ink);}
  #lps-docs .content ul,#lps-docs .content ol{max-width:74ch; padding-left:22px; margin:12px 0;}
  #lps-docs .content li{margin:7px 0; color:var(--ink);}
  #lps-docs strong{font-weight:700;}
  #lps-docs code:not(pre code){font-family:var(--mono); font-size:0.88em; background:rgba(138,91,212,0.10); color:#7a3fb8; padding:2px 6px; border-radius:6px; border:1px solid rgba(138,91,212,0.16); word-break:break-word;}

  #lps-docs .code{position:relative; margin:18px 0; border-radius:var(--radius); background:var(--code-bg); border:1px solid rgba(255,255,255,0.06); box-shadow:0 16px 40px rgba(20,5,40,0.22); overflow:hidden;}
  #lps-docs .code-head{display:flex; align-items:center; justify-content:space-between; padding:10px 14px; background:rgba(255,255,255,0.04); border-bottom:1px solid rgba(255,255,255,0.07);}
  #lps-docs .code-head .c-label{font-family:var(--mono); font-size:11.5px; letter-spacing:0.06em; color:rgba(233,228,245,0.6); text-transform:uppercase;}
  #lps-docs .copy-btn{display:inline-flex; align-items:center; gap:6px; padding:5px 10px; border-radius:8px; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.16); color:#fff; font-family:var(--sans); font-size:12px; font-weight:600; cursor:pointer; transition:background .15s,border-color .15s;}
  #lps-docs .copy-btn:hover{background:rgba(255,255,255,0.16);}
  #lps-docs .copy-btn svg{width:13px;height:13px;}
  #lps-docs .copy-btn.done{background:rgba(76,255,145,0.16); border-color:rgba(76,255,145,0.3);}
  #lps-docs pre{margin:0; padding:18px; overflow-x:auto; -webkit-overflow-scrolling:touch; background:none; border:0;}
  #lps-docs pre code{font-family:var(--mono); font-size:13px; line-height:1.7; color:var(--code-ink); white-space:pre; background:none; border:0; padding:0;}
  #lps-docs .c-key{color:#6fd6ea;} #lps-docs .c-str{color:#a9e6b4;} #lps-docs .c-num{color:#f2a6e4;} #lps-docs .c-punc{color:rgba(233,228,245,0.5);} #lps-docs .c-comment{color:rgba(233,228,245,0.45);}
  #lps-docs .c-method{display:inline-block; padding:1px 9px; border-radius:6px; margin-right:10px; background:linear-gradient(135deg,var(--cyan),var(--blue)); color:#031018; font-weight:800; font-size:12px; letter-spacing:0.04em;}

  #lps-docs .note{display:flex; gap:13px; margin:20px 0; padding:15px 18px; border-radius:14px; background:var(--surface); border:1px solid var(--line); border-left:4px solid var(--blue);}
  #lps-docs .note.tip{border-left-color:#1faa6a; background:rgba(31,170,106,0.05);}
  #lps-docs .note.important{border-left-color:#e0564b; background:rgba(224,86,75,0.05);}
  #lps-docs .note .n-ico{flex:0 0 auto; width:20px; height:20px; color:var(--blue); margin-top:2px;}
  #lps-docs .note.tip .n-ico{color:#1faa6a;}
  #lps-docs .note.important .n-ico{color:#e0564b;}
  #lps-docs .note p{margin:0; font-size:14.5px; color:var(--ink-2); max-width:none;}
  #lps-docs .note p + p{margin-top:8px;}
  #lps-docs .note strong{color:var(--ink);}

  #lps-docs .rules{display:grid; grid-template-columns:1fr; gap:10px; margin:18px 0;}
  #lps-docs .rule{display:flex; gap:14px; align-items:flex-start; padding:15px 18px; border-radius:14px; background:var(--surface); border:1px solid var(--line);}
  #lps-docs .pill{flex:0 0 auto; margin-top:1px; display:inline-flex; align-items:center; padding:4px 12px; border-radius:999px; font-family:var(--mono); font-size:12px; font-weight:700; letter-spacing:0.02em;}
  #lps-docs .pill.success{background:rgba(31,170,106,0.12); color:#16804f; border:1px solid rgba(31,170,106,0.28);}
  #lps-docs .pill.failure{background:rgba(224,86,75,0.12); color:#b53a30; border:1px solid rgba(224,86,75,0.28);}
  #lps-docs .pill.retry{background:rgba(214,150,40,0.14); color:#9a6a12; border:1px solid rgba(214,150,40,0.30);}
  #lps-docs .rule .r-body{font-size:14.5px; color:var(--ink-2);}
  #lps-docs .rule .r-body b{color:var(--ink);}

  #lps-docs .diagram{margin:22px 0; padding:26px 18px; border-radius:var(--radius); background:var(--surface); border:1px solid var(--line); text-align:center;}
  #lps-docs .diagram svg{max-width:100%; height:auto;}
  #lps-docs .diagram .d-cap{margin-top:12px; font-size:13px; color:var(--ink-3);}

  #lps-docs ol.steps{counter-reset:step; list-style:none; padding:0; margin:18px 0;}
  #lps-docs ol.steps > li{position:relative; padding:14px 16px 14px 52px; margin:8px 0; background:var(--surface); border:1px solid var(--line); border-radius:13px; font-size:14.5px; color:var(--ink-2);}
  #lps-docs ol.steps > li::before{counter-increment:step; content:counter(step); position:absolute; left:14px; top:13px; width:26px; height:26px; border-radius:8px; background:var(--grad); color:#fff; font-size:13px; font-weight:800; display:flex; align-items:center; justify-content:center;}
  #lps-docs ol.steps b{color:var(--ink);}
  #lps-docs .opt{display:inline-block; font-size:11px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-3); background:rgba(26,21,48,0.06); padding:1px 7px; border-radius:5px; margin-right:7px;}

  #lps-docs .docfoot{padding:28px 0 40px; margin-top:40px; border-top:1px solid var(--line);}
  #lps-docs .docfoot .confidential{font-size:12px; letter-spacing:0.04em; color:var(--ink-3); text-transform:uppercase; font-weight:600;}
  #lps-docs .docfoot .copy{font-size:13px; color:var(--ink-3); margin-top:6px;}

  #lps-docs .scrim{display:none; position:fixed; inset:0; z-index:99998; background:rgba(20,5,40,0.4);}
  #lps-docs .scrim.open{display:block;}

  @media (max-width:980px){
    #lps-docs .layout{grid-template-columns:1fr; gap:0;}
    #lps-docs .menu-btn{display:inline-flex;}
    #lps-docs .sidebar{position:fixed; top:0; left:0; z-index:99999; width:300px; max-width:84vw; height:100vh; max-height:100vh; background:var(--surface); box-shadow:24px 0 60px rgba(20,5,40,0.25); transform:translateX(-105%); transition:transform .26s ease; padding:22px 14px 40px 18px;}
    #lps-docs .sidebar.open{transform:translateX(0);}
    #lps-docs .paths{grid-template-columns:1fr;}
  }
  @media (prefers-reduced-motion:reduce){ #lps-docs *{transition:none !important; animation:none !important;} }

  /* Print / Save as PDF — hide the page bar, sidebar, and Squarespace chrome */
  @media print{
    #lps-docs .lps-bar,#lps-docs .sidebar,#lps-docs .scrim,#lps-docs .copy-btn,#lps-docs .path .p-go{display:none !important;}
    #lps-docs .layout{display:block;}
    #lps-docs{max-width:none; padding:0;}
    #lps-docs .code{box-shadow:none; border:1px solid #ccc;}
    #lps-docs .path,#lps-docs .note,#lps-docs .rule,#lps-docs .diagram,#lps-docs ol.steps > li{break-inside:avoid;}
    #lps-docs h2{page-break-after:avoid;}
    #header,.Header,header[role="banner"],.header-announcement-bar-wrapper,#footer,.Footer,footer[role="contentinfo"],.sqs-announcement-bar-dropzone{display:none !important;}
  }

  /* ===== DARK THEME — readable on a purple site background ===== */
  #lps-docs{
    --ink:#ffffff;
    --ink-2:rgba(255,255,255,0.82);
    --ink-3:rgba(255,255,255,0.56);
    --surface:rgba(255,255,255,0.07);
    --line:rgba(255,255,255,0.15);
    --code-bg:#160726;
    --link:#82c8f0;
  }
  #lps-docs a{color:var(--link);}
  #lps-docs code:not(pre code){background:rgba(255,255,255,0.12); color:#ecdcff; border-color:rgba(255,255,255,0.20);}
  #lps-docs .toc a:hover{background:rgba(255,255,255,0.07);}
  #lps-docs .toc a.active{color:#dcccff; border-left-color:#a784e8; background:linear-gradient(90deg,rgba(255,255,255,0.12),rgba(255,255,255,0));}
  #lps-docs .path .p-go{color:#bd9fee;}
  #lps-docs h2 .sec-eyebrow{color:rgba(255,255,255,0.55);}
  #lps-docs .meta .m-item svg{color:#bd9fee;}
  #lps-docs .meta .badge{background:rgba(255,255,255,0.08); border-color:rgba(255,255,255,0.20); color:rgba(255,255,255,0.88);}
  #lps-docs .meta .badge svg{color:#bd9fee;}
  #lps-docs .opt{background:rgba(255,255,255,0.12);}
  #lps-docs .pill.success{background:rgba(31,170,106,0.18); color:#80e6ac; border-color:rgba(31,170,106,0.40);}
  #lps-docs .pill.failure{background:rgba(224,86,75,0.18); color:#ffa99f; border-color:rgba(224,86,75,0.40);}
  #lps-docs .pill.retry{background:rgba(214,150,40,0.20); color:#f2cd86; border-color:rgba(214,150,40,0.42);}
  #lps-docs .note.tip{background:rgba(31,170,106,0.10);}
  #lps-docs .note.important{background:rgba(224,86,75,0.10);}
  #lps-docs .print-btn,#lps-docs .menu-btn{background:rgba(255,255,255,0.08); border-color:rgba(255,255,255,0.20); color:rgba(255,255,255,0.85);}
  #lps-docs a.print-btn,#lps-docs a.print-btn:hover{text-decoration:none;}
  #lps-docs .print-btn:hover,#lps-docs .menu-btn:hover{color:#fff; border-color:rgba(255,255,255,0.40);}
  /* frosted glass on the content cards */
  #lps-docs .path,#lps-docs .note,#lps-docs .rule,#lps-docs ol.steps > li{backdrop-filter:blur(9px); -webkit-backdrop-filter:blur(9px);}
  /* diagrams stay on a light figure panel so the flow art remains legible */
  #lps-docs .diagram{background:#f4f2fb; border-color:rgba(255,255,255,0.18);}
  #lps-docs .diagram .d-cap{color:#6b6580;}
  /* mobile TOC drawer: solid so its text is readable over the page */
  @media (max-width:980px){
    #lps-docs .sidebar{background:rgba(22,7,44,0.98); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);}
  }
