:root{--bg: #020918;--surface: #07132b;--surface-2: #0b1b3c;--text: #eaf1fb;--muted: #a3b0cc;--line: #10244a;--line-2: #1e3d75;--accent: #4f2fc4;--accent-text: #b2a6ff;--mono: "JetBrains Mono", ui-monospace, monospace}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--text);background:radial-gradient(90% 40% at 50% 0%,#0d1f5e 0%,var(--bg) 60%,#01040d 100%) fixed;font-family:Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:clip}a{color:var(--accent-text);text-underline-offset:3px}a:hover{color:#fff}:focus-visible{outline:3px solid var(--accent-text);outline-offset:3px;border-radius:4px}[hidden]{display:none!important}.stars{position:fixed;inset:0;z-index:0;pointer-events:none}.lg-bar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px clamp(16px,4vw,48px);background:#020918d1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.lg-logo{display:inline-flex;align-items:center;gap:10px;color:var(--text);font-weight:800;font-size:20px;letter-spacing:-.02em;text-decoration:none}.lg-logo i{display:block;flex:none;width:34px;height:34px;border-radius:10px;background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 64 64%22%3E%3Cdefs%3E%3ClinearGradient id=%22g1%22 x1=%220%22 y1=%220%22 x2=%221%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%23d8d0ff%22/%3E%3Cstop offset=%22.5%22 stop-color=%22%238f7bff%22/%3E%3Cstop offset=%221%22 stop-color=%22%234f2fc4%22/%3E%3C/linearGradient%3E%3ClinearGradient id=%22g2%22 x1=%220%22 y1=%221%22 x2=%221%22 y2=%220%22%3E%3Cstop offset=%220%22 stop-color=%22%234f2fc4%22/%3E%3Cstop offset=%22.6%22 stop-color=%22%238f7bff%22/%3E%3Cstop offset=%221%22 stop-color=%22%237de3ff%22/%3E%3C/linearGradient%3E%3ClinearGradient id=%22g3%22 x1=%220%22 y1=%220%22 x2=%220%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%23fff%22 stop-opacity=%22.55%22/%3E%3Cstop offset=%221%22 stop-color=%22%23fff%22 stop-opacity=%220%22/%3E%3C/linearGradient%3E%3ClinearGradient id=%22bd%22 x1=%220%22 y1=%220%22 x2=%221%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%238f7bff%22 stop-opacity=%22.9%22/%3E%3Cstop offset=%22.5%22 stop-color=%22%238f7bff%22 stop-opacity=%22.08%22/%3E%3Cstop offset=%221%22 stop-color=%22%237de3ff%22 stop-opacity=%22.7%22/%3E%3C/linearGradient%3E%3CradialGradient id=%22bg%22 cx=%22.3%22 cy=%22.2%22 r=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%232a1a7a%22/%3E%3Cstop offset=%22.55%22 stop-color=%22%230a0a2a%22/%3E%3Cstop offset=%221%22 stop-color=%22%2301040d%22/%3E%3C/radialGradient%3E%3Cfilter id=%22glow%22 x=%22-40%25%22 y=%22-40%25%22 width=%22180%25%22 height=%22180%25%22%3E%3CfeGaussianBlur stdDeviation=%222.2%22/%3E%3C/filter%3E%3Cmask id=%22o2-back%22 maskUnits=%22userSpaceOnUse%22 x=%22-40%22 y=%22-40%22 width=%2280%22 height=%2280%22%3E%3Crect x=%22-40%22 y=%22-40%22 width=%2280%22 height=%2240%22 fill=%22%23fff%22/%3E%3C/mask%3E%3Cmask id=%22o2-front%22 maskUnits=%22userSpaceOnUse%22 x=%22-40%22 y=%22-40%22 width=%2280%22 height=%2280%22%3E%3Crect x=%22-40%22 y=%220%22 width=%2280%22 height=%2240%22 fill=%22%23fff%22/%3E%3C/mask%3E%3C/defs%3E%3Crect width=%2264%22 height=%2264%22 rx=%2216%22 fill=%22url(%23bg)%22/%3E%3Crect x=%22.75%22 y=%22.75%22 width=%2262.5%22 height=%2262.5%22 rx=%2215.3%22 fill=%22none%22 stroke=%22url(%23bd)%22 stroke-width=%221.5%22/%3E%3Cg transform=%22translate(32 32)%22%3E%3Cg%3E%3CanimateTransform attributeName=%22transform%22 type=%22rotate%22 values=%22-28;-40;-28;-14;-28%22 dur=%229s%22 repeatCount=%22indefinite%22 calcMode=%22spline%22 keyTimes=%220.0;0.25;0.5;0.75;1.0%22 keySplines=%22.45 0 .55 1 ;.45 0 .55 1 ;.45 0 .55 1 ;.45 0 .55 1%22/%3E%3Cg mask=%22url(%23o2-back)%22%3E%3Cellipse rx=%2225%22 ry=%2210%22 fill=%22none%22 stroke=%22url(%23g2)%22 stroke-width=%222.2%22 opacity=%22.55%22/%3E%3Ccircle r=%226%22 fill=%22%237de3ff%22 opacity=%22.25%22 filter=%22url(%23glow)%22%3E%3CanimateMotion dur=%224.5s%22 repeatCount=%22indefinite%22 path=%22M25 0 A25 10 0 1 1 -25 0 A25 10 0 1 1 25 0%22/%3E%3C/circle%3E%3Ccircle r=%223%22 fill=%22%237de3ff%22 opacity=%22.6%22%3E%3CanimateMotion dur=%224.5s%22 repeatCount=%22indefinite%22 path=%22M25 0 A25 10 0 1 1 -25 0 A25 10 0 1 1 25 0%22/%3E%3C/circle%3E%3C/g%3E%3C/g%3E%3C/g%3E%3Cg filter=%22url(%23glow)%22 opacity=%22.8%22%3E%3Cpath d=%22M22 47V18h22%22 fill=%22none%22 stroke=%22%238f7bff%22 stroke-width=%228%22 stroke-linecap=%22round%22/%3E%3C/g%3E%3Cpath d=%22M22 47V18h22M22 32h15%22 fill=%22none%22 stroke=%22url(%23g1)%22 stroke-width=%227%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M22 47V18h22M22 32h15%22 fill=%22none%22 stroke=%22url(%23g3)%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 transform=%22translate(-1.2 -1.2)%22/%3E%3Cg transform=%22translate(32 32)%22%3E%3Cg%3E%3CanimateTransform attributeName=%22transform%22 type=%22rotate%22 values=%22-28;-40;-28;-14;-28%22 dur=%229s%22 repeatCount=%22indefinite%22 calcMode=%22spline%22 keyTimes=%220.0;0.25;0.5;0.75;1.0%22 keySplines=%22.45 0 .55 1 ;.45 0 .55 1 ;.45 0 .55 1 ;.45 0 .55 1%22/%3E%3Cg mask=%22url(%23o2-front)%22%3E%3Cellipse rx=%2225%22 ry=%2210%22 fill=%22none%22 stroke=%22url(%23g2)%22 stroke-width=%222.2%22/%3E%3Ccircle r=%226%22 fill=%22%237de3ff%22 opacity=%22.25%22 filter=%22url(%23glow)%22%3E%3CanimateMotion dur=%224.5s%22 repeatCount=%22indefinite%22 path=%22M25 0 A25 10 0 1 1 -25 0 A25 10 0 1 1 25 0%22/%3E%3C/circle%3E%3Ccircle r=%223%22 fill=%22%237de3ff%22%3E%3CanimateMotion dur=%224.5s%22 repeatCount=%22indefinite%22 path=%22M25 0 A25 10 0 1 1 -25 0 A25 10 0 1 1 25 0%22/%3E%3C/circle%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E") center / cover no-repeat;box-shadow:0 6px 18px -6px #4f2fc4b3}@media(prefers-reduced-motion:reduce){.lg-logo i{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 64 64%22%3E%3Cdefs%3E%3ClinearGradient id=%22g1%22 x1=%220%22 y1=%220%22 x2=%221%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%23d8d0ff%22/%3E%3Cstop offset=%22.5%22 stop-color=%22%238f7bff%22/%3E%3Cstop offset=%221%22 stop-color=%22%234f2fc4%22/%3E%3C/linearGradient%3E%3ClinearGradient id=%22g2%22 x1=%220%22 y1=%221%22 x2=%221%22 y2=%220%22%3E%3Cstop offset=%220%22 stop-color=%22%234f2fc4%22/%3E%3Cstop offset=%22.6%22 stop-color=%22%238f7bff%22/%3E%3Cstop offset=%221%22 stop-color=%22%237de3ff%22/%3E%3C/linearGradient%3E%3ClinearGradient id=%22g3%22 x1=%220%22 y1=%220%22 x2=%220%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%23fff%22 stop-opacity=%22.55%22/%3E%3Cstop offset=%221%22 stop-color=%22%23fff%22 stop-opacity=%220%22/%3E%3C/linearGradient%3E%3ClinearGradient id=%22bd%22 x1=%220%22 y1=%220%22 x2=%221%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%238f7bff%22 stop-opacity=%22.9%22/%3E%3Cstop offset=%22.5%22 stop-color=%22%238f7bff%22 stop-opacity=%22.08%22/%3E%3Cstop offset=%221%22 stop-color=%22%237de3ff%22 stop-opacity=%22.7%22/%3E%3C/linearGradient%3E%3CradialGradient id=%22bg%22 cx=%22.3%22 cy=%22.2%22 r=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%232a1a7a%22/%3E%3Cstop offset=%22.55%22 stop-color=%22%230a0a2a%22/%3E%3Cstop offset=%221%22 stop-color=%22%2301040d%22/%3E%3C/radialGradient%3E%3Cfilter id=%22glow%22 x=%22-40%25%22 y=%22-40%25%22 width=%22180%25%22 height=%22180%25%22%3E%3CfeGaussianBlur stdDeviation=%222.2%22/%3E%3C/filter%3E%3Cmask id=%22o2-back%22 maskUnits=%22userSpaceOnUse%22 x=%22-40%22 y=%22-40%22 width=%2280%22 height=%2280%22%3E%3Crect x=%22-40%22 y=%22-40%22 width=%2280%22 height=%2240%22 fill=%22%23fff%22/%3E%3C/mask%3E%3Cmask id=%22o2-front%22 maskUnits=%22userSpaceOnUse%22 x=%22-40%22 y=%22-40%22 width=%2280%22 height=%2280%22%3E%3Crect x=%22-40%22 y=%220%22 width=%2280%22 height=%2240%22 fill=%22%23fff%22/%3E%3C/mask%3E%3C/defs%3E%3Crect width=%2264%22 height=%2264%22 rx=%2216%22 fill=%22url(%23bg)%22/%3E%3Crect x=%22.75%22 y=%22.75%22 width=%2262.5%22 height=%2262.5%22 rx=%2215.3%22 fill=%22none%22 stroke=%22url(%23bd)%22 stroke-width=%221.5%22/%3E%3Cg transform=%22translate(32 32)%22%3E%3Cg transform=%22rotate(-28)%22%3E%3Cg mask=%22url(%23o2-back)%22%3E%3Cellipse rx=%2225%22 ry=%2210%22 fill=%22none%22 stroke=%22url(%23g2)%22 stroke-width=%222.2%22 opacity=%22.55%22/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3Cg filter=%22url(%23glow)%22 opacity=%22.8%22%3E%3Cpath d=%22M22 47V18h22%22 fill=%22none%22 stroke=%22%238f7bff%22 stroke-width=%228%22 stroke-linecap=%22round%22/%3E%3C/g%3E%3Cpath d=%22M22 47V18h22M22 32h15%22 fill=%22none%22 stroke=%22url(%23g1)%22 stroke-width=%227%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M22 47V18h22M22 32h15%22 fill=%22none%22 stroke=%22url(%23g3)%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 transform=%22translate(-1.2 -1.2)%22/%3E%3Cg transform=%22translate(32 32)%22%3E%3Cg transform=%22rotate(-28)%22%3E%3Cg mask=%22url(%23o2-front)%22%3E%3Cellipse rx=%2225%22 ry=%2210%22 fill=%22none%22 stroke=%22url(%23g2)%22 stroke-width=%222.2%22/%3E%3Ccircle cx=%2221.9%22 cy=%224.8%22 r=%226%22 fill=%22%237de3ff%22 opacity=%22.25%22 filter=%22url(%23glow)%22/%3E%3Ccircle cx=%2221.9%22 cy=%224.8%22 r=%223%22 fill=%22%237de3ff%22/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}}.lg-bar nav{display:flex;align-items:center;gap:18px;font-size:14px}.lg-bar nav a{color:var(--muted);text-decoration:none}.lg-bar nav a:hover,.lg-bar nav a[aria-current]{color:#fff}.lang{display:inline-flex;gap:2px;padding:3px;border-radius:999px;border:1px solid var(--line);background:#07132bcc}.lang button{padding:6px 10px;border:0;border-radius:999px;background:none;color:var(--muted);font:500 12px var(--mono);cursor:pointer}.lang button[aria-pressed=true]{background:var(--text);color:var(--bg)}.lg{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:0 clamp(16px,4vw,48px) 80px}.lg-hero{display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:center;gap:32px;padding:clamp(36px,7vw,80px) 0 clamp(24px,4vw,48px)}.eyebrow{display:inline-flex;align-items:center;gap:8px;font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text)}.eyebrow:before{content:"";width:6px;height:6px;border-radius:2px;background:currentColor}.lg h1{margin:12px 0 14px;font-weight:800;font-size:clamp(32px,5.4vw,60px);line-height:1.04;letter-spacing:-.04em;background:linear-gradient(180deg,#fff 35%,var(--accent-text));-webkit-background-clip:text;background-clip:text;color:transparent}.lead{max-width:62ch;color:var(--muted);font-size:clamp(16px,1.5vw,19px)}.updated{margin-top:16px;font:500 12px var(--mono);letter-spacing:.06em;color:var(--accent-text)}.cube-wrap{perspective:800px;display:grid;place-items:center;height:220px}.cube{position:relative;width:120px;height:120px;transform-style:preserve-3d;animation:spin 16s linear infinite}.cube i{position:absolute;inset:0;display:grid;place-items:center;border:1.5px solid rgba(178,166,255,.6);background:linear-gradient(145deg,#4f2fc459,#07132b80);box-shadow:inset 0 0 30px #7c62f059;font-style:normal}.cube i svg{width:44px;height:44px;fill:none;stroke:#d9d2ff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.cube i:nth-child(1){transform:translateZ(60px)}.cube i:nth-child(2){transform:rotateY(180deg) translateZ(60px)}.cube i:nth-child(3){transform:rotateY(90deg) translateZ(60px)}.cube i:nth-child(4){transform:rotateY(-90deg) translateZ(60px)}.cube i:nth-child(5){transform:rotateX(90deg) translateZ(60px)}.cube i:nth-child(6){transform:rotateX(-90deg) translateZ(60px)}@keyframes spin{0%{transform:rotateX(-18deg) rotateY(0)}to{transform:rotateX(-18deg) rotateY(360deg)}}.cols{display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}.toc{position:sticky;top:90px;padding:20px;border-radius:18px;border:1px solid var(--line);background:#07132bb3}.toc h2{margin:0 0 10px;font:500 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text)}.toc ol{margin:0;padding:0;list-style:none;counter-reset:t;display:grid;gap:2px}.toc li{counter-increment:t}.toc a{display:block;padding:6px 8px;border-radius:8px;color:var(--muted);font-size:14px;line-height:1.35;text-decoration:none}.toc a:before{content:counter(t,decimal-leading-zero) "  ";font-family:var(--mono);font-size:11px;color:var(--accent-text)}.toc a:hover{background:var(--surface-2);color:#fff}.doc section{margin:0 0 14px;padding:clamp(20px,3vw,32px);border-radius:20px;border:1px solid var(--line);background:#07132bb8}.doc h2{margin:0 0 12px;font-weight:800;font-size:clamp(20px,2.4vw,26px);letter-spacing:-.02em}.doc h2 span{font:500 12px var(--mono);color:var(--accent-text);margin-right:8px}.doc p,.doc li{color:#cbd5ea}.doc p{margin:0 0 12px}.doc ul{margin:0 0 12px;padding-left:20px;display:grid;gap:6px}.doc b,.doc strong{color:#fff}.table-wrap{overflow-x:auto;margin:4px 0 12px;border:1px solid var(--line-2);border-radius:14px}table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:520px}th,td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}th{background:var(--surface-2);color:#fff;font-weight:600;font-size:13px}td{color:#cbd5ea}tr:last-child td{border-bottom:0}.todo{padding:1px 6px;border-radius:6px;background:#ffc85029;border:1px dashed rgba(255,200,80,.6);color:#ffe3a3;font-size:.92em}.note{padding:14px 16px;border-radius:14px;border-left:4px solid var(--accent);background:#4f2fc42e;color:#dcd7ff}.lg-foot{position:relative;z-index:1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding:28px clamp(16px,4vw,48px);border-top:1px solid var(--line);background:#07132bd9;color:var(--muted);font-size:14px}.lg-foot nav{display:flex;flex-wrap:wrap;gap:8px 20px}.lg-foot a{color:var(--muted)}.lg-foot a:hover{color:#fff}.rv{opacity:0;transform:perspective(900px) rotateX(14deg) translateY(30px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.8,.2,1)}.rv.in{opacity:1;transform:none}@media(max-width:900px){.lg-hero{grid-template-columns:minmax(0,1fr)}.cube-wrap{height:150px;order:-1;justify-content:start;justify-items:start}.cube{width:90px;height:90px}.cube i:nth-child(1){transform:translateZ(45px)}.cube i:nth-child(2){transform:rotateY(180deg) translateZ(45px)}.cube i:nth-child(3){transform:rotateY(90deg) translateZ(45px)}.cube i:nth-child(4){transform:rotateY(-90deg) translateZ(45px)}.cube i:nth-child(5){transform:rotateX(90deg) translateZ(45px)}.cube i:nth-child(6){transform:rotateX(-90deg) translateZ(45px)}.cols{grid-template-columns:minmax(0,1fr)}.toc{position:static}}@media(max-width:560px){.lg-bar nav .hide-sm{display:none}}@media print{.stars,.cube-wrap,.toc,.lang,.lg-bar nav{display:none}body{background:#fff;color:#000}.doc section{border:0;background:none}.doc p,.doc li,td{color:#000}.rv{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}html{scroll-behavior:auto}}.doc,.doc>section,.doc section{min-width:0;max-width:100%}html,body,.lg{overflow-x:clip}
