@font-face{font-family:Vazirmatn;src:url(/assets/fonts/vazirmatn.woff2) format("woff2-variations"),url(/assets/fonts/vazirmatn.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{color-scheme:dark;--bg: #0a0f14;--bg-deep: #06090d;--surface: #111827;--surface-2: #151f2e;--surface-3: #1c2839;--glass: rgba(15, 22, 33, .72);--glass-strong: rgba(13, 19, 28, .9);--line: rgba(148, 163, 184, .14);--line-strong: rgba(148, 163, 184, .28);--text: #e8eef5;--text-2: #bac6d3;--muted: #8d9bad;--green: #22c55e;--green-2: #4ade80;--cyan: #06b6d4;--cyan-2: #22d3ee;--amber: #f59e0b;--amber-2: #fbbf24;--rose: #fb7185;--rose-2: #f43f5e;--violet: #a78bfa;--green-a: rgba(34, 197, 94, .14);--cyan-a: rgba(6, 182, 212, .14);--amber-a: rgba(245, 158, 11, .14);--rose-a: rgba(244, 63, 94, .14);--violet-a: rgba(167, 139, 250, .14);--grad: linear-gradient(120deg, var(--green) 0%, var(--cyan) 100%);--grad-strong: linear-gradient(120deg, #34d399 0%, #22c55e 35%, #06b6d4 100%);--grad-soft: linear-gradient(135deg, rgba(34, 197, 94, .14), rgba(6, 182, 212, .14));--grad-line: linear-gradient(90deg, transparent, rgba(34, 197, 94, .6), rgba(6, 182, 212, .6), transparent);--glow-green: 0 0 0 1px rgba(34, 197, 94, .4), 0 0 26px rgba(34, 197, 94, .28);--glow-cyan: 0 0 0 1px rgba(6, 182, 212, .4), 0 0 26px rgba(6, 182, 212, .26);--shadow: 0 10px 30px rgba(0, 0, 0, .35);--shadow-lg: 0 28px 70px rgba(0, 0, 0, .55);--r-xs: 8px;--r-sm: 12px;--r: 16px;--r-lg: 22px;--r-xl: 30px;--font: "Vazirmatn", system-ui, -apple-system, "Segoe UI", Tahoma, sans-serif;--mono: ui-monospace, "Cascadia Code", "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;--container: 1200px;--gutter: clamp(16px, 4vw, 32px);--header-h: 68px;--ease: cubic-bezier(.2, .8, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg);-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}body{margin:0;min-height:100vh;font-family:var(--font);font-size:16px;line-height:1.85;color:var(--text);background-color:var(--bg);background-image:radial-gradient(1200px 600px at 85% -10%,rgba(6,182,212,.12),transparent 60%),radial-gradient(900px 520px at 0% 10%,rgba(34,197,94,.1),transparent 60%),linear-gradient(rgba(148,163,184,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.035) 1px,transparent 1px);background-size:auto,auto,44px 44px,44px 44px;background-attachment:fixed,fixed,fixed,fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}::selection{background:#22c55e59;color:#fff}h1,h2,h3,h4{margin:0 0 .5em;line-height:1.35;font-weight:800;letter-spacing:-.01em;color:#f4f8fb}h1{font-size:clamp(2rem,5.4vw,3.6rem);line-height:1.25}h2{font-size:clamp(1.5rem,3.4vw,2.3rem)}h3{font-size:clamp(1.1rem,2vw,1.3rem)}p{margin:0 0 1em}a{color:var(--cyan-2);text-decoration:none;transition:color .2s var(--ease)}a:hover{color:var(--green-2)}img,svg{max-width:100%}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}:focus{outline:none}:focus-visible{outline:2px solid var(--cyan-2);outline-offset:3px;border-radius:6px}ul,ol{margin:0;padding:0}code,kbd,pre,.mono{font-family:var(--mono)}hr{border:0;height:1px;background:var(--line);margin:24px 0}*{scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.28) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#94a3b83d;border-radius:10px;border:2px solid transparent;background-clip:padding-box}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:clamp(56px,8vw,104px);position:relative}.section-tight{padding-block:clamp(32px,5vw,56px)}.page{padding-top:clamp(28px,5vw,56px);padding-bottom:clamp(56px,8vw,96px);min-height:calc(100vh - var(--header-h) - 200px)}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;inset-inline-start:12px;top:-60px;z-index:1000;padding:10px 16px;border-radius:var(--r-sm);background:var(--green);color:#04130a;font-weight:700}.skip-link:focus{top:12px}.ltr{direction:ltr;unicode-bidi:isolate}.muted{color:var(--muted)}.text-2{color:var(--text-2)}.gradient-text{background:var(--grad-strong);-webkit-background-clip:text;background-clip:text;color:transparent}.nowrap{white-space:nowrap}.center{text-align:center}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.grid{display:grid;gap:20px}.grid-2{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.grid-3{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.grid-4{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}.mt-0{margin-top:0}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:40px}.mb-0{margin-bottom:0}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.btn{--btn-bg: var(--surface-2);--btn-fg: var(--text);--btn-bd: var(--line-strong);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 20px;border-radius:999px;border:1px solid var(--btn-bd);background:var(--btn-bg);color:var(--btn-fg);font-weight:700;font-size:.98rem;line-height:1.2;white-space:nowrap;text-decoration:none;cursor:pointer;isolation:isolate;transition:transform .25s var(--ease-spring),box-shadow .3s var(--ease),background .3s var(--ease),border-color .3s var(--ease),color .2s var(--ease);-webkit-tap-highlight-color:transparent}.btn svg{flex:none}.btn:hover{color:var(--btn-fg);border-color:#22c55e80;transform:translateY(-2px)}.btn:active{transform:translateY(0) scale(.98)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-primary{--btn-bg: var(--grad-strong);--btn-fg: #03130b;--btn-bd: transparent;box-shadow:0 8px 28px #22c55e52,inset 0 1px #ffffff59}.btn-primary:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.45) 50%,transparent 80%);background-size:220% 100%;background-position:120% 0;opacity:0;z-index:-1;transition:opacity .3s}.btn-primary:hover{border-color:transparent;box-shadow:0 12px 38px #22c55e73,0 0 0 4px #22c55e24,inset 0 1px #fff6}.btn-primary:hover:after{opacity:1;animation:sheen 1.1s var(--ease) forwards}.btn-outline{--btn-bg: rgba(34, 197, 94, .06);--btn-bd: rgba(34, 197, 94, .45);--btn-fg: var(--green-2)}.btn-outline:hover{--btn-bg: rgba(34, 197, 94, .12);box-shadow:var(--glow-green)}.btn-ghost{--btn-bg: transparent;--btn-bd: transparent;--btn-fg: var(--text-2)}.btn-ghost:hover{--btn-bg: rgba(148, 163, 184, .08);--btn-fg: var(--text);border-color:transparent}.btn-cyan{--btn-bg: rgba(6, 182, 212, .1);--btn-bd: rgba(6, 182, 212, .45);--btn-fg: var(--cyan-2)}.btn-cyan:hover{border-color:#06b6d4b3;box-shadow:var(--glow-cyan)}.btn-danger{--btn-bg: rgba(244, 63, 94, .1);--btn-bd: rgba(244, 63, 94, .5);--btn-fg: #fda4af}.btn-danger:hover{border-color:#f43f5ecc;box-shadow:0 0 0 1px #f43f5e66,0 0 24px #f43f5e40}.btn-sm{min-height:36px;padding:6px 14px;font-size:.88rem}.btn-lg{min-height:54px;padding:12px 28px;font-size:1.05rem}.btn-block{width:100%}.btn-icon{width:42px;min-height:42px;padding:0;border-radius:50%}.btn.is-busy{pointer-events:none;color:transparent!important}.btn.is-busy:before{content:"";position:absolute;width:20px;height:20px;border-radius:50%;border:2.5px solid currentColor;border-color:rgba(3,19,11,.85) rgba(3,19,11,.85) transparent transparent;animation:spin .8s linear infinite}.btn.is-busy:not(.btn-primary):before{border-color:var(--green-2) var(--green-2) transparent transparent}.card{position:relative;background:linear-gradient(180deg,#151f2ed1,#0f1621d1);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(18px,3vw,28px);box-shadow:var(--shadow);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.card-hover{transition:transform .35s var(--ease-out),border-color .35s var(--ease),box-shadow .35s var(--ease)}.card-hover:hover{transform:translateY(-4px);border-color:#22c55e59;box-shadow:var(--shadow-lg),0 0 0 1px #22c55e1f,0 0 40px #06b6d414}.glow-border{border-color:transparent;background:linear-gradient(180deg,#131c29f5,#0d131cf5) padding-box,conic-gradient(from var(--angle, 0deg),rgba(34,197,94,.7),rgba(6,182,212,.25),rgba(6,182,212,.8),rgba(34,197,94,.2),rgba(34,197,94,.7)) border-box;animation:border-spin 8s linear infinite}@property --angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.panel{background:#0a0f1499;border:1px solid var(--line);border-radius:var(--r);padding:16px}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;border-radius:999px;border:1px solid rgba(34,197,94,.3);background:#22c55e14;color:var(--green-2);font-size:.82rem;font-weight:700;margin-bottom:14px}.section-head{max-width:720px;margin-bottom:clamp(28px,4vw,44px)}.section-head.is-center{margin-inline:auto;text-align:center}.section-head p{color:var(--text-2);font-size:1.05rem;margin:0}.page-head{margin-bottom:clamp(24px,4vw,40px)}.page-head h1{font-size:clamp(1.8rem,4.4vw,2.8rem)}.page-head p{color:var(--text-2);max-width:720px;font-size:1.05rem}.chip{--chip-c: var(--text-2);--chip-bg: rgba(148, 163, 184, .1);display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border-radius:999px;background:var(--chip-bg);color:var(--chip-c);border:1px solid color-mix(in srgb,var(--chip-c) 30%,transparent);font-size:.8rem;font-weight:700;line-height:1.7;white-space:nowrap}.chip-ok{--chip-c: var(--green-2);--chip-bg: var(--green-a)}.chip-info{--chip-c: var(--cyan-2);--chip-bg: var(--cyan-a)}.chip-warn{--chip-c: var(--amber-2);--chip-bg: var(--amber-a)}.chip-bad{--chip-c: #fda4af;--chip-bg: var(--rose-a)}.chip-violet{--chip-c: #c4b5fd;--chip-bg: var(--violet-a)}.chip-glow{box-shadow:0 0 18px color-mix(in srgb,var(--chip-c) 35%,transparent)}.dot{--dot-c: var(--green);position:relative;display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--dot-c);box-shadow:0 0 10px var(--dot-c);flex:none}.dot:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px solid var(--dot-c);opacity:0;animation:ping-ring 2s var(--ease-out) infinite}.dot.is-warn{--dot-c: var(--amber)}.dot.is-bad{--dot-c: var(--rose-2)}.dot.is-idle:after{animation:none}.field{display:flex;flex-direction:column;gap:6px}.label{font-weight:700;font-size:.92rem;color:var(--text-2)}.input,.textarea{width:100%;min-height:50px;padding:12px 16px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:#06090d99;color:var(--text);font-size:1rem;transition:border-color .2s var(--ease),box-shadow .25s var(--ease),background .2s}.input::placeholder,.textarea::placeholder{color:#5f6d7f}.input:hover,.textarea:hover{border-color:#94a3b86b}.input:focus,.textarea:focus{border-color:var(--green);box-shadow:0 0 0 4px #22c55e29,0 0 24px #22c55e1f;background:#06090dd9}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:#f43f5eb3;box-shadow:0 0 0 4px #f43f5e1f}.input-ltr{direction:ltr;text-align:left;font-family:var(--mono);letter-spacing:.04em}.input-ltr::placeholder{font-family:var(--font);letter-spacing:0;text-align:right}.textarea{min-height:140px;resize:vertical;line-height:1.8}.hint{font-size:.84rem;color:var(--muted)}.field-error{font-size:.85rem;color:#fda4af}.alert{--al-c: var(--cyan-2);display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--r);border:1px solid color-mix(in srgb,var(--al-c) 35%,transparent);background:color-mix(in srgb,var(--al-c) 9%,rgba(10,15,20,.7));color:var(--text);font-size:.95rem;line-height:1.8}.alert>svg{color:var(--al-c);margin-top:3px}.alert p{margin:0}.alert-error{--al-c: #fb7185}.alert-warn{--al-c: var(--amber-2)}.alert-ok{--al-c: var(--green-2)}.skeleton{position:relative;overflow:hidden;border-radius:var(--r-sm);background:#94a3b814;min-height:16px}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(100%);background:linear-gradient(90deg,transparent,rgba(148,163,184,.1),rgba(34,197,94,.08),transparent);animation:shimmer 1.5s infinite}.meter{--m-c: var(--green);position:relative;height:6px;border-radius:999px;background:#94a3b824;overflow:hidden}.meter>span{position:absolute;inset-block:0;inset-inline-start:0;border-radius:inherit;background:linear-gradient(90deg,var(--m-c),color-mix(in srgb,var(--m-c) 60%,var(--cyan)));box-shadow:0 0 12px var(--m-c);transition:width 1s var(--ease-out)}.meter.is-mid{--m-c: var(--amber)}.meter.is-high{--m-c: var(--rose-2)}.term{position:relative;border-radius:var(--r);border:1px solid rgba(34,197,94,.22);background:linear-gradient(180deg,rgba(34,197,94,.05),transparent 40%),#05080b;font-family:var(--mono);font-size:.85rem;color:#a7f3d0;direction:ltr;text-align:left;overflow:hidden}.term-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid rgba(34,197,94,.14);color:var(--muted);font-size:.75rem}.term-bar i{width:9px;height:9px;border-radius:50%;background:#334155;display:inline-block}.term-bar i:nth-child(1){background:#f43f5e}.term-bar i:nth-child(2){background:#f59e0b}.term-bar i:nth-child(3){background:#22c55e}.term-body{padding:12px 14px;overflow-x:auto;white-space:pre;line-height:1.7}.caret{display:inline-block;width:.55em;height:1.05em;vertical-align:-.15em;background:var(--green-2);margin-inline-start:2px;animation:blink 1s steps(1) infinite}kbd{display:inline-block;padding:1px 7px;border-radius:6px;border:1px solid var(--line-strong);border-bottom-width:2px;background:var(--surface-2);font-size:.8rem;direction:ltr}.segmented{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:999px;border:1px solid var(--line);background:#06090d99}.segmented button{border:0;background:transparent;color:var(--text-2);padding:7px 16px;border-radius:999px;font-weight:700;font-size:.9rem;transition:background .25s var(--ease),color .2s}.segmented button:hover{color:var(--text)}.segmented button[aria-pressed=true],.segmented button[aria-selected=true]{background:var(--grad-strong);color:#03130b;box-shadow:0 4px 18px #22c55e4d}.table-wrap{overflow-x:auto;border-radius:var(--r-lg);border:1px solid var(--line);background:#0a0f148c}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:.92rem}.table th,.table td{padding:14px 16px;text-align:start;border-bottom:1px solid var(--line);vertical-align:top}.table thead th{position:sticky;top:0;background:#0e1520;color:var(--text);font-weight:800}.table tbody tr:hover td{background:#22c55e08}.table tr:last-child td{border-bottom:0}.kv{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;margin:0}.kv dt{color:var(--muted);font-size:.9rem}.kv dd{margin:0;font-weight:700;text-align:end}.divider{height:1px;background:var(--grad-line);border:0;margin:24px 0;opacity:.6}.code-tag{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:var(--r-xs);background:#06b6d41a;border:1px dashed rgba(6,182,212,.45);font-family:var(--mono);font-size:.92em;color:var(--cyan-2);direction:ltr;unicode-bidi:isolate;letter-spacing:.04em}.icon-tile{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--grad-soft);border:1px solid rgba(34,197,94,.25);color:var(--green-2);flex:none;box-shadow:inset 0 0 18px #22c55e14}.empty{text-align:center;padding:40px 20px;color:var(--text-2)}.empty .icon-tile{margin:0 auto 14px;width:64px;height:64px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{transform:translate(100%)}to{transform:translate(-100%)}}@keyframes sheen{0%{background-position:120% 0}to{background-position:-120% 0}}@keyframes blink{50%{opacity:0}}@keyframes ping-ring{0%{transform:scale(.6);opacity:.9}80%,to{transform:scale(2.2);opacity:0}}@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:none}}@keyframes border-spin{to{--angle: 360deg}}@keyframes breathe{0%,to{opacity:.55}50%{opacity:1}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(50%)}}.reveal-armed{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out);transition-delay:var(--reveal-delay, 0ms)}.reveal-armed.is-visible{opacity:1;transform:none}.anim-fade-up{animation:fade-up .7s var(--ease-out) both}.anim-pop{animation:pop-in .5s var(--ease-out) both}::view-transition-old(root){animation:.22s var(--ease) both vt-out}::view-transition-new(root){animation:.38s var(--ease-out) both vt-in}@keyframes vt-out{to{opacity:0;transform:translateY(-6px)}}@keyframes vt-in{0%{opacity:0;transform:translateY(10px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal-armed{opacity:1;transform:none}::view-transition-old(root),::view-transition-new(root){animation:none}}@media print{:root{--text: #111;--text-2: #333;--muted: #555;--line: #ccc}html,body{background:#fff!important;color:#111!important}.no-print,app-header,app-footer,.demo-banner,.toasts{display:none!important}.card{background:#fff!important;border:1px solid #ccc!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}h1,h2,h3{color:#111!important}.gradient-text{color:#111!important;background:none!important}}
