
:root{color-scheme:dark;--bg:#111113;--panel:#18181b;--panel2:#202024;--text:#f4f4f5;--muted:#a1a1aa;--line:#2b2b31;--accent:#8066ff;--accent2:#34d6ff;--sidebar:272px;--toc:220px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.65 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.topbar{position:fixed;inset:0 0 auto 0;height:64px;z-index:50;background:rgba(17,17,19,.88);border-bottom:1px solid var(--line);backdrop-filter:blur(18px);display:flex;align-items:center;padding:0 20px}.brand{display:flex;align-items:center;gap:11px;width:calc(var(--sidebar) - 20px);font-weight:650;font-size:15px}.brand img{width:34px;height:34px;object-fit:contain;transition:filter .25s}.brand:hover img{filter:drop-shadow(0 0 7px rgba(45,205,255,.8)) drop-shadow(0 0 15px rgba(92,69,255,.75))}.header-actions{display:flex;align-items:center;justify-content:space-between;flex:1;gap:12px}.search-trigger{height:38px;width:min(380px,48vw);border:1px solid var(--line);background:var(--panel);border-radius:10px;color:var(--muted);display:flex;align-items:center;gap:9px;padding:0 12px;cursor:pointer}.search-trigger:hover{border-color:#454550}.search-trigger kbd{margin-left:auto;border:1px solid #3b3b42;background:#242429;border-radius:5px;padding:1px 6px;font-size:11px}.site-link{color:var(--muted);font-weight:550}.site-link:hover{color:var(--text)}.menu-button{display:none;background:none;border:0;color:var(--text);padding:7px;cursor:pointer}.sidebar{position:fixed;left:0;top:64px;bottom:0;width:var(--sidebar);padding:22px 16px 28px;overflow:auto;border-right:1px solid var(--line);background:var(--bg);z-index:40}.nav-group{margin:0 0 22px}.nav-label{display:block;color:#71717a;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:0 12px 7px}.nav-link{display:block;color:var(--muted);padding:7px 12px;border-radius:8px;margin:1px 0;font-weight:500}.nav-link:hover{color:var(--text);background:#1d1d21}.nav-link.active{color:#fff;background:rgba(128,102,255,.16);box-shadow:inset 2px 0 var(--accent)}.sidebar-bottom{border-top:1px solid var(--line);padding:18px 12px 0;color:#71717a;font-size:12px}.layout{padding:64px var(--toc) 0 var(--sidebar);min-height:100vh}.article{max-width:820px;margin:0 auto;padding:66px 56px 80px}.eyebrow{color:#a997ff;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}.article h1{font-size:42px;line-height:1.13;letter-spacing:-.035em;margin:0 0 16px}.lead{font-size:18px;line-height:1.65;color:#b8b8c1;margin:0 0 48px;max-width:720px}.article h2{font-size:25px;line-height:1.25;letter-spacing:-.025em;margin:48px 0 16px;padding-top:2px}.article h2 a{opacity:0;color:#777;margin-left:8px;font-size:17px}.article h2:hover a{opacity:1}.article p{color:#c2c2ca;margin:0 0 16px}.article ul{color:#c2c2ca;padding-left:23px;margin:0 0 20px}.article li{margin:7px 0}.article strong{color:#f4f4f5}.article code{font:12px ui-monospace,SFMono-Regular,Menlo,monospace;background:#25252a;border:1px solid #33333a;border-radius:5px;padding:2px 5px;color:#d7ceff}.callout{display:flex;gap:13px;border:1px solid #393443;background:rgba(128,102,255,.08);padding:16px 18px;border-radius:12px;margin:24px 0}.callout.warning{border-color:#58462f;background:rgba(245,158,11,.07)}.callout-icon{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--accent);font-size:12px;font-weight:800;flex:none;margin-top:1px}.warning .callout-icon{background:#d68b1e}.callout p{margin:3px 0 0;color:#bcbcc5}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;margin:22px 0}table{border-collapse:collapse;width:100%;min-width:520px}th,td{text-align:left;padding:13px 15px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#1b1b1f;color:#e8e8eb;font-size:12px}td{color:#bdbdc5}tr:last-child td{border-bottom:0}.steps{counter-reset:step;list-style:none;padding:0;margin:20px 0}.steps li{display:flex;gap:14px;align-items:flex-start;margin:0;position:relative;padding:0 0 22px}.steps li:not(:last-child):before{content:"";position:absolute;left:14px;top:32px;bottom:2px;width:1px;background:var(--line)}.steps li>span{width:29px;height:29px;border-radius:50%;background:#27242f;border:1px solid #464050;color:#cfc7ff;display:grid;place-items:center;font-size:12px;font-weight:700;flex:none}.steps li>div{padding-top:2px;color:#c2c2ca}.steps a,.article p a,.article li a{color:#a997ff;text-decoration:underline;text-underline-offset:3px}.card-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.card-grid.three{grid-template-columns:repeat(3,1fr)}.doc-card{min-height:132px;border:1px solid var(--line);background:linear-gradient(145deg,#1a1a1e,#171719);border-radius:14px;padding:18px;display:flex;flex-direction:column;transition:.2s}.doc-card:hover{border-color:#554a80;transform:translateY(-2px);background:#1d1b24}.doc-card b{font-size:15px}.doc-card span{color:var(--muted);margin-top:7px;line-height:1.5}.doc-card i{font-style:normal;color:#a997ff;margin-top:auto;padding-top:10px}.toc{position:fixed;right:0;top:64px;bottom:0;width:var(--toc);padding:55px 24px;overflow:auto}.toc-title{color:#71717a;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.toc a{display:block;color:#85858f;font-size:12px;padding:5px 0;border-left:1px solid var(--line);padding-left:12px}.toc a:hover,.toc a.current{color:#ddd;border-left-color:var(--accent)}.page-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:62px;padding-top:24px;border-top:1px solid var(--line)}.page-nav a{border:1px solid var(--line);border-radius:12px;padding:15px 17px;color:var(--muted)}.page-nav a:hover{border-color:#494952;background:#18181b}.page-nav a.next{text-align:right;grid-column:2}.page-nav small{display:block;color:#666670;font-size:11px;margin-bottom:2px}.page-nav b{color:#e2e2e6}.page-meta{display:flex;justify-content:space-between;align-items:center;color:#6e6e77;font-size:12px;margin-top:24px}.feedback{display:flex;align-items:center;gap:7px}.feedback button{border:1px solid var(--line);background:#19191d;color:#8f8f98;border-radius:7px;padding:5px 8px;cursor:pointer}.feedback button:hover,.feedback button.selected{color:#fff;border-color:#5b4ca0}.search-modal{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.62);backdrop-filter:blur(6px);display:none;align-items:flex-start;justify-content:center;padding:11vh 20px}.search-modal.open{display:flex}.search-box{width:min(640px,100%);background:#19191d;border:1px solid #383840;border-radius:16px;box-shadow:0 30px 90px #000;overflow:hidden}.search-input-wrap{display:flex;align-items:center;border-bottom:1px solid var(--line);padding:0 18px}.search-input{width:100%;height:58px;background:none;border:0;outline:0;color:#fff;font-size:16px}.search-results{max-height:55vh;overflow:auto;padding:8px}.search-result{display:block;padding:12px;border-radius:9px}.search-result:hover,.search-result.active{background:#24242a}.search-result b{display:block}.search-result span{display:block;color:var(--muted);font-size:12px}.search-empty{color:var(--muted);padding:24px;text-align:center}.overlay{display:none}.mobile-toc{display:none}.footer-links{display:flex;gap:14px;margin-top:30px;color:#777;font-size:12px}
@media(max-width:1100px){:root{--toc:0px}.toc{display:none}.mobile-toc{display:block;margin:0 0 28px}.mobile-toc button{border:1px solid var(--line);background:#19191d;color:#bbb;border-radius:8px;padding:8px 11px}.layout{padding-right:0}}
@media(max-width:760px){.topbar{padding:0 14px}.menu-button{display:block}.brand{width:auto;flex:1}.brand span{display:none}.header-actions{flex:0}.search-trigger{width:38px;padding:0;justify-content:center}.search-trigger span,.search-trigger kbd{display:none}.site-link{display:none}.sidebar{transform:translateX(-100%);transition:transform .25s;width:min(310px,86vw);box-shadow:20px 0 50px #000}.sidebar.open{transform:none}.overlay{position:fixed;inset:64px 0 0;z-index:35;background:rgba(0,0,0,.58)}.overlay.open{display:block}.layout{padding-left:0}.article{padding:42px 22px 64px}.article h1{font-size:34px}.lead{font-size:16px;margin-bottom:36px}.article h2{font-size:22px;margin-top:40px}.card-grid,.card-grid.three{grid-template-columns:1fr}.doc-card{min-height:110px}.page-nav{grid-template-columns:1fr}.page-nav a.next{grid-column:1;text-align:left}.page-meta{align-items:flex-start;gap:16px;flex-direction:column}.table-wrap{margin-left:-4px;margin-right:-4px}.footer-links{flex-wrap:wrap}}

/* Wavel visual system */
@font-face{font-family:Inter;src:url('/assets/inter.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('/assets/jetbrains-mono.woff2') format('woff2');font-style:normal;font-weight:100 800;font-display:swap}
:root{--bg:#111113;--panel:#18181b;--panel2:#202024;--text:#ededed;--muted:#a0a0a0;--line:#282828;--line-hover:#3e3e3e;--accent:#7b68ff;--accent-soft:#8a78ff;--accent2:#2dd4ff}
body{background:
radial-gradient(900px 520px at 53% -260px,rgba(123,104,255,.17),transparent 72%),
radial-gradient(540px 320px at 90% 2%,rgba(45,212,255,.045),transparent 70%),var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,#000,transparent 62%)}
.topbar{height:72px;padding:0 24px;background:rgba(17,17,19,.72);border-color:rgba(255,255,255,.07);backdrop-filter:blur(20px) saturate(140%)}
.brand{gap:12px;font-size:14px;letter-spacing:-.01em}.brand img{width:38px;height:38px}.brand span{padding-left:12px;border-left:1px solid var(--line);color:#d8d8dc}
.brand:hover img,.brand:focus-visible img{filter:drop-shadow(0 0 7px rgba(45,205,255,.8)) drop-shadow(0 0 15px rgba(92,69,255,.75))}
.header-actions{justify-content:center;position:relative}.search-trigger{height:42px;width:min(440px,48vw);border-color:rgba(255,255,255,.09);background:rgba(32,32,36,.72);border-radius:12px;box-shadow:inset 0 1px rgba(255,255,255,.035),0 8px 26px rgba(0,0,0,.12);transition:border-color .2s,background .2s,box-shadow .2s,transform .2s}.search-trigger:hover{border-color:rgba(123,104,255,.55);background:#202024;box-shadow:0 0 0 3px rgba(123,104,255,.08),0 12px 30px rgba(0,0,0,.2);transform:translateY(-1px)}.search-trigger kbd{font-family:'JetBrains Mono',monospace;border-color:#3e3e3e;background:#28282d;color:#85858d}.site-link{position:absolute;right:0;padding:8px 12px;border-radius:9px;transition:.2s}.site-link:hover{color:#fff;background:#202024}
.sidebar{top:72px;padding:28px 18px 30px;background:rgba(17,17,19,.76);border-color:rgba(255,255,255,.065);backdrop-filter:blur(18px)}.nav-group{margin-bottom:25px}.nav-label{color:#707070;font-size:10px;letter-spacing:.12em;padding-left:11px}.nav-link{position:relative;padding:8px 11px;border:1px solid transparent;border-radius:9px;transition:color .18s,background .18s,border-color .18s,transform .18s}.nav-link:hover{color:#ededed;background:#202024;border-color:#282828;transform:translateX(2px)}.nav-link.active{color:#fff;background:linear-gradient(90deg,rgba(123,104,255,.2),rgba(123,104,255,.065));border-color:rgba(123,104,255,.18);box-shadow:inset 2px 0 #7b68ff,0 0 22px rgba(110,86,207,.08)}.sidebar-bottom{border-color:var(--line);color:#606068}
.layout{padding-top:72px}.article{max-width:850px;padding-top:72px}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:#a99cff;font-size:11px;letter-spacing:.12em;margin-bottom:16px}.eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 0 12px rgba(123,104,255,.9)}
.article h1{font-size:48px;line-height:1.08;letter-spacing:-.045em;background:linear-gradient(180deg,#fff 18%,#cfcfd5 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.lead{color:#a9a9b1;font-size:18px;max-width:690px}.article h2{font-size:26px;letter-spacing:-.035em;color:#ededed}.article h2 a{font-family:'JetBrains Mono',monospace;color:#7b68ff}.article p,.article ul{color:#b7b7bf}.article code{font-family:'JetBrains Mono',ui-monospace,monospace;background:#202024;border-color:#333339;color:#c8bfff}
.callout{position:relative;overflow:hidden;border-color:rgba(123,104,255,.25);background:linear-gradient(120deg,rgba(123,104,255,.11),rgba(45,212,255,.025));border-radius:14px;box-shadow:inset 0 1px rgba(255,255,255,.035)}.callout:before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:linear-gradient(var(--accent),var(--accent2))}.callout-icon{background:linear-gradient(135deg,#7b68ff,#4f8cff);box-shadow:0 0 18px rgba(123,104,255,.32)}.callout.warning{border-color:rgba(255,210,79,.25);background:linear-gradient(120deg,rgba(255,210,79,.08),rgba(255,107,53,.025))}.callout.warning:before{background:linear-gradient(#ffd24f,#ff6b35)}
.table-wrap{border-color:var(--line);border-radius:14px;background:rgba(24,24,27,.6);box-shadow:inset 0 1px rgba(255,255,255,.025),0 16px 40px rgba(0,0,0,.12)}th{background:#18181b;color:#ededed;font-size:11px;letter-spacing:.04em;text-transform:uppercase}th,td{border-color:#282828}tbody tr{transition:background .15s}tbody tr:hover{background:rgba(255,255,255,.018)}
.steps li>span{font-family:'JetBrains Mono',monospace;background:linear-gradient(145deg,#2b2738,#202024);border-color:rgba(123,104,255,.33);color:#c8bfff;box-shadow:0 0 16px rgba(123,104,255,.08)}
.card-grid{gap:14px}.doc-card{position:relative;overflow:hidden;border-color:#282828;background:linear-gradient(145deg,rgba(32,32,36,.88),rgba(24,24,27,.9));border-radius:16px;padding:20px;box-shadow:inset 0 1px rgba(255,255,255,.035),0 14px 32px rgba(0,0,0,.12);transition:border-color .25s,transform .25s,background .25s,box-shadow .25s}.doc-card:before{content:"";position:absolute;width:130px;height:130px;right:-80px;top:-80px;border-radius:50%;background:rgba(123,104,255,.13);filter:blur(24px);opacity:0;transition:opacity .25s}.doc-card:hover{border-color:rgba(123,104,255,.48);background:linear-gradient(145deg,#222129,#19191c);transform:translateY(-3px);box-shadow:0 18px 42px rgba(0,0,0,.22),0 0 24px rgba(110,86,207,.08)}.doc-card:hover:before{opacity:1}.doc-card b{letter-spacing:-.015em}.doc-card i{color:#8a78ff;font-size:18px;transition:transform .2s}.doc-card:hover i{transform:translateX(3px)}
.toc{top:72px;padding-top:64px}.toc-title{font-size:10px;letter-spacing:.12em}.toc a{border-color:#282828;transition:.18s}.toc a:hover,.toc a.current{color:#ededed;border-left-color:#7b68ff}.toc a.current{background:linear-gradient(90deg,rgba(123,104,255,.08),transparent)}
.page-nav{gap:14px;border-color:#282828}.page-nav a{position:relative;overflow:hidden;background:rgba(24,24,27,.5);border-color:#282828;border-radius:14px;transition:.22s}.page-nav a:hover{border-color:rgba(123,104,255,.4);background:#202024;transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.16)}.page-nav small{font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.08em;color:#707078}.feedback button{background:#18181b;border-color:#282828;transition:.18s}.feedback button:hover,.feedback button.selected{border-color:#7b68ff;background:rgba(123,104,255,.12);box-shadow:0 0 18px rgba(123,104,255,.1)}.footer-links a:hover{color:#ededed}
.search-modal{background:rgba(5,5,7,.7);backdrop-filter:blur(12px)}.search-box{background:rgba(24,24,27,.96);border-color:rgba(255,255,255,.12);border-radius:18px;box-shadow:0 30px 100px #000,0 0 50px rgba(110,86,207,.13)}.search-input-wrap{border-color:#282828}.search-input{font-family:Inter,sans-serif}.search-result{border:1px solid transparent}.search-result:hover,.search-result.active{background:#202024;border-color:#303035}.search-result span{color:#85858d}
::selection{background:rgba(123,104,255,.38);color:#fff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#303035;border:3px solid #111113;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#484851}
@media(max-width:1100px){.toc.open{display:block;position:fixed;z-index:70;top:132px;right:20px;bottom:auto;width:min(320px,calc(100vw - 40px));max-height:60vh;padding:20px;background:rgba(24,24,27,.97);border:1px solid #38383f;border-radius:14px;box-shadow:0 24px 70px #000;backdrop-filter:blur(18px)}.mobile-toc button{background:#18181b;border-color:#303036;border-radius:10px;transition:.2s}.mobile-toc button:hover{border-color:rgba(123,104,255,.5);color:#fff}}
@media(max-width:760px){.topbar{height:64px}.layout{padding-top:64px}.sidebar{top:64px}.overlay{inset:64px 0 0}.article{padding:44px 22px 64px}.article h1{font-size:38px}.menu-button{border:1px solid transparent;border-radius:9px}.menu-button:hover{background:#202024;border-color:#303035}.brand img{width:36px;height:36px}.search-trigger{height:38px;background:#1b1b1e}.toc.open{top:116px}.lead{line-height:1.6}.doc-card{padding:18px}.page-nav a.next{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
