@font-face{font-family:Vazirmatn;font-weight:100 900;font-display:swap;src:url(/fonts/vazirmatn-arabic-wght-normal.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+08a0-08ff,u+200c-200e,u+fb50-fdff,u+fe70-fefc}@font-face{font-family:Vazirmatn;font-weight:100 900;font-display:swap;src:url(/fonts/vazirmatn-latin-wght-normal.woff2) format("woff2");unicode-range:u+00??,u+2000-206f}@font-face{font-family:Geist;font-weight:100 900;font-display:swap;src:url(/fonts/geist-latin-wght-normal.woff2) format("woff2")}@font-face{font-family:Geist Mono;font-weight:100 900;font-display:swap;src:url(/fonts/geist-mono-latin-wght-normal.woff2) format("woff2")}:root{--primary:#6557F5;--primary-hover:#5446E8;--accent-ink:#4F43E0;--navy:#0B1020;--cyan:#27C9E8;--bg:#F8FAFC;--surface:#FFFFFF;--ink:#0B1020;--ink-2:#334155;--muted:#475569;--muted-2:#64748B;--line:rgba(11,16,32,.09);--line-2:rgba(11,16,32,.14);--chip:#F1F5F9;--soft:#F1EFFF;--ok:#15803D;--ok-bg:rgba(34,197,94,.12);--warn:#92400E;--warn-bg:#FEF3C7;--bad:#B91C1C;--bad-bg:rgba(220,38,38,.08);--font:"Vazirmatn","Geist",system-ui,sans-serif;--latin:"Geist","Vazirmatn",system-ui,sans-serif;--mono:"Geist Mono",ui-monospace,monospace;--r:12px;--shadow:0 18px 40px rgba(11,16,32,.08)}*{box-sizing:border-box}body,html{margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.8;-webkit-font-smoothing:antialiased}html[lang=en] body{font-family:var(--latin)}a{color:var(--accent-ink);text-decoration:none}a:hover{color:var(--primary)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:8px}h1,h2,h3{margin:0;line-height:1.4}.mono{font-family:var(--mono)}.ltr,.mono{direction:ltr;unicode-bidi:-webkit-isolate;unicode-bidi:isolate}.muted{color:var(--muted)}.small{font-size:13px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.side{position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:auto;background:var(--surface);-webkit-border-end:1px solid var(--line);border-inline-end:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;gap:18px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--ink)}.brand img{width:30px;height:30px}.brand small{display:block;font-family:var(--latin);font-size:10.5px;letter-spacing:.12em;color:var(--muted);font-weight:500}.nav{display:grid;grid-gap:2px;gap:2px}.nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;color:var(--ink-2);font-size:14.5px}.nav a:hover{background:var(--chip);color:var(--ink)}.nav a[aria-current=page]{background:var(--soft);color:var(--accent-ink);font-weight:600}.ico{width:18px;height:18px;flex:none}.side-foot{margin-top:auto;display:grid;grid-gap:8px;gap:8px;font-size:13px}.main{min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 28px;border-bottom:1px solid var(--line);background:rgba(248,250,252,.9);position:-webkit-sticky;position:sticky;top:0;z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.content{padding:28px;max-width:1200px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}.page-head h1{font-size:26px;font-weight:800}.page-head p{margin:4px 0 0;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px}.grid,.grid-3{display:grid;grid-gap:16px;gap:16px}.grid-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.grid-2{display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.stat b{display:block;font-family:var(--latin);font-size:28px;font-weight:700;line-height:1.3}.stat span{color:var(--muted);font-size:13.5px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border-radius:10px;border:1px solid transparent;font-weight:600;font-size:14.5px;cursor:pointer;background:var(--chip);color:var(--ink);white-space:nowrap}.btn:hover{background:#E8EDF3}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 6px 18px rgba(101,87,245,.28)}.btn-primary:hover{background:var(--primary-hover);color:#fff}.btn-ghost{background:transparent;border-color:var(--line-2)}.btn-danger{background:var(--bad-bg);color:var(--bad)}.btn-sm{padding:5px 10px;font-size:13px;border-radius:8px}.btn[disabled]{opacity:.5;cursor:not-allowed}.field{display:grid;grid-gap:5px;gap:5px}.field label{font-size:13.5px;font-weight:600}.input,.select,.textarea{width:100%;padding:9px 11px;border:1px solid var(--line-2);border-radius:10px;background:#fff;font-size:14.5px}.textarea{min-height:110px;resize:vertical;line-height:1.8}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(101,87,245,.15)}.form{display:grid;grid-gap:14px;gap:14px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:start;font-weight:600;color:var(--muted);font-size:12.5px;padding:10px 12px}.table td,.table th{border-bottom:1px solid var(--line)}.table td{padding:11px 12px;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:auto}.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;background:var(--chip);color:var(--ink-2);white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}.b-ok{background:var(--ok-bg);color:var(--ok)}.b-run{background:var(--soft);color:var(--accent-ink)}.b-bad{background:var(--bad-bg);color:var(--bad)}.b-warn{background:var(--warn-bg);color:var(--warn)}.alert{padding:12px 14px;border-radius:12px;font-size:14px;border:1px solid}.alert-warn{background:var(--warn-bg);color:var(--warn);border-color:rgba(146,64,14,.2)}.alert-bad{background:var(--bad-bg);color:var(--bad);border-color:rgba(185,28,28,.2)}.alert-info{background:var(--soft);color:var(--accent-ink);border-color:rgba(101,87,245,.25)}.state{text-align:center;padding:48px 20px;color:var(--muted)}.state b{display:block;color:var(--ink);font-size:17px;margin-bottom:4px}.skeleton{height:14px;border-radius:6px;background:linear-gradient(90deg,#EEF2F7,#F8FAFC,#EEF2F7);background-size:200% 100%;animation:sk 1.2s infinite}@keyframes sk{to{background-position:-200% 0}}.timeline{list-style:none;margin:0;padding:0;display:grid;grid-gap:0;gap:0}.timeline li{display:grid;grid-template-columns:54px 120px minmax(0,1fr);grid-gap:12px;gap:12px;padding:10px 4px;border-bottom:1px dashed var(--line);font-size:13.5px}.timeline .seq{font-family:var(--mono);color:var(--muted-2)}.timeline pre{margin:0;white-space:pre-wrap;word-break:break-word;font-size:12.5px;text-align:left}.secret-once,.timeline pre{font-family:var(--mono);direction:ltr}.secret-once{padding:12px;border-radius:10px;background:var(--navy);color:#C7F9E2;word-break:break-all}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(closest-side,rgba(101,87,245,.12),transparent 70%) 80% 10% /60% 60% no-repeat,var(--bg)}.auth-card{width:min(420px,100%)}.demo-banner{background:var(--warn-bg);color:var(--warn);font-size:13px;padding:6px 28px;border-bottom:1px solid rgba(146,64,14,.15)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px}.tabs button{background:none;border:0;padding:10px 14px;cursor:pointer;color:var(--muted);border-bottom:2px solid transparent;font-weight:600}.tabs button[aria-selected=true]{color:var(--accent-ink);border-color:var(--primary)}@media (max-width:900px){.shell{grid-template-columns:1fr}.side{position:static;height:auto;gap:10px;padding:12px 16px}.nav{grid-auto-columns:max-content;overflow-x:auto;padding-bottom:4px}.nav,.side-foot{grid-auto-flow:column}.side-foot{margin-top:0;justify-content:start;align-items:center}.grid-2{grid-template-columns:1fr}.content,.topbar{padding-inline:16px}.timeline li{grid-template-columns:40px 1fr}.timeline li>:last-child{grid-column:1/-1}}