:root{--rf-bg:#f4f5f8;--rf-panel:#fff;--rf-elev:#fff;--rf-ink:#0e1117;--rf-ink-soft:#57606f;--rf-ink-faint:#6f7889;--rf-line:#e6e8ee;--rf-line-soft:#eef0f4;--rf-code-bg:#f5f6f9;--rf-code-ink:#2c333f;--rf-accent:#5a5be0;--rf-accent-ink:#fff;--rf-accent-soft:#5a5be01a;--rf-note-bg:#5a5be012;--rf-note-ink:#4a4bc4;--rf-ring:0 0 0 3px #5a5be04d;--rf-shadow:0 1px 2px #0e11170d, 0 6px 20px #0e11170d;--rf-shadow-lg:0 1px 2px #0e11170f, 0 14px 40px #0e11171a;--rf-spectrum:var(--rf-accent);--rf-sans:system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--rf-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--rf-bg:#0a0c10;--rf-panel:#101319;--rf-elev:#161a22;--rf-ink:#e9ecf3;--rf-ink-soft:#98a2b3;--rf-ink-faint:#7b8698;--rf-line:#232833;--rf-line-soft:#191d25;--rf-code-bg:#0c0e13;--rf-code-ink:#c4ccd8;--rf-accent:#8b8bf6;--rf-accent-ink:#0b0d12;--rf-accent-soft:#8b8bf626;--rf-note-bg:#8b8bf61a;--rf-note-ink:#a8a8fb;--rf-ring:0 0 0 3px #8b8bf652;--rf-shadow:0 1px 2px #00000080, 0 8px 26px #00000070;--rf-shadow-lg:0 1px 2px #00000080, 0 18px 46px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--rf-bg:#0a0c10;--rf-panel:#101319;--rf-elev:#161a22;--rf-ink:#e9ecf3;--rf-ink-soft:#98a2b3;--rf-ink-faint:#7b8698;--rf-line:#232833;--rf-line-soft:#191d25;--rf-code-bg:#0c0e13;--rf-code-ink:#c4ccd8;--rf-accent:#8b8bf6;--rf-accent-ink:#0b0d12;--rf-accent-soft:#8b8bf626;--rf-note-bg:#8b8bf61a;--rf-note-ink:#a8a8fb;--rf-ring:0 0 0 3px #8b8bf652;--rf-shadow:0 1px 2px #00000080, 0 8px 26px #00000070;--rf-shadow-lg:0 1px 2px #00000080, 0 18px 46px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--rf-bg:#f4f5f8;--rf-panel:#fff;--rf-elev:#fff;--rf-ink:#0e1117;--rf-ink-soft:#57606f;--rf-ink-faint:#6f7889;--rf-line:#e6e8ee;--rf-line-soft:#eef0f4;--rf-code-bg:#f5f6f9;--rf-code-ink:#2c333f;--rf-accent:#5a5be0;--rf-accent-ink:#fff;--rf-accent-soft:#5a5be01a;--rf-note-bg:#5a5be012;--rf-note-ink:#4a4bc4;--rf-ring:0 0 0 3px #5a5be04d;--rf-shadow:0 1px 2px #0e11170d, 0 6px 20px #0e11170d;--rf-shadow-lg:0 1px 2px #0e11170f, 0 14px 40px #0e11171a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{margin:0}.app{font-family:var(--rf-sans);color:var(--rf-ink);background:var(--rf-bg);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5}a{color:inherit}::selection{background:#828ca042}:root{--rf-cb-bg:#0f1320;--rf-cb-head:#171b2b;--rf-cb-line:#262c40;--rf-cb-ink:#d8dcec;--rf-cb-faint:#7b84a0}.app{min-height:100vh}main{min-width:0;position:relative}.topbar{z-index:40;border-bottom:1px solid var(--rf-line);background:color-mix(in srgb, var(--rf-panel) 82%, transparent);-webkit-backdrop-filter:saturate(150%)blur(12px);backdrop-filter:saturate(150%)blur(12px);position:sticky;top:0}.tb-inner{align-items:center;gap:14px;padding:11px 24px;display:flex}.brand{align-items:center;gap:9px;min-width:0;display:flex}.wordmark{letter-spacing:-.02em;color:var(--rf-ink);font-size:16.5px;font-weight:750}.version{font-family:var(--rf-mono);color:var(--rf-accent);background:var(--rf-accent-soft);white-space:nowrap;cursor:pointer;border-radius:20px;padding:2px 8px;font-size:10px;text-decoration:none}a.version:hover{background:var(--rf-accent);color:#fff}a.version:focus-visible{box-shadow:var(--rf-ring);outline:none}.tb-search{border:1px solid var(--rf-line);background:var(--rf-code-bg);width:220px;max-width:34vw;color:var(--rf-ink-faint);cursor:text;border-radius:9px;align-items:center;gap:8px;margin-left:8px;padding:6px 10px;font-size:13px;display:flex}.tb-search svg{flex:none}.tb-search input{font:inherit;color:var(--rf-ink);background:0 0;border:none;outline:none;width:100%}.tb-search input::placeholder{color:var(--rf-ink-faint)}.tb-search .kbd{font-family:var(--rf-mono);border:1px solid var(--rf-line);color:var(--rf-ink-faint);background:var(--rf-panel);border-radius:5px;margin-left:auto;padding:1px 5px;font-size:10px}.tb-spacer{flex:1}.tb-right{align-items:center;gap:8px;display:flex}.ghlink,.theme-toggle{border:1px solid var(--rf-line);background:var(--rf-panel);width:32px;height:32px;color:var(--rf-ink-soft);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;font-size:14px;text-decoration:none;transition:color .15s,border-color .15s;display:inline-flex}.ghlink:hover,.theme-toggle:hover{color:var(--rf-ink);border-color:var(--rf-ink-faint)}.theme-toggle:focus-visible,.ghlink:focus-visible{box-shadow:var(--rf-ring);outline:none}.presets{background:var(--rf-code-bg);border:1px solid var(--rf-line);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.preset-btn{white-space:nowrap;color:var(--rf-ink-soft);cursor:pointer;font-family:var(--rf-sans);letter-spacing:-.01em;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:6px;padding:5px 9px;font-size:12px;font-weight:600;transition:background .16s,color .16s,box-shadow .16s;display:inline-flex}.preset-btn:hover{color:var(--rf-ink)}.preset-btn .dot{border-radius:4px;flex:none;width:11px;height:11px;box-shadow:inset 0 0 0 1px #00000024}.preset-btn .pl,.preset-btn .ov{display:none}.preset-btn[aria-pressed=true]{background:var(--rf-elev);color:var(--rf-ink);border-color:var(--rf-line);box-shadow:var(--rf-shadow)}.preset-btn[aria-pressed=true] .pl{display:inline}.preset-btn:focus-visible{box-shadow:var(--rf-ring);outline:none}@media (width>=1080px){.preset-btn .pl{display:inline}}.docs{grid-template-columns:236px minmax(0,1fr);display:grid}.sidebar{border-right:1px solid var(--rf-line);align-self:start;height:calc(100vh - 57px);padding:26px 16px 40px;position:sticky;top:57px;overflow-y:auto}.side-group{margin-bottom:2px}.side-lbl{cursor:pointer;text-align:left;width:100%;font-family:var(--rf-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--rf-ink-soft);background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;margin:0;padding:8px 10px;font-size:11.5px;transition:color .14s,background .14s;display:flex}.side-lbl:hover{color:var(--rf-ink);background:var(--rf-line-soft)}.side-lbl:focus-visible{box-shadow:var(--rf-ring);outline:none}.side-caret{color:var(--rf-ink-soft);flex:none;font-size:13px;line-height:1;transition:transform .16s;transform:rotate(180deg)}.side-lbl:hover .side-caret{color:var(--rf-accent)}.side-group.collapsed .side-caret{transform:rotate(0)}.side-group.collapsed>nav.sub{display:none}.sidebar.searching .side-group.collapsed>nav.sub{display:flex}nav.sub{border-left:1.5px solid var(--rf-line);flex-direction:column;gap:1px;margin-left:13px;padding:2px 0 6px;display:flex}nav.sub a{color:var(--rf-ink-soft);border-radius:0 7px 7px 0;align-items:center;gap:9px;padding:8px 11px 8px 16px;font-size:15px;font-weight:500;text-decoration:none;transition:background .14s,color .14s;display:flex;position:relative}nav.sub a:hover{background:var(--rf-line-soft);color:var(--rf-ink)}nav.sub a.active{color:var(--rf-accent);background:var(--rf-accent-soft);font-weight:600}nav.sub a.active:before{content:"";background:var(--rf-accent);width:1.5px;position:absolute;top:0;bottom:0;left:-1.5px}nav.sub a[hidden]{display:none}.side-empty{color:var(--rf-ink-faint);padding:6px 10px;font-size:12px;display:none}.menu-btn{border:1px solid var(--rf-line);background:var(--rf-panel);width:34px;height:34px;color:var(--rf-ink-soft);cursor:pointer;border-radius:9px;flex:none;justify-content:center;align-items:center;margin-right:2px;display:none}.menu-btn:hover{color:var(--rf-ink)}.nav-backdrop{z-index:55;opacity:0;pointer-events:none;background:#0000006b;transition:opacity .2s;position:fixed;inset:0}.nav-backdrop.show{opacity:1;pointer-events:auto}body.nav-open{overflow:hidden}@media (width<=940px){.docs{grid-template-columns:1fr}.sidebar{z-index:60;background:var(--rf-panel);border-right:1px solid var(--rf-line);width:288px;max-width:84vw;height:100vh;box-shadow:var(--rf-shadow-lg);transition:transform .22s;position:fixed;top:0;left:0;transform:translate(-101%)}.sidebar.open{transform:translate(0)}.menu-btn{display:inline-flex}.tb-inner{gap:10px;padding:10px 14px}.tb-search,.brand .version{display:none}.presets{-webkit-overflow-scrolling:touch;scrollbar-width:none;max-width:46vw;overflow-x:auto}.presets::-webkit-scrollbar{display:none}}@media (width<=560px){.tb-inner{gap:8px;padding:9px 11px}.ghlink{display:none}.pager{flex-direction:column}.pager a{min-width:0}.pager a.next{margin-left:0}}.refract-sweep{pointer-events:none;z-index:50;opacity:0;position:fixed;inset:0}.refract-sweep.go{animation:.5s sweep}@keyframes sweep{0%{opacity:0;transform:translate(-24%)}45%{opacity:1}to{opacity:0;transform:translate(24%)}}.refract-sweep:after{content:"";background:var(--rf-accent-soft);filter:blur(44px);width:30%;position:absolute;top:0;bottom:0}.inner{max-width:none;margin:0;padding:40px 48px 110px}@media (width<=940px){.inner{margin:0 auto;padding:34px 24px 90px}}@media (width<=560px){.inner{padding:26px 18px 72px}}main{grid-template-columns:minmax(0,1fr) 216px;display:grid}main.no-toc{grid-template-columns:minmax(0,1fr)}.toc{align-self:start;max-height:calc(100vh - 57px);padding:44px 24px 40px 0;position:sticky;top:57px;overflow-y:auto}.toc-title{font-family:var(--rf-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--rf-ink-faint);margin:0 0 10px;font-size:10px}.toc a{color:var(--rf-ink-soft);border-left:2px solid var(--rf-line);padding:4px 0 4px 13px;font-size:12.5px;line-height:1.4;text-decoration:none;transition:color .14s,border-color .14s;display:block}.toc a.h3{color:var(--rf-ink-faint);padding-left:25px;font-size:12px}.toc a:hover{color:var(--rf-ink)}.toc a.active{color:var(--rf-accent);border-left-color:var(--rf-accent)}.toc a.h3.active{color:var(--rf-accent)}@media (width<=1200px){main{display:block}.toc{display:none!important}}.hero{border-bottom:1px solid var(--rf-line);margin-bottom:10px;padding-bottom:30px}.eyebrow{font-family:var(--rf-mono);letter-spacing:.04em;color:var(--rf-ink-faint);font-size:11px}.eyebrow b{color:var(--rf-accent);font-weight:600}.hero .eyebrow{margin-bottom:14px}.doc-section>.eyebrow,.panel>.eyebrow{margin:0 0 12px}.hero h1{letter-spacing:-.03em;text-wrap:balance;margin:0 0 14px;font-size:clamp(30px,4.6vw,44px);font-weight:800;line-height:1.05}.hero h1 em{color:var(--rf-accent);font-style:normal}.hero p{color:var(--rf-ink-soft);max-width:62ch;margin:0;font-size:16px;line-height:1.65}.flowline{font-family:var(--rf-mono);color:var(--rf-ink-soft);flex-wrap:wrap;align-items:center;gap:8px;margin-top:24px;font-size:12px;display:flex}.flowline .node{border:1px solid var(--rf-line);background:var(--rf-panel);border-radius:8px;padding:5px 10px}.flowline .node.hl{border-color:var(--rf-accent);color:var(--rf-accent);background:var(--rf-accent-soft);font-weight:600}.flowline .arr{color:var(--rf-ink-faint)}.active-note{color:var(--rf-ink-soft);border:1px solid var(--rf-line);background:var(--rf-panel);border-radius:20px;align-items:center;gap:8px;margin-top:24px;padding:5px 13px;font-size:13px;display:inline-flex}.active-note b{color:var(--rf-ink)}.hero-demo{margin-top:30px}.hero-demo-cap{color:var(--rf-ink-soft);max-width:62ch;margin-top:12px;font-size:13px}.hero-demo-cap a{color:var(--rf-accent);white-space:nowrap;font-weight:550;text-decoration:none}.hero-demo-cap a:hover{text-decoration:underline}.why{border-top:1px solid var(--rf-line);margin-top:46px;padding-top:34px}.why-h{letter-spacing:-.02em;margin:0 0 8px;font-size:20px;font-weight:750}.why-lead{color:var(--rf-ink-soft);max-width:74ch;margin:0 0 22px;font-size:14.5px;line-height:1.65}.why-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}@media (width<=720px){.why-grid{grid-template-columns:1fr}}.why-card{border:1px solid var(--rf-line);background:var(--rf-panel);border-radius:12px;padding:16px 18px}.why-card:hover{border-color:var(--rf-accent-soft)}.why-k{color:var(--rf-ink);align-items:center;gap:7px;margin-bottom:6px;font-size:14px;font-weight:650;display:flex}.why-k:before{content:"";background:var(--rf-accent);border-radius:2px;flex:none;width:6px;height:6px}.why-k .amp{font-family:var(--rf-mono);color:var(--rf-ink-faint);font-size:12px;font-weight:400}.why-card p{color:var(--rf-ink-soft);margin:0;font-size:13.5px;line-height:1.6}.why-card ul{color:var(--rf-ink-soft);margin:0;padding-left:17px;font-size:13.5px;line-height:1.5}.why-card li{margin:4px 0}.why-card li::marker{color:var(--rf-accent)}.doc-section{margin-top:52px;scroll-margin-top:76px}.doc-section>h2{letter-spacing:-.02em;margin:0 0 8px;font-size:23px;font-weight:750}.doc-section>.lead{color:var(--rf-ink-soft);margin:0 0 18px;font-size:16px;line-height:1.6}.doc-section p{color:var(--rf-ink-soft);margin:0 0 16px;font-size:15.5px;line-height:1.7}.doc-section h3{letter-spacing:-.01em;margin:34px 0 12px;font-size:16.5px;font-weight:700}.doc-section h4{color:var(--rf-ink);font-size:12.5px;font-weight:650;font-family:var(--rf-mono);margin:20px 0 8px}.doc-section>ul,.doc-section>ol{color:var(--rf-ink-soft);margin:0 0 16px;padding-left:22px;font-size:15.5px;line-height:1.7}.doc-section>ul li,.doc-section>ol li{margin:6px 0}:not(pre)>code{overflow-wrap:anywhere}.cv-ladder{height:58px;box-shadow:inset 0 0 0 1px var(--rf-line);border-radius:10px;gap:3px;margin:4px 0 10px;display:flex;overflow:hidden}.cv-rung{flex:1;justify-content:center;align-items:flex-end;padding-bottom:4px;display:flex}.cv-rung-l{font-family:var(--rf-mono);color:#ffffffeb;text-shadow:0 1px 2px #00000080;font-size:9px}.cv-wheelrow{flex-wrap:wrap;align-items:center;gap:22px;margin:4px 0 10px;display:flex}.cv-wheel{width:188px;height:188px;box-shadow:inset 0 0 0 1px var(--rf-line), var(--rf-shadow);background:conic-gradient(#e0403f,#d99a2b,#b9c02b,#4caf50,#2bb0a8,#3f6fd9,#6f4cd9,#c04cc0,#e0403f);border-radius:50%;flex:none;position:relative}.cv-hub{background:var(--rf-panel);box-shadow:inset 0 0 0 1px var(--rf-line);z-index:1;border-radius:50%;position:absolute;inset:25%}.cv-dot{z-index:2;border:2.5px solid #fff;border-radius:50%;width:20px;height:20px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 5px #00000059}.cv-dot.base{width:25px;height:25px;box-shadow:0 0 0 3px var(--rf-accent-soft), 0 1px 5px #00000059}.cv-schemes{flex-direction:column;gap:5px;display:flex}.cv-scheme{font-family:var(--rf-mono);text-align:left;color:var(--rf-ink-soft);border:1px solid var(--rf-line);cursor:pointer;background:0 0;border-radius:7px;padding:5px 12px;font-size:11px;transition:color .14s,border-color .14s,background .14s}.cv-scheme:hover{color:var(--rf-ink);border-color:var(--rf-ink-faint)}.cv-scheme.on{color:var(--rf-accent);border-color:var(--rf-accent);background:var(--rf-accent-soft);font-weight:600}.cv-scheme:focus-visible{box-shadow:var(--rf-ring);outline:none}.concept-demo{border:1px solid var(--rf-line);background:var(--rf-panel);box-shadow:var(--rf-shadow);border-radius:12px;padding:2px 18px}.cq-box{resize:horizontal;border:1px dashed var(--rf-accent);background:var(--rf-code-bg);border-radius:10px;flex-wrap:wrap;align-items:center;gap:14px;width:300px;min-width:240px;max-width:100%;padding:16px;display:flex;overflow:auto}.cq-hint{font-family:var(--rf-mono);color:var(--rf-ink-faint);font-size:10px}.rt-stats{flex-wrap:wrap;gap:12px;display:flex}.rt-stat{border:1px solid var(--rf-line);background:var(--rf-code-bg);border-radius:10px;flex:1;min-width:108px;padding:12px 16px}.rt-num{letter-spacing:-.02em;color:var(--rf-ink);font-variant-numeric:tabular-nums;font-size:23px;font-weight:780}.rt-lbl{font-family:var(--rf-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--rf-ink-faint);margin-top:3px;font-size:9.5px}.subsystem-docs{border-top:1px solid var(--rf-line);margin-top:24px;padding-top:6px}.subsystem-docs h3{letter-spacing:-.01em;margin:26px 0 12px;font-size:15px;font-weight:700}.subsystem-docs p{color:var(--rf-ink-soft);margin:0 0 14px;font-size:14px;line-height:1.65}.subsystem-docs p code,.subsystem-docs li code{font-family:var(--rf-mono);color:var(--rf-ink);font-size:.92em}.subsystem-docs ul{color:var(--rf-ink-soft);margin:0 0 14px;padding-left:20px;font-size:14px;line-height:1.6}.subsystem-docs ul li{margin:4px 0}.tbl-wrap{border:1px solid var(--rf-line);box-shadow:var(--rf-shadow);border-radius:12px;margin:12px 0 6px;overflow-x:auto}table.doc-table{border-collapse:collapse;background:var(--rf-panel);width:100%;min-width:620px;font-size:13px}.doc-table th{text-align:left;font-family:var(--rf-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--rf-ink-faint);border-bottom:1px solid var(--rf-line);background:var(--rf-code-bg);white-space:nowrap;padding:10px 14px;font-size:10px}.doc-table td{border-bottom:1px solid var(--rf-line-soft);color:var(--rf-ink-soft);vertical-align:top;padding:11px 14px;line-height:1.55}.doc-table tr:last-child td{border-bottom:none}.doc-table td.prop{font-family:var(--rf-mono);color:var(--rf-ink);white-space:nowrap;font-weight:600}.doc-table td.ty{font-family:var(--rf-mono);color:var(--rf-accent);white-space:nowrap;font-size:12px}.doc-table td.def{font-family:var(--rf-mono);color:var(--rf-ink-faint);white-space:nowrap;font-size:11.5px}.doc-table td code{font-family:var(--rf-mono);color:var(--rf-ink);font-size:.92em}.req-yes{color:var(--rf-accent);font-weight:700}.req-no{color:var(--rf-ink-faint)}.st-sub{font-family:var(--rf-mono);color:var(--rf-ink-faint);margin-top:3px;font-size:11px;font-weight:400;display:block}.kind{font-family:var(--rf-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--rf-ink-soft);border:1px solid var(--rf-line);white-space:nowrap;border-radius:5px;padding:1px 6px;font-size:10px}.api-mode{border:1px solid var(--rf-line);background:var(--rf-panel);box-shadow:var(--rf-shadow);border-radius:12px;margin:12px 0;padding:16px 18px}.api-head{flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:8px;display:flex}.api-name{font-family:var(--rf-mono);color:var(--rf-ink);font-size:14px;font-weight:700}.api-alias{font-family:var(--rf-mono);color:var(--rf-accent);background:var(--rf-accent-soft);border-radius:20px;padding:2px 9px;font-size:10px}.api-badge{font-family:var(--rf-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--rf-ink-faint);border:1px solid var(--rf-line);border-radius:20px;padding:2px 8px;font-size:9px}.api-mode>p{color:var(--rf-ink-soft);margin:0 0 12px;font-size:13.5px;line-height:1.6}.api-mode>p code,.api-opts code,.api-out code{font-family:var(--rf-mono);color:var(--rf-ink);font-size:.92em}.api-sig{font-family:var(--rf-mono);background:var(--rf-cb-bg);color:var(--rf-cb-ink);white-space:pre;border-radius:8px;margin-bottom:12px;padding:9px 12px;font-size:12px;overflow-x:auto}.api-sig .k{color:#82aaff}.api-sig .s{color:#9ece6a}.api-sig .ty{color:#ff9e64}.api-sig .p{color:#7b84a0}.api-opts{flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;display:flex}.api-opts li{color:var(--rf-ink-soft);font-size:13px;line-height:1.5}.api-opts .o{font-family:var(--rf-mono);color:var(--rf-ink);font-size:12.5px;font-weight:600}.api-opts .ty{font-family:var(--rf-mono);color:var(--rf-accent);font-size:11px}.api-opts .def{font-family:var(--rf-mono);color:var(--rf-ink-faint);font-size:11px}.api-opts .def b{color:var(--rf-ink-soft);font-weight:600}.api-out{border-top:1px dashed var(--rf-line);font-family:var(--rf-mono);color:var(--rf-ink-faint);margin-top:12px;padding-top:10px;font-size:11px}.api-out b{color:var(--rf-ink-soft)}.page{margin-top:0!important}.page[hidden]{display:none}.pager{border-top:1px solid var(--rf-line);gap:14px;margin-top:52px;padding-top:22px;display:flex}.pager a{border:1px solid var(--rf-line);background:var(--rf-panel);border-radius:10px;flex-direction:column;gap:3px;min-width:170px;padding:12px 16px;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.pager a:hover{border-color:var(--rf-accent);background:var(--rf-accent-soft)}.pager a.next{text-align:right;align-items:flex-end;margin-left:auto}.pager .dir{font-family:var(--rf-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--rf-ink-faint);font-size:10px}.pager .lbl{color:var(--rf-ink);font-size:14.5px;font-weight:650}.codeblock{border:1px solid var(--rf-cb-line);background:var(--rf-cb-bg);box-shadow:var(--rf-shadow);border-radius:11px;margin-bottom:14px;overflow:hidden}.cb-head{text-transform:none;letter-spacing:normal;background:var(--rf-cb-head);border-bottom:1px solid var(--rf-cb-line);align-items:center;gap:9px;margin:0;padding:8px 12px;display:flex}.cb-dots{gap:5px;display:inline-flex}.cb-dots i{background:#39405c;border-radius:50%;width:9px;height:9px}.cb-file{font-family:var(--rf-mono);color:var(--rf-cb-faint);font-size:11.5px}.cb-copy{font-family:var(--rf-mono);color:var(--rf-cb-faint);border:1px solid var(--rf-cb-line);cursor:pointer;background:0 0;border-radius:6px;margin-left:auto;padding:3px 9px;font-size:10.5px;transition:color .14s,border-color .14s}.cb-copy:hover{color:var(--rf-cb-ink);border-color:#464e6e}.cb-copy.copied{color:#9ece6a;border-color:#9ece6a}.codeblock pre{font-family:var(--rf-mono);color:var(--rf-cb-ink);tab-size:2;margin:0;padding:13px 15px;font-size:12.5px;line-height:1.7;overflow-x:auto}.fmt{border:1px solid var(--rf-cb-line);background:var(--rf-cb-bg);box-shadow:var(--rf-shadow);border-radius:12px;margin:4px 0 10px;overflow:hidden}.fmt-bar{background:var(--rf-cb-head);border-bottom:1px solid var(--rf-cb-line);flex-wrap:wrap;align-items:center;gap:2px;padding:7px 8px;display:flex}.fmt-tab{font-family:var(--rf-mono);color:var(--rf-cb-faint);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;padding:5px 11px;font-size:11.5px;transition:color .14s,background .14s,border-color .14s}.fmt-tab:hover{color:var(--rf-cb-ink)}.fmt-tab.active{color:var(--rf-cb-ink);border-color:var(--rf-cb-line);background:#ffffff0f}.fmt-tab:focus-visible{box-shadow:var(--rf-ring);outline:none}.fmt-meta{font-family:var(--rf-mono);color:var(--rf-cb-faint);margin-left:auto;padding-right:6px;font-size:11px}.fmt-out{max-height:420px;font-family:var(--rf-mono);color:var(--rf-cb-ink);white-space:pre;tab-size:2;margin:0;padding:14px 16px;font-size:12px;line-height:1.65;overflow:auto}.fmt-out:focus-visible{box-shadow:inset var(--rf-ring);outline:none}.pg{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:14px;margin:6px 0 10px;display:grid}@media (width<=860px){.pg{grid-template-columns:1fr}}.pg-pane{border:1px solid var(--rf-cb-line);background:var(--rf-cb-bg);box-shadow:var(--rf-shadow);border-radius:12px;overflow:hidden}.pg-head{background:var(--rf-cb-head);border-bottom:1px solid var(--rf-cb-line);font-family:var(--rf-mono);color:var(--rf-cb-faint);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:11.5px;display:flex}.pg-head-sub{border-top:1px solid var(--rf-cb-line)}.pg-reset{font-family:var(--rf-mono);color:var(--rf-cb-faint);border:1px solid var(--rf-cb-line);cursor:pointer;background:0 0;border-radius:6px;padding:3px 9px;font-size:10.5px;transition:color .14s,border-color .14s}.pg-reset:hover{color:var(--rf-cb-ink);border-color:#464e6e}.pg-reset:focus-visible{box-shadow:var(--rf-ring);outline:none}.pg-src{box-sizing:border-box;resize:vertical;background:var(--rf-cb-bg);width:100%;min-height:440px;color:var(--rf-cb-ink);font-family:var(--rf-mono);tab-size:2;white-space:pre;border:0;outline:none;padding:13px 15px;font-size:12px;line-height:1.6;display:block}.pg-src:focus-visible{box-shadow:inset var(--rf-ring)}.pg-preview{background:#fff;min-height:128px}.pg-out{max-height:264px;font-family:var(--rf-mono);color:var(--rf-cb-ink);white-space:pre;margin:0;padding:13px 15px;font-size:12px;line-height:1.6;overflow:auto}.pg-status{font-family:var(--rf-mono);color:var(--rf-cb-faint);font-size:11px}.pg-status.ok{color:#58c26a}.pg-status.err{color:#f0787f}.codeblock pre .k{color:#82aaff}.codeblock pre .s{color:#9ece6a}.codeblock pre .n{color:#ff9e64}.codeblock pre .c{color:#565f89;font-style:italic}.codeblock pre .p{color:#7b84a0}.codeblock pre .cmd{color:#c3a6ff}.codeblock pre .va{color:#7dcfff}.codeblock pre .se{color:#e0af68}.panel{margin-top:44px;scroll-margin-top:76px}.panel>.head{align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.panel>.head h2{letter-spacing:-.02em;margin:0;font-size:21px;font-weight:750}.panel>.head .what{color:var(--rf-ink-soft);font-size:13px}.panel>.lead{color:var(--rf-ink-soft);max-width:72ch;margin:0 0 18px;font-size:14.5px;line-height:1.6}.card2{border:1px solid var(--rf-line);background:var(--rf-panel);box-shadow:var(--rf-shadow);border-radius:12px;overflow:hidden}.twopane{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}@media (width<=820px){.twopane{grid-template-columns:1fr}}.refract-gap{display:none}.pane{min-width:0}.pane.input{background:var(--rf-cb-bg);border-right:1px solid var(--rf-cb-line);flex-direction:column;display:flex}@media (width<=820px){.pane.input{border-right:none;border-bottom:1px solid var(--rf-cb-line)}}.pane:not(.input){background:var(--rf-panel);flex-direction:column;padding:14px 16px;display:flex}.plabel{font-family:var(--rf-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--rf-ink-faint);align-items:center;gap:8px;margin-bottom:11px;font-size:9.5px;display:flex}.plabel .tag{border:1px solid var(--rf-line);color:var(--rf-ink-soft);border-radius:4px;padding:1px 6px;font-size:8.5px}pre.raw{font-family:var(--rf-mono);color:var(--rf-cb-ink);tab-size:2;white-space:pre;flex:1;margin:0;padding:13px 15px;font-size:12px;line-height:1.65;overflow-x:auto}pre.raw .k{color:#82aaff}pre.raw .s{color:#9ece6a}pre.raw .n{color:#ff9e64}pre.raw .fn{color:#c3a6ff;font-style:italic}pre.raw .c{color:#565f89;font-style:italic}pre.raw .p{color:#7b84a0}.render{background:var(--rf-surface,#fff);min-height:88px;color:var(--rf-on,#111);border-radius:9px;flex:1;padding:15px;transition:background .3s,color .3s}.note{border-left:3px solid var(--rf-accent);background:var(--rf-note-bg);color:var(--rf-note-ink);border-radius:0 8px 8px 0;margin-top:11px;padding:10px 14px;font-size:12.5px}.note b{font-family:var(--rf-mono);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.swrow{flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:11px;display:flex}.swrow:last-child{margin-bottom:0}.swname{font-family:var(--rf-mono);opacity:.75;flex:none;width:54px;font-size:11px}.sw{width:52px;height:44px;font-family:var(--rf-mono);border:1px solid #80808047;border-radius:7px;place-items:end center;padding-bottom:3px;font-size:8px;display:grid;position:relative}.sw .val{color:#fff;background:#0000006b;border-radius:3px;padding:0 3px}.sw.derived:after{content:"⟳";color:#ffffffd9;text-shadow:0 0 2px #00000080;font-size:9px;position:absolute;top:3px;right:4px}.derived-key{opacity:.7;align-items:center;gap:6px;margin-top:12px;font-size:11px;display:flex}.tscale{flex-direction:column;gap:3px;display:flex}.trow{border-bottom:1px dotted #80808038;align-items:baseline;gap:12px;padding:3px 0;display:flex}.trow .st{font-family:var(--rf-mono);opacity:.55;flex:none;width:30px;font-size:10px}.trow .sz{font-family:var(--rf-mono);opacity:.4;text-align:right;flex:none;width:52px;font-size:9px}.trow .sm{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.trecipes{flex-direction:column;gap:9px;margin-top:14px;display:flex}.fxwrap{flex-direction:column;gap:14px;display:flex}.fxsurfaces{flex-wrap:wrap;gap:12px;display:flex}.fxchips{flex-wrap:wrap;gap:8px;display:flex}.chip-lbl{font-family:var(--rf-mono);opacity:.5;text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px;font-size:9px}.rchip{width:56px;height:44px;font-family:var(--rf-mono);background:#80808024;border:1px solid #80808047;place-items:center;font-size:9px;display:grid}.laywrap{flex-direction:column;gap:14px;display:flex}.spbars{align-items:flex-end;gap:8px;display:flex}.spbar{flex-direction:column;align-items:center;gap:4px;display:flex}.spbar .b{opacity:.5;background:currentColor;border-radius:3px;width:16px}.spbar .l{font-family:var(--rf-mono);opacity:.55;font-size:8px}.mc{background:#80808024;border:1px solid #8080803d;border-radius:8px;height:44px}.resizebox{resize:horizontal;min-width:160px;max-width:100%;overflow:auto}.compwrap{flex-direction:column;gap:16px;display:flex}.btnrow{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.classlist{flex-wrap:wrap;gap:5px;margin-top:3px;display:flex}.cl{font-family:var(--rf-mono);opacity:.8;background:#80808029;border-radius:4px;padding:2px 6px;font-size:8.5px}.cl.own{outline:1px solid #9b5de580}.animwrap{flex-direction:column;gap:14px;display:flex}.anim-stage{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.anim-box{width:92px;height:62px;font-family:var(--rf-mono);text-align:center;background:#80808029;border:1px solid #8080804d;border-radius:10px;place-items:center;font-size:9px;display:grid}.replay-btn{font-family:var(--rf-mono);color:inherit;cursor:pointer;opacity:.8;background:0 0;border:1px solid;border-radius:7px;padding:6px 12px;font-size:11px}.replay-btn:hover{opacity:1}.motion-toks{flex-wrap:wrap;gap:8px;display:flex}.mtok{font-family:var(--rf-mono);background:#80808024;border:1px solid #8080803d;border-radius:5px;padding:3px 8px;font-size:9px}.mtok.bp{padding:4px 9px;font-size:10px;transition:color .15s,background .15s,border-color .15s}.mtok.bp b{color:var(--rf-ink)}.mtok.bp.active{border-color:var(--rf-accent);background:var(--rf-accent-soft);color:var(--rf-accent)}.mtok.bp.active b{color:var(--rf-accent)}.kf{font-family:var(--rf-mono);opacity:.7;font-size:9.5px;line-height:1.5}.globals-host{display:block}.dd-toggle{border:1px solid var(--rf-line);background:var(--rf-panel);width:100%;color:var(--rf-ink-soft);cursor:pointer;font-family:var(--rf-mono);letter-spacing:.04em;text-align:left;border-radius:10px;justify-content:space-between;align-items:center;margin-top:10px;padding:9px 14px;font-size:11px;transition:border-color .15s,color .15s;display:flex}.dd-toggle:hover{color:var(--rf-ink);background:linear-gradient(var(--rf-panel),var(--rf-panel)) padding-box, var(--rf-spectrum) border-box;border:1px solid #0000}.dd-toggle .caret{transition:transform .2s}.dd-toggle[aria-expanded=true] .caret{transform:rotate(180deg)}.deepdive{border:1px solid var(--rf-line);background:var(--rf-panel);box-shadow:var(--rf-shadow);border-radius:12px;margin-top:8px;overflow:hidden}.dd-body{flex-direction:column;padding:6px 18px 18px;display:flex}.dd-group{border-bottom:1px solid var(--rf-line-soft);padding:14px 0}.dd-group:last-child{border-bottom:none}.dd-h{align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.dd-h .t{letter-spacing:-.01em;font-size:13px;font-weight:700}.dd-h .d{color:var(--rf-ink-soft);font-size:11.5px}.dd-x{font-family:var(--rf-mono);text-transform:uppercase;letter-spacing:.08em;background:linear-gradient(var(--rf-panel),var(--rf-panel)) padding-box, var(--rf-spectrum) border-box;color:var(--rf-ink);border:1px solid #0000;border-radius:20px;align-items:center;gap:5px;padding:2px 7px;font-size:8.5px;display:inline-flex}.dd-surface{background:var(--rf-surface,var(--rf-code-bg));color:var(--rf-on,var(--rf-ink));border-radius:10px;padding:14px}.dd-live{font-family:var(--rf-mono);border:1px solid var(--rf-line);background:var(--rf-code-bg);color:var(--rf-code-ink);border-radius:7px;align-items:center;gap:7px;padding:5px 10px;font-size:10.5px;display:inline-flex}.dd-live .sw{border:1px solid #8080804d;border-radius:4px;width:14px;height:14px}.dd-bp{font-family:var(--rf-mono);color:var(--rf-note-ink);background:var(--rf-note-bg);border-radius:6px;padding:3px 8px;font-size:10px}.dd-note{color:var(--rf-ink-soft);margin-top:6px;font-size:11.5px}.dd-note code,.dd-h code{font-family:var(--rf-mono);font-size:.92em}.dd-ramp{border:1px solid #8080803d;border-radius:8px;gap:2px;display:flex;overflow:hidden}.dd-ramp .step{height:40px;font-family:var(--rf-mono);flex:1;place-items:end center;padding-bottom:2px;font-size:7.5px;display:grid}.dd-cols{grid-template-columns:repeat(12,1fr);gap:5px;display:grid}.dd-cols .cell{height:26px;font-family:var(--rf-mono);opacity:.85;background:#80808029;border:1px solid #80808047;border-radius:4px;place-items:center;font-size:8px;display:grid}.dd-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dd-conts{flex-direction:column;gap:6px;display:flex}.dd-cont{font-family:var(--rf-mono);opacity:.8;border:1px dashed #80808066;border-radius:6px;padding:6px 8px;font-size:9px}.dd-recipes{flex-direction:column;gap:8px;display:flex}.dd-kf{font-family:var(--rf-mono);opacity:.72;font-size:9.5px;line-height:1.6}.outputs{border:1px dashed var(--rf-line);background:var(--rf-panel);border-radius:14px;margin-top:36px;padding:18px 20px}.outputs .lbl{font-family:var(--rf-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--rf-ink-faint);font-size:9.5px}.otabs{flex-wrap:wrap;gap:7px;margin-top:11px;display:flex}.otab{font-family:var(--rf-mono);border:1px solid var(--rf-line);background:var(--rf-panel);color:var(--rf-ink-soft);border-radius:7px;padding:6px 12px;font-size:12px}.otab.on{background:linear-gradient(var(--rf-panel),var(--rf-panel)) padding-box, var(--rf-spectrum) border-box;color:var(--rf-ink);border:1.5px solid #0000;font-weight:600}.otab.future{color:var(--rf-ink-faint);border-style:dashed}.growth{font-family:var(--rf-mono);color:var(--rf-ink-soft);flex-wrap:wrap;align-items:center;gap:9px;margin-top:15px;font-size:11px;display:flex}.growth .stage{border:1px solid var(--rf-line);border-radius:6px;padding:5px 10px}.growth .stage.now{background:linear-gradient(var(--rf-panel),var(--rf-panel)) padding-box, var(--rf-spectrum) border-box;color:var(--rf-ink);border:1.5px solid #0000;font-weight:600}footer.f{color:var(--rf-ink-faint);border-top:1px solid var(--rf-line);margin-top:30px;padding-top:16px;font-size:12px}.skip{z-index:200;background:var(--rf-accent);color:#fff;border-radius:8px;padding:9px 15px;font-size:13px;font-weight:600;text-decoration:none;transition:transform .18s;position:fixed;top:8px;left:8px;transform:translateY(-170%)}.skip:focus{box-shadow:var(--rf-ring);outline:none;transform:translateY(0)}a:focus-visible,.toc a:focus-visible,.pager a:focus-visible,.cb-copy:focus-visible,.dd-toggle:focus-visible,.menu-btn:focus-visible,.tb-search input:focus-visible,.inner:focus-visible{box-shadow:var(--rf-ring);border-radius:6px;outline:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.refract-sweep.go,.beam{animation:none!important}*{transition:none!important}}
