:root {
  --bg: #0b0c0f;
  --bg-soft: #111218;
  --surface: rgba(20, 21, 27, .88);
  --surface-2: #17181f;
  --surface-3: #1c1d25;
  --line: rgba(255, 255, 255, .09);
  --line-strong: rgba(255, 255, 255, .15);
  --text: #f6f7fb;
  --muted: #9b9dab;
  --muted-2: #747784;
  --fire: #ff5b34;
  --fire-2: #ff8a3d;
  --fire-soft: rgba(255, 91, 52, .12);
  --green: #5de39a;
  --green-soft: rgba(93, 227, 154, .11);
  --blue: #77aaff;
  --blue-soft: rgba(119, 170, 255, .1);
  --yellow: #ffd166;
  --max: 1540px;
  --sidebar: 264px;
  --toc: 180px;
  --top: 74px;
  --radius: 20px;
  color-scheme: dark;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  background:
    radial-gradient(circle at 8% 0%, rgba(255, 91, 52, .12), transparent 28rem),
    radial-gradient(circle at 92% 18%, rgba(255, 138, 61, .055), transparent 26rem),
    var(--bg);
  color: var(--text);
  font: 400 15px/1.75 Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow-x: hidden;
}
body.lang-fa { font-family: Vazirmatn, Tahoma, sans-serif; }
a { color: inherit; }
button, input { font: inherit; }
code, pre, kbd { direction: ltr; text-align: left; font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; }
::selection { background: rgba(255, 91, 52, .28); color: #fff; }

.docs-noise {
  position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .38;
  background-image:
    linear-gradient(rgba(255,255,255,.012) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.012) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(to bottom, #000 0%, transparent 86%);
}

.docs-topbar {
  position: sticky; top: 0; z-index: 1000;
  height: var(--top);
  display: flex; align-items: center; gap: 20px;
  padding: 0 max(22px, calc((100vw - var(--max)) / 2));
  border-bottom: 1px solid var(--line);
  background: rgba(11, 12, 15, .87);
  backdrop-filter: blur(22px) saturate(130%);
  -webkit-backdrop-filter: blur(22px) saturate(130%);
}
.docs-brand { display: inline-flex; align-items: center; gap: 11px; min-width: var(--sidebar); text-decoration: none; }
.docs-brand-mark { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(255,91,52,.24); border-radius: 12px; background: linear-gradient(145deg, rgba(255,91,52,.16), rgba(255,138,61,.04)); box-shadow: inset 0 1px rgba(255,255,255,.05); }
.docs-brand-mark img { max-width: 27px; max-height: 27px; object-fit: contain; filter: drop-shadow(0 4px 9px rgba(255,91,52,.28)); }
.docs-brand-copy { display: grid; line-height: 1.15; }
.docs-brand-copy strong { letter-spacing: .08em; font-size: 14px; }
.docs-brand-copy small { margin-top: 4px; color: var(--muted-2); font-size: 13px; letter-spacing: .03em; }
.version-pill { margin-inline-start: 2px; padding: 4px 7px; border-radius: 999px; color: #ffb19b; background: var(--fire-soft); border: 1px solid rgba(255,91,52,.18); font-size: 13px; font-weight: 700; }
.docs-top-actions { margin-inline-start: auto; display: flex; align-items: center; gap: 7px; }
.top-action, .docs-language > summary { min-height: 38px; display: inline-flex; align-items: center; gap: 7px; padding: 0 11px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.025); color: #d6d7df; text-decoration: none; font-size: 13px; font-weight: 600; transition: .18s ease; }
.top-action:hover, .docs-language > summary:hover { color: #fff; border-color: var(--line-strong); background: rgba(255,255,255,.055); transform: translateY(-1px); }
.top-action.github { border-color: rgba(255,91,52,.22); background: var(--fire-soft); color: #ffad98; }
.docs-language { position: relative; }
.docs-language > summary { list-style: none; cursor: pointer; }
.docs-language > summary::-webkit-details-marker { display: none; }
.docs-language .flag { font-size: 15px; }
.docs-language .chevron { color: var(--muted-2); transition: transform .18s ease; }
.docs-language[open] .chevron { transform: rotate(180deg); }
.docs-language-menu { position: absolute; top: calc(100% + 9px); inset-inline-end: 0; min-width: 160px; display: grid; gap: 4px; padding: 7px; border: 1px solid var(--line); border-radius: 13px; background: #15161c; box-shadow: 0 18px 50px rgba(0,0,0,.45); }
.docs-language-menu a { display: grid; grid-template-columns: 24px 1fr 16px; gap: 8px; align-items: center; padding: 9px 10px; border-radius: 9px; color: #c9cad2; text-decoration: none; font-size: 13px; }
.docs-language-menu a:hover, .docs-language-menu a.active { background: rgba(255,255,255,.06); color: #fff; }
.docs-language-menu a i { color: var(--green); font-style: normal; }
.docs-menu-button { display: none; width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.03); padding: 10px; cursor: pointer; }
.docs-menu-button :is(i,.svg-inline--fa) { color:#eee; font-size:18px; }

.docs-shell { width: min(var(--max), calc(100% - 44px)); margin: 0 auto; display: grid; grid-template-columns: var(--sidebar) minmax(0,1fr) var(--toc); gap: 34px; align-items: start; }
.docs-sidebar { position: sticky; top: calc(var(--top) + 18px); height: calc(100vh - var(--top) - 36px); padding: 2px 18px 18px 0; border-inline-end: 1px solid var(--line); overflow: auto; scrollbar-width: thin; scrollbar-color: #343640 transparent; }
.lang-fa .docs-sidebar { padding: 2px 0 18px 18px; }
.sidebar-search { position: relative; display: flex; align-items: center; gap: 8px; margin-bottom: 20px; padding: 0 10px; min-height: 40px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.025); color: var(--muted-2); }
.sidebar-search input { width: 100%; min-width: 0; border: 0; outline: 0; color: #e7e7ec; background: transparent; font-size: 13px; }
.sidebar-search input::placeholder { color: #666976; }
.sidebar-search kbd { min-width: 21px; height: 21px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 5px; background: rgba(255,255,255,.035); color: #787b87; font-size: 13px; }
.docs-nav { display: grid; }
.docs-nav p { margin: 19px 8px 7px; color: #5f626e; font-size: 13px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.docs-nav a { position: relative; display: flex; align-items: center; gap: 9px; min-height: 36px; padding: 7px 9px; border-radius: 9px; color: #999ba6; text-decoration: none; font-size: 13px; font-weight: 500; transition: .16s ease; }
.docs-nav a span { min-width: 20px; color: #555864; font-size: 13px; font-family: Inter, sans-serif; }
.docs-nav a:hover { color: #e4e5e9; background: rgba(255,255,255,.035); }
.docs-nav a.active { color: #fff; background: linear-gradient(90deg, rgba(255,91,52,.12), rgba(255,91,52,.025)); }
.docs-nav a.active::before { content: ""; position: absolute; inset-inline-start: -1px; width: 2px; height: 19px; border-radius: 99px; background: var(--fire); box-shadow: 0 0 12px rgba(255,91,52,.65); }
.docs-nav a.active span { color: #ff8b6d; }
.sidebar-card { margin-top: 24px; display: flex; gap: 10px; align-items: flex-start; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.025); }
.status-dot { width: 8px; height: 8px; margin-top: 6px; flex: 0 0 auto; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(93,227,154,.08), 0 0 12px rgba(93,227,154,.35); }
.sidebar-card div { display: grid; }
.sidebar-card b { color: #d7d8de; font-size: 13px; }
.sidebar-card small { margin-top: 3px; color: #696c77; font-size: 13px; line-height: 1.5; }

.docs-main { min-width: 0; padding: 46px 0 80px; }
.docs-hero { min-height: 470px; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px,.75fr); gap: 40px; align-items: center; padding: 42px; border: 1px solid var(--line); border-radius: 26px; overflow: hidden; position: relative; background: linear-gradient(135deg, rgba(255,91,52,.075), rgba(255,255,255,.018) 43%, rgba(255,138,61,.025)); }
.docs-hero::after { content:""; position:absolute; width: 330px; height:330px; inset-inline-end:-170px; top:-170px; border-radius:50%; border: 1px solid rgba(255,91,52,.09); box-shadow: 0 0 0 45px rgba(255,91,52,.018), 0 0 0 90px rgba(255,91,52,.012); }
.hero-copy { position: relative; z-index: 1; }
.eyebrow { width: fit-content; display:flex; align-items:center; gap:8px; margin-bottom:20px; padding:6px 9px; border:1px solid rgba(255,91,52,.16); border-radius:999px; background:rgba(255,91,52,.06); color:#b6b8c1; font-size:13px; font-weight:600; }
.eyebrow b { color:#ff987d; }
.live-dot { width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 9px rgba(93,227,154,.7); }
.docs-hero h1 { max-width: 850px; margin:0; color:#fff; font-size:clamp(36px,4.1vw,64px); line-height:1.08; letter-spacing:-.045em; }
.lang-fa .docs-hero h1 { letter-spacing:-.025em; line-height:1.35; }
.docs-hero p { max-width: 780px; margin:22px 0 0; color:#a8aab4; font-size:14px; line-height:1.9; }
.hero-pills { display:flex; flex-wrap:wrap; gap:7px; margin-top:24px; }
.hero-pills span, .mini-pills i { padding:6px 9px; border:1px solid var(--line); border-radius:8px; background:rgba(255,255,255,.025); color:#bfc0c8; font:600 13px/1 Inter,sans-serif; font-style:normal; }
.hero-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:28px; }
.primary-button, .secondary-button { min-height:43px; display:inline-flex; align-items:center; justify-content:center; gap:11px; padding:0 15px; border-radius:11px; text-decoration:none; font-size:13px; font-weight:700; }
.primary-button { color:#fff; background:linear-gradient(135deg,#ff5b34,#e84526); box-shadow:0 12px 30px rgba(255,91,52,.18); }
.primary-button span { font: 18px/1 Inter,sans-serif; }
.lang-fa .primary-button span { transform:rotate(180deg); }
.secondary-button { color:#d4d5dc; border:1px solid var(--line); background:rgba(255,255,255,.025); }
.primary-button:hover, .secondary-button:hover { filter:brightness(1.08); transform:translateY(-1px); }
.hero-console { position:relative; z-index:1; border:1px solid var(--line); border-radius:16px; overflow:hidden; background:#0d0e12; box-shadow:0 28px 70px rgba(0,0,0,.3); direction:ltr; }
.console-head { height:40px; display:flex; align-items:center; gap:6px; padding:0 12px; border-bottom:1px solid var(--line); background:#131419; }
.console-head > span { width:7px; height:7px; border-radius:50%; background:#393b45; }
.console-head > span:first-child { background:#ff6b58; }.console-head > span:nth-child(2){background:#ffd166}.console-head > span:nth-child(3){background:#5de39a}
.console-head b { margin-left:auto; color:#626571; font-size:13px; font-weight:600; letter-spacing:.06em; }
.console-body { padding:18px 20px 22px; }
.console-body p { display:grid; grid-template-columns:16px 95px 1fr; gap:4px; margin:5px 0; color:#777a86; font:500 13px/1.7 "SFMono-Regular",Consolas,monospace; }
.console-body p i { color:#ff7452; font-style:normal; }.console-body p strong { color:#dfe0e5; font-weight:600; }.console-body p em { color:#81d8ad; font-style:normal; }

.release-note { display:grid; grid-template-columns:52px 1fr auto; gap:16px; align-items:center; margin:18px 0 58px; padding:15px 17px; border:1px solid rgba(255,91,52,.13); border-radius:15px; background:linear-gradient(90deg,rgba(255,91,52,.075),rgba(255,255,255,.012)); }
.release-icon { width:46px; height:46px; display:grid; place-items:center; border-radius:12px; background:var(--fire-soft); color:#ff8c70; font:800 13px/1 Inter,sans-serif; }
.release-note strong { font-size:13px; }.release-note p { margin:4px 0 0; color:#858893; font-size:13px; line-height:1.7; }
.release-note > a { color:#ff987d; text-decoration:none; font-size:13px; font-weight:700; white-space:nowrap; }

.doc-section { margin-top: 72px; padding-top: 8px; }
.section-heading { display:flex; align-items:flex-start; gap:14px; margin-bottom:20px; }
.section-heading > span { width:34px; height:34px; flex:0 0 auto; display:grid; place-items:center; border:1px solid rgba(255,91,52,.14); border-radius:10px; background:var(--fire-soft); color:#ff8c70; font:800 13px/1 Inter,sans-serif; }
.section-heading p { margin:0 0 2px; color:#686b77; font-size:13px; font-weight:600; }.section-heading h2 { margin:0; color:#f5f5f8; font-size:clamp(24px,2.1vw,32px); line-height:1.3; letter-spacing:-.025em; }.lang-fa .section-heading h2 { letter-spacing:-.015em; }
.section-lead { max-width:920px; margin:0 0 24px; color:#9597a2; font-size:13px; line-height:1.95; }
.subheading { margin:34px 0 13px; color:#e5e6ea; font-size:14px; }

.architecture-grid, .config-grid, .feature-grid, .upgrade-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.architecture-grid article, .config-grid article, .feature-grid article, .upgrade-grid article { padding:20px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.018); }
.folder { display:inline-flex; padding:5px 8px; border-radius:7px; background:var(--blue-soft); color:#95bbff; font:700 13px/1 Inter,sans-serif; }
.architecture-grid h3, .config-grid h3, .feature-grid h3, .upgrade-grid h3 { margin:13px 0 7px; color:#e9e9ee; font-size:13px; }
.architecture-grid p, .feature-grid p, .upgrade-grid p { margin:0; color:#858793; font-size:13px; line-height:1.8; }
.architecture-grid code { color:#d4d6df; font-size:13px; }
.manifest-strip { margin-top:11px; display:flex; align-items:center; gap:14px; padding:13px 15px; border:1px dashed rgba(255,255,255,.11); border-radius:12px; background:rgba(255,255,255,.012); }
.manifest-strip span { color:#ff957b; font:700 13px/1 Inter,sans-serif; }.manifest-strip code { color:#777a87; font-size:13px; overflow-wrap:anywhere; }

.requirement-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.requirement-card { min-height:190px; display:flex; flex-direction:column; padding:20px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.018); }
.req-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }.req-top strong { font:800 15px/1 Inter,sans-serif; }.req-top span { padding:5px 7px; border-radius:7px; font-size:13px; font-weight:700; }
.requirement-card.required .req-top span { color:#80e8ae; background:var(--green-soft); }.requirement-card.conditional .req-top span { color:#ffcf77; background:rgba(255,209,102,.09); }.requirement-card.framework .req-top span { color:#9fbeff; background:var(--blue-soft); }
.requirement-card p { margin:16px 0; color:#8c8e99; font-size:13px; line-height:1.85; }.requirement-card a { margin-top:auto; color:#ff8d72; text-decoration:none; font-size:13px; font-weight:700; }.mini-pills { display:flex; flex-wrap:wrap; gap:5px; margin-top:auto; }

.notice { display:flex; gap:12px; align-items:flex-start; margin:20px 0; padding:15px 16px; border-radius:14px; }
.notice > b { width:28px; height:28px; flex:0 0 auto; display:grid; place-items:center; border-radius:8px; font:800 13px/1 Inter,sans-serif; }
.notice strong { color:#dedfe5; font-size:13px; }.notice p { margin:4px 0 0; color:#858793; font-size:13px; line-height:1.75; }
.notice.warning { border:1px solid rgba(255,209,102,.15); background:rgba(255,209,102,.055); }.notice.warning > b { color:#ffd979; background:rgba(255,209,102,.1); }
.notice.info { border:1px solid rgba(119,170,255,.15); background:var(--blue-soft); }.notice.info > b { color:#9abaff; background:rgba(119,170,255,.11); }

.steps { margin:28px 0 0; padding:0; list-style:none; counter-reset:step; }
.steps > li { position:relative; display:grid; grid-template-columns:42px 1fr; gap:15px; padding-bottom:30px; }
.steps > li:not(:last-child)::before { content:""; position:absolute; top:43px; bottom:4px; inset-inline-start:20px; width:1px; background:linear-gradient(var(--line-strong),transparent); }
.steps > li > span { width:42px; height:42px; z-index:1; display:grid; place-items:center; border:1px solid rgba(255,91,52,.16); border-radius:12px; background:#17151a; color:#ff8c70; font:800 13px/1 Inter,sans-serif; }
.steps h3 { margin:2px 0 6px; color:#e9e9ed; font-size:14px; }.steps p { max-width:900px; margin:0 0 8px; color:#8c8e99; font-size:13px; line-height:1.85; }.steps a { color:#ff8e73; text-decoration:none; font-size:13px; font-weight:700; }
.code-block { margin:12px 0 8px; border:1px solid var(--line); border-radius:13px; overflow:hidden; background:#0c0d11; direction:ltr; }
.code-head { height:36px; display:flex; align-items:center; justify-content:space-between; padding:0 11px; border-bottom:1px solid var(--line); background:#121318; color:#666975; font:600 13px/1 Inter,sans-serif; }
.code-head button { border:0; border-radius:7px; padding:5px 8px; background:rgba(255,255,255,.05); color:#9699a3; font-size:13px; cursor:pointer; }.code-head button:hover { color:#fff; background:rgba(255,91,52,.12); }
.code-block pre { margin:0; padding:16px; overflow:auto; }.code-block code { color:#bdc9c1; font-size:13px; line-height:1.75; }.code-note { color:#696c78 !important; font-size:13px !important; }

.config-grid article { padding:17px; }.config-grid h3 { margin:0 0 12px; color:#ff947a; font:700 13px/1 Inter,sans-serif; }
dl { margin:0; } dl div { display:flex; justify-content:space-between; gap:16px; padding:7px 0; border-top:1px solid rgba(255,255,255,.055); } dl div:first-child { border-top:0; } dt { color:#777a86; font:500 13px/1.6 Inter,sans-serif; } dd { margin:0; color:#d0d2d9; font:600 13px/1.6 "SFMono-Regular",Consolas,monospace; direction:ltr; text-align:right; }
.config-table-wrap { width:100%; overflow:auto; border:1px solid var(--line); border-radius:14px; }
.docs-table { width:100%; border-collapse:collapse; min-width:680px; background:rgba(255,255,255,.012); }
.docs-table th { padding:11px 13px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.025); color:#747783; text-align:start; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.docs-table td { padding:11px 13px; border-bottom:1px solid rgba(255,255,255,.05); color:#8e909b; font-size:13px; vertical-align:top; }.docs-table tr:last-child td { border-bottom:0; }.docs-table td:first-child { color:#d7d8de; }.docs-table code { color:#cfd1d8; font-size:13px; }.docs-table .on, .docs-table .off { display:inline-flex; padding:3px 6px; border-radius:6px; font:700 13px/1 Inter,sans-serif; }.docs-table .on { color:#71e4a5; background:var(--green-soft); }.docs-table .off { color:#8a8d98; background:rgba(255,255,255,.045); }
.metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.metric-grid article { min-height:112px; display:flex; flex-direction:column; padding:15px; border:1px solid var(--line); border-radius:13px; background:rgba(255,255,255,.016); }.metric-grid b { color:#fff; font:800 20px/1 Inter,sans-serif; }.metric-grid span { margin-top:9px; color:#ff9379; font:700 13px/1 Inter,sans-serif; }.metric-grid small { margin-top:6px; color:#686b77; font-size:13px; line-height:1.5; }

.protection-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }.protection-group { border:1px solid var(--line); border-radius:17px; overflow:hidden; background:rgba(255,255,255,.012); }.group-title { display:flex; gap:11px; align-items:center; padding:16px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.018); }.group-title > span { width:35px; height:35px; display:grid; place-items:center; border-radius:10px; color:#ff9177; background:var(--fire-soft); font:800 13px/1 Inter,sans-serif; }.group-title h3 { margin:0; font-size:13px; }.group-title p { margin:3px 0 0; color:#676a75; font-size:13px; }.protection-list { padding:6px 13px 10px; }.protection-list > div { min-height:39px; display:grid; grid-template-columns:1fr auto; gap:5px 10px; align-items:center; padding:8px 2px; border-bottom:1px solid rgba(255,255,255,.045); }.protection-list > div:last-child { border-bottom:0; }.protection-list b { color:#c9cad1; font-size:13px; font-weight:550; }.protection-list span { padding:4px 6px; border-radius:6px; font:800 13px/1 Inter,sans-serif; direction:ltr; }.protection-list .enabled { color:#75dfa3; background:var(--green-soft); }.protection-list .disabled { color:#848691; background:rgba(255,255,255,.045); }.protection-list small { grid-column:1/-1; color:#5e616c; font:500 13px/1.3 Inter,sans-serif; direction:ltr; }
.file-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }.file-grid code { padding:12px; border:1px solid var(--line); border-radius:10px; background:rgba(255,255,255,.018); color:#aeb1bb; font-size:13px; }

.admin-hero { display:grid; grid-template-columns:1fr auto; gap:22px; align-items:center; padding:22px; border:1px solid rgba(255,91,52,.14); border-radius:17px; background:linear-gradient(135deg,rgba(255,91,52,.07),rgba(255,255,255,.014)); }.admin-hero > div:first-child { display:grid; grid-template-columns:auto 1fr; gap:0 12px; align-items:center; }.keycap { grid-row:1/3; width:50px; height:50px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.1); border-bottom-color:rgba(255,255,255,.22); border-radius:12px; background:#1c1d23; color:#fff; box-shadow:inset 0 -3px rgba(0,0,0,.18); font:800 13px/1 Inter,sans-serif; }.admin-hero h3 { margin:0; font-size:14px; }.admin-hero p { margin:5px 0 0; color:#858793; font-size:13px; line-height:1.8; }.admin-defaults { min-width:190px; display:grid; gap:6px; }.admin-defaults span { display:flex; justify-content:space-between; gap:12px; padding:8px 9px; border:1px solid var(--line); border-radius:8px; background:rgba(0,0,0,.13); }.admin-defaults b { color:#737681; font-size:13px; }.admin-defaults i { color:#8fe2b3; font:700 13px/1 Inter,sans-serif; font-style:normal; }.feature-grid { margin-top:11px; grid-template-columns:repeat(3,minmax(0,1fr)); }.feature-grid article > span { width:33px; height:33px; display:grid; place-items:center; border-radius:9px; background:rgba(255,255,255,.04); color:#ff8e73; font:700 15px/1 Inter,sans-serif; }
.permission-flow { display:grid; grid-template-columns:1fr 28px 1fr 28px 1fr; align-items:center; gap:8px; }.permission-flow article { min-height:155px; padding:18px; border:1px solid var(--line); border-radius:15px; background:rgba(255,255,255,.016); }.permission-flow article > span { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; background:var(--fire-soft); color:#ff9278; font:800 13px/1 Inter,sans-serif; }.permission-flow h3 { margin:12px 0 6px; font-size:13px; }.permission-flow p { margin:0; color:#858793; font-size:13px; line-height:1.8; }.permission-flow > :is(i,.svg-inline--fa) { color:#50535e; text-align:center; font-style:normal; }.lang-fa .permission-flow > :is(i,.svg-inline--fa) { transform:rotate(180deg); }
.command-table td:first-child { width:34%; }.command-table code { color:#ff9b82; }

.export-stack { display:grid; gap:11px; }.export-stack > article { padding:18px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.014); }.export-title { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }.export-title span { color:#666975; font-size:13px; }.export-title h3 { margin:2px 0 0; font:750 13px/1.4 Inter,sans-serif; direction:ltr; text-align:left; }.export-title > code { padding:5px 7px; border-radius:7px; background:var(--blue-soft); color:#9dbdff; font-size:13px; }.export-stack article > p { margin:7px 0 0; color:#7e818c; font-size:13px; line-height:1.75; }
.database-layout { display:grid; grid-template-columns:1.35fr .65fr; gap:18px; align-items:center; }.check-list { display:grid; gap:8px; padding:0; margin:18px 0 0; list-style:none; }.check-list li { display:flex; align-items:flex-start; gap:9px; color:#8c8e99; font-size:13px; color:#8c8e99; font-size:13px; }.db-card { min-height:190px; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:22px; border:1px solid var(--line); border-radius:17px; background:radial-gradient(circle at 50% 40%,rgba(119,170,255,.08),transparent 65%),rgba(255,255,255,.015); }.db-card > span { color:#9ebcff; font:800 13px/1 Inter,sans-serif; letter-spacing:.1em; }.db-flow { display:flex; align-items:center; gap:9px; margin:22px 0; direction:ltr; }.db-flow i { padding:8px 10px; border:1px solid var(--line); border-radius:8px; background:#14151b; color:#d1d3da; font:600 13px/1 Inter,sans-serif; font-style:normal; }.db-flow b { color:#4f5260; font-weight:400; }.db-card small { color:#666976; font-size:13px; }
.upgrade-grid article > span { width:31px; height:31px; display:grid; place-items:center; border-radius:8px; color:#ff9278; background:var(--fire-soft); font:800 13px/1 Inter,sans-serif; }.changelog-list { margin-top:12px; padding:20px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.015); }.changelog-list h3 { margin:0 0 13px; font-size:13px; }.changelog-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.changelog-columns ul { margin:0; padding:0; list-style:none; }.changelog-columns li { position:relative; padding:7px 0; padding-inline-start:18px; color:#858793; font-size:13px; border-bottom:1px solid rgba(255,255,255,.04); }.changelog-columns li::before { content:""; position:absolute; inset-inline-start:2px; top:14px; width:5px; height:5px; border-radius:50%; background:#ff7858; }
.faq-list { display:grid; gap:8px; }.faq-list details { border:1px solid var(--line); border-radius:13px; background:rgba(255,255,255,.014); overflow:hidden; }.faq-list summary { min-height:50px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 15px; list-style:none; cursor:pointer; color:#cfd0d6; font-size:13px; font-weight:600; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary :is(i,.svg-inline--fa) { color:#6e707c; font:400 18px/1 Inter,sans-serif; transition:transform .16s ease; }.faq-list details[open] summary :is(i,.svg-inline--fa) { transform:rotate(45deg); color:#ff8d72; }.faq-list details div { padding:0 15px 14px; border-top:1px solid rgba(255,255,255,.045); }.faq-list details p { margin:12px 0 0; color:#81838e; font-size:13px; line-height:1.85; }
.license-card { display:grid; grid-template-columns:72px 1fr auto; gap:18px; align-items:center; padding:20px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.015); }.license-mark { width:68px; height:68px; display:grid; place-items:center; border:1px solid rgba(255,91,52,.15); border-radius:16px; background:var(--fire-soft); color:#ff9278; font:800 13px/1 Inter,sans-serif; }.license-card h3 { margin:0; font-size:13px; }.license-card p { margin:6px 0 0; color:#838590; font-size:13px; line-height:1.8; }.license-card .muted { color:#5f626d; font-size:13px; }.license-card > a { padding:8px 10px; border:1px solid var(--line); border-radius:9px; color:#c8c9d0; text-decoration:none; font:700 13px/1 Inter,sans-serif; }.scope-card { margin-top:10px; padding:17px; border:1px solid rgba(119,170,255,.12); border-radius:14px; background:var(--blue-soft); }.scope-card strong { color:#bfd1ff; font-size:13px; }.scope-card p { margin:5px 0 0; color:#818896; font-size:13px; line-height:1.8; }

.docs-toc { position:sticky; top:calc(var(--top) + 28px); padding-top:5px; }.docs-toc > p { margin:0 0 10px; color:#5e616d; font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }.docs-toc > a { display:block; padding:5px 0; color:#6f727e; text-decoration:none; font-size:13px; border-inline-start:1px solid var(--line); padding-inline-start:10px; }.docs-toc > a:hover { color:#c4c5cc; }.docs-toc > a.active { color:#ff8f74; border-color:var(--fire); }.toc-source { margin-top:16px; display:flex; gap:6px; align-items:center; color:#727581; font-size:13px; }.toc-source a { color:inherit; text-decoration:none; }
.docs-footer { margin-top:78px; padding:28px 0 0; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:20px; align-items:center; }.docs-footer > div { display:flex; align-items:center; gap:9px; }.docs-footer img { width:28px; height:28px; object-fit:contain; }.docs-footer span { display:grid; }.docs-footer strong { font:800 13px/1 Inter,sans-serif; letter-spacing:.08em; }.docs-footer small { margin-top:4px; color:#5d606b; font-size:13px; }.docs-footer nav { display:flex; gap:15px; }.docs-footer nav a { color:#747783; text-decoration:none; font-size:13px; }.docs-footer nav a:hover { color:#ddd; }
.docs-search-empty { position:fixed; z-index:1100; left:50%; bottom:24px; transform:translateX(-50%); min-width:280px; display:grid; gap:3px; padding:13px 16px; border:1px solid var(--line); border-radius:13px; background:#18191f; box-shadow:0 18px 50px rgba(0,0,0,.45); }.docs-search-empty[hidden] { display:none; }.docs-search-empty strong { font-size:13px; }.docs-search-empty span { color:#777a85; font-size:13px; }
.docs-searchable.is-search-hidden { display:none !important; }

@media (max-width: 1240px) {
  :root { --toc: 0px; }
  .docs-shell { grid-template-columns: var(--sidebar) minmax(0,1fr); }
  .docs-toc { display:none; }
  .docs-hero { grid-template-columns:1fr; min-height:0; }.hero-console { max-width:560px; }
  .metric-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 980px) {
  :root { --sidebar: 250px; }
  .docs-topbar { padding:0 18px; }.top-action.subtle { display:none; }.docs-brand { min-width:0; }
  .docs-shell { width:calc(100% - 30px); gap:22px; }
  .requirement-grid, .feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .file-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .admin-hero, .database-layout { grid-template-columns:1fr; }.admin-defaults { min-width:0; grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 780px) {
  :root { --top: 64px; }
  .docs-menu-button { display:flex; align-items:center; justify-content:center; margin-inline-start:auto; }.docs-top-actions { margin-inline-start:0; }.top-action { display:none !important; }.docs-brand-copy small, .version-pill { display:none; }
  .docs-language > summary { min-width:42px; padding:0 8px; }.docs-language > summary > span:nth-child(2) { display:none; }
  .docs-shell { display:block; width:calc(100% - 24px); }
  .docs-sidebar { position:fixed; z-index:950; top:var(--top); bottom:0; inset-inline-start:0; width:min(300px,88vw); height:auto; padding:16px !important; border:0; border-inline-end:1px solid var(--line); background:rgba(13,14,18,.985); box-shadow:18px 0 50px rgba(0,0,0,.4); transform:translateX(-105%); transition:transform .2s ease; }
  .lang-fa .docs-sidebar { transform:translateX(105%); }
  .docs-sidebar.open { transform:translateX(0); }
  .docs-main { padding-top:22px; }
  .docs-hero { padding:27px 22px; border-radius:20px; gap:26px; }.docs-hero h1 { font-size:clamp(31px,10vw,50px); }.docs-hero p { font-size:13px; }.hero-console { max-width:none; }
  .release-note { grid-template-columns:45px 1fr; margin-bottom:45px; }.release-note > a { grid-column:2; }
  .doc-section { margin-top:54px; }
  .architecture-grid, .config-grid, .protection-columns, .upgrade-grid, .changelog-columns { grid-template-columns:1fr; }
  .requirement-grid { grid-template-columns:1fr; }.requirement-card { min-height:0; }
  .metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .feature-grid { grid-template-columns:1fr; }
  .permission-flow { grid-template-columns:1fr; }.permission-flow > :is(i,.svg-inline--fa) { transform:rotate(90deg); }.lang-fa .permission-flow > :is(i,.svg-inline--fa) { transform:rotate(90deg); }
  .file-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .license-card { grid-template-columns:58px 1fr; }.license-mark { width:56px;height:56px; }.license-card > a { grid-column:2; justify-self:start; }
  .docs-footer { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 520px) {
  body { font-size:14px; }.docs-topbar { padding:0 12px; gap:8px; }.docs-brand-mark { width:34px;height:34px; }.docs-brand-copy strong { font-size:13px; }
  .docs-shell { width:calc(100% - 18px); }.docs-hero { padding:24px 17px; }.hero-actions { display:grid; grid-template-columns:1fr 1fr; }.primary-button,.secondary-button { padding:0 10px; }
  .hero-console { border-radius:13px; }.console-body { padding:14px; }.console-body p { grid-template-columns:14px 82px 1fr; font-size:13px; }
  .section-heading { gap:10px; }.section-heading > span { width:30px;height:30px; }.section-heading h2 { font-size:23px; }
  .metric-grid, .file-grid { grid-template-columns:1fr 1fr; }.metric-grid article { min-height:100px; padding:12px; }.metric-grid b { font-size:17px; }
  .admin-hero { padding:16px; }.admin-hero > div:first-child { grid-template-columns:1fr; }.keycap { grid-row:auto; margin-bottom:11px; }.admin-defaults { grid-template-columns:1fr; }
  .export-title { flex-direction:column; }.database-layout { gap:10px; }.db-flow { gap:5px; }.db-flow i { padding:7px 6px; font-size:13px; }
  .docs-footer nav { flex-wrap:wrap; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *, *::before, *::after { transition:none !important; animation:none !important; } }

/* PNG language flags */
.docs-language img.flag {
  display: block;
  width: 23px;
  height: 16px;
  object-fit: cover;
  border-radius: 3px;
}

/* Final FIREAC readability pass: explanatory text never falls below 13px. */
.fireac-docs { font-size:16px; line-height:1.75; }
.fireac-docs p, .fireac-docs li, .fireac-docs td, .fireac-docs th, .fireac-docs a, .fireac-docs small, .fireac-docs code, .fireac-docs kbd { font-size:max(13px, .82rem); }
.docs-hero p { font-size:16px !important; }
.section-lead { font-size:15px !important; }
.docs-nav a, .docs-toc > a, .docs-table td, .docs-table th, .faq-list summary, .faq-list details p { font-size:13px !important; }

.check-list li > :is(i,.svg-inline--fa) { flex:0 0 auto; margin-top:.28em; color:var(--green); }
