:root{--bg-0: #14070a;--bg-1: #1c0d0a;--bg-2: #241310;--bg-3: #2d1914;--line: rgba(255,240,220,.08);--line-strong: rgba(255,240,220,.14);--ink: #fef6ea;--ink-dim: #c9a893;--ink-mute: #8a6a5b;--brand: #ff7a29;--brand-2: #e25a12;--brand-deep: #8a2e06;--brand-glow: rgba(255,122,41,.35);--radius-sm: 8px;--radius: 14px;--radius-lg: 20px;--sidebar-w: 264px;--header-h: 56px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Manrope,system-ui,sans-serif;background:var(--bg-1);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden;min-height:100vh}.bg-mesh{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(900px 600px at 80% 5%,rgba(255,122,41,.14),transparent 55%),radial-gradient(600px 500px at 10% 95%,rgba(138,46,6,.22),transparent 55%),linear-gradient(180deg,#1c0d0a,#14070a)}.bg-grain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:.18;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.5 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}.grid-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background-image:linear-gradient(to right,rgba(255,240,220,.02) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,240,220,.02) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(900px 600px at 50% 30%,#000 20%,transparent 75%);-webkit-mask-image:radial-gradient(900px 600px at 50% 30%,#000 20%,transparent 75%)}.site-header{position:sticky;top:0;z-index:200;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:16px;background:#1c0d0aeb;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--line-strong)}.brand-mark{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:16px;letter-spacing:-.01em;color:var(--ink);text-decoration:none;flex-shrink:0}.brand-mark .glyph{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#ff8a3c,#c23f07);display:grid;place-items:center;box-shadow:inset 0 1px #ffffff40,0 4px 12px -4px #ff7a2980;position:relative;flex-shrink:0}.brand-mark .glyph:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;border:1px solid rgba(255,255,255,.18)}.brand-mark .glyph svg{width:16px;height:16px;fill:#fff}.header-badge{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);padding:3px 8px;border-radius:6px;background:#fff0dc0d;border:1px solid var(--line)}.header-links{display:flex;align-items:center;gap:12px}.header-links a{font-size:13px;font-weight:600;color:var(--ink-dim);text-decoration:none;transition:color .2s;white-space:nowrap}.header-links a:hover{color:var(--ink)}.header-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:10px;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;text-decoration:none;border:1px solid var(--line-strong);background:#fff0dc0a;color:var(--ink);transition:.2s}.header-btn:hover{background:#fff0dc17;border-color:#fff0dc38}.mobile-menu-btn{display:none;background:none;border:none;color:var(--ink-dim);cursor:pointer;padding:6px;border-radius:8px;transition:.15s}.mobile-menu-btn:hover{background:#fff0dc14;color:var(--ink)}.mobile-menu-btn svg{width:20px;height:20px}.layout{position:relative;z-index:2;display:flex;min-height:calc(100vh - var(--header-h))}.sidebar{width:var(--sidebar-w);flex-shrink:0;position:sticky;top:var(--header-h);height:calc(100vh - var(--header-h));overflow-y:auto;overflow-x:hidden;border-right:1px solid var(--line);background:#14070a99;padding:20px 0 40px;scrollbar-width:thin;scrollbar-color:rgba(255,122,41,.2) transparent}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:#ff7a2933;border-radius:4px}.nav-group{margin-bottom:4px}.nav-group-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 16px;background:none;border:none;color:var(--ink-mute);cursor:pointer;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:color .2s}.nav-group-toggle:hover{color:var(--ink-dim)}.nav-group-toggle .chevron{width:12px;height:12px;transition:transform .25s;flex-shrink:0}.nav-group.open .nav-group-toggle .chevron{transform:rotate(180deg)}.nav-group-toggle .chevron path{stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.nav-items{overflow:hidden;transition:max-height .3s ease;max-height:0}.nav-group.open .nav-items{max-height:1000px}.nav-link{display:flex;align-items:center;gap:8px;padding:6px 16px 6px 28px;font-size:13px;font-weight:500;color:var(--ink-mute);text-decoration:none;transition:color .15s,background .15s;border-left:2px solid transparent;margin-left:0;cursor:pointer}.nav-link:hover{color:var(--ink-dim);background:#fff0dc08}.nav-link.active{color:var(--brand);border-left-color:var(--brand);background:#ff7a290f}.nav-link .dot{width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0;opacity:.6}.nav-separator{height:1px;background:var(--line);margin:10px 16px}.main-content{flex:1;min-width:0;padding:48px 56px 80px;max-width:900px}.doc-section{margin-bottom:72px;scroll-margin-top:calc(var(--header-h) + 24px)}.section-eyebrow{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--brand);margin-bottom:8px}.section-title{font-size:28px;font-weight:800;letter-spacing:-.02em;color:var(--ink);margin-bottom:12px;line-height:1.15}.section-lead{font-size:15px;line-height:1.65;color:var(--ink-dim);max-width:660px;margin-bottom:28px}.hero-block{padding:40px;border-radius:var(--radius-lg);border:1px solid var(--line-strong);background:linear-gradient(135deg,#2d191499,#14070a99);position:relative;overflow:hidden;margin-bottom:48px}.hero-block:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--brand),transparent)}.hero-title{font-size:clamp(32px,4vw,52px);font-weight:800;letter-spacing:-.03em;line-height:1.05;color:var(--ink);margin-bottom:16px}.hero-title .accent{background:linear-gradient(120deg,#ffc997 10%,#ff7a29 50%,#b93d0a 95%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-sub{font-size:16px;line-height:1.6;color:var(--ink-dim);max-width:520px;margin-bottom:28px}.hero-pills{display:flex;flex-wrap:wrap;gap:8px}.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:99px;font-size:12px;font-weight:600;background:#ff7a291a;border:1px solid rgba(255,122,41,.22);color:#ffb47a}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:36px}.feat-card{padding:20px;border-radius:var(--radius);border:1px solid var(--line);background:#fff0dc05;display:flex;flex-direction:column;gap:10px;transition:border-color .2s,background .2s}.feat-card:hover{border-color:#ff7a2940;background:#ff7a290a}.feat-card .f-icon{width:32px;height:32px;border-radius:9px;background:#ff7a2914;border:1px solid rgba(255,122,41,.18);color:#ffb47a;display:grid;place-items:center;flex-shrink:0}.feat-card .f-icon svg{width:16px;height:16px;fill:currentColor}.feat-card .f-title{font-size:13px;font-weight:700;color:var(--ink)}.feat-card .f-body{font-size:12px;line-height:1.5;color:var(--ink-mute)}.steps{display:flex;flex-direction:column;gap:0}.step{display:flex;gap:20px;position:relative;padding-bottom:28px}.step:last-child{padding-bottom:0}.step-num{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:#ff7a291f;border:1px solid rgba(255,122,41,.3);display:grid;place-items:center;font-size:12px;font-weight:800;color:var(--brand);position:relative;z-index:1}.step-line{position:absolute;left:15px;top:32px;bottom:0;width:2px;background:linear-gradient(to bottom,rgba(255,122,41,.25),transparent)}.step:last-child .step-line{display:none}.step-body{padding-top:4px}.step-body h4{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:4px}.step-body p{font-size:13px;line-height:1.55;color:var(--ink-dim)}.step-body code{font-family:JetBrains Mono,monospace;font-size:11px;color:#ffc997;background:#0000004d;padding:2px 6px;border-radius:4px}.doc-table-wrap{overflow-x:auto;margin:16px 0 24px;border-radius:var(--radius);border:1px solid var(--line)}.doc-table{width:100%;border-collapse:collapse;font-size:13px}.doc-table thead th{background:#fff0dc0a;padding:10px 14px;text-align:left;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);border-bottom:1px solid var(--line);white-space:nowrap}.doc-table tbody td{padding:9px 14px;vertical-align:top;border-bottom:1px solid var(--line);color:var(--ink-dim);line-height:1.5}.doc-table tbody tr:last-child td{border-bottom:none}.doc-table tbody tr:hover td{background:#fff0dc05}.doc-table .td-name{font-family:JetBrains Mono,monospace;font-size:12px;color:#ffc997;white-space:nowrap}.doc-table .td-type{font-family:JetBrains Mono,monospace;font-size:11px;color:#a8e6cf;white-space:nowrap}.doc-table .td-rpc{font-family:JetBrains Mono,monospace;font-size:12px;color:#ff8a3c;white-space:nowrap}.doc-table .td-badge{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:4px}.badge-stream{background:#63b3ed26;color:#63b3ed;border:1px solid rgba(99,179,237,.3)}.badge-unary{background:#9ae6b426;color:#9ae6b4;border:1px solid rgba(154,230,180,.3)}.info-box{display:flex;gap:12px;padding:14px 16px;border-radius:var(--radius-sm);border:1px solid rgba(255,122,41,.25);background:#ff7a2912;font-size:13px;line-height:1.5;color:var(--ink-dim);margin:12px 0 20px}.info-box svg{width:16px;height:16px;flex-shrink:0;fill:var(--brand);margin-top:1px}.warn-box{display:flex;gap:12px;padding:14px 16px;border-radius:var(--radius-sm);border:1px solid rgba(251,211,141,.25);background:#fbd38d12;font-size:13px;line-height:1.5;color:var(--ink-dim);margin:12px 0 20px}.warn-box svg{width:16px;height:16px;flex-shrink:0;fill:#fbd08d;margin-top:1px}.proto-section{margin-bottom:56px;scroll-margin-top:calc(var(--header-h) + 24px)}.proto-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.proto-icon{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:#ff7a291a;border:1px solid rgba(255,122,41,.22);color:#ffb47a;flex-shrink:0}.proto-icon svg{width:20px;height:20px;fill:currentColor}.proto-title-block{flex:1;min-width:0}.proto-filename{font-family:JetBrains Mono,monospace;font-size:16px;font-weight:600;color:var(--ink);letter-spacing:-.01em}.proto-desc{font-size:13px;color:var(--ink-mute);margin-top:3px}.proto-actions{display:flex;gap:8px;flex-shrink:0}.proto-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:9px;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--line-strong);color:var(--ink-dim);background:#fff0dc0a;transition:.15s;white-space:nowrap}.proto-btn:hover{background:#fff0dc17;color:var(--ink)}.proto-code-wrap{border-radius:var(--radius);border:1px solid var(--line-strong);background:#080406a6;overflow:hidden;margin-bottom:24px}.proto-code-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-bottom:1px solid var(--line);background:#fff0dc05}.proto-code-bar-label{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--ink-mute);font-weight:500;display:flex;align-items:center;gap:8px}.proto-code-bar-dots{display:flex;gap:5px}.proto-code-bar-dots span{width:10px;height:10px;border-radius:50%;background:var(--line-strong)}pre.proto-code{margin:0;padding:20px;font-family:JetBrains Mono,monospace;font-size:12.5px;line-height:1.7;color:#d4c4b0;overflow-x:auto;white-space:pre;scrollbar-width:thin;scrollbar-color:rgba(255,122,41,.2) transparent;max-height:520px;overflow-y:auto}.pk{color:#ff8a3c}.pt{color:#ffc997}.pc{color:#8a6a5b;font-style:italic}.ps{color:#a8e6cf}.pn{color:#ffb3c1}.code-block{border-radius:var(--radius);border:1px solid var(--line);background:#0804068c;overflow:hidden;margin:16px 0}.code-block-head{padding:8px 14px;border-bottom:1px solid var(--line);background:#fff0dc05;font-family:JetBrains Mono,monospace;font-size:11px;color:var(--ink-mute);display:flex;align-items:center;justify-content:space-between}pre.code-sample{margin:0;padding:18px 20px;font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.7;color:#d4c4b0;overflow-x:auto;white-space:pre}.code-comment{color:#8a6a5b;font-style:italic}.code-kw{color:#ff8a3c}.code-str{color:#a8e6cf}.code-fn{color:#ffc997}.impl-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:28px}.impl-card{border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(160deg,#2d191473,#14070a73);overflow:hidden;transition:border-color .2s}.impl-card:hover{border-color:#ff7a294d}.impl-card-head{display:flex;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid var(--line)}.impl-card-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#ff7a291a;border:1px solid rgba(255,122,41,.22);color:#ffb47a;flex-shrink:0}.impl-card-icon svg{width:16px;height:16px;fill:currentColor}.impl-card-title{font-size:13px;font-weight:700;color:var(--ink)}.impl-card-sub{font-size:11.5px;color:var(--ink-mute);margin-top:2px}pre.impl-code{margin:0;padding:14px 18px;font-family:JetBrains Mono,monospace;font-size:11.5px;line-height:1.65;color:#c4b4a0;overflow-x:auto;white-space:pre}.error-table .guid{font-size:10.5px}.sub-heading{font-size:17px;font-weight:700;color:var(--ink);margin:28px 0 12px;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}.sub-heading:before{content:"";display:inline-block;width:3px;height:16px;border-radius:2px;background:var(--brand)}.site-footer{position:relative;z-index:2;border-top:1px solid var(--line);padding:24px 56px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--ink-mute);flex-wrap:wrap;gap:12px}.site-footer a{color:var(--ink-dim);text-decoration:none}.site-footer a:hover{color:var(--ink)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ff7a2933;border-radius:4px}@media(max-width:900px){.impl-cards{grid-template-columns:1fr}.main-content{padding:32px 24px 60px}}@media(max-width:768px){.sidebar{position:fixed;left:0;top:var(--header-h);height:calc(100vh - var(--header-h));z-index:100;transform:translate(calc(-1 * var(--sidebar-w)));transition:transform .3s ease;border-right:1px solid var(--line-strong);background:#14070af7;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.sidebar.open{transform:translate(0)}.layout{display:block}.main-content{padding:28px 18px 60px}.mobile-menu-btn{display:flex}.hero-block{padding:26px 20px}.cards-grid{grid-template-columns:1fr 1fr}.header-links a{display:none}}@media(max-width:480px){.cards-grid{grid-template-columns:1fr}.proto-actions{width:100%}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative}.login-card{position:relative;z-index:10;width:100%;max-width:400px;padding:40px;border-radius:var(--radius-lg);border:1px solid var(--line-strong);background:#1c0d0aeb;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.login-logo{display:flex;align-items:center;gap:10px;margin-bottom:32px}.login-logo .glyph{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#ff8a3c,#c23f07);display:grid;place-items:center;box-shadow:inset 0 1px #ffffff40,0 4px 12px -4px #ff7a2980}.login-logo .glyph svg{width:20px;height:20px;fill:#fff}.login-logo .brand-text{font-weight:800;font-size:20px;color:var(--ink)}.login-field{margin-bottom:18px}.login-field label{display:block;font-size:12px;font-weight:600;color:var(--ink-dim);margin-bottom:6px;letter-spacing:.02em}.login-field input{width:100%;padding:10px 14px;border-radius:10px;border:1px solid var(--line-strong);background:#fff0dc0a;color:var(--ink);font-family:inherit;font-size:14px;outline:none;transition:border-color .2s}.login-field input:focus{border-color:var(--brand)}.login-field input::placeholder{color:var(--ink-mute)}.login-error{color:#ff6b6b;font-size:13px;margin-bottom:12px;padding:8px 12px;border-radius:8px;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.2)}.login-btn{width:100%;padding:12px;border-radius:10px;border:none;background:linear-gradient(135deg,#ff8a3c,#c23f07);color:#fff;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:opacity .2s}.login-btn:hover{opacity:.9}.login-btn:disabled{opacity:.5;cursor:not-allowed}
