@font-face{font-family:Vazirmatn Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/vazirmatn-arabic-wght-normal-Cafbb7Zc.woff2) format("woff2-variations");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/vazirmatn-latin-ext-wght-normal-tDTa1Fj6.woff2) format("woff2-variations");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:Vazirmatn Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/vazirmatn-latin-wght-normal-BFexNX-K.woff2) format("woff2-variations");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{--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-10: 2.5rem;--r-sm: 7px;--r-md: 10px;--r-lg: 14px;--r-xl: 20px;--r-full: 999px;--dur-fast: .12s;--dur: .18s;--dur-slow: .28s;--ease: cubic-bezier(.2, .8, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--topbar-h: 3.75rem;--sidebar-w: 19rem;--font: "Vazirmatn Variable", Vazirmatn, "Segoe UI", Tahoma, "Noto Sans Arabic", system-ui, sans-serif;--font-mono: "Cascadia Code", "JetBrains Mono", Consolas, "Vazirmatn Variable", "Courier New", monospace}:root,:root[data-theme=light]{color-scheme:light;--bg: #f1f4f8;--bg-grad: radial-gradient(90rem 40rem at 85% -10%, #e4f1ef 0%, transparent 55%);--surface: #ffffff;--surface-2: #f5f7fa;--surface-3: #eaeef4;--border: #e0e5ec;--border-strong: #c9d1dc;--text: #101828;--text-2: #475467;--text-3: #7a8699;--brand: #0f766e;--brand-hover: #0c5f58;--brand-contrast: #ffffff;--brand-soft: #e3f3f1;--brand-border: #a9dcd6;--danger: #b42318;--danger-soft: #fdecea;--danger-border: #f3bfb8;--warn: #8a5a00;--warn-soft: #fdf4e3;--warn-border: #ecd39a;--ok: #067647;--ok-soft: #e6f5ee;--ok-border: #a6d9c2;--shadow-1: 0 1px 2px rgba(16, 24, 40, .05);--shadow-2: 0 1px 3px rgba(16, 24, 40, .07), 0 6px 16px -6px rgba(16, 24, 40, .1);--shadow-3: 0 12px 32px -8px rgba(16, 24, 40, .18), 0 4px 8px -4px rgba(16, 24, 40, .1);--scrim: rgba(16, 24, 40, .42)}:root[data-theme=dark]{color-scheme:dark;--bg: #0d1117;--bg-grad: radial-gradient(90rem 40rem at 85% -10%, #16302e 0%, transparent 55%);--surface: #161b23;--surface-2: #1c222c;--surface-3: #252c38;--border: #2a323e;--border-strong: #3b4553;--text: #e6edf6;--text-2: #a5b2c4;--text-3: #7d8b9e;--brand: #5eead4;--brand-hover: #7df0dd;--brand-contrast: #06231f;--brand-soft: #12312e;--brand-border: #1f544e;--danger: #ff9f95;--danger-soft: #34191a;--danger-border: #5e2a2a;--warn: #e8b866;--warn-soft: #2f2718;--warn-border: #55442380;--ok: #6ede9f;--ok-soft: #142a20;--ok-border: #245239;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 1px 3px rgba(0, 0, 0, .5), 0 6px 16px -6px rgba(0, 0, 0, .45);--shadow-3: 0 16px 40px -8px rgba(0, 0, 0, .65), 0 4px 8px -4px rgba(0, 0, 0, .5);--scrim: rgba(2, 6, 12, .66)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg-grad),var(--bg);background-attachment:fixed;color:var(--text);font-family:var(--font);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{margin:0;line-height:1.4;font-weight:700;letter-spacing:-.01em}button{font:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--r-sm)}::selection{background:color-mix(in srgb,var(--brand) 28%,transparent)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid transparent;background-clip:content-box;border-radius:var(--r-full)}*::-webkit-scrollbar-thumb:hover{background:var(--text-3);background-clip:content-box}code{font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--border);padding:.05em .4em;border-radius:var(--r-sm);font-size:.86em;unicode-bidi:plaintext;display:inline-block;max-width:100%;overflow-wrap:anywhere}.icon{flex:none;vertical-align:-.15em}.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}.ltr-inline{direction:ltr;unicode-bidi:isolate;display:inline-block}.tnum{font-variant-numeric:tabular-nums}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font:inherit;font-size:.875rem;font-weight:500;min-height:2.35rem;padding:.4rem .85rem;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--text);white-space:nowrap;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);box-shadow:var(--shadow-1)}.btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}.btn:active:not(:disabled){transform:translateY(1px);box-shadow:none}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn-primary{background:var(--brand);border-color:transparent;color:var(--brand-contrast);font-weight:600;box-shadow:0 1px 2px color-mix(in srgb,var(--brand) 35%,transparent)}.btn-primary:hover:not(:disabled){background:var(--brand-hover);border-color:transparent}.btn-danger{color:var(--danger);border-color:var(--danger-border);background:var(--surface)}.btn-danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}.btn-solid-danger{background:var(--danger);border-color:transparent;color:#fff;font-weight:600}:root[data-theme=dark] .btn-solid-danger{color:#2b0f0d}.btn-solid-danger:hover:not(:disabled){filter:brightness(1.08)}.btn-warn-solid{background:var(--warn);border-color:transparent;color:#fff;font-weight:600}:root[data-theme=dark] .btn-warn-solid{color:#2a1f0b}.btn-warn-solid:hover:not(:disabled){filter:brightness(1.08)}.btn-ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--text-2)}.btn-ghost:hover:not(:disabled){background:var(--surface-3);border-color:transparent;color:var(--text)}.btn-sm{min-height:2rem;font-size:.8rem;padding:.25rem .6rem}.btn-saved{background:var(--ok-soft);border-color:var(--ok-border);color:var(--ok);box-shadow:none}.btn-saved:disabled{opacity:1}.btn.is-on{background:var(--brand-soft);color:var(--brand);border-color:var(--brand-border)}.seg{display:inline-flex;gap:2px;padding:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md)}.seg button{display:inline-flex;align-items:center;gap:.35rem;font:inherit;font-size:.8rem;font-weight:500;min-height:1.85rem;padding:.2rem .6rem;border:none;background:transparent;color:var(--text-3);border-radius:calc(var(--r-md) - 3px);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.seg button:hover{color:var(--text)}.seg button[aria-pressed=true]{background:var(--surface);color:var(--brand);box-shadow:var(--shadow-1)}.btn-block{width:100%;min-height:2.6rem}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:1px solid transparent;background:transparent;color:var(--text-2);border-radius:var(--r-md);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);position:relative}.btn-icon:after{content:"";position:absolute;top:-.25rem;right:-.25rem;bottom:-.25rem;left:-.25rem}.btn-icon:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.btn-icon:disabled{opacity:.45;cursor:not-allowed}.link-btn{font:inherit;font-size:inherit;background:none;border:none;padding:0;color:var(--brand);text-decoration:underline;text-underline-offset:3px;border-radius:var(--r-sm)}.link-btn:hover{color:var(--brand-hover)}.field{display:block;margin-bottom:var(--sp-4)}.field>span,.field-label{display:block;font-size:.82rem;font-weight:500;color:var(--text-2);margin-bottom:.35rem}.field .req{color:var(--danger);margin-inline-start:.15rem}.input,.field input[type=text],.field input[type=password]{font:inherit;font-size:.9rem;width:100%;min-height:2.6rem;padding:.5rem .75rem;border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.input::placeholder,.field input::placeholder{color:var(--text-3)}.input:focus,.field input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 22%,transparent)}.dropzone{display:grid;justify-items:center;gap:.2rem;padding:var(--sp-6) var(--sp-4);border:1.5px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--surface-2);color:var(--text-2);text-align:center;cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease),color var(--dur) var(--ease)}.dropzone:hover{border-color:var(--brand);color:var(--text)}.dropzone:focus-within{border-color:var(--brand);color:var(--text);outline:2px solid var(--brand);outline-offset:2px}.dropzone.is-dragging{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.dropzone.has-file{border-style:solid;border-color:var(--brand-border);background:var(--brand-soft)}.dropzone>.icon{color:var(--brand);margin-bottom:.2rem}.dropzone strong{font-size:.9rem;color:var(--text);max-width:100%;overflow-wrap:anywhere}.dropzone-hint{font-size:.78rem;color:var(--text-3)}.field-hint{display:block;margin-top:.35rem;font-size:.78rem;color:var(--text-3);line-height:1.6}.input-affix{position:relative;display:flex}.input-affix .input{padding-inline-end:2.6rem}.input-affix .btn-icon{position:absolute;inset-inline-end:.25rem;top:50%;transform:translateY(-50%);width:2rem;height:2rem}.check{display:flex;align-items:flex-start;gap:.55rem;font-size:.85rem;color:var(--text-2);margin-bottom:.6rem;cursor:pointer;line-height:1.6}.check input{margin:.32rem 0 0;width:1rem;height:1rem;accent-color:var(--brand);cursor:pointer;flex:none}.check:hover{color:var(--text)}.check-card{padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);margin-bottom:.5rem;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.check-card:has(input:checked){border-color:var(--brand-border);background:var(--brand-soft);color:var(--text)}.check-card small{color:var(--text-3);font-size:.76rem}.muted{color:var(--text-2);font-size:.85rem;line-height:1.7}.form-error{display:flex;align-items:flex-start;gap:.5rem;background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger-border);padding:.6rem .75rem;border-radius:var(--r-md);font-size:.85rem;margin:0 0 var(--sp-4)}.chip{display:inline-flex;align-items:center;gap:.3rem;border-radius:var(--r-full);padding:.15rem .6rem;font-size:.75rem;font-weight:500;border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);white-space:nowrap}.chip-brand{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand)}.chip-warn{background:var(--warn-soft);border-color:var(--warn-border);color:var(--warn)}.chip-danger{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}.chip-ok{background:var(--ok-soft);border-color:var(--ok-border);color:var(--ok)}:root[data-theme=dark] .chip-brand{color:var(--brand)}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 37%,var(--surface-2) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--r-sm)}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.boot{display:grid;place-items:center;gap:var(--sp-3);min-height:100dvh;color:var(--text-2);font-size:.9rem}.app{min-height:100dvh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);min-height:var(--topbar-h);padding:.5rem var(--sp-5);background:color-mix(in srgb,var(--surface) 82%,transparent);-webkit-backdrop-filter:blur(12px) saturate(1.4);backdrop-filter:blur(12px) saturate(1.4);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:.65rem;min-width:0}.brand-mark{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:var(--r-md);background:var(--brand-soft);color:var(--brand);border:1px solid var(--brand-border);flex:none}.brand-text{min-width:0}.brand-text strong{display:block;font-size:.95rem;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-time{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;color:var(--text-3);font-weight:400}.topbar-actions{display:flex;align-items:center;gap:.4rem}.topbar-sep{width:1px;height:1.5rem;background:var(--border);margin-inline:.25rem}.user-chip{display:inline-flex;align-items:center;gap:.35rem;background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);border-radius:var(--r-full);padding:.2rem .7rem .2rem .5rem;font-size:.78rem;font-weight:500;max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-switch{display:inline-flex;gap:2px;padding:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-full)}.theme-switch button{display:grid;place-items:center;width:1.85rem;height:1.85rem;border:none;background:transparent;color:var(--text-3);border-radius:var(--r-full);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.theme-switch button:hover{color:var(--text)}.theme-switch button[aria-pressed=true]{background:var(--surface);color:var(--brand);box-shadow:var(--shadow-1)}.layout{flex:1;display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);gap:var(--sp-4);padding:var(--sp-4) var(--sp-5) var(--sp-5);min-height:0}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-2)}.sidebar{display:flex;flex-direction:column;min-height:0;align-self:start;position:sticky;top:calc(var(--topbar-h) + var(--sp-4));max-height:calc(100dvh - var(--topbar-h) - var(--sp-8));overflow:hidden}.sidebar-head{display:grid;gap:.55rem;padding:.75rem;border-bottom:1px solid var(--border)}.sidebar-actions{display:flex;gap:.45rem}.sidebar-actions .btn{flex:1}.search-wrap{position:relative;display:flex;align-items:center}.search-wrap>.icon{position:absolute;inset-inline-start:.65rem;color:var(--text-3);pointer-events:none}.search{font:inherit;font-size:.875rem;width:100%;min-height:2.35rem;padding:.4rem 2.3rem;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.search::-webkit-search-cancel-button{display:none}.search:focus{outline:none;background:var(--surface);border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 22%,transparent)}.search-clear{position:absolute;inset-inline-end:.3rem;width:1.7rem;height:1.7rem}.sidebar-bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.76rem;color:var(--text-3)}.sort-select{font:inherit;font-size:.76rem;color:var(--text-2);background:transparent;border:1px solid transparent;border-radius:var(--r-sm);padding:.15rem .3rem;cursor:pointer}.sort-select:hover{border-color:var(--border);background:var(--surface-2)}.doc-list{list-style:none;margin:0;padding:.4rem;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:2px;flex:1;min-height:0}.doc-item{position:relative;width:100%;text-align:start;font:inherit;background:transparent;border:1px solid transparent;border-radius:var(--r-md);padding:.5rem .6rem;color:var(--text);display:grid;grid-template-columns:auto minmax(0,1fr);gap:.1rem .55rem;line-height:1.5;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.doc-item>.icon{grid-row:span 2;align-self:center;color:var(--text-3);transition:color var(--dur-fast) var(--ease)}.doc-item:hover{background:var(--surface-2)}.doc-item.is-active{background:var(--brand-soft);border-color:var(--brand-border)}.doc-item.is-active>.icon{color:var(--brand)}.doc-item.is-active:before{content:"";position:absolute;inset-inline-start:0;top:22%;bottom:22%;width:3px;border-radius:var(--r-full);background:var(--brand)}.doc-name,.editor-file{direction:ltr;text-align:end;unicode-bidi:isolate}.doc-name{font-weight:600;font-size:.875rem;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;line-height:1.5}.doc-meta{display:flex;align-items:center;gap:.3rem;font-size:.72rem;color:var(--text-3);min-width:0}.doc-meta>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-sep{opacity:.5}.doc-fresh{color:var(--ok);font-weight:500}.doc-warn{display:inline-flex;align-items:center;gap:.15rem;color:var(--warn);margin-inline-start:auto;font-weight:500;flex:none}.doc-empty{display:grid;justify-items:center;gap:.35rem;color:var(--text-3);font-size:.85rem;padding:var(--sp-6) var(--sp-4);text-align:center}.doc-empty .icon{color:var(--border-strong)}.skeleton-row{display:grid;gap:.35rem;padding:.55rem .6rem}.skeleton-row .skeleton:first-child{height:.85rem;width:70%}.skeleton-row .skeleton:last-child{height:.65rem;width:45%}.sidebar-foot{display:grid;gap:.3rem;padding:.55rem .55rem .65rem;border-top:1px solid var(--border);background:var(--surface-2);flex:none}.sidebar-foot-label{font-size:.68rem;font-weight:600;letter-spacing:.02em;color:var(--text-3);padding-inline-start:.25rem}.soul-item{position:relative;width:100%;text-align:start;font:inherit;display:flex;align-items:center;gap:.55rem;padding:.5rem .6rem;min-height:2.75rem;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--text);transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.soul-item>.icon{color:var(--warn);flex:none}.soul-item:hover{border-color:var(--warn-border);background:var(--warn-soft)}.soul-item.is-active{background:var(--warn-soft);border-color:var(--warn-border);color:var(--warn)}.soul-item.is-active:before{content:"";position:absolute;inset-inline-start:0;top:22%;bottom:22%;width:3px;border-radius:var(--r-full);background:var(--warn)}.soul-item-text{display:grid;gap:.1rem;min-width:0}.soul-item-text strong{font-size:.84rem;font-weight:600;line-height:1.4}.soul-item-text small{font-size:.7rem;color:var(--text-3);line-height:1.4}.soul-item.is-active .soul-item-text small{color:inherit;opacity:.8}.soul-item-warn{margin-inline-start:auto;color:var(--warn);display:inline-flex;flex:none}.editor,.empty{display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.editor{position:sticky;top:calc(var(--topbar-h) + var(--sp-4));max-height:calc(100dvh - var(--topbar-h) - var(--sp-8))}.editor-head{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);flex-wrap:wrap;padding:.7rem .9rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 55%,transparent)}.editor-title{min-width:0;flex:1 1 14rem;display:flex;align-items:center;gap:.5rem;row-gap:0;flex-wrap:wrap}.editor-title .editor-file{flex:1 1 auto;min-width:0}.editor-title .editor-subtitle{flex-basis:100%}.editor-file{font-size:1rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-subtitle{display:block;font-size:.75rem;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-tools{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.editor-meta{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;font-size:.75rem;color:var(--text-3);padding:.5rem .9rem;border-bottom:1px solid var(--border)}.editor-meta .check{margin:0;margin-inline-start:auto;font-size:.78rem}.soul-panel{border-color:var(--warn-border)}.soul-head{background:var(--warn-soft);border-bottom-color:var(--warn-border)}.soul-title{display:inline-flex;align-items:center;gap:.45rem;margin:0;font-size:1rem;font-weight:700;flex:1 1 auto;min-width:0}.soul-mark{display:grid;place-items:center;width:1.7rem;height:1.7rem;flex:none;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--warn-border);color:var(--warn)}.soul-note{margin:.6rem .9rem}.dot-dirty{display:inline-flex;align-items:center;gap:.3rem;color:var(--warn);font-weight:500}.dot-dirty:before{content:"";width:6px;height:6px;border-radius:var(--r-full);background:currentColor;animation:pulse 2s var(--ease) infinite}@keyframes pulse{50%{opacity:.35}}.outline{border-bottom:1px solid var(--border);background:var(--surface-2);max-height:12rem;overflow-y:auto;padding:.5rem .9rem}.outline-title{font-size:.72rem;color:var(--text-3);margin-bottom:.35rem}.outline ul{list-style:none;margin:0;padding:0;display:grid;gap:1px}.outline button{width:100%;text-align:start;border:none;background:transparent;color:var(--text-2);font:inherit;font-size:.8rem;padding:.2rem .4rem;border-radius:var(--r-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.outline button:hover{background:var(--surface-3);color:var(--text)}.outline-l2{padding-inline-start:1.1rem!important;font-size:.78rem!important}.outline-l3{padding-inline-start:2rem!important;font-size:.76rem!important;color:var(--text-3)!important}.warnings{list-style:none;margin:.75rem .9rem 0;padding:.55rem .7rem;background:var(--warn-soft);border:1px solid var(--warn-border);color:var(--warn);border-radius:var(--r-md);font-size:.79rem;display:grid;gap:.3rem}.warnings li{display:flex;align-items:flex-start;gap:.4rem}.editor-body{flex:1;display:flex;min-height:0;padding:.75rem .9rem}.editor-body.is-preview{overflow-y:auto;overscroll-behavior:contain;display:block;padding:var(--sp-5) var(--sp-6)}.markdown{max-width:68rem;margin-inline:auto;font-size:.95rem;line-height:1.95;color:var(--text)}.markdown>p,.markdown>ul,.markdown>ol,.markdown>blockquote{max-width:74ch}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{margin:1.9em 0 .6em;line-height:1.5;font-weight:700;scroll-margin-top:var(--sp-4)}.markdown h1{font-size:1.55rem;padding-bottom:.35rem;border-bottom:2px solid var(--brand-border)}.markdown h2{font-size:1.25rem;padding-bottom:.3rem;border-bottom:1px solid var(--border)}.markdown h3{font-size:1.08rem;color:var(--brand)}.markdown h4{font-size:.98rem}.markdown h5,.markdown h6{font-size:.9rem;color:var(--text-2)}.markdown p{margin:0 0 1.05em}.markdown a{color:var(--brand);text-decoration:underline;text-underline-offset:3px}.markdown a:hover{color:var(--brand-hover)}.markdown strong{font-weight:700;color:var(--text)}.markdown del{color:var(--text-3)}.markdown ul,.markdown ol{margin:0 0 1.05em;padding-inline-start:1.6em}.markdown li{margin-bottom:.35em}.markdown li::marker{color:var(--text-3)}.markdown li:has(>input[type=checkbox]){list-style:none;margin-inline-start:-1.35em}.markdown li>input[type=checkbox]{margin-inline-end:.5rem;accent-color:var(--brand);width:.95rem;height:.95rem;vertical-align:-.1em}.markdown blockquote{margin:0 0 1.05em;padding:.6rem .95rem;border-inline-start:3px solid var(--brand-border);border-radius:0 var(--r-md) var(--r-md) 0;background:var(--surface-2);color:var(--text-2)}[dir=ltr].markdown blockquote{border-radius:var(--r-md) 0 0 var(--r-md)}.markdown blockquote>:last-child{margin-bottom:0}.markdown hr{margin:1.8em 0;border:none;border-top:1px solid var(--border)}.markdown img{max-width:100%;height:auto;border-radius:var(--r-md);border:1px solid var(--border)}.markdown code{font-size:.85em}.markdown pre{margin:0 0 1.05em;padding:.9rem 1rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);overflow-x:auto;direction:ltr;text-align:start;line-height:1.7}.markdown pre code{background:none;border:none;padding:0;font-size:.85rem;display:inline}.md-table-wrap{overflow:auto;overscroll-behavior-x:contain;max-height:32rem;margin:0 0 1.3em;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.md-table-wrap:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.markdown table{border-collapse:collapse;width:100%;font-size:.87rem;line-height:1.75}.markdown th,.markdown td{padding:.5rem .75rem;border-bottom:1px solid var(--border);text-align:start;vertical-align:top;font-variant-numeric:tabular-nums}.markdown thead th{position:sticky;top:0;background:var(--surface-3);color:var(--text);font-weight:600;white-space:nowrap;border-bottom:1px solid var(--border-strong)}.markdown tbody tr:last-child td{border-bottom:none}.markdown tbody tr:nth-child(2n){background:color-mix(in srgb,var(--surface-2) 55%,transparent)}.markdown tbody tr:hover{background:var(--brand-soft)}.md-flash{animation:md-flash 1.2s var(--ease)}@keyframes md-flash{0%,60%{background:var(--brand-soft);box-shadow:0 0 0 6px var(--brand-soft);border-radius:var(--r-sm)}}.md-empty{display:grid;place-content:center;justify-items:center;gap:.3rem;min-height:40vh;color:var(--text-3);font-size:.9rem}.md-empty p{margin:0}.editor-area{flex:1;width:100%;min-height:12rem;resize:none;font-family:var(--font);font-size:.95rem;line-height:2;padding:.9rem 1rem;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text);-moz-tab-size:2;tab-size:2;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.editor-area:focus{outline:none;border-color:var(--brand-border);background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 15%,transparent)}.editor-foot{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);flex-wrap:wrap;font-size:.74rem;color:var(--text-3);padding:.5rem .9rem;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 55%,transparent)}.editor-stats{display:flex;gap:.75rem;flex-wrap:wrap}.editor-foot-hint{flex:1 1 auto;text-align:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kbd-hint{display:inline-flex;align-items:center;gap:.3rem}kbd{font-family:var(--font-mono);font-size:.7rem;padding:.1rem .35rem;border-radius:var(--r-sm);border:1px solid var(--border-strong);border-bottom-width:2px;background:var(--surface);color:var(--text-2);direction:ltr;display:inline-block}.empty{align-items:center;justify-content:center;text-align:center;color:var(--text-2);gap:.6rem;padding:var(--sp-10) var(--sp-6)}.empty-icon{display:grid;place-items:center;width:3.75rem;height:3.75rem;border-radius:var(--r-xl);background:var(--brand-soft);border:1px solid var(--brand-border);color:var(--brand);margin-bottom:.25rem}.empty h2{color:var(--text);font-size:1.1rem}.empty p{max-width:48ch;margin:0;font-size:.88rem;line-height:1.8}.empty-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;margin-top:var(--sp-2)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:var(--sp-5);z-index:40;animation:fade var(--dur) var(--ease)}@keyframes fade{0%{opacity:0}}.modal{width:min(460px,100%);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-3);max-height:min(85dvh,46rem);display:flex;flex-direction:column;animation:modal-in var(--dur-slow) var(--ease-out)}@keyframes modal-in{0%{opacity:0;transform:translateY(12px) scale(.97)}}.modal-wide{width:min(780px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:.85rem 1.1rem;border-bottom:1px solid var(--border)}.modal-head h2{font-size:1rem}.modal-body{padding:1.1rem;overflow-y:auto;overscroll-behavior:contain}.modal-body>p:first-child{margin-top:0}.modal-body>p:last-child{margin-bottom:0}.modal-foot{display:flex;justify-content:flex-start;gap:.5rem;padding:.85rem 1.1rem;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 55%,transparent);border-radius:0 0 var(--r-xl) var(--r-xl)}.modal-foot .btn-spacer{margin-inline-start:auto}.callout{display:flex;gap:.6rem;padding:.7rem .8rem;border-radius:var(--r-md);font-size:.84rem;line-height:1.7;border:1px solid var(--border);background:var(--surface-2);color:var(--text-2)}.callout-danger{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}.callout-info{background:var(--brand-soft);border-color:var(--brand-border);color:var(--text-2)}.callout-warn{background:var(--warn-soft);border-color:var(--warn-border);color:var(--warn)}.callout .icon{margin-top:.15rem}.prompt-steps{margin:0 0 var(--sp-4);padding-inline-start:1.3rem;font-size:.84rem;color:var(--text-2);display:grid;gap:.3rem;line-height:1.75}.prompt-steps strong{color:var(--text)}.prompt-box{white-space:pre-wrap;word-break:break-word;unicode-bidi:plaintext;font-family:inherit;font-size:.8rem;line-height:1.9;max-height:40vh;overflow-y:auto;overscroll-behavior:contain;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:.9rem;-webkit-user-select:text;user-select:text;color:var(--text-2)}.prompt-notes-title{font-size:.88rem;margin:1.2rem 0 .5rem}.prompt-notes{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;font-size:.8rem}.prompt-notes li{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:.55rem .75rem;display:grid;gap:.15rem}.prompt-notes strong{color:var(--brand);font-size:.82rem}.prompt-notes span{color:var(--text-2);line-height:1.7}.report{margin:0;white-space:pre-wrap;word-break:break-word;unicode-bidi:plaintext;font-family:inherit;font-size:.82rem;line-height:1.9;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:.9rem;color:var(--text-2);max-height:55vh;overflow:auto}.toast-stack{position:fixed;inset-block-end:var(--sp-5);inset-inline-start:var(--sp-5);z-index:50;display:grid;gap:.5rem;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:.55rem;max-width:min(26rem,calc(100vw - 2.5rem));padding:.7rem .8rem;border-radius:var(--r-md);box-shadow:var(--shadow-3);font-size:.86rem;line-height:1.65;background:var(--surface);border:1px solid var(--border);color:var(--text);pointer-events:auto;animation:toast-in var(--dur-slow) var(--ease-out)}@keyframes toast-in{0%{opacity:0;transform:translateY(.75rem) scale(.97)}}.toast .icon{margin-top:.15rem}.toast-text{flex:1;min-width:0;word-break:break-word}.toast-ok{border-color:var(--ok-border);background:var(--ok-soft)}.toast-ok>.icon{color:var(--ok)}.toast-warn{border-color:var(--warn-border);background:var(--warn-soft)}.toast-warn>.icon{color:var(--warn)}.toast-error{border-color:var(--danger-border);background:var(--danger-soft)}.toast-error>.icon{color:var(--danger)}.toast .btn-icon{width:1.5rem;height:1.5rem;margin-top:-.05rem}.guide-panel{border-color:var(--brand-border)}.guide-head{background:var(--brand-soft);border-bottom-color:var(--brand-border)}.guide-title{display:inline-flex;align-items:center;gap:.5rem;font-size:1rem}.guide-mark{display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--brand-border);color:var(--brand);flex:none}.guide-toc{display:flex;gap:.35rem;padding:.5rem .9rem;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.guide-toc::-webkit-scrollbar{display:none}.guide-toc-item{display:inline-flex;align-items:center;gap:.3rem;flex:none;font:inherit;font-size:.75rem;font-weight:500;padding:.25rem .65rem;border-radius:var(--r-full);border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.guide-toc-item:hover{background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand)}.guide-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--sp-6) var(--sp-6) var(--sp-8)}.guide-section{max-width:62rem;margin:0 auto var(--sp-8);scroll-margin-top:var(--sp-4)}.guide-section:last-of-type{margin-bottom:var(--sp-4)}.guide-h{display:flex;align-items:center;gap:.45rem;font-size:1.02rem;color:var(--text);margin-bottom:.4rem}.guide-h .icon{color:var(--brand)}.guide-lead{margin:0 0 var(--sp-4);font-size:.88rem;line-height:1.9;color:var(--text-2);max-width:70ch}.guide-duty{border:1px solid var(--brand-border);border-inline-start:4px solid var(--brand);background:linear-gradient(to left,color-mix(in srgb,var(--brand-soft) 70%,transparent),var(--surface));border-radius:var(--r-lg);padding:var(--sp-5) var(--sp-5) var(--sp-4)}.guide-duty h3{display:flex;align-items:center;gap:.5rem;font-size:1.05rem;margin-bottom:var(--sp-3)}.guide-duty h3 .icon{color:var(--warn);flex:none}.guide-duty p{margin:0 0 var(--sp-3);font-size:.9rem;line-height:1.95;color:var(--text-2);max-width:74ch}.guide-duty strong{color:var(--text)}.guide-duty-list{list-style:none;margin:0 0 var(--sp-3);padding:0;display:grid;gap:.45rem;font-size:.88rem;line-height:1.85;color:var(--text-2)}.guide-duty-list li{display:flex;gap:.55rem}.guide-duty-list .icon{color:var(--brand);flex:none;margin-top:.6rem}.guide-duty-foot{margin-bottom:0!important;padding-top:var(--sp-3);border-top:1px solid var(--border);font-size:.82rem!important;color:var(--text-3)!important}.guide-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:.6rem}.guide-card{display:grid;gap:.25rem;padding:.7rem .85rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md)}.guide-card strong{font-size:.85rem;color:var(--brand)}.guide-card span{font-size:.81rem;line-height:1.8;color:var(--text-2)}.guide-group{margin-bottom:var(--sp-6)}.guide-group-title{font-size:.8rem;font-weight:700;color:var(--text-3);letter-spacing:.02em;margin:0 0 .7rem;padding-bottom:.35rem;border-bottom:1px solid var(--border)}.guide-rules{list-style:none;counter-reset:rule;margin:0;padding:0;display:grid;gap:var(--sp-4)}.guide-rule{counter-increment:rule;position:relative;padding-inline-start:2.2rem}.guide-rule:before{content:counter(rule,persian);position:absolute;inset-inline-start:0;top:.05rem;display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:var(--r-full);background:var(--brand-soft);border:1px solid var(--brand-border);color:var(--brand);font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums}.guide-rule>strong{display:block;font-size:.92rem;line-height:1.6;padding-top:.15rem}.guide-rule>p{margin:.3rem 0 0;font-size:.85rem;line-height:1.9;color:var(--text-2);max-width:72ch}.guide-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.5rem;margin-top:.6rem}.guide-sample{border:1px solid var(--border);border-radius:var(--r-md);padding:.5rem .7rem .6rem;background:var(--surface-2)}.guide-sample-tag{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;font-weight:600;margin-bottom:.3rem}.guide-sample pre{margin:0;white-space:pre-wrap;word-break:break-word;unicode-bidi:plaintext;font-family:inherit;font-size:.82rem;line-height:1.85;color:var(--text)}.guide-bad{background:var(--danger-soft);border-color:var(--danger-border)}.guide-bad .guide-sample-tag{color:var(--danger)}.guide-good{background:var(--ok-soft);border-color:var(--ok-border)}.guide-good .guide-sample-tag{color:var(--ok)}.guide-where{display:flex;gap:.6rem;padding:.85rem .9rem;border-radius:var(--r-md);background:var(--brand-soft);border:1px solid var(--brand-border);margin-bottom:var(--sp-4)}.guide-where>.icon{color:var(--brand);margin-top:.2rem}.guide-where-title{display:block;font-size:.88rem}.guide-where p strong{color:var(--text)}.guide-where p{margin:.2rem 0 0;font-size:.84rem;line-height:1.85;color:var(--text-2)}.guide-steps,.guide-routine{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.guide-steps li,.guide-routine li{display:flex;gap:.6rem;font-size:.86rem;line-height:1.85;color:var(--text-2)}.guide-routine li{padding:.7rem .85rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md)}.guide-routine>li>div>strong{display:block;font-size:.88rem;color:var(--text)}.guide-routine p{margin:.15rem 0 0;max-width:74ch}.guide-step-n{display:grid;place-items:center;flex:none;width:1.55rem;height:1.55rem;border-radius:var(--r-full);background:var(--brand);color:var(--brand-contrast);font-size:.76rem;font-weight:700;font-variant-numeric:tabular-nums;margin-top:.1rem}.guide-cta{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-top:var(--sp-4)}.guide-pitfalls{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.guide-pitfalls li{display:flex;gap:.6rem;padding:.7rem .85rem;background:var(--surface-2);border:1px solid var(--border);border-inline-start:3px solid var(--warn-border);border-radius:var(--r-md)}.guide-pitfalls>li>.icon{color:var(--warn);margin-top:.25rem;flex:none}.guide-pitfalls>li>div>strong{display:block;font-size:.88rem}.guide-pitfalls p{margin:.15rem 0 0;font-size:.84rem;line-height:1.85;color:var(--text-2);max-width:74ch}.guide-checklist{display:grid;gap:.1rem;padding:.6rem .85rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md)}.guide-checklist .check{margin:0;font-size:.85rem;padding:.25rem 0}.guide-checklist .check:has(input:checked) span{color:var(--text-3);text-decoration:line-through;text-decoration-color:var(--border-strong)}.guide-checklist-count{margin:.5rem 0 0;font-size:.78rem;color:var(--text-3)}.guide-foot{max-width:62rem;margin:0 auto;padding-top:var(--sp-4);border-top:1px solid var(--border);font-size:.82rem;color:var(--text-3);text-align:center}.login-screen{min-height:100dvh;display:grid;place-items:center;padding:var(--sp-5)}.login-card{width:min(400px,100%);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-3);padding:var(--sp-8) var(--sp-6) var(--sp-6);animation:modal-in var(--dur-slow) var(--ease-out)}.login-brand{text-align:center;margin-bottom:var(--sp-6);display:grid;justify-items:center;gap:.4rem}.login-icon{display:grid;place-items:center;width:3rem;height:3rem;border-radius:var(--r-lg);background:var(--brand-soft);border:1px solid var(--brand-border);color:var(--brand)}.login-brand h1{font-size:1.2rem;margin:.35rem 0 0}.login-brand p{color:var(--text-3);font-size:.84rem;margin:0;line-height:1.7}.login-foot{margin-top:var(--sp-5);text-align:center;font-size:.75rem;color:var(--text-3)}.sidebar-scrim{display:none}@media(max-width:1400px){.editor-foot-hint{display:none}}@media(max-width:1180px){.editor-tools .btn-label{display:none}.editor-tools .btn-sm{padding-inline:.45rem}}@media(max-width:1024px){:root{--sidebar-w: 16.5rem}.editor-meta .chip:nth-child(2){display:none}}@media(max-width:860px){.topbar{padding-inline:var(--sp-3)}.topbar-actions .btn-label{display:none}.topbar-actions .btn{padding-inline:.55rem}.layout{grid-template-columns:minmax(0,1fr);padding:var(--sp-3)}.sidebar{position:fixed;inset-block:0;inset-inline-end:0;z-index:45;width:min(20rem,88vw);max-height:none;border-radius:0;border-block:none;border-inline-end:none;box-shadow:var(--shadow-3);transform:translate(100%);transition:transform var(--dur-slow) var(--ease-out),visibility var(--dur-slow);visibility:hidden}[dir=ltr] .sidebar{transform:translate(-100%)}.sidebar.is-open{transform:translate(0);visibility:visible}.sidebar-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:44;background:var(--scrim);animation:fade var(--dur) var(--ease);border:none;padding:0}.editor{max-height:calc(100dvh - var(--topbar-h) - var(--sp-6));top:calc(var(--topbar-h) + var(--sp-3))}.editor-body.is-preview{padding:var(--sp-4) var(--sp-4)}.editor-meta .check{margin-inline-start:0;width:100%}.guide-body{padding:var(--sp-4) var(--sp-4) var(--sp-6)}.guide-section{margin-bottom:var(--sp-6)}.guide-duty{padding:var(--sp-4)}.toast-stack{inset-inline:var(--sp-3);inset-block-end:var(--sp-3)}.toast{max-width:none}}@media(min-width:861px){.mobile-only{display:none!important}}@media(max-width:520px){.brand-text small,.catalog-time{display:none}.modal-foot{flex-wrap:wrap}.modal-foot .btn{flex:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
