.perp-docs{--paper:#fafaf7;--surface:#fff;--ink:#0b0e16;--slate:#565c6e;--slate-soft:#7c8295;--line:#e7e5dd;--line-soft:#efede6;--cobalt:#1b3bd6;--cobalt-deep:#1430a8;--cobalt-tint:#eef1fc;--cobalt-line:#d7def8;--code-bg:#f4f5f2;--clay:#9a5b43;--teal:#3c7a63;--amber:#b07d2a;--warn-bg:#fbf3e2;--warn-line:#ebd9b0;--ok-bg:#eaf2ec;--ok-line:#cbe0d1;--info-bg:#eef1fc;--info-line:#d7def8;--radius:9px;--maxw:1320px;--sidebar:268px;--toc:212px;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;font-size:15.5px;line-height:1.62}.perp-docs *{box-sizing:border-box}.perp-docs a{color:var(--cobalt);text-decoration:none}.perp-docs a:hover{text-decoration:underline}.perp-docs code,.perp-docs pre,.perp-docs .mono{font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace}.perp-docs .mark-dot{background:var(--cobalt);vertical-align:baseline;border-radius:50%;width:.46em;height:.46em;margin-left:.04em;display:inline-block;position:relative;top:-.02em}.perp-docs .mark-dot.live:after{content:"";background:var(--cobalt);border-radius:50%;animation:2.4s ease-out infinite perp-pulse;position:absolute;inset:0}@keyframes perp-pulse{0%{opacity:.55;transform:scale(1)}70%{opacity:0;transform:scale(3.2)}to{opacity:0}}@media(prefers-reduced-motion:reduce){.perp-docs .mark-dot.live:after{animation:none}}.perp-docs .topbar{z-index:40;-webkit-backdrop-filter:saturate(180%)blur(8px);backdrop-filter:saturate(180%)blur(8px);border-bottom:1px solid var(--line);background:#fafaf7db;align-items:center;gap:18px;height:58px;padding:0 22px;display:flex;position:sticky;top:0}.perp-docs .brand{letter-spacing:-.02em;align-items:baseline;gap:0;font-size:20px;font-weight:700;display:flex}.perp-docs .brand .w{color:var(--ink)}.perp-docs .brand .tag{letter-spacing:.14em;text-transform:uppercase;color:var(--slate-soft);border-left:1px solid var(--line);align-self:center;margin-left:14px;padding-left:14px;font-size:11px;font-weight:600}.perp-docs .topbar .spacer{flex:1}.perp-docs .ver{color:var(--slate);border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:3px 9px;font-family:JetBrains Mono,monospace;font-size:11.5px}.perp-docs .searchbox{border:1px solid var(--line);background:var(--surface);width:230px;max-width:34vw;color:var(--slate-soft);cursor:text;border-radius:7px;align-items:center;gap:8px;padding:6px 10px;font-size:13.5px;display:flex}.perp-docs .searchbox kbd{border:1px solid var(--line);color:var(--slate-soft);background:var(--paper);border-radius:4px;margin-left:auto;padding:1px 5px;font-family:JetBrains Mono,monospace;font-size:10.5px}.perp-docs .shell{max-width:var(--maxw);grid-template-columns:var(--sidebar) minmax(0,1fr) var(--toc);gap:0;margin:0 auto;display:grid}.perp-docs aside.nav{border-right:1px solid var(--line);align-self:start;height:calc(100vh - 58px);padding:26px 18px 60px 22px;position:sticky;top:58px;overflow-y:auto}.perp-docs .nav-group{margin-bottom:22px}.perp-docs .nav-group h4{letter-spacing:.13em;text-transform:uppercase;color:var(--slate-soft);margin:0 0 8px 2px;font-size:11px;font-weight:600}.perp-docs .nav-group a{color:var(--slate);border-radius:7px;align-items:center;gap:9px;margin:1px 0;padding:6px 10px;font-size:14px;font-weight:500;line-height:1.3;text-decoration:none;display:flex}.perp-docs .nav-group a:hover{background:var(--line-soft);color:var(--ink);text-decoration:none}.perp-docs .nav-group a.active{background:var(--cobalt-tint);color:var(--cobalt-deep);box-shadow:inset 2px 0 0 var(--cobalt);font-weight:600}.perp-docs .nav-group a .ix{color:var(--slate-soft);flex:none;width:18px;font-family:JetBrains Mono,monospace;font-size:11px}.perp-docs .nav-group a.active .ix{color:var(--cobalt)}.perp-docs main{min-width:0;padding:40px 52px 96px}.perp-docs .page{display:block}.perp-docs .eyebrow{letter-spacing:.04em;color:var(--cobalt);align-items:center;gap:8px;margin-bottom:10px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500;display:flex}.perp-docs .eyebrow .sec{color:var(--slate-soft)}.perp-docs h1{letter-spacing:-.025em;color:var(--ink);margin:0 0 14px;font-size:35px;font-weight:700;line-height:1.12}.perp-docs .lead{color:var(--slate);max-width:62ch;margin:0 0 30px;font-size:18px;line-height:1.55}.perp-docs h2{letter-spacing:-.018em;border-top:1px solid var(--line);color:var(--ink);margin:46px 0 14px;padding-top:16px;font-size:23px;font-weight:650}.perp-docs h2:first-of-type{border-top:none;padding-top:0}.perp-docs h3{letter-spacing:-.01em;color:var(--ink);margin:30px 0 8px;font-size:17px;font-weight:650}.perp-docs h4{text-transform:uppercase;letter-spacing:.08em;color:var(--slate-soft);margin:20px 0 6px;font-size:12px;font-weight:600}.perp-docs p{max-width:72ch;margin:12px 0}.perp-docs ul,.perp-docs ol{max-width:72ch;margin:12px 0;padding-left:22px}.perp-docs li{margin:5px 0}.perp-docs strong{font-weight:650}.perp-docs .lcode{background:var(--cobalt-tint);color:var(--cobalt-deep);border:1px solid var(--cobalt-line);white-space:nowrap;border-radius:5px;padding:1.5px 6px;font-family:JetBrains Mono,monospace;font-size:.82em;font-weight:500}.perp-docs p code,.perp-docs li code,.perp-docs td code{background:var(--code-bg);border:1px solid var(--line);color:var(--ink);border-radius:5px;padding:1px 5px;font-size:.84em}.perp-docs pre{color:#e6eaf6;border-radius:var(--radius);background:#0c1020;border:1px solid #1b2238;margin:14px 0;padding:15px 17px;font-size:13px;line-height:1.6;position:relative;overflow-x:auto}.perp-docs pre .c{color:#7c86a8}.perp-docs pre .k{color:#8fb4ff}.perp-docs pre .s{color:#9be3b0}.perp-docs pre .n{color:#e4b775}.perp-docs pre code{color:inherit;font-size:inherit;background:0 0;border:none;padding:0}.perp-docs .codecap{letter-spacing:.04em;color:var(--slate-soft);text-transform:uppercase;margin:18px 0 -6px;font-family:JetBrains Mono,monospace;font-size:11px}.perp-docs .copybtn{color:#a6b0cc;cursor:pointer;opacity:0;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:5px;padding:3px 7px;font-family:JetBrains Mono,monospace;font-size:10.5px;transition:opacity .15s;position:absolute;top:8px;right:8px}.perp-docs pre:hover .copybtn{opacity:1}.perp-docs .copybtn:hover{color:#fff;background:#ffffff1f}.perp-docs table{border-collapse:collapse;width:100%;max-width:100%;margin:16px 0;font-size:14px}.perp-docs th,.perp-docs td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:9px 12px}.perp-docs th{text-transform:uppercase;letter-spacing:.06em;color:var(--slate-soft);background:var(--line-soft);font-size:11.5px;font-weight:600}.perp-docs td code{white-space:nowrap}.perp-docs tbody tr:hover{background:var(--line-soft)}.perp-docs .callout{border-left:3px solid;border-radius:8px;margin:18px 0;padding:12px 16px;font-size:14.5px}.perp-docs .callout p{margin:6px 0}.perp-docs .callout p:first-child{margin-top:0}.perp-docs .callout p:last-child{margin-bottom:0}.perp-docs .callout .lbl{text-transform:uppercase;letter-spacing:.08em;margin-right:6px;font-size:11px;font-weight:650}.perp-docs .callout.info{background:var(--info-bg);border-color:var(--cobalt)}.perp-docs .callout.info .lbl{color:var(--cobalt-deep)}.perp-docs .callout.warn{background:var(--warn-bg);border-color:var(--amber)}.perp-docs .callout.warn .lbl{color:var(--amber)}.perp-docs .callout.ok{background:var(--ok-bg);border-color:var(--teal)}.perp-docs .callout.ok .lbl{color:var(--teal)}.perp-docs .stream{color:var(--cobalt-deep);background:var(--cobalt-tint);border:1px solid var(--cobalt-line);white-space:nowrap;border-radius:5px;padding:1px 7px 1px 6px;font-family:JetBrains Mono,monospace;font-size:.82em;font-weight:500}.perp-docs .stream:before{content:"› ";color:var(--cobalt);opacity:.7}.perp-docs .chaintag{color:var(--clay);white-space:nowrap;background:#f4ece7;border:1px solid #e4d2c8;border-radius:5px;padding:1px 7px;font-family:JetBrains Mono,monospace;font-size:.82em;font-weight:500}.perp-docs .cards{grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:14px;margin:22px 0;display:grid}.perp-docs .card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:16px 18px;transition:border-color .15s}.perp-docs .card:hover{border-color:var(--cobalt-line)}.perp-docs .card h3{margin:0 0 5px;font-size:15.5px}.perp-docs .card p{color:var(--slate);margin:0;font-size:13.8px;line-height:1.5}.perp-docs .card .k{color:var(--cobalt);letter-spacing:.04em;font-family:JetBrains Mono,monospace;font-size:11px}.perp-docs .spec{border:1px solid var(--line);border-radius:var(--radius);margin:16px 0;overflow:hidden}.perp-docs .spec .row{border-top:1px solid var(--line);grid-template-columns:170px 1fr;display:grid}.perp-docs .spec .row:first-child{border-top:none}.perp-docs .spec .key{background:var(--line-soft);padding:10px 14px;font-size:13.5px;font-weight:600}.perp-docs .spec .val{color:var(--slate);padding:10px 14px;font-size:13.8px}.perp-docs .spec .val code{color:var(--ink)}.perp-docs ol.steps{counter-reset:step;margin:18px 0;padding-left:0;list-style:none}.perp-docs ol.steps>li{counter-increment:step;margin:14px 0;padding-left:42px;position:relative}.perp-docs ol.steps>li:before{content:counter(step,decimal-leading-zero);color:var(--cobalt);border:1px solid var(--cobalt-line);background:var(--cobalt-tint);border-radius:6px;justify-content:center;align-items:center;width:28px;height:24px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;display:flex;position:absolute;top:0;left:0}.perp-docs .diagram-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin:18px 0;padding:16px;overflow-x:auto}.perp-docs .perp-arch{width:100%;min-width:1040px;height:auto;display:block}.perp-docs .legend{color:var(--slate);flex-wrap:wrap;gap:14px 22px;margin:14px 0 0;font-size:12.5px;display:flex}.perp-docs .legend span{align-items:center;gap:7px;display:flex}.perp-docs .legend i{border:1px solid;border-radius:3px;width:13px;height:13px;display:inline-block}.perp-docs aside.toc{align-self:start;height:calc(100vh - 58px);padding:40px 18px 60px 4px;position:sticky;top:58px;overflow-y:auto}.perp-docs aside.toc h5{text-transform:uppercase;letter-spacing:.1em;color:var(--slate-soft);margin:0 0 10px;font-size:11px;font-weight:600}.perp-docs aside.toc a{color:var(--slate);border-left:2px solid var(--line);padding:3px 0 3px 12px;font-size:13px;line-height:1.4;display:block}.perp-docs aside.toc a:hover{color:var(--ink);text-decoration:none}.perp-docs aside.toc a.on{color:var(--cobalt-deep);border-left-color:var(--cobalt);font-weight:500}.perp-docs aside.toc a.lvl3{padding-left:22px;font-size:12.5px}.perp-docs .pagenav{border-top:1px solid var(--line);justify-content:space-between;gap:14px;margin-top:54px;padding-top:22px;display:flex}.perp-docs .pagenav a{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex:1;padding:14px 16px}.perp-docs .pagenav a:hover{border-color:var(--cobalt-line);text-decoration:none}.perp-docs .pagenav .dir{text-transform:uppercase;letter-spacing:.08em;color:var(--slate-soft);font-size:11px}.perp-docs .pagenav .ttl{color:var(--ink);margin-top:3px;font-weight:600}.perp-docs .pagenav a.next{text-align:right}.perp-docs .mobnav{display:none}@media(max-width:1140px){.perp-docs .shell{grid-template-columns:var(--sidebar) minmax(0,1fr)}.perp-docs aside.toc{display:none}}@media(max-width:880px){.perp-docs .shell{grid-template-columns:1fr}.perp-docs aside.nav{display:none}.perp-docs main{padding:26px 20px 80px}.perp-docs .searchbox{display:none}.perp-docs .mobnav{display:block;position:relative}.perp-docs .mobnav select{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;width:100%;margin-bottom:18px;padding:7px 10px;font-family:inherit;font-size:14px}.perp-docs h1{font-size:28px}}
