/* ============================================================
   سورس کده v2 — Deep-Space Glass
   #020202 void · dark translucent containers · 1px rgba(255,255,255,.08) lines
   glow only on interaction · blur only on floating surfaces · transform/opacity motion only
   ============================================================ */
@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-display:swap}
:root{
	--void:#020202;--void-2:#070709;--void-3:#0c0c10;
	--glass:rgba(12,12,16,.72);--glass-2:rgba(18,18,24,.85);--glass-solid:#0e0e13;
	--line:rgba(255,255,255,.08);--line-hi:rgba(255,255,255,.16);--line-focus:rgba(138,43,226,.65);
	--fg:#f2f2f5;--fg-2:#b8b8c6;--fg-3:#7f7f92;--fg-4:#55556a;
	--violet:#8a2be2;--violet-2:#b04ef0;--gold:#ffcf33;--ok:#22c55e;--warn:#f59e0b;--bad:#ef4444;--info:#38bdf8;
	--glow-violet:0 0 0 1px rgba(176,78,240,.45),0 8px 32px -8px rgba(138,43,226,.6);
	--glow-gold:0 0 0 1px rgba(255,207,51,.45),0 8px 32px -8px rgba(255,207,51,.45);
	--glow-bad:0 0 0 1px rgba(239,68,68,.45),0 8px 28px -8px rgba(239,68,68,.45);
	--shadow-1:inset 0 1px 0 rgba(255,255,255,.04),0 8px 24px -16px rgba(0,0,0,.9);
	--shadow-2:inset 0 1px 0 rgba(255,255,255,.06),0 20px 48px -24px rgba(0,0,0,.95);
	--r-sm:10px;--r:16px;--r-lg:22px;--r-pill:999px;--blur:10px;
	--ease:cubic-bezier(.22,1,.36,1);--t-fast:.18s;--t-base:.28s;--t-slow:.5s;
	--font:Vazirmatn,"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
	--gutter:16px;--top-h:64px;
}
*{box-sizing:border-box}
html{background:var(--void);scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;min-height:100dvh;background:var(--void);color:var(--fg);font-family:var(--font);line-height:1.8;-webkit-font-smoothing:antialiased;overflow-x:clip;-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}a,button,input,select,textarea,label,summary{touch-action:manipulation}
img{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{line-height:1.35;margin:0 0 .5em;font-weight:800;overflow-wrap:anywhere}
h1{font-size:clamp(1.4rem,1rem + 1.8vw,2.2rem);font-weight:900}h2{font-size:clamp(1.05rem,1rem + .5vw,1.3rem)}h3{font-size:1rem;font-weight:700}
code,pre,.mono{font-family:var(--mono)}code{font-size:.85em;background:rgba(255,255,255,.06);padding:1px 6px;border-radius:6px}
.wrap{max-width:1200px;margin:0 auto;padding:0 var(--gutter)}
.dim{color:var(--fg-3)}.small{font-size:.85rem}.center{text-align:center}.ta-l{text-align:left}.hidden{display:none!important}.ok{color:var(--ok)}.bad{color:var(--bad)}.grow{flex:1}.top-gap{margin-top:14px}
:focus-visible{outline:2px solid var(--violet-2);outline-offset:3px;border-radius:8px}
::selection{background:rgba(138,43,226,.4)}

/* ---- void backdrop: two faint nebulae + static star grain (cheap, GPU) ---- */
.void{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;contain:strict}
.nebula{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55;will-change:transform;animation:drift 40s ease-in-out infinite alternate}
.n1{width:640px;height:640px;background:radial-gradient(circle,rgba(138,43,226,.55),transparent 65%);top:-260px;inset-inline-end:-200px}
.n2{width:520px;height:520px;background:radial-gradient(circle,rgba(56,189,248,.22),transparent 65%);bottom:-220px;inset-inline-start:-180px;animation-duration:55s;animation-delay:-20s}
.stars{position:absolute;inset:0;opacity:.35;background-image:radial-gradient(1px 1px at 20% 30%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 70% 60%,rgba(255,255,255,.35),transparent),radial-gradient(1.5px 1.5px at 40% 80%,rgba(255,255,255,.4),transparent),radial-gradient(1px 1px at 85% 15%,rgba(255,255,255,.4),transparent),radial-gradient(1px 1px at 10% 70%,rgba(255,255,255,.3),transparent),radial-gradient(1px 1px at 55% 10%,rgba(255,255,255,.3),transparent);background-size:900px 700px}
@keyframes drift{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(-50px,40px,0) scale(1.06)}}

/* ---- glass primitives ---- */
.glass{position:relative;background:var(--glass);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-1);transition:border-color var(--t-base),box-shadow var(--t-base),transform var(--t-base) var(--ease)}
.glass:hover{border-color:var(--line-hi)}
.glass.interactive:hover{box-shadow:var(--glow-violet);transform:translateY(-3px)}
.glass.interactive:active{transform:translateY(0) scale(.995)}
.card{padding:16px}.card-lg{padding:22px 24px}
.sec-title{display:flex;align-items:center;gap:8px;font-weight:800;margin:0 0 12px;font-size:1.02rem}.sec-title i{color:var(--violet-2)}.sec-title .btn,.sec-title>a.dim,.sec-title .score,.sec-title .small{margin-inline-start:auto}.sec-title .small{margin-inline-start:0}
.chip{display:inline-flex;align-items:center;gap:5px;padding:2px 10px;border-radius:var(--r-pill);border:1px solid var(--line);background:rgba(255,255,255,.04);font-size:.75rem;color:var(--fg-2);white-space:nowrap;line-height:1.7}
.chip.ok{color:var(--ok);border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.08)}.chip.warn{color:var(--warn);border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.08)}.chip.bad{color:var(--bad);border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.08)}.chip.off{color:#111;background:var(--gold);border-color:transparent;font-weight:700}
.chip.tag:hover{border-color:var(--line-hi);color:var(--fg)}
.chips{display:flex;flex-wrap:wrap;gap:6px}

/* ---- buttons / inputs ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:.6rem 1.2rem;border-radius:var(--r-pill);font-weight:700;border:1px solid var(--line-hi);background:var(--glass-2);color:var(--fg);cursor:pointer;white-space:nowrap;line-height:1.5;transition:box-shadow var(--t-fast),transform var(--t-fast) var(--ease),background var(--t-fast),border-color var(--t-fast)}
.btn:hover{box-shadow:var(--glow-violet);transform:translateY(-1px);border-color:rgba(176,78,240,.5)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;pointer-events:none}
.btn.primary{background:linear-gradient(135deg,var(--violet),var(--violet-2));border-color:transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}
.btn.ghost{background:rgba(255,255,255,.04)}.btn.gold{background:linear-gradient(135deg,var(--gold),#ffb300);color:#111;border-color:transparent}.btn.gold:hover{box-shadow:var(--glow-gold)}
.btn.danger{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.35);color:#f87171}.btn.danger:hover{box-shadow:var(--glow-bad)}
.btn.sm{padding:.35rem .8rem;font-size:.85rem}.btn.lg{padding:.8rem 1.6rem;font-size:1.05rem}
.btn.like.on{color:var(--gold);border-color:rgba(255,207,51,.5)}
:is(input,select,textarea).in,.form input,.form textarea,.form select,.review-form textarea{background:var(--void-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:.6rem .9rem;color:var(--fg);outline:0;width:100%;min-width:0;transition:border-color var(--t-fast),box-shadow var(--t-fast)}
:is(input,select,textarea).in:focus,.form input:focus,.form textarea:focus,.form select:focus,.review-form textarea:focus{border-color:var(--line-focus);box-shadow:0 0 0 3px rgba(138,43,226,.18)}
.in.sm{padding:.35rem .7rem;font-size:.9rem;width:auto}
.form{display:grid;gap:14px}.form label{display:grid;gap:6px;font-size:.9rem;color:var(--fg-2)}.form .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px}.form.row{grid-template-columns:auto 1fr auto;align-items:end}.form .chk{display:flex;align-items:center;gap:8px}.form .chk input{width:18px;height:18px;accent-color:var(--violet)}.form .acts{display:flex;gap:8px;flex-wrap:wrap}
select.in,.form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--fg-3) 50%),linear-gradient(135deg,var(--fg-3) 50%,transparent 50%);background-position:calc(12px) calc(50% - 2px),calc(12px + 5px) calc(50% - 2px);background-size:5px 5px;background-repeat:no-repeat;padding-inline-start:28px}

/* ---- header ---- */
.top{position:sticky;top:0;z-index:30;background:rgba(2,2,2,.7);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(var(--blur)) saturate(140%);backdrop-filter:blur(var(--blur)) saturate(140%)}
.top .wrap{display:flex;align-items:center;gap:12px;min-height:var(--top-h);padding-top:6px;padding-bottom:6px}
.brand{display:flex;align-items:center;gap:9px;font-weight:900;font-size:1.05rem;flex-shrink:0}.brand img{height:34px;width:auto}
.nav{display:flex;gap:2px}.nav a{padding:5px 12px;border-radius:var(--r-pill);color:var(--fg-2);font-size:.9rem;white-space:nowrap;transition:background var(--t-fast),color var(--t-fast)}.nav a:hover,.nav a[aria-current]{background:rgba(255,255,255,.07);color:var(--fg)}
.search{display:flex;align-items:center;gap:8px;margin-inline-start:auto;background:var(--void-2);border:1px solid var(--line);border-radius:var(--r-pill);padding:0 12px;min-width:0;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.search:focus-within{border-color:var(--line-focus);box-shadow:0 0 0 3px rgba(138,43,226,.15)}
.search i{color:var(--fg-3);font-size:.85rem}.search input{background:none;border:0;padding:7px 0;width:170px;outline:0;min-width:0}.search kbd{font-size:.7rem;color:var(--fg-4);border:1px solid var(--line);border-radius:5px;padding:0 5px}.search.inline{margin:0 0 14px;display:inline-flex}
.user{display:flex;align-items:center;gap:8px;flex-shrink:0}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--glass-2);display:grid;place-items:center;overflow:hidden;border:1px solid var(--line-hi);cursor:pointer;list-style:none;transition:box-shadow var(--t-fast)}.avatar::-webkit-details-marker{display:none}.avatar:hover{box-shadow:var(--glow-violet)}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.big{width:80px;height:80px;font-size:1.8rem}
.menu{position:relative}.dropdown{position:absolute;inset-inline-end:0;top:calc(100% + 8px);min-width:220px;padding:8px;display:grid;gap:2px;z-index:40;background:var(--glass-2);-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));box-shadow:var(--shadow-2);animation:pop .18s var(--ease)}
.dropdown a,.dropdown button{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;color:var(--fg-2);background:none;border:0;cursor:pointer;text-align:start;font-size:.92rem}.dropdown a:hover,.dropdown button:hover{background:rgba(255,255,255,.07);color:var(--fg)}.dropdown .who{padding:6px 12px 10px;border-bottom:1px solid var(--line);margin-bottom:4px;display:grid}.dropdown .adm{color:var(--violet-2)}
@keyframes pop{from{opacity:0;transform:translateY(-6px)}}
.announce{margin-top:12px;padding:10px 16px;font-size:.9rem;color:var(--gold)}.announce.ok{color:var(--ok)}

/* ---- hero / home ---- */
.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:center;padding:56px 0 24px}
.eyebrow{display:inline-flex;gap:8px;align-items:center;color:var(--violet-2);font-size:.85rem;font-weight:700;margin-bottom:10px}
.hero h1{font-size:clamp(1.8rem,1.2rem + 2.6vw,3rem);letter-spacing:-.01em;background:linear-gradient(135deg,#fff,#c8b6ff 60%,var(--violet-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{color:var(--fg-2);margin:0;font-size:1.05rem;max-width:640px}
.cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.kpis{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:520px}.kpis li{display:grid;gap:2px;text-align:center;padding:12px 8px;border:1px solid var(--line);border-radius:16px;background:var(--glass);box-shadow:var(--shadow-1);min-width:0}.kpis strong{font-size:1.5rem;font-weight:900;line-height:1.2;background:linear-gradient(135deg,#fff,#c8b6ff);-webkit-background-clip:text;background-clip:text;color:transparent}.kpis span{color:var(--fg-3);font-size:.8rem;overflow-wrap:anywhere}
.hero-art{padding:14px;transform:rotate(-1.5deg)}.hero-art:hover{transform:rotate(0)}
.term{background:var(--void);border:1px solid var(--line);border-radius:12px;overflow:hidden}.term-bar{display:flex;gap:6px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--line);direction:ltr}.term-bar>i{width:10px;height:10px;border-radius:50%;background:var(--fg-4)}.term-bar>i:first-child{background:#ef4444}.term-bar>i:nth-child(2){background:#f59e0b}.term-bar>i:nth-child(3){background:#22c55e}.term-bar>span{margin-inline-start:auto;font-size:.75rem;color:var(--fg-4);font-family:var(--mono)}
.term pre{margin:0;padding:14px 16px;font-size:.82rem;line-height:1.7;color:#cfd3ff;white-space:pre;overflow:auto}
.feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;margin:22px 0 8px}.feats .glass{padding:16px;display:grid;gap:4px}.feats i{font-size:1.4rem;color:var(--gold)}.feats span{color:var(--fg-3);font-size:.85rem}
.pagehead{padding:36px 0 10px}
.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0 10px}.toolbar>.dim{margin-inline-start:auto;font-size:.85rem}
.tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:3px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--glass)}.tabs::-webkit-scrollbar{display:none}.tabs a{padding:5px 14px;border-radius:var(--r-pill);color:var(--fg-2);font-size:.9rem;white-space:nowrap;transition:background var(--t-fast),color var(--t-fast)}.tabs a:hover{color:var(--fg)}.tabs a[aria-current]{background:rgba(255,255,255,.09);color:var(--fg)}.tabs small{color:var(--fg-4)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:16px;margin:14px 0}
.card-link{display:block;padding:12px}
.art{position:relative;height:130px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:44px;color:#fff;text-shadow:0 4px 18px rgba(0,0,0,.5);overflow:hidden;background:var(--g);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 -30px 40px -20px rgba(0,0,0,.55)}
.art::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.3),transparent 55%)}
.art.big{height:150px;width:150px;flex-shrink:0;font-size:60px;border-radius:var(--r)}
.badge{position:absolute;top:10px;z-index:1;font-size:.7rem;font-weight:800;padding:2px 9px;border-radius:var(--r-pill);background:rgba(2,2,2,.75);color:#fff}.badge.new{inset-inline-start:10px;background:var(--ok)}.badge.off{inset-inline-end:10px;background:var(--gold);color:#111}
.card h3{margin:12px 2px 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card p{margin:0 2px 8px;color:var(--fg-3);font-size:.85rem}
.card .meta{display:flex;align-items:center;gap:10px;margin:10px 2px 0;font-size:.82rem;color:var(--fg-3);flex-wrap:wrap}.card .meta .by{margin-inline-start:auto;font-size:.75rem}
.price{background:linear-gradient(135deg,var(--gold),#ffb300);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:900}.price small{font-weight:600;font-size:.7em}.free{color:var(--ok);font-weight:900}
.empty{color:var(--fg-3);text-align:center;padding:40px}
.pager{display:flex;justify-content:center;gap:8px;margin:26px 0;flex-wrap:wrap}.pager a,.pager .cur{padding:6px 14px;border-radius:var(--r-pill)}.pager .cur{background:linear-gradient(135deg,var(--violet),var(--violet-2));color:#fff}
.about{margin:36px 0;padding:22px 24px}.prose{line-height:1.9}.prose h2,.prose h3,.prose h4{margin-top:1.3em}.prose p{margin:.5em 0}.prose ul,.prose ol{padding-inline-start:1.4em}.prose blockquote{border-inline-start:3px solid var(--violet);margin:1em 0;padding:4px 14px;color:var(--fg-2)}.prose a{color:var(--violet-2)}.prose hr{border:0;border-top:1px solid var(--line);margin:1.2em 0}.prose img{border-radius:10px}.tblwrap{overflow-x:auto}.prose table{border-collapse:collapse;font-size:.9rem}.prose th,.prose td{border:1px solid var(--line);padding:6px 10px}

/* ---- repo page ---- */
.crumbs{display:flex;gap:8px;align-items:center;color:var(--fg-3);font-size:.85rem;padding:18px 2px 8px;min-width:0}.crumbs strong{color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rhead{display:grid;grid-template-columns:auto 1fr auto;gap:22px;padding:22px;align-items:start}
.title-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.title-row h1{margin:0}
.info{min-width:0}.info .lead{font-size:.95rem;margin:4px 0 10px}
.stats{list-style:none;padding:0;margin:0 0 10px;display:flex;flex-wrap:wrap;gap:4px 16px;color:var(--fg-2);font-size:.88rem}.stats i{color:var(--violet-2);margin-inline-end:4px}
.buybox{display:grid;gap:8px;min-width:200px;padding:14px;border:1px solid var(--line);border-radius:var(--r);background:rgba(255,255,255,.03);text-align:center}
.price-big{font-size:1.7rem;font-weight:900;background:linear-gradient(135deg,var(--gold),#ffb300);-webkit-background-clip:text;background-clip:text;color:transparent}.price-big.free{color:var(--ok);background:none}.price-big small{font-size:.55em}
.rtabs{display:flex;gap:2px;margin:14px 0;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.rtabs::-webkit-scrollbar{display:none}.rtabs a{padding:9px 14px;color:var(--fg-2);white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;font-size:.92rem;transition:color var(--t-fast),border-color var(--t-fast)}.rtabs a:hover{color:var(--fg)}.rtabs a[aria-current]{color:var(--fg);border-color:var(--violet-2)}
.rgrid{display:grid;grid-template-columns:1fr 300px;gap:18px;align-items:start}.rmain{display:grid;gap:16px;min-width:0}.rside{display:grid;gap:14px;position:sticky;top:calc(var(--top-h) + 12px)}
.trust{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:10px}.tile{padding:12px 14px;display:grid;gap:2px;font-size:.85rem}.tile i{font-size:1.2rem;color:var(--fg-3)}.tile.ok i,.tile.ok strong{color:var(--ok)}.tile.warn i,.tile.warn strong{color:var(--warn)}a.tile:hover{box-shadow:var(--glow-violet)}
.features{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:8px}.features li{border:1px solid var(--line);border-radius:12px;padding:8px 12px;font-size:.9rem;background:rgba(255,255,255,.03)}.features i{color:var(--ok);margin-inline-end:6px}
.code{background:var(--void);border:1px solid var(--line);border-radius:12px;padding:12px 14px;overflow:auto;font-size:.84rem;line-height:1.65;text-align:left;margin:0;max-height:70vh}.code code{background:none;padding:0;font-size:inherit}
.code.numbered{display:grid;grid-template-columns:auto 1fr;padding:0}.code.numbered code{padding:12px 14px;overflow:auto}.code.numbered .gutter{display:grid;padding:12px 0;border-right:1px solid var(--line);text-align:right;user-select:none;position:sticky;left:0;background:var(--void)}.code.numbered .gutter a{display:block;padding:0 12px 0 10px;color:var(--fg-4);line-height:1.65;font-size:.84rem}.code.numbered .gutter a:hover{color:var(--fg-2)}.code.numbered .gutter a:target{background:rgba(255,207,51,.15);color:var(--gold)}
.diff .add{color:#4ade80}.diff .del{color:#f87171}.diff .hunk{color:var(--info)}.diff .hdr{color:var(--fg-3)}
.term-out{background:#000;color:#d4d4d8;max-height:420px}
.reviews{list-style:none;padding:0;margin:0;display:grid;gap:10px}.reviews li{border:1px solid var(--line);border-radius:12px;padding:10px 14px;background:rgba(255,255,255,.02)}.rh{display:flex;align-items:center;gap:10px;font-size:.85rem;flex-wrap:wrap}.rh time{color:var(--fg-3);margin-inline-start:auto;font-size:.75rem}.starz{color:var(--gold);letter-spacing:1px}.reviews p{margin:6px 0 0;color:var(--fg-2);font-size:.92rem}
.review-form{margin-top:16px;display:grid;gap:10px}.rate{display:inline-flex;flex-direction:row-reverse;gap:2px;font-size:1.6rem;direction:ltr}.rate input{display:none}.rate label{cursor:pointer;color:var(--fg-4);transition:color var(--t-fast)}.rate input:checked~label,.rate label:hover,.rate label:hover~label{color:var(--gold)}
.hint{color:var(--fg-3);font-size:.82rem;margin:10px 0 0}.hint a{color:var(--violet-2)}
.tree{list-style:none;padding:0;margin:0;display:grid;gap:2px;font-size:.9rem}.tree a{display:flex;gap:8px;align-items:center;padding:4px 8px;border-radius:8px;color:var(--fg-2)}.tree a:hover{background:rgba(255,255,255,.06);color:var(--fg)}.tree i{color:var(--fg-3);width:16px;text-align:center}.tree .fa-folder{color:var(--gold)}
.vlist{list-style:none;padding:0;margin:0;display:grid;gap:6px}.vlist li{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:.9rem;padding:6px 0;border-bottom:1px solid var(--line)}.vlist li:last-child{border:0}.vlist.small{font-size:.8rem}
.seller .who{display:flex;gap:10px;align-items:center;margin-bottom:10px}.seller .who img{border-radius:50%;width:44px;height:44px;object-fit:cover}.seller .who div{display:grid;line-height:1.4}
.onboarding ol{padding-inline-start:1.3em;color:var(--fg-2)}.onboarding a{color:var(--violet-2)}
.related{margin-top:26px}
.refbar{display:flex;align-items:center;gap:12px;padding:8px 12px;margin:0 0 12px;flex-wrap:wrap}.refsel{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:var(--r-pill);padding:2px 10px;background:var(--void-2);font-size:.88rem}.refsel select{background:none;border:0;color:var(--fg);outline:0;padding:4px 0;font-family:var(--mono);font-size:.85rem}.refsel i{color:var(--violet-2)}
.pathnav{display:flex;gap:4px;align-items:center;font-family:var(--mono);font-size:.85rem;flex-wrap:wrap;min-width:0}.pathnav a{color:var(--fg-2)}.pathnav a:hover,.pathnav a:last-child{color:var(--fg)}.pathnav span{color:var(--fg-4)}.refacts{display:flex;gap:6px;margin-inline-start:auto;flex-wrap:wrap;align-items:center}
.filelist{overflow:hidden}.lastcommit{display:flex;gap:10px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line);font-size:.88rem;background:rgba(255,255,255,.02);flex-wrap:wrap}.lastcommit i{color:var(--violet-2)}.lastcommit .dim{margin-inline-start:auto;font-size:.78rem}
.ftable{width:100%;border-collapse:collapse;font-size:.9rem}.ftable td{padding:7px 14px;border-bottom:1px solid var(--line)}.ftable tr:last-child td{border:0}.ftable tr:hover td{background:rgba(255,255,255,.03)}.ftable a{display:flex;gap:9px;align-items:center}.ftable i{color:var(--fg-3);width:16px;text-align:center}.ftable .fa-folder{color:var(--gold)}.ftable td:nth-child(2){width:90px}.ftable td:nth-child(3){width:90px;white-space:nowrap}
.fileview{overflow:hidden}.filebar{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line);flex-wrap:wrap;font-size:.9rem}.filebar .refacts{margin-inline-start:auto}.fileview .code{border:0;border-radius:0;max-height:none}.mdview{padding:16px 22px}
.editor .filebar{gap:10px}.pathin{display:flex;align-items:center;gap:2px;font-family:var(--mono);font-size:.85rem;flex:1;min-width:200px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--void-2);padding:0 10px}.pathin input{background:none;border:0;outline:0;flex:1;padding:6px 0;font-family:var(--mono);min-width:0}
.codearea{display:block;width:100%;background:var(--void);border:0;color:#e4e4ef;font-family:var(--mono);font-size:.86rem;line-height:1.6;padding:14px 16px;outline:0;resize:vertical;min-height:360px;tab-size:4;white-space:pre;overflow:auto}.editor .hint{padding:8px 14px}
.commits{list-style:none;padding:0;margin:0}.commits li{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--line);font-size:.9rem}.commits li:last-child{border:0}.commits .dim{font-size:.8rem}.commits code{font-size:.78rem}
.version .vhead{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.version .vhead h2{margin:0}.version .chips{margin-inline-start:auto}
.scan .score{font-size:1.4rem;font-weight:900}.score.ok{color:var(--ok)}.score.warn{color:var(--warn)}.score.bad{color:var(--bad)}.score small{font-size:.6em;color:var(--fg-3)}
.findings{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:10px}.findings li{border:1px solid var(--line);border-inline-start:3px solid var(--fg-4);border-radius:12px;padding:10px 14px;font-size:.9rem;background:rgba(255,255,255,.02)}.findings .fh{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.findings p{margin:6px 0 0;color:var(--fg-2)}.findings .sugg{color:var(--fg-2);border-top:1px dashed var(--line);padding-top:6px;margin-top:8px}.findings .sugg i{color:var(--gold)}
.sev-critical{border-inline-start-color:#dc2626!important}.sev-critical .sev{color:#f87171;border-color:rgba(239,68,68,.5)}.sev-high{border-inline-start-color:#f97316!important}.sev-high .sev{color:#fb923c;border-color:rgba(249,115,22,.5)}.sev-medium{border-inline-start-color:#f59e0b!important}.sev-medium .sev{color:var(--warn)}.sev-low{border-inline-start-color:#38bdf8!important}.sev-low .sev{color:var(--info)}
.uploader .dropzone{display:grid;place-items:center;gap:6px;padding:36px 20px;border:2px dashed var(--line-hi);border-radius:var(--r);text-align:center;transition:border-color var(--t-fast),background var(--t-fast);cursor:pointer}.dropzone:hover,.dropzone.over{border-color:var(--violet-2);background:rgba(138,43,226,.06)}.dropzone>i{font-size:2rem;color:var(--violet-2)}.dropzone .cta{margin-top:6px;justify-content:center}
.upstate{margin-top:14px}.bar{height:8px;border-radius:99px;background:var(--void-2);border:1px solid var(--line);overflow:hidden}.bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--violet),var(--violet-2));transition:width .25s}.upstate .tree{max-height:220px;overflow:auto;margin-top:8px;font-size:.82rem}
.uploader .form.row{margin-top:14px;grid-template-columns:1fr auto auto}

/* ---- dashboard / admin ---- */
.dashgrid{display:grid;grid-template-columns:220px 1fr;gap:18px;margin-top:18px;align-items:start}.dashmain{min-width:0;display:grid;gap:16px}.dashmain h1{margin:0}
.sidenav{padding:10px;display:grid;gap:2px;position:sticky;top:calc(var(--top-h) + 12px)}.sidenav a{padding:9px 12px;border-radius:10px;color:var(--fg-2);display:flex;gap:10px;align-items:center;font-size:.92rem;transition:background var(--t-fast),color var(--t-fast)}.sidenav a:hover{background:rgba(255,255,255,.06);color:var(--fg)}.sidenav a.on{background:linear-gradient(135deg,var(--violet),var(--violet-2));color:#fff}.sidenav a.new{margin-top:6px;border:1px dashed var(--line-hi);justify-content:center}
.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:10px}.kpi{padding:14px;display:grid;gap:2px;text-align:center}.kpi i{color:var(--violet-2);font-size:1.1rem}.kpi strong{font-size:1.5rem;font-weight:900}.kpi span{color:var(--fg-3);font-size:.8rem}.kpi.big strong{font-size:2rem;background:linear-gradient(135deg,var(--gold),#ffb300);-webkit-background-clip:text;background-clip:text;color:transparent}a.kpi:hover{box-shadow:var(--glow-violet)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tbl{width:100%;border-collapse:collapse;font-size:.88rem}.tbl th,.tbl td{padding:9px 12px;text-align:right;border-bottom:1px solid var(--line);vertical-align:middle}.tbl th{color:var(--fg-3);font-weight:600;font-size:.78rem;white-space:nowrap}.tbl tr:last-child td{border:0}.tbl .acts{white-space:nowrap;display:flex;gap:4px;justify-content:flex-end}.tbl tr:hover td{background:rgba(255,255,255,.02)}
.bars{display:flex;gap:4px;align-items:flex-end;height:160px;padding:0 4px}.bar-col{flex:1;display:grid;grid-template-rows:1fr auto;height:100%;align-items:end;gap:4px;min-width:0}.bar-col i{display:block;background:linear-gradient(180deg,var(--violet-2),var(--violet));border-radius:4px 4px 0 0;transition:filter var(--t-fast)}.bar-col:hover i{filter:brightness(1.3)}.bar-col span{font-size:.6rem;color:var(--fg-4);text-align:center;font-family:var(--mono);overflow:hidden}
.auth{max-width:440px;margin:40px auto;padding:34px 28px;text-align:center;display:grid;justify-items:center;gap:14px}.auth img{border-radius:16px}.auth .form{width:100%;text-align:start}.auth .btn{width:100%}.or{color:var(--fg-4);font-size:.85rem}
.profile .who{display:flex;gap:18px;align-items:center}.profile .who img{border-radius:50%;width:80px;height:80px;object-fit:cover}.profile .who h1{margin:0}.profile .kpis{margin-top:14px}
.errorpage{margin:60px auto;max-width:560px;padding:40px}.big-code{font-size:5rem;font-weight:900;line-height:1;background:linear-gradient(135deg,var(--violet-2),var(--info));-webkit-background-clip:text;background-clip:text;color:transparent}.errorpage .cta{justify-content:center}
.danger-zone{border-color:rgba(239,68,68,.25)}
.foot{margin:60px 0 24px;border-top:1px solid var(--line);padding-top:26px;color:var(--fg-3);font-size:.88rem}.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:18px}.foot strong{color:var(--fg);display:block;margin-bottom:4px}.foot a:hover{color:var(--gold)}.copy{margin:18px 0 0;text-align:center;font-size:.8rem}
.toast{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));inset-inline-start:50%;transform:translate(50%,30px);opacity:0;padding:11px 20px;z-index:60;pointer-events:none;transition:transform var(--t-base) var(--ease),opacity var(--t-base);font-size:.9rem;max-width:calc(100vw - 32px);text-align:center;background:var(--glass-2);box-shadow:var(--shadow-2)}.toast.show{opacity:1;transform:translate(50%,0)}.toast.err{border-color:rgba(239,68,68,.5);color:#fca5a5}
.js .reveal{opacity:0;transform:translateY(14px);transition:opacity var(--t-slow) var(--ease),transform var(--t-slow) var(--ease)}.js .reveal.in{opacity:1;transform:none}
dialog.glass{border:1px solid var(--line-hi);color:var(--fg);padding:22px;max-width:420px;width:calc(100% - 32px);background:var(--glass-solid)}dialog::backdrop{background:rgba(2,2,2,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}dialog .acts{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}

/* ---- mobile bottom nav (hidden on desktop) ---- */
.bnav{display:none}

/* ---- responsive ---- */
/* ریشه‌ی سرریز افقی: فرزندان grid/flex پیش‌فرض min-width:auto دارند و متن nowrap آن‌ها را پهن می‌کند */
.grid>*,.rgrid>*,.dashgrid>*,.row2>*,.trust>*,.kpi-row>*,.feats>*,.rhead>*,.info,.hero>*,.cols>*,.form .row>*,.toolbar>*,.refbar>*,.filebar>*{min-width:0}
.dashmain,.rmain,.rside,.auth,.form{grid-template-columns:minmax(0,1fr)}
[id]{scroll-margin-top:calc(var(--top-h) + 16px)}
.pathnav,.lastcommit,.filebar,.vlist li,.commits li,.stats li,.title-row h1{overflow-wrap:anywhere}

/* تبلت و لپ‌تاپ کوچک */
@media(max-width:1000px){
	.rgrid{grid-template-columns:1fr}.rside{position:static;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
	.hero{grid-template-columns:1.25fr 1fr;gap:20px;padding:36px 0 16px}.hero-art{transform:none}.term pre{font-size:.72rem;padding:10px 12px}
	.feats{grid-template-columns:repeat(2,1fr)}
	.dashgrid{grid-template-columns:1fr;gap:12px}.sidenav{position:static;display:flex;overflow-x:auto;scrollbar-width:none;padding:6px;gap:4px}.sidenav::-webkit-scrollbar{display:none}.sidenav a{flex-shrink:0;padding:8px 12px;min-height:40px}.sidenav a.new{margin:0}
	.row2{grid-template-columns:1fr}
	.rhead{grid-template-columns:auto 1fr}.buybox{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));align-items:center;text-align:start}.buybox>div{grid-column:1/-1}
	.art.big{width:110px;height:110px;font-size:46px}
}
@media(max-width:900px){.hide-sm{display:none}.search kbd{display:none}.search input{width:130px}.nav a{padding:5px 9px}}
/* گوشی افقی / ارتفاع کم */
@media(max-height:500px) and (orientation:landscape){
	.top{position:static}.hero{padding:20px 0 8px}.hero h1{font-size:1.6rem}.kpis{margin-top:14px}.rside,.sidenav{position:static}
}
/* گوشی */
@media(max-width:760px){
	:root{--gutter:12px;--r:14px;--top-h:56px}
	body{padding-bottom:calc(90px + env(safe-area-inset-bottom))}
	.top .wrap{flex-wrap:nowrap;gap:8px;min-height:var(--top-h);padding-top:8px;padding-bottom:8px}
	.brand{gap:6px;font-size:.95rem}.brand img{height:30px}.brand span{display:none}
	.nav{display:none}
	.search{flex:1 1 auto;margin:0;padding:0 10px;min-height:40px}.search input{width:100%;font-size:16px}.search kbd{display:none}
	.user{gap:6px}.user .btn.sm{padding:0 12px}.hide-sm{display:none}
	.dropdown{position:fixed;top:calc(var(--top-h) + 6px);inset-inline:12px;min-width:0;background:var(--glass-solid);box-shadow:0 24px 60px rgba(0,0,0,.8)}
	.dropdown a,.dropdown button{min-height:44px;font-size:1rem}

	/* نوار ناوبری پایین */
	.bnav{display:flex;align-items:center;gap:10px;position:fixed;inset-inline:14px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:35;max-width:520px;margin-inline:auto;pointer-events:none}
	.bnav-pill,.bnav-fab{pointer-events:auto;background:rgba(16,16,22,.78);border:1px solid rgba(255,255,255,.22);box-shadow:0 20px 44px -14px rgba(0,0,0,.95),inset 0 1px 0 rgba(255,255,255,.14),inset 0 -1px 0 rgba(0,0,0,.4);-webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%)}
	.bnav-pill{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:6px;border-radius:999px;min-height:64px}
	.bnav-pill a{position:relative;display:grid;justify-items:center;align-content:center;gap:3px;min-height:52px;border-radius:999px;color:var(--fg-3);font-size:.7rem;font-weight:600;transition:color var(--t-fast),transform var(--t-fast)}
	.bnav-pill a:active{transform:scale(.92)}
	.bnav-pill i{font-size:1.2rem;transition:transform var(--t-fast) var(--ease)}
	.bnav-pill a[aria-current]{color:var(--fg)}.bnav-pill a[aria-current] i{color:var(--violet-2);transform:translateY(-1px);filter:drop-shadow(0 0 10px rgba(176,78,240,.9))}
	.bnav-pill a[aria-current]::before{content:"";position:absolute;inset:4px 6px;border-radius:999px;background:radial-gradient(circle at 50% 30%,rgba(176,78,240,.45),rgba(138,43,226,.12) 70%,transparent);z-index:-1}
	.bnav-fab{flex:0 0 64px;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;color:var(--fg);font-size:1.25rem;overflow:hidden;transition:transform var(--t-fast)}
	.bnav-fab:active{transform:scale(.92)}.bnav-fab img{width:36px;height:36px;border-radius:50%;object-fit:cover}
	.bnav-fab[aria-current]{box-shadow:0 0 0 2px rgba(176,78,240,.6),0 20px 44px -14px rgba(0,0,0,.95)}
	.toast{bottom:calc(96px + env(safe-area-inset-bottom))}

	/* تایپوگرافی و لمس */
	h1{font-size:clamp(1.3rem,1rem + 3vw,1.7rem)}
	.small,.chip,.card .meta,.stats,.kpi span,.foot,.copy,.dim.small{font-size:.8rem}
	:is(input,select,textarea).in,.form input,.form textarea,.form select,.review-form textarea,.refsel select,.pathin input,.codearea{font-size:16px}
	.btn{min-height:44px}.btn.sm{min-height:40px;padding:.4rem .9rem}
	.tabs a,.rtabs a{padding:9px 14px;min-height:40px;display:inline-flex;align-items:center;gap:6px}
	.tree a{min-height:40px}.ftable td{padding:10px 12px}.ftable a{min-height:24px}
	.pager a,.pager .cur{min-width:44px;min-height:44px;display:inline-grid;place-items:center}
	.chip.tag{min-height:32px;padding:4px 12px}
	.rate{font-size:2rem;gap:6px}

	/* خانه */
	.hero{grid-template-columns:1fr;padding:22px 0 6px}.hero-art{display:none}.hero h1{font-size:clamp(1.5rem,1rem + 4vw,2rem)}
	.lead{font-size:.98rem}.kpis{gap:8px;margin-top:18px;max-width:none}.kpis li{padding:10px 6px}.kpis strong{font-size:1.25rem}
	.cta .btn{flex:1 1 auto}
	.feats{grid-template-columns:1fr 1fr;gap:10px}.feats .glass{padding:12px}.feats span{font-size:.8rem}
	.toolbar{gap:8px;margin:14px 0 8px}.toolbar .tabs{max-width:100%}.toolbar>.dim{flex-basis:100%;margin:0}
	.grid{gap:12px}.card h3{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.5}
	.art{height:118px}

	/* صفحه‌ی ریپو */
	.crumbs{padding:12px 2px 6px}.crumbs>a,.crumbs>span{flex-shrink:0;white-space:nowrap}.crumbs strong{min-width:0}
	.rhead.compact{grid-template-columns:auto 1fr;align-items:center;padding:12px;gap:10px}.rhead.compact .art.big{width:48px;height:48px;font-size:22px;border-radius:12px}.rhead.compact .lead,.rhead.compact .stats,.rhead.compact .chips{display:none}.rhead.compact h1{font-size:1.1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rhead.compact .buybox{display:flex;flex-wrap:wrap;gap:8px;padding:8px}.rhead.compact .buybox>div{flex:1 1 100%}.rhead.compact .buybox .btn{flex:1 1 40%;min-width:0;width:auto}.rhead.compact .buybox .dim{display:none}.rhead.compact .price-big{font-size:1.15rem}
	.rhead{grid-template-columns:1fr;padding:14px;gap:12px}.art.big{width:100%;height:96px;font-size:42px}
	.buybox{grid-template-columns:1fr;padding:12px;text-align:center}.buybox .btn{width:100%}
	.rtabs{margin:10px calc(var(--gutter) * -1);padding:0 var(--gutter)}
	.card-lg,.about{padding:16px}.sec-title{flex-wrap:wrap}
	.trust{grid-template-columns:1fr 1fr}
	.refbar{gap:8px;padding:8px}.refacts{margin:0;width:100%}.refacts .btn{flex:1 1 auto}.pathnav{flex-basis:100%;order:3}
	.filebar{padding:8px 10px}.filebar .refacts{width:100%}
	.ftable td:nth-child(2){display:none}.ftable td:nth-child(3){width:auto}
	.code{font-size:.78rem;max-height:none}.fileview .code,.code.numbered{max-height:70vh}
	.lastcommit .dim{margin:0;flex-basis:100%}
	.commits li{grid-template-columns:1fr;gap:2px;padding:10px 12px}.commits code{display:none}
	.version .chips{margin:0}
	.pathin{flex:1 1 100%;min-width:0}.codearea{min-height:55vh;font-size:14px}
	.editor .refacts :is(input,select,textarea).in{flex:1 1 100%}
	.uploader .dropzone{padding:22px 12px}.dropzone .cta{width:100%}.dropzone .cta .btn{flex:1 1 30%}

	/* فرم‌ها، جدول‌ها، داشبورد */
	.form .row,.form.row,.uploader .form.row{grid-template-columns:1fr}
	.tbl,.tbl tbody,.tbl tr,.tbl td{display:block;width:100%}.tbl thead{display:none}
	.tbl tr{padding:10px 12px;border-bottom:1px solid var(--line)}.tbl tr:last-child{border:0}.tbl tr:hover td{background:none}
	.tbl td{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:5px 0;border:0;text-align:start;min-height:36px;overflow-wrap:anywhere}
	.tbl td[data-label]::before{content:attr(data-label);color:var(--fg-3);font-size:.78rem;flex-shrink:0}
	.tbl td:first-child{font-weight:700;font-size:.95rem}.tbl td:first-child::before{display:none}
	.tbl td:empty,.tbl td.acts:empty{display:none}.tbl .acts{justify-content:flex-start;flex-wrap:wrap;padding-top:8px}.tbl .acts::before{display:none}.tbl .acts .btn{flex:1 1 auto}
	.tbl select.in{max-width:60%}.tbl td[dir=ltr]{direction:rtl}
	.kpi-row{grid-template-columns:1fr 1fr;gap:8px}.kpi{padding:12px 8px}.kpi strong{font-size:1.2rem}
	.bars{height:120px}.bar-col span{display:none}
	.auth{margin:20px auto;padding:24px 16px}
	.profile .who{flex-wrap:wrap;gap:12px}.profile .who img{width:64px;height:64px}
	.foot{margin-top:32px}.errorpage{padding:26px 16px;margin:24px auto}.big-code{font-size:3.6rem}
	.nebula{filter:blur(50px)}.n2{display:none}.stars{opacity:.2}.glass{background:rgba(12,12,16,.86)}
	dialog.glass{padding:18px}dialog .acts .btn{flex:1}
}
/* گوشی‌های خیلی باریک (Galaxy Fold، ۳۲۰px) */
@media(max-width:360px){
	:root{--gutter:10px}
	.feats{grid-template-columns:1fr}
	.trust{grid-template-columns:1fr}
	.kpis{gap:6px}.kpis li{padding:8px 4px;border-radius:12px}.kpis strong{font-size:1.1rem}.kpis span{font-size:.7rem}
	.search{padding:0 8px}.search i{display:none}
	.user .btn.sm{padding:0 10px;font-size:.8rem}
	.bnav-pill a{font-size:.64rem}.bnav-pill i{font-size:1.05rem}.bnav-fab{flex-basis:56px;width:56px;height:56px}.bnav-pill{min-height:56px}
	.tabs a,.rtabs a{padding:9px 11px;font-size:.85rem}
	.price-big{font-size:1.4rem}
}
@media(max-width:300px){.kpi-row{grid-template-columns:1fr}}
@media(hover:none){.glass.interactive:hover,.btn:hover{transform:none;box-shadow:none}.glass.interactive:active{box-shadow:var(--glow-violet)}.btn:active{box-shadow:var(--glow-violet)}}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}.nebula{animation:none}*{scroll-behavior:auto!important}}

/* مسیر فایل: نام ریپو (اغلب فارسی) با فونت متن، نه فونت کد */
.pathnav>a:first-child,.pathin>span{font-family:var(--font);max-width:14em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl}
.buybox>*{min-width:0}.btn{max-width:100%}
.tabs small{margin-inline-start:5px}
.btn.tg{background:#2aabee;border-color:transparent;color:#fff;width:100%}.btn.tg:hover{box-shadow:0 0 0 1px rgba(42,171,238,.5),0 8px 28px -8px rgba(42,171,238,.6)}.tg-login{display:grid;gap:10px;width:100%;justify-items:center}
.ver{font-family:var(--mono);font-size:.9em;background:rgba(255,255,255,.06);padding:0 6px;border-radius:6px;unicode-bidi:isolate;letter-spacing:.02em}
.sep{color:var(--fg-4);margin:0 2px}
.tile>span{display:block}

/* ---- انتخاب‌گر آیکون ---- */
.field{display:grid;gap:6px}.field .lbl{font-size:.9rem;color:var(--fg-2)}
.iconpicker{border:1px solid var(--line);border-radius:var(--r);background:var(--void-2);overflow:hidden}
.ip-head{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.ip-preview.art{width:56px;height:56px;font-size:26px;border-radius:14px;flex-shrink:0}
.ip-cur{display:grid;line-height:1.5;min-width:0}.ip-search{margin:0;flex:1 1 220px;background:var(--void)}.ip-search input{width:100%;font-size:16px}
.ip-groups{max-height:340px;overflow:auto;padding:0 12px 12px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
/* عنوان گروه دقیقاً به لبه‌ی بالای لیست می‌چسبد (بدون padding بالای ظرف که آیکون‌ها از زیرش رد شوند) */
.ip-group h4{margin:0 0 6px;font-size:.8rem;color:var(--fg-3);font-weight:600;position:sticky;top:0;background:var(--void-2);padding:12px 0 8px;z-index:1;box-shadow:0 8px 8px -8px rgba(0,0,0,.7)}
.ip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px}
.ip-item{display:grid;justify-items:center;gap:5px;padding:10px 4px 8px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.03);color:var(--fg-2);cursor:pointer;min-height:70px;transition:border-color var(--t-fast),background var(--t-fast),transform var(--t-fast)}
.ip-item i{font-size:1.35rem;color:var(--fg)}.ip-item span{font-size:.7rem;line-height:1.3;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.ip-item:hover{border-color:var(--line-hi);background:rgba(255,255,255,.06)}.ip-item.on{border-color:var(--violet-2);background:rgba(138,43,226,.18);color:var(--fg);box-shadow:var(--glow-violet)}.ip-item.on i{color:var(--violet-2)}
@media(max-width:760px){.ip-grid{grid-template-columns:repeat(4,1fr)}.ip-groups{max-height:300px}}
@media(max-width:360px){.ip-grid{grid-template-columns:repeat(3,1fr)}}

/* ---- چیپ‌های برچسب ---- */
.tagsbox{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;min-height:50px;cursor:text;background:var(--void-2);border:1px solid var(--line-hi);border-radius:var(--r-sm);transition:border-color var(--t-fast),box-shadow var(--t-fast)}
.tagsbox:hover{border-color:rgba(255,255,255,.26)}
.tagsbox .tag-ico{color:var(--fg-4);font-size:.9rem;margin-inline-end:2px}.tagsbox:focus-within .tag-ico{color:var(--violet-2)}
.tagsbox:focus-within{border-color:var(--line-focus);box-shadow:0 0 0 3px rgba(138,43,226,.18)}
.tagsbox input[type=text]{flex:1 1 140px;min-width:120px;background:none;border:0;outline:0;padding:6px 4px;font-size:16px;direction:rtl;text-align:start;color:var(--fg)}
.tagsbox input[type=text]::placeholder{color:var(--fg-4)}
.tagsbox .tag-count{margin-inline-start:auto;font-size:.72rem;color:var(--fg-4);white-space:nowrap}
.tags-list{display:contents}
.tagchip{display:inline-flex;align-items:center;gap:4px;padding:3px 6px 3px 10px;border-radius:var(--r-pill);background:rgba(138,43,226,.18);border:1px solid rgba(176,78,240,.45);color:var(--fg);font-size:.85rem;direction:ltr;line-height:1.5;animation:pop .15s var(--ease)}
.tagchip button{width:20px;height:20px;border-radius:50%;border:0;background:rgba(255,255,255,.1);color:var(--fg-2);font-size:.9rem;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0}
.tagchip button:hover{background:rgba(239,68,68,.35);color:#fff}
@media(max-width:760px){.tagchip button{width:26px;height:26px}}
.form .tagsbox input[type=text],.form .tagsbox input[type=text]:focus{background:none;border:0;box-shadow:none;width:auto;padding:6px 4px;border-radius:0}

/* ---- مقاله‌ها ---- */
.post-card .art.cover{background:var(--void-2);padding:0}.post-card .art.cover img{width:100%;height:100%;object-fit:cover}.post-card .art.cover::after{display:none}
.post{max-width:900px;margin:0 auto}.post-head{padding:14px 0 8px}.post-head h1{font-size:clamp(1.6rem,1.1rem + 2.2vw,2.5rem);line-height:1.4}
.post-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;color:var(--fg-3);font-size:.88rem;margin:8px 0 14px}.post-meta .who{display:inline-flex;align-items:center;gap:8px;color:var(--fg)}.post-meta .who img{width:36px;height:36px;border-radius:50%;object-fit:cover}
.post-cover{margin:0 0 18px;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-2)}.post-cover img{width:100%;max-height:460px;object-fit:cover}
.post-grid{display:grid;grid-template-columns:1fr 240px;gap:18px;align-items:start}.post-toc{position:sticky;top:calc(var(--top-h) + 12px)}.toc{list-style:none;padding:0;margin:0;font-size:.85rem;display:grid;gap:4px}.toc a{color:var(--fg-2);display:block;padding:3px 0}.toc a:hover{color:var(--violet-2)}.toc .lvl3{padding-inline-start:12px}.toc .lvl4{padding-inline-start:24px}
.post-body{font-size:1.05rem;line-height:2}.post-body h2{font-size:1.4rem;margin-top:1.6em}.post-body h3{font-size:1.15rem}.post-body h4{font-size:1rem}.post-body img{max-width:100%;height:auto;border-radius:12px;margin:8px auto;display:block}.post-body video,.post-body iframe{width:100%;max-width:100%;border-radius:12px;margin:10px 0;background:#000}.post-body iframe{aspect-ratio:16/9;height:auto;border:0}
.post-body pre{background:var(--void);border:1px solid var(--line);border-radius:12px;padding:14px;overflow:auto;direction:ltr;text-align:left;font-size:.86rem}.post-body .ql-align-center{text-align:center}.post-body .ql-align-left{text-align:left}.post-body .ql-align-justify{text-align:justify}
.post-body .repo-embed{margin:16px 0}.post-body .repo-embed .card{max-width:420px}.post-body .repo-embed .card.reveal{opacity:1;transform:none}
.post-foot{margin-top:18px;display:grid;gap:14px}.share{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:10px}.post-nav a{display:grid;gap:2px}.post-nav a[rel=next]{text-align:start}.post-nav strong{font-size:.95rem}
@media(max-width:900px){.post-grid{grid-template-columns:1fr}.post-toc{position:static;order:-1}.post-nav{grid-template-columns:1fr}}

/* ---- ویرایشگر ---- */
.editor-page main{max-width:1400px}
.editor-wrap{display:grid;gap:14px;margin-top:14px}.editor-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.editor-top .refacts{margin-inline-start:auto}
.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.editor-side{display:grid;gap:12px;position:sticky;top:calc(var(--top-h) + 12px)}.editor-side .card{display:grid;gap:10px}
.ed-title{width:100%;background:none;border:0;border-bottom:1px solid var(--line);font-size:1.7rem;font-weight:900;padding:10px 4px;outline:0;color:var(--fg)}.ed-title:focus{border-color:var(--line-focus)}
.ed-toolbar.ql-toolbar.ql-snow{border:1px solid var(--line);border-radius:12px 12px 0 0;background:var(--void-2);position:sticky;top:var(--top-h);z-index:5;direction:ltr;padding:6px 8px}.ql-toolbar.ql-snow .ql-formats{margin-right:8px}
.ql-snow .ql-stroke{stroke:var(--fg-2)}.ql-snow .ql-fill{fill:var(--fg-2)}.ql-snow .ql-picker{color:var(--fg-2)}.ql-snow .ql-picker-options{background:var(--glass-solid);border-color:var(--line-hi)}.ql-snow .ql-picker-label:hover,.ql-snow button:hover .ql-stroke,.ql-snow button.ql-active .ql-stroke{stroke:var(--violet-2)}.ql-snow button.ql-active .ql-fill{fill:var(--violet-2)}
.ed-btn{background:none;border:0;color:var(--fg-2);cursor:pointer;height:24px;padding:0 6px;border-radius:6px;font-size:.85rem;display:inline-flex;align-items:center;gap:4px}.ed-btn:hover{color:var(--violet-2);background:rgba(255,255,255,.06)}.ed-btn.ed-repo{border:1px solid rgba(176,78,240,.45);color:var(--violet-2)}
.ed-body.ql-container.ql-snow{border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;background:var(--void-2);font-family:var(--font);font-size:1.05rem;min-height:60vh}.ed-body .ql-editor{min-height:60vh;line-height:2;padding:18px 20px;direction:rtl;text-align:right}.ed-body .ql-editor.ql-blank::before{color:var(--fg-4);right:20px;left:auto;font-style:normal}
.ed-body .ql-editor h2{font-size:1.4rem}.ed-body .ql-editor h3{font-size:1.15rem}.ed-body .ql-editor img{max-width:100%;border-radius:10px;cursor:pointer}.ed-body .ql-editor img:hover{outline:2px solid var(--violet-2)}.ed-body .ql-editor .ql-video,.ed-body .ql-editor video{width:100%;aspect-ratio:16/9;border-radius:10px;background:#000}
.ed-body .repo-embed{display:flex;gap:8px;align-items:center;padding:10px 14px;margin:8px 0;border:1px dashed rgba(176,78,240,.6);border-radius:12px;background:rgba(138,43,226,.12);color:var(--fg);cursor:pointer;user-select:none}.ed-body .repo-embed i{color:var(--violet-2)}.ed-body .repo-embed small{color:var(--fg-3);margin-inline-start:auto}
.ed-body .ql-editor pre.ql-syntax{background:var(--void);color:#e4e4ef;direction:ltr;text-align:left;border-radius:10px}.ed-body .ql-editor blockquote{border-right:3px solid var(--violet);border-left:0;padding-right:14px;color:var(--fg-2)}
.ql-snow .ql-tooltip{background:var(--glass-solid);border-color:var(--line-hi);color:var(--fg);box-shadow:var(--shadow-2);direction:ltr}.ql-snow .ql-tooltip input[type=text]{background:var(--void);border-color:var(--line);color:var(--fg)}.ql-snow .ql-tooltip a{color:var(--violet-2)}
.serp{background:#fff;color:#1f1f1f;border-radius:10px;padding:10px 12px;direction:rtl;font-family:Vazirmatn,Arial,sans-serif}.serp-url{font-size:.72rem;color:#4d5156;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.serp-title{color:#1a0dab;font-size:1.05rem;line-height:1.4;margin:2px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.serp-desc{font-size:.82rem;color:#4d5156;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.seo-checks{list-style:none;padding:0;margin:0;display:grid;gap:4px;font-size:.8rem}.seo-checks .ok{color:var(--ok)}.seo-checks .todo{color:var(--fg-3)}.seo-checks i{width:16px}
[data-count-for].bad{color:var(--bad)}
.cover-pick{border:1px dashed var(--line-hi);border-radius:12px;min-height:90px;display:grid;place-items:center;overflow:hidden;background:var(--void-2)}.cover-pick img{width:100%;height:150px;object-fit:cover}
.repo-dialog{width:min(560px,calc(100% - 24px));max-width:none;display:grid;gap:10px}.repo-dialog[open]{display:grid}.repo-dialog .tree{max-height:50vh;overflow:auto}.repo-dialog .tree a{padding:8px 10px}.repo-dialog .tree small{margin-inline-start:auto}
@media(max-width:1000px){.editor-grid{grid-template-columns:1fr}.editor-side{position:static}.ed-toolbar.ql-toolbar.ql-snow{top:0}}
@media(max-width:760px){.editor-page main{padding-bottom:110px}.ed-title{font-size:1.3rem}.editor-top .refacts{width:100%;margin:0}.editor-top .refacts .btn{flex:1}.ed-body .ql-editor{padding:12px}}
/* ویرایشگر: ستون کناری نباید با محتوای پهن (پیش‌نمایش گوگل) گشاد شود */
.editor-grid{grid-template-columns:minmax(0,1fr) minmax(0,320px)}.editor-side,.editor-side .card,.editor-side .card>*,.editor-main,.editor-main>*{min-width:0}.serp{min-width:0;overflow:hidden}.serp-url{max-width:100%}
@media(max-width:1000px){.editor-grid{grid-template-columns:minmax(0,1fr)}}
.post-grid>*,.post-body>*{min-width:0}.post-body pre,.post-body table{max-width:100%}.post-body .tblwrap{overflow-x:auto}
.post-body ol{list-style:persian}.post-body ul{list-style:disc}.post-body li{margin:4px 0}.post-body li::marker{color:var(--violet-2);font-weight:700}

@media(max-width:760px){.home .toolbar .tabs{display:none}.home .toolbar>.dim{flex-basis:auto;margin:0}}

/* ---- توضیح کارت: دو خط کامل + محو در انتها + «بیشتر» برای باز شدن ---- */
.card .desc-wrap{position:relative;margin:0 2px 4px}
.card .desc{margin:0;color:var(--fg-3);font-size:.85rem;line-height:1.8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:max-height var(--t-base) var(--ease)}
.card.expanded .desc{-webkit-line-clamp:unset;display:block}
.card .more{display:inline-flex;align-items:center;gap:4px;margin:0 2px 6px;font-size:.78rem;color:var(--violet-2);cursor:pointer;user-select:none;min-height:28px;padding:2px 8px;border-radius:999px;border:1px solid rgba(176,78,240,.3);background:rgba(138,43,226,.08)}
.card .more i{transition:transform var(--t-fast)}.card.expanded .more i{transform:rotate(180deg)}

.post-body .repo-embed .card .desc{font-size:.9rem}

/* ---- دستور اجرا: ترمینال ---- */
.term{background:#000;border:1px solid var(--line-hi);border-radius:12px;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.term-bar{display:flex;gap:6px;align-items:center;padding:7px 12px;border-bottom:1px solid var(--line);direction:ltr;background:#0a0a0f}.term-bar>i{width:10px;height:10px;border-radius:50%;background:var(--fg-4);flex-shrink:0}.term-bar>i:nth-child(1){background:#ef4444}.term-bar>i:nth-child(2){background:#f59e0b}.term-bar>i:nth-child(3){background:#22c55e}
.term-bar>span{margin-left:10px;font-size:.78rem;color:var(--fg-3);font-family:var(--font);display:inline-flex;gap:6px;align-items:center}.term-bar .copy{margin-left:auto;background:rgba(255,255,255,.06);border:1px solid var(--line);color:var(--fg-2);border-radius:999px;padding:3px 10px;font-size:.75rem;cursor:pointer;display:inline-flex;gap:5px;align-items:center;min-height:28px}.term-bar .copy:hover{color:var(--fg);border-color:var(--line-hi)}
.term pre{margin:0;padding:12px 14px;font-family:var(--mono);font-size:.86rem;line-height:1.75;color:#e4e4ef;overflow:auto;white-space:pre;text-align:left}
.term pre .ln{display:block}.term pre .pr{color:var(--violet-2);user-select:none;display:inline-block;width:1.4em}
.run-tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin:0 0 10px;padding:3px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--void-2)}.run-tabs::-webkit-scrollbar{display:none}
.run-tab{background:none;border:0;color:var(--fg-2);padding:6px 14px;border-radius:var(--r-pill);cursor:pointer;white-space:nowrap;display:inline-flex;gap:6px;align-items:center;font-size:.88rem;min-height:36px}.run-tab.on{background:rgba(138,43,226,.22);color:var(--fg);box-shadow:inset 0 0 0 1px rgba(176,78,240,.45)}.run-tab i{color:var(--violet-2)}
/* ویرایشگر */
.run-editor{display:grid;gap:10px}.run-blocks{display:grid;gap:10px}
.run-block .term-bar{gap:8px}.run-os{display:inline-flex;align-items:center;gap:6px;margin-left:8px;color:var(--fg-2);font-size:.85rem}.run-os i{color:var(--violet-2)}
.run-os select{background:var(--void-2);border:1px solid var(--line);border-radius:8px;color:var(--fg);padding:3px 8px;font-size:.85rem;font-family:var(--font);max-width:180px}
.run-block [data-run-count]{margin-left:auto;font-family:var(--font)}.run-block .rm{background:none;border:0;color:var(--fg-3);font-size:1.1rem;cursor:pointer;padding:0 4px;line-height:1}.run-block .rm:hover{color:var(--bad)}
.term-body{position:relative;display:flex}.term-body .prompts{padding:12px 0 12px 12px;font-family:var(--mono);font-size:.9rem;line-height:1.75;color:var(--violet-2);user-select:none;display:grid;align-content:start;overflow:hidden;flex-shrink:0;will-change:transform}
.term-body .run-ta{flex:1;background:none;border:0;outline:0;color:#e4e4ef;font-family:var(--mono);font-size:.9rem;line-height:1.75;padding:12px 12px 12px 8px;resize:none;direction:ltr;text-align:left;white-space:pre;overflow:auto;min-width:0;tab-size:2}
.term-body .run-ta::placeholder{color:var(--fg-4)}.form .term-body .run-ta,.form .term-body .run-ta:focus{background:none;border:0;box-shadow:none;border-radius:0}
.term:focus-within{border-color:var(--line-focus);box-shadow:0 0 0 3px rgba(138,43,226,.18)}
@media(max-width:760px){.term pre,.term-body .run-ta,.term-body .prompts{font-size:.8rem}.term-body .run-ta{font-size:16px}.term-body .prompts{font-size:16px}.run-os select{max-width:140px}}
.term-body{direction:ltr}.term-body .prompts{direction:ltr;text-align:left}.form .term-bar .run-os{display:inline-flex;gap:6px;align-items:center;margin:0 0 0 8px}.term-bar{direction:ltr}.term-bar .rm{margin-left:6px}
.run-tabs{flex-wrap:wrap;border-radius:18px}.term pre .ln{min-height:1.75em}

/* ---- CursorFX: ذرات دنبال‌کننده‌ی نشانگر (فقط transform/opacity روی GPU) ---- */
.cfx{position:fixed;left:0;top:0;right:0;bottom:0;z-index:var(--cfx-z,9999);pointer-events:none;overflow:hidden;contain:strict;direction:ltr}
.cfx-p{position:absolute;left:0;top:0;width:var(--cfx-s);height:var(--cfx-s);margin:calc(var(--cfx-s) / -2) 0 0 calc(var(--cfx-s) / -2);border-radius:50%;background:radial-gradient(circle,#fff 0 22%,var(--cfx-c) 50%,var(--cfx-g) 66%,transparent 72%);filter:blur(var(--cfx-blur,.3px)) drop-shadow(0 0 calc(var(--cfx-s) * .9) var(--cfx-c));opacity:0;transform:translate3d(-99px,-99px,0);will-change:transform,opacity;pointer-events:none}
@media (prefers-reduced-motion:reduce),(hover:none),(pointer:coarse){.cfx{display:none!important}}
/* جستجوهایی که label هستند نباید قانون grid فرم را بگیرند (آیکون و فیلد در یک خط، وسط‌چین) */
.form label.search,label.search{display:flex;flex-direction:row;align-items:center;gap:8px;grid-template-columns:none}
.form label.search input,label.search input{flex:1 1 auto;min-width:0;border:0;background:none;box-shadow:none;padding:8px 0;margin:0}
.ip-search{padding:0 14px;min-height:48px}.ip-search i{flex-shrink:0;color:var(--fg-3);font-size:.95rem;line-height:1}

/* ---- تنظیمات حساب و پروفایل ---- */
.settings-form{display:grid;gap:14px}.settings-form>section{display:grid;gap:14px}
.profile-head{display:flex;align-items:center;gap:14px}.profile-head img{width:72px;height:72px;border-radius:50%;object-fit:cover;border:2px solid rgba(176,78,240,.5)}.profile-head p{margin:0}
.input-affix{display:flex;align-items:stretch;background:var(--void-2);border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;transition:border-color var(--t-fast),box-shadow var(--t-fast)}
.input-affix:focus-within{border-color:var(--line-focus);box-shadow:0 0 0 3px rgba(138,43,226,.18)}
.input-affix .affix{display:flex;align-items:center;padding:0 10px;color:var(--fg-3);background:rgba(255,255,255,.04);border-right:1px solid var(--line);font-family:var(--mono);font-size:.85rem;white-space:nowrap}
.form .input-affix input,.form .input-affix input:focus{border:0;box-shadow:none;border-radius:0;background:none;flex:1;min-width:0}
.hint-line{font-size:.8rem;min-height:1.4em}.hint-line .ok{color:var(--ok)}.hint-line .bad{color:var(--bad)}
.switch-row{display:flex!important;align-items:center;justify-content:space-between;gap:14px;cursor:pointer}.switch-row>span{display:grid;gap:2px}.switch-row strong{color:var(--fg)}
.switch{appearance:none;-webkit-appearance:none;width:46px;height:26px;border-radius:999px;background:var(--void-2);border:1px solid var(--line-hi);position:relative;cursor:pointer;flex-shrink:0;transition:background var(--t-fast)}
.switch::after{content:"";position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;background:var(--fg-3);transition:transform var(--t-base) var(--ease),background var(--t-fast)}
.switch:checked{background:linear-gradient(135deg,var(--violet),var(--violet-2));border-color:transparent}.switch:checked::after{transform:translateX(-20px);background:#fff}
.form .switch{width:46px;padding:0}
.dev-fields{display:grid;gap:14px;padding-top:6px;border-top:1px dashed var(--line)}
.sticky-save{position:sticky;bottom:calc(12px + env(safe-area-inset-bottom));z-index:5;display:flex;gap:10px;padding:10px;border-radius:var(--r);background:rgba(10,10,14,.85);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
@media(max-width:760px){.sticky-save{bottom:calc(92px + env(safe-area-inset-bottom))}.sticky-save .btn{flex:1}}
.profile .who-text{min-width:0}.profile .headline{margin:2px 0;color:var(--violet-2);font-weight:600}.profile .bio{margin:12px 0 0;color:var(--fg-2);line-height:1.9}
.plinks{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.resume .skills{margin-bottom:10px}.resume .skills .chip{font-size:.8rem;padding:4px 12px}
.profile-head .avatar.big,.profile .who .avatar.big{width:72px;height:72px;min-width:72px;flex:0 0 72px;align-self:center;border-radius:50%}
@media(max-width:760px){.sticky-save{position:static;background:none;border:0;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none}}

/* ---- اعلان‌ها ---- */
.bell{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;cursor:pointer;list-style:none;color:var(--fg-2);border:1px solid var(--line);background:var(--glass-2);position:relative;font-size:1.05rem;transition:color var(--t-fast),box-shadow var(--t-fast)}
.bell::-webkit-details-marker{display:none}.bell:hover,.notif[open] .bell{color:var(--fg);box-shadow:var(--glow-violet)}
.badge-dot{position:absolute;top:-4px;inset-inline-end:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font-size:.65rem;font-weight:800;display:grid;place-items:center;border:2px solid var(--void);line-height:1}
.badge-dot[hidden]{display:none}
.notif-drop{width:min(360px,calc(100vw - 24px));padding:0;overflow:hidden}.nd-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line)}
.linkish{background:none;border:0;color:var(--violet-2);cursor:pointer;font-size:.8rem;padding:4px}
.nd-foot{display:block!important;text-align:center;padding:10px!important;border-top:1px solid var(--line);font-size:.85rem;color:var(--violet-2)!important}
.notif-list{list-style:none;margin:0;padding:0;max-height:min(60vh,420px);overflow:auto}.notif-page .notif-list,[data-notif-page]{max-height:none}
.notif-list li{border-bottom:1px solid var(--line)}.notif-list li:last-child{border:0}
.notif-list a{display:flex!important;gap:12px;align-items:flex-start;padding:12px 14px!important;color:var(--fg-2)!important;border-radius:0!important;min-height:0!important}
.notif-list a:hover{background:rgba(255,255,255,.04)}.notif-list li.unread a{background:rgba(138,43,226,.08)}
.notif-list .ni{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:rgba(176,78,240,.15);color:var(--violet-2);font-size:.9rem}
.notif-list .nt{display:grid;gap:2px;min-width:0;line-height:1.6}.notif-list .nt strong{color:var(--fg);font-size:.9rem}.notif-list .nt span{font-size:.82rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.notif-list .nt small{font-size:.72rem}
.notif-list li.unread .nt strong::after{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--violet-2);margin-inline-start:6px;vertical-align:middle}
@media(max-width:760px){.notif .notif-drop{position:fixed;top:calc(var(--top-h) + 6px);inset-inline:12px;width:auto;background:var(--glass-solid)}}
.ptable{width:100%;border-collapse:collapse;font-size:.9rem}.ptable th{color:var(--fg-3);font-weight:600;font-size:.78rem;padding:6px 8px;text-align:center}.ptable th:first-child{text-align:start}
.ptable td{padding:10px 8px;border-top:1px solid var(--line);text-align:center;vertical-align:middle}.ptable td:first-child{text-align:start}.ptable td:first-child i{color:var(--violet-2);width:18px}.ptable td small{display:block;font-size:.75rem;margin-top:2px}
.push-state .warn,.ok-box,.info-box{border-radius:12px;padding:10px 14px;font-size:.88rem;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ok-box{background:rgba(34,197,94,.08);color:var(--ok);box-shadow:inset 0 0 0 1px rgba(34,197,94,.3)}.info-box{background:rgba(138,43,226,.08);box-shadow:inset 0 0 0 1px rgba(176,78,240,.3)}
.np-card{position:fixed;z-index:60;inset-inline-end:16px;bottom:calc(20px + env(safe-area-inset-bottom));width:min(360px,calc(100vw - 24px));padding:16px;background:var(--glass-solid);box-shadow:0 24px 60px rgba(0,0,0,.8);opacity:0;transform:translateY(16px);transition:opacity var(--t-base),transform var(--t-base) var(--ease)}
.np-card.in{opacity:1;transform:none}.np-x{position:absolute;top:8px;inset-inline-end:10px;background:none;border:0;color:var(--fg-3);font-size:1.2rem;cursor:pointer}
.np-h{display:flex;gap:10px;align-items:center;margin-bottom:6px}.np-h i{color:var(--gold);font-size:1.2rem}.np-card p{margin:0 0 10px}
.np-topics{display:grid;gap:6px;margin-bottom:12px;font-size:.88rem}.np-topics label{display:flex;gap:8px;align-items:center;cursor:pointer}.np-topics input{accent-color:var(--violet);width:18px;height:18px}
.np-acts{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
@media(max-width:760px){.np-card{inset-inline:12px;width:auto;bottom:calc(96px + env(safe-area-inset-bottom))}.user{gap:6px}.bell{width:38px;height:38px}}

/* ---- صفحه‌ی مقاله: بدون فهرست → تک‌ستونه‌ی وسط‌چین با عرض خوانا؛ با فهرست → دوستونه (هیچ ستون خالی رزرو نمی‌شود) ---- */
.post{max-width:820px;margin:0 auto}
.post.has-toc{max-width:1110px}
.post-grid{grid-template-columns:minmax(0,1fr)}
.post.has-toc .post-grid{grid-template-columns:minmax(0,1fr) 250px}
.post.has-toc>.post-head,.post.has-toc>.post-foot,.post.has-toc>.crumbs{max-width:calc(100% - 268px)}   /* سرتیتر هم‌تراز ستون متن */
.post>.crumbs{padding-inline:0}
.post-head h1{overflow-wrap:anywhere;margin:6px 0 10px}.post-head .lead{max-width:none;overflow-wrap:anywhere;line-height:1.9}
.post-meta{row-gap:8px}.post-meta>*{white-space:nowrap}
.post-body.empty-state{display:grid;justify-items:center;gap:8px;text-align:center;padding:48px 20px;color:var(--fg-2)}.post-body.empty-state i{font-size:2rem;color:var(--violet-2);opacity:.85}
.post+.related{max-width:820px;margin:32px auto 0}.post.has-toc+.related{max-width:1110px}   /* فقط زیر مقاله؛ .related صفحه‌ی اصلی دست نمی‌خورد */
.post.has-toc+.related>*{max-width:calc(100% - 268px)}   /* کارت‌های مرتبط هم‌عرض ستون متن */
.post+.related .grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}
@media(max-width:900px){
	.post.has-toc .post-grid{grid-template-columns:minmax(0,1fr)}
	.post.has-toc>.post-head,.post.has-toc>.post-foot,.post.has-toc>.crumbs{max-width:none}
	.post.has-toc+.related>*{max-width:none}
	.post+.related{margin-top:24px}
}

/* ---- هشدار VPN در صفحه‌ی ورود (تلگرام فیلتر است) ---- */
.vpn-warn{display:flex;width:100%;box-sizing:border-box;gap:12px;align-items:flex-start;text-align:start;padding:14px;border-radius:var(--r);border:1px solid rgba(245,158,11,.45);background:linear-gradient(135deg,rgba(245,158,11,.14),rgba(245,158,11,.05));color:var(--fg);animation:pop .2s var(--ease)}
.vpn-warn>i{font-size:1.35rem;color:#f59e0b;margin-top:2px;flex-shrink:0}
.vpn-warn>div{display:grid;gap:6px;min-width:0}.vpn-warn strong{font-size:.98rem}.vpn-warn p{margin:0;font-size:.88rem;line-height:1.9;color:var(--fg-2)}.vpn-warn p b{color:#fbbf24}
.vpn-warn .btn{justify-self:start;margin-top:2px}
.vpn-warn.ok{border-color:rgba(34,197,94,.45);background:linear-gradient(135deg,rgba(34,197,94,.14),rgba(34,197,94,.05))}.vpn-warn.ok>i{color:#22c55e}.vpn-warn.ok>i::before{content:"\f058"}
.vpn-warn.shake{animation:vpnShake .45s var(--ease)}
@keyframes vpnShake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.btn.tg.dimmed{opacity:.55;filter:saturate(.6)}
@media(prefers-reduced-motion:reduce){.vpn-warn,.vpn-warn.shake{animation:none}}

/* ---- جایگزین عکس پروفایل (حرف اول نام) ---- */
.av-ini{display:inline-grid;place-items:center;flex-shrink:0;border-radius:50%;color:#fff;font-weight:800;line-height:1;user-select:none;background:linear-gradient(135deg,hsl(var(--h,270) 72% 58%),hsl(calc(var(--h,270) + 45) 70% 38%));box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}

/* ---- مقاله‌نویسی کاربران: ستاره، جعبه‌ی نویسنده، وضعیت، «مقاله‌های من» ---- */
.gold{color:var(--gold)}
.post-rate{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:16px}
.pr-sum{display:grid;line-height:1.4}.pr-sum strong{font-size:1.5rem}
.pr-pick{display:grid;justify-items:center;gap:4px}.pr-pick .lbl{font-size:.82rem;color:var(--fg-3)}
.post-rate .rate{display:inline-flex;flex-direction:row-reverse;direction:ltr;gap:2px;font-size:1.9rem;line-height:1}
.post-rate .rate button{background:none;border:0;padding:0 2px;cursor:pointer;color:var(--fg-4);transition:color var(--t-fast),transform var(--t-fast)}
.post-rate .rate button.on{color:var(--gold)}.post-rate .rate button:hover{transform:scale(1.15)}
.author-box{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px;border-color:rgba(176,78,240,.35);background:linear-gradient(135deg,rgba(138,43,226,.12),rgba(255,255,255,.02))}
.ab-av img,.ab-av .avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid rgba(176,78,240,.5);display:grid;place-items:center}
.ab-text{display:grid;gap:3px;flex:1 1 220px;min-width:0}.ab-text strong{font-size:1.05rem}.ab-text strong a{color:var(--fg)}.ab-head{color:var(--fg-2);font-size:.9rem}.ab-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:.8rem;color:var(--fg-3)}
.ab-acts{display:flex;gap:6px;flex-wrap:wrap}
.chip.sm{font-size:.7rem;padding:1px 7px}.chip.bad{color:#f87171;border-color:rgba(248,113,113,.4);background:rgba(248,113,113,.1)}
.ed-note{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border-radius:var(--r);border:1px solid rgba(176,78,240,.35);background:rgba(138,43,226,.1);margin:0 0 12px}
.ed-note>i{font-size:1.3rem;color:var(--violet-2)}.ed-note>div{display:grid;flex:1 1 240px;min-width:0}.ed-note strong{font-size:.95rem}.ed-note span{font-size:.85rem;color:var(--fg-2)}
.ed-note.warn{border-color:rgba(245,158,11,.4);background:rgba(245,158,11,.1)}.ed-note.warn>i{color:#f59e0b}
.ed-note.bad{border-color:rgba(248,113,113,.4);background:rgba(248,113,113,.1)}.ed-note.bad>i{color:#f87171}
.ed-note .acts{display:flex;gap:6px}

.badge-n{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--violet-2);color:#fff;font-size:.72rem;font-weight:700}
.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.mylist{list-style:none;margin:0;padding:0}.myrow{display:flex;align-items:center;gap:14px;padding:12px 14px;border-bottom:1px solid var(--line)}.myrow:last-child{border-bottom:0}
.myrow .art.sm{width:64px;height:48px;border-radius:10px;flex-shrink:0;font-size:1.2rem;padding:0;overflow:hidden}.myrow .art.sm img{width:100%;height:100%;object-fit:cover}
.mytext{flex:1;min-width:0;display:grid;gap:4px}.mytext strong a{color:var(--fg)}.mytext .meta{display:flex;gap:12px;flex-wrap:wrap;font-size:.8rem;color:var(--fg-3);align-items:center}
.mytext .reason{margin:2px 0 0;font-size:.82rem;color:#f87171}.mytext .reason.dim{color:var(--fg-3)}
.myrow .acts{display:flex;gap:6px;flex-shrink:0}
.reject-dlg{max-width:440px;width:min(92vw,440px);display:grid;gap:12px}.reject-dlg .reasons{display:grid;gap:6px}.reject-dlg .reasons label{display:flex;gap:8px;align-items:center;font-size:.9rem;cursor:pointer}
@media(max-width:760px){.myrow{flex-wrap:wrap}.myrow .acts{width:100%;justify-content:flex-end}.post-rate{justify-content:center}.pr-sum{text-align:center}}

/* ---- منوی قابل‌تنظیم ---- */
.nav a i{margin-inline-end:5px;font-size:.85em;opacity:.8}
@media(max-width:760px){.bnav-pill{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:1fr}}

/* ---- empty state عمومی ---- */
.empty-state{display:grid;justify-items:center;gap:8px;text-align:center;padding:40px 20px;color:var(--fg-2)}.empty-state>i{font-size:2rem;color:var(--violet-2);opacity:.85}.empty-state .btn{margin-top:6px}

/* ---- برنامه‌نویس‌ها ---- */
.verified{color:#38bdf8;font-size:.85em;filter:drop-shadow(0 0 6px rgba(56,189,248,.5))}
.dev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:14px;margin:14px 0}
.dev-card .card-link{display:grid;gap:12px;padding:16px;height:100%;align-content:start;color:inherit}
.dc-top{display:flex;gap:12px;align-items:center}.dc-av img,.dc-av .av-ini{width:60px;height:60px;border-radius:50%;object-fit:cover;border:2px solid rgba(176,78,240,.45);flex-shrink:0}
.dc-id{min-width:0;display:grid;gap:2px}.dc-id h3{margin:0;font-size:1.02rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dc-id p{margin:0}.dc-head{color:var(--fg-2);font-size:.86rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dc-skills{gap:5px}.dc-skills .chip{font-size:.72rem;direction:ltr}
.dc-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:10px;border-top:1px solid var(--line)}.dc-stats{display:flex;gap:12px;font-size:.8rem;color:var(--fg-3)}
.dev-filter{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px;margin:10px 0}.dev-filter .search{flex:1 1 260px;margin:0;min-height:44px}.dev-filter .search input{width:100%}.dev-filter select.in{width:auto;min-width:140px}.dev-filter .chk{display:flex;gap:6px;align-items:center;font-size:.88rem;white-space:nowrap}
.dev-skill-chips{margin:0 0 6px}
.hire-terms,.hire-box{margin-top:22px}.terms-text{line-height:2.1;color:var(--fg-2);font-size:.92rem}
.hire-box .terms{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}.hire-box .terms summary{cursor:pointer;color:var(--fg-2);font-weight:600;font-size:.9rem}.hire-box .terms summary i{color:var(--violet-2)}
.hire-form{display:grid;gap:12px}
.admin-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;border-color:rgba(56,189,248,.35)}.admin-strip>i{color:#38bdf8}

/* ---- پنل: تنظیمات، منو، دسترسی‌ها ---- */
.set-tabs{position:sticky;top:calc(var(--top-h) + 6px);z-index:5;backdrop-filter:blur(14px)}
.feat-group{border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;margin:0;display:grid;gap:10px}.feat-group legend{padding:0 8px;color:var(--violet-2);font-weight:700;font-size:.88rem}
.feat-group .switch-row{padding:6px 0;border-bottom:1px dashed var(--line)}.feat-group .switch-row:last-child{border-bottom:0}
fieldset{min-width:0}fieldset[disabled]{opacity:.55}
.nav-ed{display:grid;gap:6px;overflow-x:auto}
.nav-ed-head,.nav-row{display:grid;grid-template-columns:70px minmax(110px,1fr) minmax(170px,1.3fr) minmax(130px,1.2fr) 44px 44px 56px 40px;gap:8px;align-items:center;min-width:720px}
.nav-ed-head{font-size:.75rem;color:var(--fg-3);padding:0 4px}.nav-row{padding:6px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02)}
.nav-row input[type=checkbox]:not(.switch){width:18px;height:18px;justify-self:center;accent-color:var(--violet-2)}.nav-row .switch{justify-self:center}
.nav-move{display:flex;gap:2px}.nav-move .btn{padding:4px 7px}.nav-icon{display:flex;align-items:center;gap:8px}.nav-icon i{width:18px;text-align:center;color:var(--violet-2)}.nav-icon .in{font-size:.8rem}
.nav-row .in{padding:7px 10px;min-height:0}
.lim-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.in-unit{display:flex;align-items:center;gap:8px}.in-unit .in{max-width:140px}
.user-head{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.uh-av img,.uh-av .av-ini{width:72px;height:72px;border-radius:50%;object-fit:cover}.uh-text{flex:1 1 260px;min-width:0;display:grid;gap:4px}.uh-text h1{margin:0;font-size:1.4rem}.uh-text p{margin:0}
.kpis.mini{margin:0;gap:8px}.kpis.mini li{padding:8px 12px}.kpis.mini strong{font-size:1.1rem}
.block-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:4px 18px}
.perm-box{display:grid;gap:12px;transition:opacity var(--t-fast)}.perm-box.off{opacity:.4;pointer-events:none}
.perm-box .presets{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.perm-box .presets .chip{cursor:pointer;background:rgba(138,43,226,.12)}.perm-box .presets .chip:hover{border-color:var(--violet-2)}
.switch-row.perm strong i{color:var(--violet-2);width:18px}.switch-row.locked{opacity:.55}
.hire-item{display:grid;gap:10px}.hi-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hi-head strong{font-size:1.02rem}
.hi-people{display:grid;gap:4px;font-size:.88rem;color:var(--fg-2)}.hi-people i{color:var(--violet-2);width:16px}
.hi-desc{margin:0;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid var(--line);line-height:1.9;font-size:.9rem}
.hi-acts{align-items:end}.hi-acts label{flex:1}
@media(max-width:760px){.dev-filter{padding:10px}.dev-filter select.in{flex:1}.dc-top{gap:10px}.user-head{gap:12px}.kpis.mini{width:100%}}
form>fieldset:not(.feat-group){border:0;padding:0;margin:0;display:grid;gap:12px}

/* ---- Markdown مثل گیت‌هاب ---- */
.md-wrap{position:relative}
.md-dirbar{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--void-2);float:left;margin:-4px 0 8px 8px;position:relative;z-index:1}
.md-dirbar button{border:0;background:none;color:var(--fg-3);font:inherit;font-size:.75rem;padding:4px 10px;border-radius:var(--r-pill);cursor:pointer;min-height:28px}
.md-dirbar button[aria-pressed=true]{background:rgba(138,43,226,.25);color:var(--fg)}
.md-body{line-height:1.85;font-size:.98rem;overflow-wrap:break-word;clear:both}
.md-body>*:first-child{margin-top:0}
.md-body :is(p,li,h1,h2,h3,h4,h5,h6,td,th,dt,dd,summary,blockquote)[dir=auto],.md-body[dir]{text-align:start}
.md-body h1,.md-body h2{padding-bottom:.3em;border-bottom:1px solid var(--line)}.md-body h1{font-size:1.7rem;margin:1.2em 0 .6em}.md-body h2{font-size:1.35rem;margin:1.3em 0 .6em}.md-body h3{font-size:1.12rem}.md-body h4,.md-body h5,.md-body h6{font-size:1rem}
.md-body :is(h1,h2,h3,h4,h5,h6)[align=center],.md-body p[align=center],.md-body div[align=center]{text-align:center}
.md-body :is(p,div,h1,h2,h3)[align=right]{text-align:right}.md-body :is(p,div,h1,h2,h3)[align=left]{text-align:left}
.md-body img{max-width:100%;height:auto;vertical-align:middle;border-radius:4px}.md-body p>a>img,.md-body p>img{margin:2px 1px}
.md-body img[align=right]{float:right;margin:0 0 8px 12px}.md-body img[align=left]{float:left;margin:0 12px 8px 0}
.md-body a{color:var(--violet-2)}.md-body a:hover{text-decoration:underline}
.md-body code{font-family:var(--mono);font-size:.86em;background:rgba(255,255,255,.08);padding:.15em .4em;border-radius:6px;unicode-bidi:isolate}
.md-body pre{background:var(--void);border:1px solid var(--line);border-radius:10px;padding:14px;overflow:auto;text-align:left;font-size:.86rem;line-height:1.6}.md-body pre code{background:none;padding:0;font-size:inherit}
.md-body blockquote{margin:.8em 0;padding:.2em 1em;border-inline-start:4px solid rgba(176,78,240,.5);color:var(--fg-2);background:rgba(255,255,255,.02);border-radius:0 8px 8px 0}
.md-body ul,.md-body ol{padding-inline-start:1.6em;margin:.5em 0}.md-body li+li{margin-top:.25em}.md-body li>p{margin:.25em 0}
.md-body ul.contains-task-list{list-style:none;padding-inline-start:.4em}.md-body .task-list-item input{margin-inline-end:.45em;accent-color:var(--violet-2);vertical-align:middle}
.md-body table{border-collapse:collapse;margin:.8em 0;font-size:.92rem;min-width:50%}.md-body th,.md-body td{border:1px solid var(--line);padding:6px 12px}.md-body th{background:rgba(255,255,255,.05);font-weight:700}.md-body tr:nth-child(2n) td{background:rgba(255,255,255,.02)}
.md-body th[align=center],.md-body td[align=center]{text-align:center}.md-body th[align=right],.md-body td[align=right]{text-align:right}.md-body th[align=left],.md-body td[align=left]{text-align:left}
.md-body hr{border:0;border-top:1px solid var(--line);margin:1.4em 0}
.md-body kbd{font-family:var(--mono);font-size:.8em;padding:.15em .45em;border:1px solid var(--line-hi);border-bottom-width:2px;border-radius:6px;background:var(--void-2)}
.md-body details{border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:.6em 0;background:rgba(255,255,255,.02)}.md-body summary{cursor:pointer;font-weight:600}.md-body details[open] summary{margin-bottom:6px}
.md-body mark{background:rgba(250,204,21,.3);color:inherit;border-radius:3px;padding:0 2px}
.md-body .footnotes{font-size:.85rem;color:var(--fg-2);border-top:1px solid var(--line);margin-top:1.5em;padding-top:.5em}
.md-alert{margin:.9em 0;padding:.5em 1em;border-inline-start:4px solid;border-radius:0 8px 8px 0;background:rgba(255,255,255,.02)}.md-alert-title{font-weight:700;margin:.2em 0 .3em!important}
.md-alert-note{border-color:#3b82f6}.md-alert-note .md-alert-title{color:#60a5fa}.md-alert-tip{border-color:#22c55e}.md-alert-tip .md-alert-title{color:#4ade80}.md-alert-important{border-color:#a855f7}.md-alert-important .md-alert-title{color:#c084fc}.md-alert-warning{border-color:#eab308}.md-alert-warning .md-alert-title{color:#facc15}.md-alert-caution{border-color:#ef4444}.md-alert-caution .md-alert-title{color:#f87171}
.md-body::after{content:"";display:block;clear:both}
.md-body img{display:inline-block}.md-body picture{display:inline-block}
/* فوتر dropdown اعلان‌ها: خط جداکننده + ظاهر دکمه (قانون .dropdown a مرز را صفر می‌کرد) */
.notif-drop .nd-foot{display:flex!important;align-items:center;justify-content:center;gap:8px;margin:0;padding:12px 14px!important;border-top:1px solid var(--line-hi)!important;border-radius:0;background:rgba(138,43,226,.10)!important;color:var(--violet-2)!important;font-weight:600;font-size:.88rem;transition:background var(--t-fast)}
.notif-drop .nd-foot:hover,.notif-drop .nd-foot:focus-visible{background:rgba(138,43,226,.22)!important;color:var(--fg)!important}
.notif-drop .nd-foot .nd-go{font-size:.75rem;opacity:.7;margin-inline-start:2px}
.auth-lock{font-size:2rem;color:var(--violet-2)}.handoff-who{display:flex;align-items:center;gap:12px;justify-content:center;margin:6px 0}.handoff-who img{width:56px;height:56px;border-radius:50%;object-fit:cover}.handoff-who div{display:grid;text-align:start}
/* پیش‌نمایش زنده‌ی مقاله */
.preview-dlg{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--void);color:var(--fg)}.preview-dlg::backdrop{background:rgba(0,0,0,.7)}
.pv-bar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;background:rgba(245,158,11,.14);border-bottom:1px solid rgba(245,158,11,.4);font-weight:600;font-size:.9rem;backdrop-filter:blur(10px)}.pv-bar i{color:#f59e0b}
.pv-scroll{padding:18px var(--gutter) 60px;overflow:auto;height:calc(100dvh - 52px)}
.btn.loading{opacity:.6;pointer-events:none}
/* ویرایشگر دستور اجرا: فاصله‌ی آیکون ترمینال از انتخاب سیستم‌عامل، برچسب واکنش‌گرا */
.run-block .term-bar{flex-wrap:wrap;row-gap:6px}.run-block .run-os{gap:10px;margin-inline:10px 0;min-width:0}.run-block .run-os>i{flex-shrink:0;font-size:.95rem}.run-block .run-os select{min-width:0;max-width:100%}
.field .lbl>.dim.small{display:block;margin-top:2px;line-height:1.7;font-weight:400}
.term-bar .copy.copied{background:rgba(34,197,94,.18);border-color:rgba(34,197,94,.5);color:#4ade80}
.form .run-block .term-bar .run-os{gap:12px;margin-inline:12px 0}

/* ---- نشان کنار نام: تاج متحرک مدیر، پَر ادیتور، سطح برنامه‌نویس، تیک احراز ---- */
.ubs{display:inline-flex;align-items:center;gap:4px;margin-inline-start:6px;vertical-align:middle;line-height:1}
.ub{display:inline-flex;align-items:center;justify-content:center;gap:3px;font-size:.72rem;font-weight:700;white-space:nowrap}
.ub-crown{width:1.45em;height:1.45em;font-size:.85rem;color:#fbbf24;border-radius:50%;background:radial-gradient(circle,rgba(251,191,36,.28),transparent 70%);animation:crownFloat 2.6s ease-in-out infinite}
.ub-crown i{background:linear-gradient(110deg,#f59e0b 20%,#fff7cc 45%,#fbbf24 60%,#d97706 85%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 5px rgba(251,191,36,.75));animation:crownShine 2.6s linear infinite}
@keyframes crownFloat{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-2px) rotate(8deg)}}
@keyframes crownShine{0%{background-position:120% 0}100%{background-position:-120% 0}}
.ub-editor{color:#a78bfa;font-size:.85rem;filter:drop-shadow(0 0 4px rgba(167,139,250,.6))}
.ub-verified{color:#38bdf8;font-size:.85rem;filter:drop-shadow(0 0 5px rgba(56,189,248,.55))}
.ub-dev,.ub-lv{padding:2px 7px;border-radius:999px;border:1px solid;font-family:var(--mono);letter-spacing:.02em;direction:ltr}
.ub-dev{color:var(--fg-2);border-color:var(--line-hi);padding:2px 5px}
.ub-lv i{font-size:.8em}
.lv-junior{color:#4ade80;border-color:rgba(74,222,128,.45);background:rgba(74,222,128,.10)}
.lv-mid{color:#60a5fa;border-color:rgba(96,165,250,.45);background:rgba(96,165,250,.10)}
.lv-senior{color:#c084fc;border-color:rgba(192,132,252,.5);background:rgba(192,132,252,.12)}
.lv-lead{color:#fde68a;border-color:rgba(251,191,36,.6);background:linear-gradient(110deg,rgba(245,158,11,.25),rgba(236,72,153,.25),rgba(245,158,11,.25));background-size:200% 100%;animation:leadGlow 3s linear infinite;box-shadow:0 0 10px -2px rgba(251,191,36,.6)}
@keyframes leadGlow{0%{background-position:0 0}100%{background-position:200% 0}}
@media(prefers-reduced-motion:reduce){.ub-crown,.ub-crown i,.lv-lead{animation:none}}
.who strong .ubs,.ab-text strong .ubs,.profile h1 .ubs{font-size:1rem}
.profile h1 .ub-crown{font-size:1.05rem}

/* ---- پاسخ به نظرها ---- */
.reviews li .rh{flex-wrap:wrap;row-gap:4px}.reviews li .rh a{color:var(--fg)}
.rv-del{margin-inline-start:4px;background:none;border:0;color:var(--fg-4);cursor:pointer;padding:2px 6px;border-radius:8px;font-size:.85rem}.rv-del:hover{color:#f87171;background:rgba(248,113,113,.12)}
.reviews li>.rh time{margin-inline-start:auto}
.rv-replies{list-style:none;margin:10px 0 0;padding:0 0 0 0;display:grid;gap:8px;border-inline-start:2px solid rgba(176,78,240,.35);padding-inline-start:12px}
.rv-replies li{border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:rgba(138,43,226,.07)}.rv-replies li.as-admin{background:rgba(245,158,11,.07)}
.rv-replies .rv-ic{color:var(--violet-2);font-size:.8rem}.rv-replies p{margin:4px 0 0;font-size:.9rem}
.rv-reply-btn{margin-top:8px}.rv-reply-form{display:grid;gap:8px;margin-top:10px}.rv-reply-form textarea{width:100%}
.admin-reviews{gap:12px}.admin-reviews>li{padding:12px 14px}.admin-reviews>li.flagged{border-color:rgba(248,113,113,.5);box-shadow:0 0 0 1px rgba(248,113,113,.25)}

/* ===================== ویرایشگر مقاله به سبک Notes آیفون ===================== */
body.editor-page{background:#000}
body.editor-page .top,body.editor-page .foot,body.editor-page .bnav,body.editor-page .void,body.editor-page .announce{display:none!important}
body.editor-page main.wrap{max-width:none;padding:0}
.notes{--ac:#ffd60a;--ac-ink:#1c1600;--bg:#000;--el:rgba(44,44,46,.82);--el2:#1c1c1e;--el3:#2c2c2e;--sep:rgba(84,84,88,.55);--t2:#8e8e93;--kb:0px;color:#f5f5f7;min-height:100dvh;background:var(--bg);position:relative}
.nt-bar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;padding:max(10px,env(safe-area-inset-top)) 14px 10px;background:linear-gradient(#000 70%,rgba(0,0,0,0))}
.nt-grow{flex:1}
.nt-circle,.nt-pill,.nt-done{height:46px;border-radius:999px;background:var(--el);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(20px) saturate(1.6);-webkit-backdrop-filter:blur(20px) saturate(1.6);color:#fff;box-shadow:0 8px 24px -10px rgba(0,0,0,.8)}
.nt-circle{width:46px;display:grid;place-items:center;font-size:1.05rem;cursor:pointer}.nt-circle:disabled{opacity:.35}
.nt-pill{display:flex;align-items:center;padding:0 4px}.nt-pill button{width:48px;height:44px;background:none;border:0;color:#fff;font-size:1.1rem;cursor:pointer;border-radius:999px}
.nt-pill button:active,.nt-circle:active{background:rgba(255,255,255,.12)}
.nt-done{width:52px;height:52px;background:var(--ac);color:var(--ac-ink);border:0;font-size:1.3rem;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 26px -8px rgba(255,214,10,.65)}
.nt-done:active{transform:scale(.94)}.nt-done.loading{opacity:.6;animation:ntPulse 1s ease-in-out infinite}
@keyframes ntPulse{50%{transform:scale(.92)}}
.nt-page{max-width:760px;margin:0 auto;padding:4px 20px calc(120px + var(--kb))}
.nt-banner{display:flex;gap:10px;align-items:center;padding:10px 14px;margin:0 0 12px;border-radius:14px;background:var(--el2);font-size:.85rem;color:#e5e5ea}.nt-banner i{color:var(--ac)}.nt-banner.warn i{color:#ff9f0a}.nt-banner.bad{background:rgba(255,69,58,.14)}.nt-banner.bad i{color:#ff453a}
.nt-meta{display:flex;gap:10px;align-items:center;justify-content:center;font-size:.78rem;color:var(--t2);margin:2px 0 6px;flex-wrap:wrap}
.nt-status{padding:2px 10px;border-radius:999px;background:var(--el3);color:#e5e5ea}.nt-status.ok{color:#30d158}.nt-status.warn{color:#ff9f0a}.nt-status.bad{color:#ff453a}
.nt-saved{color:var(--t2)}
.nt-title{width:100%;resize:none;overflow:hidden;background:none;border:0;outline:0;color:#fff;font:inherit;font-size:1.85rem;font-weight:800;line-height:1.35;padding:6px 0;caret-color:var(--ac)}
.nt-title::placeholder{color:#48484a}
.nt-body.ql-container.ql-snow{border:0;font-family:inherit;font-size:1.08rem}
.nt-body .ql-editor{padding:6px 0 30px;line-height:1.95;min-height:55vh;caret-color:var(--ac);color:#f2f2f7;text-align:right}
.nt-body .ql-editor.ql-blank::before{color:#48484a;font-style:normal;right:0;left:0}
.nt-body .ql-editor h2{font-size:1.55rem;font-weight:800;margin:.9em 0 .3em}.nt-body .ql-editor h3{font-size:1.25rem;font-weight:700;margin:.8em 0 .25em}.nt-body .ql-editor h4{font-size:1.05rem;font-weight:700;color:#e5e5ea;margin:.7em 0 .2em}
.nt-body .ql-editor mark{background:rgba(255,214,10,.35);color:inherit;border-radius:3px;padding:0 2px}
.nt-body .ql-editor blockquote{border-inline-start:3px solid var(--ac);padding-inline-start:12px;color:#d1d1d6;margin:.5em 0}
.nt-body .ql-editor pre.ql-syntax,.nt-body .ql-editor .ql-code-block-container{background:#1c1c1e;color:#e4e4ef;border-radius:12px;padding:12px 14px;direction:ltr;text-align:left;font-family:var(--mono);font-size:.88rem}
.nt-body .ql-editor code{background:#2c2c2e;border-radius:6px;padding:.1em .35em;font-family:var(--mono);font-size:.88em}
.nt-body .ql-editor a{color:var(--ac)}
.nt-body .ql-editor img{max-width:100%;border-radius:14px;margin:8px 0}.nt-body .ql-editor iframe,.nt-body .ql-editor video{width:100%;aspect-ratio:16/9;border-radius:14px;border:0;background:#111}
.nt-body .ql-editor hr{border:0;border-top:1px solid var(--sep);margin:18px 0}
.nt-body .ql-editor table{border-collapse:collapse;width:100%;margin:10px 0;table-layout:fixed}.nt-body .ql-editor td{border:1px solid #3a3a3c;padding:10px 12px;min-width:60px;vertical-align:top}
.nt-body .ql-editor li[data-list=checked]>.ql-ui,.nt-body .ql-editor li[data-list=unchecked]>.ql-ui{color:var(--ac)}
.nt-body .ql-editor li[data-list=checked]{color:var(--t2);text-decoration:line-through}
.nt-body .ql-editor li[data-list] .ql-ui:before{color:var(--ac)}
.nt-body .repo-embed{display:flex;gap:8px;align-items:center;padding:12px 14px;margin:10px 0;border-radius:14px;background:#1c1c1e;border:1px solid rgba(255,214,10,.35);cursor:pointer}.nt-body .repo-embed i{color:var(--ac)}.nt-body .repo-embed small{color:var(--t2);margin-inline-start:auto}
/* نوار ابزار شناور */
.nt-tools{position:fixed;z-index:40;left:50%;transform:translateX(-50%);bottom:calc(14px + var(--kb) + env(safe-area-inset-bottom));display:flex;gap:2px;align-items:center;padding:6px;border-radius:999px;background:var(--el);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(24px) saturate(1.6);-webkit-backdrop-filter:blur(24px) saturate(1.6);box-shadow:0 16px 40px -12px rgba(0,0,0,.9);max-width:calc(100vw - 20px);overflow-x:auto;scrollbar-width:none}
.nt-tools::-webkit-scrollbar{display:none}
.nt-tools button{flex:0 0 auto;min-width:50px;height:46px;border:0;background:none;color:#f2f2f7;font-size:1.15rem;border-radius:999px;cursor:pointer;display:grid;place-items:center;gap:0;transition:background .15s}
.nt-tools button:active{background:rgba(255,255,255,.14)}.nt-tools button.on{color:var(--ac)}.nt-tools button small{font-size:.6rem;color:var(--t2);line-height:1}.nt-tools button.danger{color:#ff453a}
.nt-ctx button{display:grid;align-content:center;justify-items:center;padding:0 6px}
.nt-aa{font-size:1.25rem;font-weight:600;letter-spacing:-.02em;font-family:-apple-system,"SF Pro Text",system-ui,sans-serif}
.notes.sheet-open .nt-tools{opacity:0;pointer-events:none}
/* منوهای شناور iOS */
.nt-menu{position:fixed;z-index:60;min-width:250px;max-width:calc(100vw - 24px);padding:6px;border-radius:18px;background:rgba(40,40,42,.94);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(30px) saturate(1.8);-webkit-backdrop-filter:blur(30px) saturate(1.8);box-shadow:0 24px 60px -16px rgba(0,0,0,.9);animation:ntPop .18s cubic-bezier(.2,.9,.3,1.2);transform-origin:top left}
.nt-menu[hidden]{display:none}
.nt-menu.at-top{top:calc(max(10px,env(safe-area-inset-top)) + 56px);left:14px}.nt-menu.at-top.end{left:14px}
.nt-menu.at-bottom{left:50%;transform:translateX(-50%);bottom:calc(76px + var(--kb) + env(safe-area-inset-bottom));transform-origin:bottom center;animation:ntPopB .18s cubic-bezier(.2,.9,.3,1.2)}
@keyframes ntPop{from{opacity:0;transform:scale(.9)}}@keyframes ntPopB{from{opacity:0;transform:translateX(-50%) scale(.9)}}
.nt-menu button,.nt-menu a{display:flex;align-items:center;gap:14px;width:100%;padding:11px 12px;border:0;background:none;color:#f2f2f7;font:inherit;font-size:.95rem;text-align:start;border-radius:12px;cursor:pointer}
.nt-menu button:hover,.nt-menu a:hover,.nt-menu button:active{background:rgba(255,255,255,.1)}
.nt-menu i{width:22px;text-align:center;font-size:1.05rem;color:#f2f2f7}.nt-menu span{display:grid;line-height:1.35}.nt-menu small{color:var(--t2);font-size:.75rem}
.nt-menu .primary{color:var(--ac)}.nt-menu .primary i{color:var(--ac)}.nt-menu .danger,.nt-menu .danger i{color:#ff453a}
.nt-menu hr{border:0;border-top:1px solid var(--sep);margin:6px 8px}
/* برگه‌ی قالب‌بندی */
.nt-sheet{position:fixed;z-index:50;left:50%;transform:translateX(-50%);bottom:calc(10px + var(--kb) + env(safe-area-inset-bottom));width:min(560px,calc(100vw - 16px));padding:16px 16px 18px;border-radius:30px;background:rgba(30,30,32,.97);border:1px solid rgba(255,255,255,.08);box-shadow:0 -10px 60px -10px rgba(0,0,0,.9);display:grid;gap:12px;animation:ntSheet .25s cubic-bezier(.2,.9,.3,1)}
.nt-sheet[hidden]{display:none}
@keyframes ntSheet{from{transform:translateX(-50%) translateY(40px);opacity:0}}
.nt-sheet-head{display:flex;justify-content:space-between;align-items:center}.nt-sheet-head strong{font-size:1.15rem;font-weight:700}
.nt-x{width:34px;height:34px;border-radius:50%;border:0;background:#3a3a3c;color:#d1d1d6;cursor:pointer;display:grid;place-items:center}
.nt-styles{display:flex;gap:4px;align-items:center;overflow-x:auto;scrollbar-width:none}
.nt-styles button{flex:0 0 auto;border:0;background:none;color:#f2f2f7;font:inherit;padding:8px 16px;border-radius:999px;cursor:pointer;white-space:nowrap}
.nt-styles .s-title{font-size:1.4rem;font-weight:800}.nt-styles .s-head{font-size:1.15rem;font-weight:700}.nt-styles .s-sub{font-size:1rem;font-weight:700}.nt-styles .s-body{font-size:.95rem}
.nt-styles button.on{background:var(--ac);color:var(--ac-ink)}
.nt-row{display:flex;gap:8px;flex-wrap:wrap}
.nt-seg{display:flex;flex:1 1 auto;border-radius:14px;overflow:hidden;background:#3a3a3c;gap:1px}
.nt-seg button{flex:1 1 0;min-width:46px;height:46px;border:0;background:#2c2c2e;color:#f2f2f7;font-size:1.1rem;cursor:pointer;display:grid;place-items:center}
.nt-seg button.on{background:var(--ac);color:var(--ac-ink)}.nt-seg button:active{filter:brightness(1.3)}
.nt-i{font-family:Georgia,serif;font-style:italic;font-weight:600}
/* دیالوگ‌ها به شکل برگه */
.nt-dialog{border:0;padding:16px;border-radius:28px;background:#1c1c1e;color:#f2f2f7;width:min(600px,calc(100vw - 16px));max-height:min(86dvh,900px);box-shadow:0 30px 80px -20px #000}
.nt-dialog::backdrop{background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}
.nt-dialog[open]{display:grid;gap:12px;align-content:start;animation:ntSheet2 .25s cubic-bezier(.2,.9,.3,1)}
@keyframes ntSheet2{from{transform:translateY(30px);opacity:0}}
.nt-settings-body{display:grid;gap:14px;overflow-y:auto;max-height:calc(min(86dvh,900px) - 80px);padding-inline-end:2px}
.nt-group{background:#2c2c2e;border-radius:18px;padding:14px;display:grid;gap:10px}.nt-group h3{margin:0;font-size:.95rem;display:flex;gap:8px;align-items:center}.nt-group h3 i{color:var(--ac)}
.nt-dialog .in,.nt-dialog input.in,.nt-dialog textarea.in{background:#1c1c1e;border-color:#3a3a3c}
.nt-dialog .search{display:flex;align-items:center;gap:8px;background:#2c2c2e;border-radius:12px;padding:0 12px;border:0}.nt-dialog .search input{flex:1;background:none;border:0;padding:12px 0;color:#fff;outline:0}
.nt-dialog .tree{list-style:none;padding:0;margin:0;display:grid;gap:4px;max-height:50dvh;overflow:auto}.nt-dialog .tree a{display:block;padding:10px 12px;border-radius:12px;color:#f2f2f7}.nt-dialog .tree a:hover{background:#2c2c2e}
@media(max-width:760px){.nt-dialog{position:fixed;inset:auto 0 0 0;margin:0 auto;width:100%;max-width:none;border-radius:28px 28px 0 0;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.nt-title{font-size:1.55rem}.nt-page{padding-inline:18px}.nt-menu.at-top,.nt-menu.at-top.end{left:12px;right:12px;min-width:0}}

@media(prefers-reduced-motion:reduce){.nt-menu,.nt-sheet,.nt-dialog[open]{animation:none}}

/* نمایش چک‌لیست، هایلایت و جدول در صفحه‌ی مقاله */
.post-body mark{background:rgba(250,204,21,.3);color:inherit;border-radius:3px;padding:0 2px}
.post-body ul li[data-list=checked],.post-body ul li[data-list=unchecked]{list-style:none;position:relative;padding-inline-start:1.7em}
.post-body li[data-list=checked]::before,.post-body li[data-list=unchecked]::before{font-family:"Font Awesome 6 Free";position:absolute;inset-inline-start:0;top:.05em;color:var(--violet-2)}
.post-body li[data-list=unchecked]::before{content:"\f0c8";font-weight:400}.post-body li[data-list=checked]::before{content:"\f14a";font-weight:400}
.post-body li[data-list=checked]{color:var(--fg-3);text-decoration:line-through}
.post-body table{border-collapse:collapse;width:100%;margin:12px 0}.post-body td,.post-body th{border:1px solid var(--line-hi);padding:8px 12px;vertical-align:top}
.post-body hr{border:0;border-top:1px solid var(--line);margin:1.4em 0}
.nt-tools[hidden]{display:none!important}
/* اصلاح‌ها: دیالوگ بسته واقعاً پنهان؛ علامت فهرست/چک‌لیست در سمت راست (RTL)؛ حذف خط پیش‌فرض نقل‌قول Quill */
.nt-dialog:not([open]){display:none!important}
.nt-body .ql-editor li{padding-left:0;padding-right:1.7em}
.nt-body .ql-editor li>.ql-ui:before{margin-left:.35em;margin-right:-1.7em;text-align:left;width:1.35em}
.nt-body .ql-editor li[data-list=checked]>.ql-ui:before,.nt-body .ql-editor li[data-list=unchecked]>.ql-ui:before{font-size:1.15em;color:var(--ac)}
.nt-body .ql-editor li[data-list=checked]{text-decoration:line-through;color:var(--t2)}
.nt-body .ql-editor blockquote{border-left:0!important;margin:.5em 0!important;padding-left:0!important}
.nt-body .ql-editor .ql-indent-1{padding-right:2.5em}.nt-body .ql-editor .ql-indent-2{padding-right:4.5em}.nt-body .ql-editor .ql-indent-3{padding-right:6.5em}
.nt-body .ql-editor li.ql-indent-1{padding-right:3.2em}.nt-body .ql-editor li.ql-indent-2{padding-right:5.2em}

.notes .nt-page{max-width:760px;margin:0 auto;padding-bottom:calc(120px + var(--kb))}   /* قانون قدیمی .editor-page main را خنثی می‌کند */
.nt-menu.at-top{left:14px;right:auto}
.post-body td:empty::after{content:"\00a0"}
.nt-i{font-family:"Times New Roman",Georgia,"Noto Serif",serif}
/* کارت مقاله: فاصله‌ی عکس و عنوان (عنوان در /blog تگ h2 است و قوانین .card h3 به آن نمی‌رسید)، عکس با نسبت ثابت */
.post-card .card-link{display:flex;flex-direction:column;height:100%}
.post-card .art{height:auto;aspect-ratio:16/9;flex-shrink:0}
.post-card .card-h{margin:14px 2px 6px;font-size:1.02rem;font-weight:800;line-height:1.6;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.post-card .desc-wrap{margin:0 2px 6px}
.post-card .meta{margin-top:auto;padding-top:10px;row-gap:4px}
@media(max-width:760px){.post-card .card-h{font-size:.98rem;margin-top:12px}}
.post-card .more{align-self:flex-start}

/* سرصفحه‌ی آموزش‌ها: دو ستون تمیز در دسکتاپ (عنوان+معرفی | دکمه+جستجو هم‌تراز با خط معرفی)، پشته در گوشی */
.blog-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px 28px}
.blog-head .ph-text{min-width:0}.blog-head h1{margin:0 0 8px}.blog-head .lead{margin:0;max-width:640px}
.blog-head .ph-actions{display:flex;align-items:center;gap:10px}
.blog-head .ph-actions>.btn,.blog-head .ph-actions>.search{height:44px;margin:0;box-sizing:border-box}
.blog-head .ph-actions>.search{min-width:240px;padding:0 14px}.blog-head .ph-actions>.search input{width:100%;padding:0}
.blog-head .ph-actions>.btn{padding:0 18px;white-space:nowrap}
@media(max-width:900px){.blog-head{grid-template-columns:minmax(0,1fr);align-items:start}.blog-head .ph-actions{flex-wrap:wrap}.blog-head .ph-actions>.search{flex:1 1 220px;min-width:0}.blog-head .ph-actions>.btn{flex:1 1 auto;justify-content:center}}

/* ---- اسلایدر پوستر تبلیغاتی ---- */
.slider{position:relative;border-radius:18px;overflow:hidden;background:var(--void-2);box-shadow:0 20px 50px -24px rgba(0,0,0,.9),0 0 0 1px var(--line)}
.sl-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.sl-track::-webkit-scrollbar{display:none}
.sl-slide{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always;display:block;aspect-ratio:var(--ratio,16/9)}
.sl-slide picture,.sl-slide img{display:block;width:100%;height:100%;object-fit:cover}
.sl-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(10,10,15,.55);backdrop-filter:blur(8px);color:#fff;cursor:pointer;display:grid;place-items:center;opacity:0;transition:opacity .2s}
.sl-prev{right:10px}.sl-next{left:10px}.slider:hover .sl-nav,.sl-nav:focus-visible{opacity:1}
.sl-dots{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:4px;padding:4px 8px;border-radius:999px;background:rgba(0,0,0,.35);backdrop-filter:blur(6px)}
.sl-dots button{width:22px;height:22px;border:0;background:none;padding:0;cursor:pointer;display:grid;place-items:center}
.sl-dots i{width:7px;height:7px;border-radius:999px;background:rgba(255,255,255,.5);transition:width .25s,background .25s}.sl-dots [aria-current] i{width:20px;background:#fff}
.hero-art.hero-slider{padding:0;transform:none;background:none;border:0}
.hero-art.hero-slider:hover{transform:none}
@media(max-width:760px){.hero-art.hero-slider{display:block!important;order:2;margin-top:6px}.sl-nav{display:none}.sl-wide .sl-slide,.sl-blog .sl-slide{aspect-ratio:16/9}.slider{border-radius:14px}}
@media(hover:none){.sl-nav{display:none}}
/* پنل پوسترها */
.bn-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.bn-row{display:flex;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02)}
.bn-thumb{width:150px;object-fit:cover;border-radius:10px;flex-shrink:0;background:var(--void)}
.bn-info{flex:1;min-width:0;display:grid;gap:3px}.bn-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bn-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.bn-acts{display:flex;gap:4px;align-items:center;flex-shrink:0}.danger-txt{color:#f87171!important}
.bn-dialog{width:min(620px,calc(100vw - 20px));max-height:92dvh;overflow:auto}
.bn-drop{border:1.5px dashed var(--line-hi);border-radius:14px;display:grid;place-items:center;min-height:90px;cursor:pointer;overflow:hidden;background:var(--void);aspect-ratio:16/9}
.bn-drop.sm{aspect-ratio:16/9;max-width:260px}.bn-drop img{width:100%;height:100%;object-fit:cover}.bn-drop:hover{border-color:var(--violet-2)}
@media(max-width:760px){.bn-row{flex-wrap:wrap}.bn-thumb{width:100%}.bn-acts{width:100%;justify-content:flex-end}}
/* فیلتر برنامه‌نویس‌ها روی گوشی: یک ستون، همه زیر هم، دکمه تمام‌عرض */
@media(max-width:760px){
	.dev-filter{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:stretch}
	.dev-filter .search,.dev-filter select.in,.dev-filter .btn{width:100%;min-width:0;flex:none}
	.dev-filter select.in{min-height:48px}
	.dev-filter .chk{min-height:44px;padding:0 4px}
	.dev-filter .btn{justify-content:center;min-height:48px}
}
