@font-face{font-family:DM Sans;font-style:italic;font-weight:300 700;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Fp2ywxg089UriCZa4ET-DNl0.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:italic;font-weight:300 700;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Fp2ywxg089UriCZa4Hz-D.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:300 700;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Hp2ywxg089UriCZ2IHSeH.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:300 700;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Hp2ywxg089UriCZOIHQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--sw-red: #6b0028;--sw-red-light: #8a1040;--sw-red-muted: rgba(107, 0, 40, .08);--sw-gold: #c9a96e;--sw-gold-light: #d4bc8e;--sw-gold-muted: rgba(201, 169, 110, .09);--sw-green: #82d52f;--sw-green-muted: rgba(130, 213, 47, .09);--sw-bg: #fffcf5;--sw-bg-card: #ffffff;--sw-bg-sidebar: #faf8f4;--sw-text: #1a1a1a;--sw-text-secondary: #5c5c5c;--sw-text-muted: #9a9a9a;--sw-border: #e8e4de;--sw-border-light: #f0ece6;--sw-shadow-sm: 0 1px 3px rgba(107, 0, 40, .04), 0 1px 2px rgba(107, 0, 40, .02);--sw-shadow-md: 0 4px 12px rgba(107, 0, 40, .06), 0 2px 4px rgba(107, 0, 40, .03);--sw-shadow-lg: 0 8px 24px rgba(107, 0, 40, .08), 0 4px 8px rgba(107, 0, 40, .04);--sw-radius: 12px;--sw-radius-sm: 8px;--sw-radius-xs: 6px;--sidebar-width: 280px;--topbar-height: 56px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:14px;scroll-behavior:smooth}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--sw-bg);color:var(--sw-text);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code,pre,kbd,samp{font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace}a{color:var(--sw-red);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--sw-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#d3cbc0}.text-red{color:var(--sw-red)}.text-gold{color:var(--sw-gold)}.text-green{color:var(--sw-green)}.text-muted{color:var(--sw-text-muted)}.text-secondary{color:var(--sw-text-secondary)}.bg-red{background:var(--sw-red)}.bg-gold{background:var(--sw-gold)}.bg-card{background:var(--sw-bg-card)}.font-mono{font-family:JetBrains Mono,monospace}.card{background:var(--sw-bg-card);border:1px solid var(--sw-border);border-radius:var(--sw-radius);box-shadow:var(--sw-shadow-sm)}.card-sm{background:var(--sw-bg-card);border:1px solid var(--sw-border);border-radius:var(--sw-radius-sm);box-shadow:var(--sw-shadow-sm)}.badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;border-radius:100px}.badge-red{background:var(--sw-red-muted);color:var(--sw-red)}.badge-gold{background:var(--sw-gold-muted);color:#ab8540}.badge-green{background:var(--sw-green-muted);color:#426e16}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;font-family:inherit;border-radius:var(--sw-radius-sm);border:1px solid transparent;cursor:pointer;transition:all .15s;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--sw-red);color:#fff;border-color:var(--sw-red)}.btn-primary:hover:not(:disabled){background:var(--sw-red-light);border-color:var(--sw-red-light)}.btn-secondary{background:transparent;color:var(--sw-text-secondary);border-color:var(--sw-border)}.btn-secondary:hover:not(:disabled){background:var(--sw-bg);border-color:var(--sw-gold);color:var(--sw-text)}.btn-gold{background:var(--sw-gold);color:var(--sw-red);border-color:var(--sw-gold);font-weight:600}.btn-gold:hover:not(:disabled){background:var(--sw-gold-light);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.btn-sm{padding:5px 10px;font-size:12px}.btn-lg{padding:12px 24px;font-size:15px}.divider{height:1px;background:var(--sw-border-light);margin:16px 0}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-4{gap:4px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}.flex-1{flex:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fadeInUp{animation:fadeInUp .3s ease-out}.animate-fadeIn{animation:fadeIn .2s ease-out}.animate-pulse{animation:pulse 1.5s ease-in-out infinite}.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--sw-border);border-top-color:var(--sw-red);border-radius:50%;animation:spin .6s linear infinite}.doc-body h2{font-size:20px;font-weight:700;color:var(--sw-text);margin:32px 0 12px;letter-spacing:-.02em}.doc-body h3{font-size:16px;font-weight:600;color:var(--sw-text);margin:24px 0 8px}.doc-body h4{font-size:14px;font-weight:600;color:var(--sw-text);margin:16px 0 6px}.doc-body p{color:var(--sw-text-secondary);margin-bottom:14px;line-height:1.7}.doc-body ul,.doc-body ol{margin:8px 0 14px;padding-left:24px;list-style-position:outside;color:var(--sw-text-secondary)}.doc-body ul{list-style-type:disc}.doc-body ul ul{list-style-type:circle}.doc-body ul ul ul{list-style-type:square}.doc-body ol{list-style-type:decimal}.doc-body li{display:list-item;margin-bottom:6px;line-height:1.6}.doc-body strong{color:var(--sw-text);font-weight:600}.doc-body em{font-style:italic}.doc-body a{color:var(--sw-red);text-decoration:underline;text-decoration-color:#6b00284d}.doc-body a:hover{text-decoration-color:var(--sw-red)}.doc-body table{width:100%;border-collapse:collapse;margin:16px 0;border-radius:var(--sw-radius-sm);overflow:hidden;box-shadow:var(--sw-shadow-sm);display:block;overflow-x:auto}.doc-body th{background:var(--sw-red);color:#fff;font-size:12px;font-weight:600;padding:10px 14px;text-align:left;white-space:nowrap;border-right:1px solid rgba(255,255,255,.15)}.doc-body th:last-child{border-right:none}.doc-body td{padding:10px 14px;font-size:13px;border-bottom:1px solid var(--sw-border-light);border-right:1px solid var(--sw-border-light);color:var(--sw-text-secondary);vertical-align:top}.doc-body td:last-child{border-right:none}.doc-body tr:last-child td{border-bottom:none}.doc-body tr:nth-child(2n) td{background:var(--sw-bg)}.doc-body tr:hover td{background:#6b002805}.doc-body blockquote{border-left:3px solid var(--sw-gold);padding:8px 16px;margin:16px 0;background:var(--sw-gold-muted);border-radius:0 var(--sw-radius-sm) var(--sw-radius-sm) 0}.doc-body blockquote p{margin:0;color:var(--sw-text-secondary);font-style:italic}.doc-body code:not(pre code){background:var(--sw-border-light);color:var(--sw-red);font-family:JetBrains Mono,monospace;font-size:12px;padding:2px 6px;border-radius:4px}.doc-body pre{background:#1e1e1e;border-radius:var(--sw-radius-sm);padding:16px;overflow-x:auto;margin:16px 0}.doc-body pre code{font-family:JetBrains Mono,monospace;font-size:12.5px;line-height:1.6;color:#d4d4d4}.doc-body .callout{padding:14px 16px;border-radius:var(--sw-radius-sm);margin:16px 0;display:flex;gap:12px;align-items:flex-start}.doc-body .callout svg{flex-shrink:0;margin-top:1px}.doc-body .callout .callout-content{flex:1}.doc-body .callout .callout-content strong{display:block;margin-bottom:4px;font-size:13px}.doc-body .callout .callout-content p{margin:0;font-size:13px;line-height:1.5}.doc-body .callout.tip{background:var(--sw-green-muted);border-left:3px solid var(--sw-green)}.doc-body .callout.tip strong{color:#3d7a0e}.doc-body .callout.tip svg{color:var(--sw-green)}.doc-body .callout.warning{background:#fff3e0;border-left:3px solid #ff9800}.doc-body .callout.warning strong{color:#e65100}.doc-body .callout.warning svg{color:#ff9800}.doc-body .callout.info{background:#e8f0fe;border-left:3px solid #4285f4}.doc-body .callout.info strong{color:#1a56db}.doc-body .callout.info svg{color:#4285f4}.doc-body .callout.danger{background:#fce8e8;border-left:3px solid #ea4335}.doc-body .callout.danger strong{color:#c62828}.doc-body .callout.danger svg{color:#ea4335}.doc-body .code-block{position:relative;margin:16px 0;border-radius:var(--sw-radius-sm);overflow:hidden;box-shadow:var(--sw-shadow-sm)}.doc-body .code-block .code-block-header{background:#2d2d2d;padding:8px 14px;display:flex;align-items:center;justify-content:space-between}.doc-body .code-block .code-block-lang{font-size:11px;color:#ffffff80;font-family:JetBrains Mono,monospace;font-weight:500}.doc-body .code-block .code-block-copy{background:#ffffff1a;border:none;color:#fff9;font-size:11px;padding:3px 10px;border-radius:4px;cursor:pointer;transition:all .15s}.doc-body .code-block .code-block-copy:hover{background:#fff3;color:#fff}.doc-body .code-block pre{background:#1e1e1e;padding:16px;overflow-x:auto;margin:0;border-radius:0}.doc-body .code-block code{font-family:JetBrains Mono,monospace;font-size:12.5px;line-height:1.6;color:#d4d4d4}.doc-body .code-block .kw{color:#569cd6}.doc-body .code-block .str{color:#ce9178}.doc-body .code-block .cm{color:#6a9955}.doc-body .code-block .fn{color:#dcdcaa}.doc-body .code-block .num{color:#b5cea8}.form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-field label{font-size:12px;font-weight:600;color:var(--sw-text-secondary);text-transform:uppercase;letter-spacing:.04em}.form-field input,.form-field textarea,.form-field select{width:100%;padding:9px 12px;border:1px solid var(--sw-border);border-radius:var(--sw-radius-sm);font-family:inherit;font-size:13px;color:var(--sw-text);background:var(--sw-bg-card);outline:none;transition:all .15s}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--sw-red);box-shadow:0 0 0 3px var(--sw-red-muted)}.form-field input::placeholder,.form-field textarea::placeholder,.form-field select::placeholder{color:var(--sw-text-muted)}.form-field textarea{resize:vertical;min-height:80px}.toast{position:fixed;bottom:24px;right:24px;padding:12px 20px;background:var(--sw-text);color:#fff;border-radius:var(--sw-radius-sm);font-size:13px;font-weight:500;box-shadow:var(--sw-shadow-lg);z-index:9999;animation:slideInRight .25s ease-out}.toast.toast-success{background:#4f831b}.toast.toast-error{background:var(--sw-red)}.toast.toast-info{background:#4285f4}
