*{box-sizing:border-box}body{margin:0;font-family:Vazirmatn,Tahoma,sans-serif;font-size:15px}
.app{background:#f4f4f5;color:#1a1a1a;padding-bottom:150px}.wrap{max-width:900px;margin:0 auto;padding:14px 16px}
.top{background:#fff;border-bottom:1px solid #e6e6ea;display:flex;justify-content:space-between;align-items:center;padding:12px 18px;position:sticky;top:0;z-index:20}
.logo{display:flex;align-items:center;gap:8px;font-weight:700;font-size:21px;color:#0a7cff;text-decoration:none}.logo svg{width:30px;height:30px}
.menu{position:relative}.menu summary{list-style:none;width:46px;height:46px;border-radius:14px;background:#f1f1f3;display:grid;place-items:center;cursor:pointer;font-size:22px}
.menu summary::-webkit-details-marker{display:none}.menu summary svg{width:22px;height:22px}
.pop{position:absolute;left:0;top:54px;z-index:30;background:#fff;border:1px solid #e6e6ea;border-radius:16px;min-width:190px;padding:6px;box-shadow:0 10px 30px #0002}
.pop a,.pop span,.pop button{display:block;width:100%;text-align:right;padding:11px 12px;border-radius:10px;color:#1a1a1a;text-decoration:none;background:none;border:0;font:inherit;cursor:pointer}
.pop span{color:#8a8a93;font-size:13px}.pop a:hover,.pop button:hover{background:#f4f4f5}.pop .danger{color:#e5484d}
.dots summary{width:38px;height:38px;border-radius:12px;font-size:20px}
.card{background:#fff;border:1px solid #ececf0;border-radius:18px;padding:16px;margin:12px 0}.authhead{text-align:center;margin-bottom:8px}.authhead h2{margin:10px 0 4px}.biglogo{width:64px;height:64px;margin:0 auto;border-radius:20px;background:#eaf3ff;color:#0a7cff;display:grid;place-items:center}.biglogo svg{width:34px;height:34px}
.card.flush{padding:0}.card h3{margin:0 0 6px}
.narrow{max-width:420px;margin:36px auto}.center{text-align:center}
label{display:block;margin:12px 0 6px;font-size:13px;color:#6b6b75}
input,select,textarea{width:100%;padding:12px 14px;border:1px solid #e3e3e8;border-radius:14px;font:inherit;background:#fff;color:inherit}
input:focus,select:focus,textarea:focus{outline:0;border-color:#0a7cff;box-shadow:0 0 0 3px #0a7cff22}
input[type=checkbox],input[type=radio]{width:auto}input[type=color]{height:46px;padding:3px}
input:disabled,select:disabled,textarea:disabled{background:#f1f1f3;color:#9a9aa3}
.search{border:0;background:#f4f4f5;margin:12px;width:calc(100% - 24px);border-radius:14px}
.btn{display:inline-block;background:#000;color:#fff;border:0;border-radius:14px;padding:12px 18px;font:inherit;font-weight:500;cursor:pointer;text-decoration:none;margin-top:12px}
.btn.block{display:block;width:100%;padding:14px}.btn.red{background:#fde2e2;color:#e5484d}.btn.sm{padding:7px 12px;margin:2px;font-size:13px;border-radius:10px}.btn:disabled{opacity:.45}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.row>*{flex:1 1 140px;margin-top:0}.row .btn,.row .sm{flex:0 0 auto}.row .sm{width:70px}
.sub{border-top:1px dashed #e3e3e8;padding-top:10px;margin-top:10px}.add{background:#f7f7f9;border-radius:14px;padding:10px}
.chk{display:flex;align-items:center;gap:8px;margin:10px 0}.lock{color:#e5484d;font-size:12px}
.msg{background:#dff5e6;color:#17663a;padding:12px 14px;border-radius:14px;margin:10px 0;word-break:break-all}.msg.err{background:#fde2e2;color:#b42318}
.tabs{display:flex;gap:8px;overflow-x:auto;margin:6px 0 10px;padding-bottom:4px}.tabs a{flex:0 0 auto;padding:9px 16px;border-radius:999px;background:#fff;border:1px solid #ececf0;color:#444;text-decoration:none}.tabs a.on{background:#000;color:#fff;border-color:#000}
.li{display:flex;align-items:center;gap:12px;padding:14px 16px;border-top:1px solid #f0f0f3;position:relative}
.av{width:52px;height:52px;border-radius:14px;background:#0a7cff;color:#fff;display:grid;place-items:center;font-weight:700;font-size:20px;flex:0 0 auto}
.grow{flex:1;min-width:0}.grow b{display:block}.grow small{color:#8a8a93;display:block;overflow:hidden;text-overflow:ellipsis}
.badge{padding:7px 12px;border-radius:12px;font-size:13px}.badge.ok{background:#dff5e6;color:#17663a}.badge.no{background:#fde2e2;color:#e5484d}
.empty{padding:20px;text-align:center}
.fab{position:fixed;bottom:16px;left:0;right:0;margin:0 auto;width:calc(100% - 32px);max-width:868px;background:#000;color:#fff;text-align:center;padding:16px;border-radius:18px;text-decoration:none;font-weight:700;z-index:15}
table{width:100%;border-collapse:collapse}td,th{padding:9px;border-bottom:1px solid #f0f0f3;text-align:right;vertical-align:middle}
.card:has(table){overflow-x:auto}.inl{display:flex;flex-wrap:wrap}
.thumb{max-width:140px;border-radius:12px;display:block;margin:6px 0}.thumb.round{border-radius:50%;width:90px;height:90px;object-fit:cover}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.muted{color:#8a8a93;font-size:13px}
.stat{display:flex;gap:30px}.stat b{display:block;font-size:28px}
.themeopt{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #ececf0;border-radius:14px;margin:8px 0}.sw{display:inline-block;width:52px;height:30px;border-radius:8px;position:relative;border:1px solid #ddd}.sw i{position:absolute;inset:auto 7px 6px 7px;height:7px;border-radius:4px}
.pw{position:relative}.pw input{padding-left:46px}.pw:has(input[dir=ltr]) input{padding-left:14px;padding-right:46px}
.eye{position:absolute;left:8px;top:50%;transform:translateY(-50%);background:none;border:0;cursor:pointer;color:#8a8a93;padding:6px;display:flex}.eye svg{width:22px;height:22px}
.pw:has(input[dir=ltr]) .eye{left:auto;right:8px}
.pvtop{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:6px 0 12px}.who{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px}
.who img,.who i{width:46px;height:46px;border-radius:12px;object-fit:cover;background:#ddd;display:block}.btn.ghost{background:#fff;color:#000;border:1px solid #000;margin-top:0}
.pv{background:var(--bg);color:var(--text);border-radius:20px;padding:14px 12px 18px}.pvg{position:relative;padding:4px 44px 16px}.pvg.off{opacity:.55}
.pvg h3{text-align:center;font-size:16px;color:var(--text);margin:8px 0 12px;font-weight:500}.pvg h3 a{color:inherit;text-decoration:none}
.mv{position:absolute;left:0;top:6px;bottom:10px;width:32px;display:flex;flex-direction:column;justify-content:center;gap:6px;background:#e3e3e6;border-radius:10px}
.mv button{background:none;border:0;cursor:pointer;color:#444;font-size:13px;padding:4px}
.cbtn.dim{opacity:.4}.cbtn.addtile{background:transparent;border:2px dashed var(--muted);color:var(--muted)}.pvempty{text-align:center;color:var(--muted);padding:30px 10px}
.fab.up{bottom:84px}
.sheet{display:none;position:fixed;inset:0;background:#0007;z-index:50;align-items:flex-end;justify-content:center}.sheet.open,.sheet:target{display:flex}
.sheet .box{background:#fff;width:100%;max-width:560px;max-height:88vh;overflow:auto;border-radius:24px 24px 0 0;padding:16px 16px 24px}
.bh{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.x{font-size:22px;text-decoration:none;color:#000;padding:4px 10px}
.opt{display:block;border:1px solid #e3e3e8;border-radius:16px;padding:14px;margin:10px 0;color:inherit;text-decoration:none}.opt b{display:block}.opt small{color:#8a8a93}
.bnav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e6e6ea;display:flex;justify-content:space-around;padding:8px 0 10px;z-index:25}
.bnav a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:12px;color:#8a8a93;text-decoration:none;flex:1}.bnav a.on{color:#000;font-weight:700}.bnav svg{width:24px;height:24px}
.pv .cbtn{position:relative;padding-left:46px;padding-right:46px;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.pv{-webkit-touch-callout:none}.pv.sorting{user-select:none}.pvg{user-select:none;-webkit-user-select:none}
.pen{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#00000033;color:inherit;text-decoration:none;vertical-align:middle}
.pen svg{width:16px;height:16px}.pv .cbtn .pen{position:absolute;left:8px;top:50%;transform:translateY(-50%)}
.pvg h3 .pen{margin-inline-start:6px;background:#ffffff22}
.mv{touch-action:none;color:#555;align-items:center}.mv svg{width:20px;height:20px}
.pvg.drag,.cbtn.drag{z-index:10;box-shadow:0 12px 32px #0008;opacity:.95;transition:none;cursor:grabbing}.pvg.drag{background:#ffffff14;border-radius:16px}
.btn.ghost.block{text-align:center;margin-bottom:6px}
.steps{display:flex;list-style:none;padding:0;margin:14px 0 8px}.steps li{flex:1;text-align:center;position:relative;font-size:13px;color:#8a8a93;cursor:pointer}
.steps i{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#c9d8f5;color:#fff;margin:0 auto 6px;font-style:normal;font-weight:700}
.steps li.on i,.steps li.done i{background:#0a7cff}.steps li.on{color:#0a7cff;font-weight:700}
.steps li:not(:last-child)::after{content:'';position:absolute;top:19px;right:calc(50% + 24px);width:calc(100% - 48px);height:3px;background:#c9d8f5}.steps li.done::after{background:#0a7cff}
.opt2{display:flex;align-items:center;gap:10px;border:1px solid #e3e3e8;border-radius:16px;padding:16px;margin:10px 0;cursor:pointer;background:#fff}
.opt2 input[type=radio]{display:none}.opt2:has(input:checked){border-color:#0a7cff;background:#eaf3ff}
.thgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.thgrid .opt2{margin:0;flex-direction:column;padding:12px}
.emptyst{text-align:center;padding:40px 20px}.emptyst svg{width:150px;height:auto}.emptyst p{color:#6b6b75}
.tp{background:var(--bg);color:var(--text);border-radius:18px;padding:18px;text-align:center;margin:10px 0}.tp small{display:block;color:var(--muted);margin-bottom:10px}
.tp .cbtn{display:inline-block;width:auto;padding:10px 28px;margin:0}.tpa{width:56px;height:56px;border-radius:50%;background:var(--accent);margin:0 auto 8px}
[hidden]{display:none!important}
.soft{border-radius:6px}.cardpage,.pv,.pvmini{font-family:var(--font,'Vazirmatn'),Tahoma,sans-serif}
.cardpage .cbtn,.pv .cbtn,.thp .mb,.pvmini .cbtn{border:2px solid var(--bborder,transparent)}
.back{display:inline-block;margin:6px 0 10px;color:#0a7cff;text-decoration:none;font-weight:700}
.sheet .box.sf{padding:0;display:flex;flex-direction:column;max-height:94vh;overflow:hidden}
.sf .bh{padding:16px;border-bottom:1px solid #e6e6ea;margin:0;justify-content:flex-start;gap:12px;font-size:18px}.sf .bd{overflow:auto;padding:16px;flex:1}
.sft{display:flex;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid #e6e6ea;background:#fff}
.sft .btn{flex:0 0 38%;margin:0;text-align:center}.cancel{flex:1;text-align:center;font-weight:700;color:#000;text-decoration:none;padding:12px}
.sf h4{margin:22px 0 10px;font-size:16px}
.mi{display:flex;align-items:center;gap:14px;padding:20px 18px;color:#1a1a1a;text-decoration:none;border-top:1px solid #f0f0f3;font-size:16px}.mi:first-child{border-top:0}
.mi svg{width:24px;height:24px;flex:0 0 auto}.mi span{flex:1}.mi .chev{width:20px;height:20px;color:#444}
.tgl{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;color:#1a1a1a;font-size:16px;cursor:pointer}.tgl small{display:block;color:#8a8a93;font-size:12px}
.tgl input{display:none}.tgl i{position:relative;width:46px;height:26px;border-radius:999px;background:#c7c7cc;flex:0 0 auto;transition:.2s}
.tgl i::after{content:'';position:absolute;top:3px;right:23px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.2s}
.tgl input:checked+i{background:#000}.tgl input:checked+i::after{right:3px}
.pvmini{background:var(--bg);color:var(--text);border-radius:16px;padding:16px;text-align:center;display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.pvmini i{width:48px;height:48px;border-radius:50%;background:var(--accent);margin:0 auto}.pvmini .cbtn{margin:0;padding:10px}
.crow{display:flex;align-items:center;justify-content:space-between;border:1px solid #e3e3e8;border-radius:16px;padding:14px 16px;margin:10px 0;background:#fff}
.cl{color:#44505f}.cv{display:flex;align-items:center;gap:10px}.cv .cp{display:flex;align-items:center;gap:10px;cursor:pointer;margin:0}
.dot{position:relative;display:block;width:34px;height:34px;border-radius:50%;border:1px solid #d9d9df;overflow:hidden}.dot.empty{border-style:dashed}
.dot input{position:absolute;inset:-6px;opacity:0;width:60px;height:60px;cursor:pointer;padding:0;border:0}
.hex{direction:ltr;color:#6b6b75;font-weight:400}
.cx{display:none;width:26px;height:26px;border-radius:50%;border:1.5px solid #6b6b75;background:none;color:#6b6b75;cursor:pointer;line-height:1;font-size:15px;padding:0}.crow.has .cx{display:block}
.seg{display:flex;background:#f0f0f2;border-radius:16px;padding:6px;margin:14px 0}
.seg label{flex:1;margin:0;text-align:center;padding:14px;border-radius:12px;cursor:pointer;color:#6b6b75}.seg input{display:none}.seg label:has(input:checked){background:#000;color:#fff;font-weight:700}
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.bgt{display:block;margin:0;position:relative;aspect-ratio:3/5;border-radius:14px;border:2px solid #d8d8de;overflow:hidden;cursor:pointer}
.bgt input[type=radio]{display:none}.bgt i{position:absolute;inset:0}.bgt:has(input:checked){border-color:#0a7cff;box-shadow:0 0 0 3px #0a7cff44}
.bgt.up{border:2px dashed #000;background:#b8b8bb;display:grid;place-items:center;text-align:center;font-size:12px;padding:6px}.bgt.up input{display:none}
.bgt.up small{display:block;color:#555;margin-top:6px;font-size:10px}.bgt.up.sel{border-color:#0a7cff}
.shapes{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;border:1px solid #cfcfd6;border-radius:16px;padding:22px}
.shp{display:block;text-align:center;margin:0;cursor:pointer}.shp .demo{display:block;height:64px;border:2px solid #111;background:#fff}
.shp .demo.pill{border-radius:999px}.shp .demo.rounded{border-radius:14px}.shp .demo.soft{border-radius:6px}.shp .demo.square{border-radius:0}
.shp:has(input:checked) .demo{border-width:5px}.shp input{margin-top:12px;width:22px;height:22px;accent-color:#000}
.tabs2{display:flex;gap:8px;overflow-x:auto;padding-bottom:12px}.tabs2 button{flex:0 0 auto;padding:10px 18px;border-radius:999px;border:1px solid #e3e3e8;background:#f1f1f3;font:inherit;cursor:pointer}
.tabs2 button.on{border-color:#0a7cff;color:#0a7cff;background:#eaf3ff}
.thg{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.thc{display:block;text-align:center;cursor:pointer;font-size:13px;margin:0;color:#444}.thc input{display:none}
.thp{aspect-ratio:3/4;border-radius:14px;border:2px solid #d8d8de;background:var(--bg);color:var(--text);display:flex;flex-direction:column;justify-content:center;gap:6px;padding:10px;margin-bottom:6px}
.thp small{font-size:9px;text-align:center}.thp .mb{background:var(--accent);color:var(--btn-text);border-radius:6px;padding:5px;font-size:9px;text-align:center}
.thc:has(input:checked) .thp{border-color:#0a7cff;box-shadow:0 0 0 3px #0a7cff44}
.search2{background:#f4f4f5;border:0;margin-bottom:10px}
.fmain{margin:10px 0}.fmain summary{list-style:none;background:#f1f2f6;border-radius:16px;padding:22px;text-align:center;font-weight:700;font-size:17px;cursor:pointer}.fmain summary::-webkit-details-marker{display:none}
.fi{display:flex;align-items:center;gap:10px;border:1px solid #d9d9df;border-radius:16px;padding:16px;margin:10px 0 0;cursor:pointer;background:#fff;color:#1a1a1a}
.fi input{display:none}.fi:has(input:checked){border-color:#0a7cff;background:#e1f3ff;color:#0a7cff}
/* صفحه‌ی عمومی کارت */
.cardpage{background:var(--bg);color:var(--text)}.cp{max-width:460px;margin:0 auto;padding:28px 18px 20px}
.hd{text-align:center}.av{width:104px;height:104px;border-radius:50%;object-fit:cover;border:2px solid var(--accent);background:#262b38;display:block;margin:0 auto 8px}
.hd h1{margin:6px 0 2px;font-size:22px}.muted2,.bio{color:var(--muted);margin:4px 0;font-size:14px}
.cp h3{font-size:14px;color:var(--muted);margin:22px 0 8px;font-weight:400}
.grid{display:grid;gap:10px}.c1{grid-template-columns:1fr}.c2{grid-template-columns:1fr 1fr}
.cbtn{display:block;background:var(--accent);color:var(--btn-text);text-align:center;padding:13px 14px;text-decoration:none;margin:10px 0 0;border:0;font:inherit;width:100%;cursor:pointer}
.grid .cbtn{margin:0}.cbtn small{display:block;opacity:.85;font-size:12px}
.pill{border-radius:999px}.rounded{border-radius:14px}.square{border-radius:4px}.cbtn.alt{background:var(--text);color:var(--bg);font-weight:700}
.mg{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mg img{width:100%;height:auto;max-height:260px;object-fit:contain;border-radius:10px;align-self:center}.mg iframe{grid-column:1/-1;width:100%;height:220px;border:0;border-radius:10px}
#map{height:200px;border-radius:12px;margin:8px 0}
.pf input,.pf textarea{margin:6px 0;background:#ffffff14;color:var(--text);border-color:#ffffff33}.pf input::placeholder,.pf textarea::placeholder{color:var(--muted)}
.hp{position:absolute;left:-9999px}.ft{text-align:center;color:var(--muted);font-size:12px;margin-top:28px}
.cardpage .msg{background:#ffffff1f;border-color:#ffffff40;color:var(--text)}
/* ===== صفحه‌ی ویرایش (چیدمان موبایلی) ===== */
.edwrap{max-width:500px;margin:0 auto}
.pv{padding:0 0 18px;overflow:hidden}
.pvhero{position:relative;padding:12px 44px 14px;text-align:center}
.pvhero .cov{height:112px;border-radius:0;background:linear-gradient(135deg,var(--accent),#00000066) center/cover no-repeat}
.pvhero .avw{margin-top:-44px;position:relative}
.pvhero .av{width:88px;height:88px;margin:0 auto;box-shadow:0 0 0 3px var(--bg)}
.pvhero b{display:block;margin-top:8px;font-size:18px}
.mv.pinh{top:12px;bottom:auto;height:calc(100% - 24px);justify-content:center}
.mv{width:30px;left:6px}
.pvg{padding:2px 44px 14px}
.pv .cbtn{display:flex;align-items:center;justify-content:center;gap:8px;padding-top:11px;padding-bottom:11px}
.pv .cbtn .bl{display:inline-flex;align-items:center;gap:8px}
.pv .cbtn .lic{width:20px;height:20px;flex:0 0 auto}
.pv .cbtn small{margin:0;font-size:12px;opacity:.95}
.pv .cbtn:has(> small){justify-content:space-between}
.pv .cbtn:has(> small) .bl{flex-direction:row}
.pv .cbtn:has(> small) small{order:2}
.pv .cbtn .pen{background:#0000002e}
.fab.up{left:auto;right:max(16px,calc(50% - 250px));margin:0;width:auto;max-width:none;bottom:84px;padding:14px 20px;border-radius:999px;display:flex;align-items:center;gap:12px;box-shadow:0 6px 20px #0004}
.fab.up svg{width:22px;height:22px}
.qrc{text-align:center}.qrc label{display:block;text-align:start}
.qrbox{width:220px;max-width:70%;margin:10px auto;background:#fff;border-radius:14px;padding:8px;border:1px solid #ececf0}
.qrbox svg{display:block;width:100%;height:auto}
.pv .grid.c1{grid-template-columns:minmax(0,1fr)}.pv .grid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pv .cbtn{padding-left:42px;padding-right:12px}.pv .cbtn .bl{white-space:nowrap}
.pv .cbtn .pen{width:28px;height:28px}
/* ===== کاور و بارکد روی کارت ===== */
.cp .cvr{height:140px;border-radius:18px;background:#ffffff1a center/cover no-repeat}
.hd.hascv .av{margin-top:-52px;position:relative;box-shadow:0 0 0 4px var(--bg)}
.qrcard{background:#fff;border-radius:16px;padding:12px;width:190px;margin:0 auto}.qrcard svg{display:block;width:100%;height:auto}
.cp .qrcard+.ft,.cardpage .cp h3+.qrcard{margin-top:8px}
/* ===== تم‌های زنده =====
   قانون سرعت: فقط transform و opacity انیمیت می‌شوند (روی کارت گرافیک)، بدون blur و filter متحرک.
   در کاشی‌های انتخاب تم (.thp) انیمیشن خاموش است تا لیست تم‌ها سبک بماند. */
.fx{position:relative}.fx::before,.fx::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;will-change:transform,opacity;backface-visibility:hidden}
.cardpage.fx::before,.cardpage.fx::after{position:fixed}
.pv.fx,.thp.fx,.tp.fx{overflow:hidden}.cardpage.fx{min-height:100vh}
.cardpage.fx .cp{position:relative;z-index:1}.pv:where(.fx)>*,.thp:where(.fx)>*,.tp:where(.fx)>*{position:relative;z-index:1}
.thp.fx::before,.thp.fx::after{animation:none!important;will-change:auto}
@keyframes fxspin{to{transform:rotate(360deg)}}
@keyframes fxfade{0%,100%{opacity:0}50%{opacity:.55}}
@keyframes fxtw{0%{opacity:.35}50%{opacity:1}100%{opacity:.5}}
@keyframes fxfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes fxslide{to{transform:translate3d(-66.6667%,0,0)}}
@keyframes fxdrop{to{transform:translate3d(var(--dx,0),var(--dy,300px),0)}}
@keyframes fxwave{to{transform:translate3d(-50%,0,0)}}
@keyframes fxwander{0%{transform:translate3d(0,0,0);opacity:.45}50%{opacity:1}100%{transform:translate3d(70px,-100px,0);opacity:.55}}
@keyframes fxblob{0%{transform:translate3d(-6%,4%,0) scale(1)}100%{transform:translate3d(6%,-5%,0) scale(1.18)}}
@keyframes fxsweep{to{transform:translate3d(-50%,0,0)}}
/* شفق */
.fx-aurora{background:#07101c}
.fx-aurora::before{inset:-50%;background:radial-gradient(40% 35% at 30% 30%,#19d3a299,transparent 70%),radial-gradient(35% 40% at 70% 35%,#7b2ff799,transparent 70%),radial-gradient(40% 35% at 50% 75%,#00b4ff77,transparent 70%);animation:fxspin 28s linear infinite}
/* نئونی: دو لایه‌ی رنگی که با هم محو و ظاهر می‌شوند */
.fx-neon{background:#0a0014}
.fx-neon::before{background:linear-gradient(135deg,#ff2bd6aa,#3a3aff99 50%,#00ffd5aa);opacity:.55}
.fx-neon::after{background:linear-gradient(135deg,#00ffd5aa,#ff2bd6aa 50%,#3a3aff99);opacity:0;animation:fxfade 9s ease-in-out infinite}
.fx-neon .cbtn{box-shadow:0 0 14px var(--accent),inset 0 0 8px #ffffff40}
/* غروب جاری */
.fx-flow{background:#42275a}
.fx-flow::before{inset:0 auto 0 0;width:300%;background:linear-gradient(90deg,#42275a,#734b6d,#ff8a5c,#e0527a,#42275a);animation:fxslide 16s ease-in-out infinite alternate}
/* ستاره‌ها */
.fx-stars{background:radial-gradient(120% 90% at 50% 100%,#1b2455,#050816 70%)}
.fx-stars::before{background-image:radial-gradient(1.5px 1.5px at 20px 30px,#fff,transparent),radial-gradient(1px 1px at 90px 80px,#cfd8ff,transparent),radial-gradient(2px 2px at 150px 20px,#fff,transparent),radial-gradient(1px 1px at 60px 140px,#fff,transparent),radial-gradient(1.5px 1.5px at 130px 120px,#aab6ff,transparent);background-size:180px 180px;animation:fxtw 3.5s ease-in-out infinite}
.fx-stars::after{background-image:radial-gradient(1px 1px at 40px 60px,#fff,transparent),radial-gradient(2px 2px at 110px 150px,#fff,transparent),radial-gradient(1px 1px at 170px 90px,#dfe5ff,transparent);background-size:230px 230px;animation:fxtw 5s ease-in-out infinite reverse}
/* حباب‌ها: ارتفاع کاشی‌ها ثابت (۱۶۰) تا حلقه بدون پرش باشد */
.fx-bubbles{background:linear-gradient(180deg,#0a58ca,#07306f)}
.fx-bubbles::before{inset:0 0 -320px 0;--dy:-320px;background-image:radial-gradient(circle at 30% 30%,#ffffff55 0 3px,#ffffff22 4px 9px,transparent 10px),radial-gradient(circle at 60% 70%,#ffffff44 0 2px,#ffffff1a 3px 6px,transparent 7px);background-size:140px 160px,110px 160px;background-position:0 0,40px 30px;animation:fxdrop 14s linear infinite}
.fx-bubbles::after{inset:0 0 -320px 0;--dy:-320px;background-image:radial-gradient(circle at 30% 30%,#ffffff55 0 4px,#ffffff22 5px 12px,transparent 13px);background-size:190px 160px;background-position:-30px 70px;animation:fxdrop 22s linear infinite}
/* سه‌بعدی */
.fx-3d{background:linear-gradient(160deg,#f4f7fc,#dbe2ef)}
.fx-3d .cbtn{border-bottom:5px solid #00000038;box-shadow:0 10px 18px -6px #1b223055,inset 0 2px 0 #ffffff66;transition:transform .12s,border-bottom-width .12s}
.fx-3d .cbtn:active{transform:translateY(3px);border-bottom-width:2px}
.fx-3d .av{box-shadow:0 12px 24px -6px #1b223077,0 0 0 4px #fff;animation:fxfloat 5s ease-in-out infinite}
/* برفی */
.fx-snow{background:linear-gradient(180deg,#0b1a33,#1d3a66)}
.fx-snow::before{inset:-400px 0 0 0;--dy:400px;background-image:radial-gradient(circle at 30px 40px,#fff 0 2px,transparent 3px),radial-gradient(circle at 120px 110px,#fff 0 3px,transparent 4px),radial-gradient(circle at 170px 20px,#ffffffcc 0 2px,transparent 3px),radial-gradient(circle at 80px 170px,#ffffffcc 0 2px,transparent 3px);background-size:200px 200px;animation:fxdrop 12s linear infinite}
.fx-snow::after{inset:-320px 0 0 0;--dy:320px;background-image:radial-gradient(circle at 50px 60px,#ffffffaa 0 1.5px,transparent 2.5px),radial-gradient(circle at 200px 200px,#ffffffaa 0 2px,transparent 3px),radial-gradient(circle at 260px 90px,#ffffff88 0 1.5px,transparent 2.5px);background-size:320px 320px;animation:fxdrop 20s linear infinite}
/* بارانی */
.fx-rain{background:linear-gradient(180deg,#0b1220,#1c2a44)}
.fx-rain::before{inset:-320px 0 0 0;--dy:320px;background-image:radial-gradient(1px 16px at 20px 40px,#bcd6ffaa,transparent),radial-gradient(1px 12px at 90px 120px,#bcd6ff88,transparent),radial-gradient(1px 18px at 60px 20px,#bcd6ffaa,transparent);background-size:110px 160px;animation:fxdrop 1.1s linear infinite}
.fx-rain::after{inset:-240px 0 0 0;--dy:240px;background-image:radial-gradient(1px 10px at 30px 30px,#bcd6ff66,transparent),radial-gradient(1px 9px at 70px 90px,#bcd6ff55,transparent);background-size:80px 120px;animation:fxdrop .8s linear infinite}
/* کرم شب‌تاب */
.fx-fireflies{background:radial-gradient(120% 100% at 50% 100%,#10321d,#050d08 75%)}
.fx-fireflies::before{inset:-100px;background-image:radial-gradient(circle at 60px 80px,#e6ff7a 0 2px,#c6ff5a66 3px 9px,transparent 14px),radial-gradient(circle at 200px 170px,#e6ff7a 0 2px,#c6ff5a66 3px 8px,transparent 12px),radial-gradient(circle at 130px 250px,#e6ff7a 0 2px,#c6ff5a55 3px 8px,transparent 12px);background-size:280px 300px;animation:fxwander 9s ease-in-out infinite alternate}
.fx-fireflies::after{inset:-100px;background-image:radial-gradient(circle at 40px 200px,#d6ff6a 0 2px,#c6ff5a55 3px 8px,transparent 12px),radial-gradient(circle at 220px 60px,#d6ff6a 0 2px,#c6ff5a55 3px 9px,transparent 13px);background-size:340px 320px;animation:fxwander 13s ease-in-out -4s infinite alternate}
/* امواج */
.fx-waves{background:linear-gradient(180deg,#0e6bb8,#0a2d5e)}
.fx-waves::before{inset:auto auto 0 0;width:200%;height:36%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' fill-opacity='.18' d='M0 60C200 0 400 0 600 60S1000 120 1200 60V120H0Z'/%3E%3C/svg%3E") 0 0/50% 100% repeat-x;animation:fxwave 14s linear infinite}
.fx-waves::after{inset:auto auto 0 0;width:200%;height:26%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' fill-opacity='.14' d='M0 60C200 120 400 120 600 60S1000 0 1200 60V120H0Z'/%3E%3C/svg%3E") 0 0/50% 100% repeat-x;animation:fxwave 22s linear infinite reverse}
/* کهکشان */
.fx-galaxy{background:radial-gradient(120% 100% at 50% 40%,#1a0f45,#07041a 70%)}
.fx-galaxy::before{inset:-40%;background:conic-gradient(from 0deg at 50% 50%,transparent,#7b2ff733 12%,transparent 30%,#00b4ff2b 52%,transparent 72%,#ff2bd62b 88%,transparent);animation:fxspin 70s linear infinite}
.fx-galaxy::after{background-image:radial-gradient(1.5px 1.5px at 25px 35px,#fff,transparent),radial-gradient(1px 1px at 100px 90px,#d7cdff,transparent),radial-gradient(2px 2px at 160px 25px,#fff,transparent),radial-gradient(1px 1px at 70px 150px,#fff,transparent),radial-gradient(1.5px 1.5px at 140px 130px,#c4b5ff,transparent);background-size:190px 190px;animation:fxtw 4s ease-in-out infinite}
/* گدازه */
.fx-lava{background:#1a0505}
.fx-lava::before{inset:-20%;background:radial-gradient(34% 30% at 25% 70%,#ff6a2bcc,transparent 70%),radial-gradient(30% 34% at 75% 30%,#ffb02e99,transparent 70%),radial-gradient(28% 26% at 60% 85%,#e02b1fbb,transparent 70%);animation:fxblob 11s ease-in-out infinite alternate}
.fx-lava::after{inset:-20%;background:radial-gradient(30% 28% at 80% 75%,#ff7a3aaa,transparent 70%),radial-gradient(32% 30% at 20% 25%,#c4170f99,transparent 70%);animation:fxblob 15s ease-in-out -5s infinite alternate-reverse}
/* شکوفه: گلبرگ‌ها مورب می‌افتند (جابه‌جایی = مضرب کاشی، پس حلقه بدون پرش است) */
.fx-sakura{background:linear-gradient(180deg,#ffeef3,#f9cfe0)}
.fx-sakura::before{inset:-440px 0 0 -220px;--dx:220px;--dy:440px;background-image:radial-gradient(ellipse 6px 4px at 40px 50px,#f5a3c2 55%,transparent 100%),radial-gradient(ellipse 5px 3px at 150px 130px,#ffbfd5 55%,transparent 100%),radial-gradient(ellipse 6px 4px at 90px 190px,#f58fb4 55%,transparent 100%);background-size:220px 220px;animation:fxdrop 18s linear infinite}
.fx-sakura::after{inset:-440px 0 0 -220px;--dx:220px;--dy:440px;background-image:radial-gradient(ellipse 4px 3px at 70px 90px,#ffc9dc 55%,transparent 100%),radial-gradient(ellipse 5px 3px at 180px 30px,#f7a9c7 55%,transparent 100%);background-size:220px 220px;background-position:110px 110px;animation:fxdrop 28s linear infinite}
/* طلایی */
.fx-gold{background:radial-gradient(120% 90% at 50% 0%,#2a1d06,#0e0b05 70%)}
.fx-gold::before{inset:0 auto 0 0;width:300%;background:linear-gradient(115deg,transparent 0 14%,#ffd97a2e 20%,transparent 26% 47%,#ffd97a22 53%,transparent 59% 80%,#ffd97a2e 86%,transparent)}
.fx-gold::before{animation:fxslide 9s ease-in-out infinite alternate}
.fx-gold .cbtn:not(.alt),.fx-gold .bcard,.fx-gold .bk .cd>div{background:linear-gradient(135deg,#f6d77a,#c9972b 55%,#f6d77a);color:#2a1d00;box-shadow:0 8px 18px -8px #000c,inset 0 1px 0 #fff8}
/* سایبری */
.fx-cyber{background:#05010f}
.fx-cyber::before{inset:-48px 0 0 0;--dy:48px;background-image:linear-gradient(#ff2bd644 1px,transparent 1px),linear-gradient(90deg,#00ffd533 1px,transparent 1px);background-size:48px 48px;animation:fxdrop 2.4s linear infinite;-webkit-mask-image:linear-gradient(transparent,#000 70%);mask-image:linear-gradient(transparent,#000 70%)}
.fx-cyber::after{background:radial-gradient(90% 40% at 50% 100%,#ff2bd633,transparent 70%)}
.fx-cyber .cbtn{box-shadow:0 0 12px var(--accent),inset 0 0 6px #ffffff40}
/* جشن */
.fx-confetti{background:linear-gradient(180deg,#1b1038,#2c1a5e)}
.fx-confetti::before{inset:-480px 0 0 0;--dy:480px;background-image:radial-gradient(circle at 30px 50px,#ffcf33 0 3px,transparent 4px),radial-gradient(circle at 110px 130px,#ff4d8d 0 3px,transparent 4px),radial-gradient(circle at 190px 70px,#33d6ff 0 3px,transparent 4px),radial-gradient(circle at 70px 200px,#7dff6a 0 3px,transparent 4px),radial-gradient(circle at 210px 210px,#b36bff 0 3px,transparent 4px);background-size:240px 240px;animation:fxdrop 10s linear infinite}
.fx-confetti::after{inset:-360px 0 0 0;--dy:360px;background-image:radial-gradient(circle at 60px 40px,#ff4d8d 0 2px,transparent 3px),radial-gradient(circle at 180px 150px,#ffcf33 0 2px,transparent 3px),radial-gradient(circle at 120px 260px,#33d6ff 0 2px,transparent 3px);background-size:300px 300px;animation:fxdrop 16s linear infinite}
/* شیشه‌ای */
.fx-glass{background:linear-gradient(135deg,#2b3a67,#5b3a8c)}
.fx-glass::before{inset:-15%;background:radial-gradient(30% 30% at 20% 25%,#ff7ac877,transparent 70%),radial-gradient(34% 34% at 80% 70%,#4ad7ff77,transparent 70%);animation:fxblob 14s ease-in-out infinite alternate}
.fx-glass .cbtn:not(.alt),.fx-glass .bcard,.fx-glass .bk .cd>div{background:#ffffff24;color:var(--text);border:1px solid #ffffff4d;box-shadow:inset 0 1px 0 #ffffff59,0 8px 20px -10px #0008}
@media (prefers-reduced-motion:reduce){.fx,.fx::before,.fx::after,.fx .av{animation:none!important}}

/* ======== بلوک‌های جدید (نسخه‌ی ۷) ======== */
/* لیست «افزودن بلوک جدید» */
.opt.bo{display:flex;align-items:center;gap:14px;flex-direction:row}
.opt.bo .oi{flex:0 0 auto;width:44px;height:44px;border-radius:14px;background:#f4f4f5;display:grid;place-items:center;color:#222}
.opt.bo .oi svg{width:24px;height:24px}.opt.bo .ot{flex:1;min-width:0}.opt.bo .ot b{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.opt.bo.lk{opacity:.8}
.vb{display:inline-flex;align-items:center;gap:4px;font-style:normal;font-weight:500;font-size:12px;background:#0a7cff;color:#fff;border-radius:999px;padding:3px 10px}
.vb svg{width:14px;height:14px;fill:currentColor;stroke:none}.vb.gr{background:#e3e3e8;color:#555}
/* کارت بلوک در ویرایشگر */
.bpv{padding:4px 44px 12px}
.bcard{display:flex;align-items:center;gap:12px;background:var(--accent);color:var(--btn-text);border-radius:14px;padding:12px 14px;border:2px solid var(--bborder,transparent);position:relative}
.bcard .bi{flex:0 0 auto;width:34px;height:34px;display:grid;place-items:center}.bcard .bi svg{width:24px;height:24px}
.bcard .bt{flex:1;min-width:0}.bcard .bt b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bcard .bt small{display:block;opacity:.85;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bcard .pen{flex:0 0 auto;background:#0000002e}
/* فرم‌ها */
fieldset{border:0;padding:0;margin:0;min-width:0}
.thr{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0}.thi{margin:0}.thi img{width:100%;height:80px;object-fit:cover;border-radius:10px;display:block}.thi .chk{margin:4px 0;font-size:12px}
.icons{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.ico{display:flex;flex-direction:column;align-items:center;gap:2px;border:1px solid #e3e3e8;border-radius:12px;padding:8px 2px;margin:0;cursor:pointer;color:#333}
.ico input{display:none}.ico svg{width:24px;height:24px}.ico small{font-size:10px}.ico:has(input:checked){border-color:#0a7cff;background:#eaf3ff;color:#0a7cff}
/* نمایش در کارت */
.cp .bk{margin:6px 0}.bk>h3{margin-top:22px}
.bk .sl{align-items:center;display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:16px;scrollbar-width:none}.bk .sl::-webkit-scrollbar{display:none}
.bk .sl img{flex:0 0 100%;width:100%;height:auto;max-height:520px;object-fit:contain;scroll-snap-align:start;border-radius:16px}
.bk .bn{display:block;margin:0 0 10px}.bk .bn img{width:100%;height:auto;display:block;border-radius:16px}
.bk .vd{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:14px;background:#000;margin:0 0 8px}
.bk .cap{margin:0 0 10px;text-align:center}
.bk .sup{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 18px;margin:12px 0 0;position:relative;overflow:hidden}
.bk .sup .sic{width:24px;height:24px;flex:0 0 auto}.bk .sup span{display:block;text-align:center}.bk .sup b{display:block;font-weight:700}.bk .sup small{display:block}
.an-pulse{animation:bkpulse 1.6s ease-in-out infinite}.an-shake{animation:bkshake 2.4s ease-in-out infinite}.an-glow{animation:bkglow 1.8s ease-in-out infinite}
.an-shine::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#ffffff66 50%,transparent 70%);transform:translateX(-120%);animation:bkshine 2.6s ease-in-out infinite}
@keyframes bkpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@keyframes bkshake{0%,86%,100%{transform:translateX(0)}88%{transform:translateX(-5px)}92%{transform:translateX(5px)}96%{transform:translateX(-3px)}}
@keyframes bkglow{0%,100%{box-shadow:0 0 0 0 var(--accent)}50%{box-shadow:0 0 18px 4px var(--accent)}}
@keyframes bkshine{to{transform:translateX(120%)}}
.bk .bmap{height:200px;border-radius:14px;margin:8px 0}
.bk .tx{line-height:1.9;white-space:normal;word-break:break-word}.bk .tx.ctr{text-align:center}
.bk .faq details{border:1px solid #ffffff2e;border-radius:14px;margin:8px 0;background:#ffffff12}.bk .faq summary{padding:13px 14px;cursor:pointer;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:8px}
.bk .faq summary::-webkit-details-marker{display:none}.bk .faq summary::after{content:"+";font-size:20px;line-height:1}.bk .faq details[open] summary::after{content:"−"}
.bk .faq details>div{padding:0 14px 14px;color:var(--muted);line-height:1.9}
.bk .cd{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;text-align:center}.bk .cd>div{background:var(--accent);color:var(--btn-text);border-radius:14px;padding:12px 4px;font-size:12px}
.bk .cd b{display:block;font-size:26px;line-height:1.3}.bk .cd.end{display:block;padding:14px;background:#ffffff1a;border-radius:14px}
.bk .rss{display:flex;flex-direction:column;gap:8px}.bk .rss a{display:block;background:#ffffff14;border:1px solid #ffffff26;border-radius:14px;padding:12px 14px;color:var(--text);text-decoration:none}
.bk .rss b{display:block;font-weight:500;line-height:1.7}.bk .rss small{display:block;color:var(--muted);margin-top:2px;direction:ltr;text-align:right}

@media (prefers-reduced-motion:reduce){.an-pulse,.an-shake,.an-glow,.an-shine::after{animation:none}}
/* پنل ادمین: قفل بلوک‌ها */
.badge.prem{background:#0a7cff;color:#fff;margin-inline-end:6px}
.bl-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #f0f0f3;margin:0;color:inherit;font-size:15px}.bl-row:first-child{border-top:0}
.bl-row .oi{flex:0 0 auto;width:40px;height:40px;border-radius:12px;background:#f4f4f5;display:grid;place-items:center;color:#222}.bl-row .oi svg{width:22px;height:22px}
.bl-row .grow b{display:block}.bl-row .grow small{color:#8a8a93;display:block;white-space:normal}
.sw2{position:relative;flex:0 0 auto;display:block}.sw2 input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}
.sw2 i{display:flex;border-radius:999px;background:#ececf0;padding:3px;font-style:normal}.sw2 em{font-style:normal;font-size:13px;padding:6px 12px;border-radius:999px;color:#666}
.sw2 input:not(:checked)+i em:first-child{background:#fff;color:#17663a;font-weight:700;box-shadow:0 1px 3px #0002}
.sw2 input:checked+i em:last-child{background:#0a7cff;color:#fff;font-weight:700}

/* ======== جداکننده (نسخه‌ی ۸) ======== */
.dv{display:flex;align-items:center;justify-content:center;height:var(--dvh,24px);color:var(--muted,#888)}
.dvin{width:var(--dvw,60%);display:flex;align-items:center;gap:10px;min-width:0}
.dvl{flex:1;border-top:2px solid currentColor;opacity:.45;border-radius:2px}
.dvi{width:20px;height:20px;flex:0 0 auto}
.dvt{font-size:13px;flex:0 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}
.dv-none .dvin{justify-content:center}
.dvf h4{margin:20px 0 10px;font-size:16px}.dvf h4:first-child{margin-top:8px}
.dvstyles{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.dvs{display:block;margin:0;cursor:pointer}.dvs input{display:none}
.dvd{display:flex;align-items:center;justify-content:center;gap:4px;height:64px;padding:0 8px;border:1.5px solid #d9d9df;border-radius:14px;background:#fff;color:#555}
.dvd .dvl{border-top-width:1.5px;opacity:.8}.dvd .dvi{width:18px;height:18px}
.dvs:has(input:checked) .dvd{border-color:#0a7cff;box-shadow:0 0 0 2px #0a7cff33;color:#0a7cff}
.dvseg{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.dvseg label{margin:0;cursor:pointer}.dvseg input{display:none}
.dvseg span{display:block;text-align:center;font-size:13px;padding:11px 2px;border-radius:12px;color:#6b6b75;background:#f4f4f5;white-space:nowrap}
.dvseg input:checked+span{background:#cfe0ff;color:#0a64e0;font-weight:700}
.dvcus{margin-top:6px}.dvcus input{text-align:center}
.dvprev{background:#f4f4f5;color:#333;--muted:#333;border-radius:14px;padding:0 12px;min-height:60px;display:flex;flex-direction:column;justify-content:center}
.dvprev .dv{width:100%}

/* پس‌زمینه‌ی کارت روی لایه‌ی ثابت (به‌جای background-attachment:fixed که در موبایل اسکرول را کند می‌کند) */
.bgl{position:fixed;inset:0;z-index:-1;pointer-events:none;transform:translateZ(0)}

/* ======== ویرایش روی دسکتاپ (مثل یک‌لینک) — موبایل بدون تغییر ======== */
.dkp,.pvmode,.qas{display:none}
@media (min-width:1024px){
  /* منوی کناری راست به‌جای نوار پایین */
  .app:has(.bnav){padding-bottom:30px}
  .app:has(.bnav) .wrap{max-width:none;margin:0;padding:22px 28px 30px 28px;padding-right:236px}
  .bnav{top:71px;bottom:0;left:auto;right:0;width:208px;flex-direction:column;justify-content:flex-start;gap:6px;padding:18px 12px;border-top:0;border-left:1px solid #e6e6ea;z-index:18}
  .bnav a{flex:0 0 auto;flex-direction:row;justify-content:flex-start;gap:12px;padding:12px 14px;border-radius:12px;font-size:15px;color:#555}
  .bnav a:hover{background:#f4f4f5}.bnav a.on{background:#eaf3ff;color:#0a64e0;font-weight:700}
  .bnav svg{width:22px;height:22px}
  /* چیدمان دو ستونه: لیست بلوک‌ها (راست) و گوشی (چپ) */
  .edwrap{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 392px;gap:28px;align-items:start}
  .edwrap>.lock,.edwrap>link{grid-column:1/-1}
  .dkp{display:block;grid-column:1;grid-row:1/span 4}
  .edwrap>.pvtop,.edwrap>.pv,.edwrap>.pvmode{grid-column:2}
  .pvtop{margin:0 0 12px}
  .dkhead{display:flex;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid #ececf0;border-radius:18px;padding:16px;margin-bottom:14px}
  .dkbtn{display:inline-flex;align-items:center;gap:8px;background:#eef3ff;color:#0a64e0;border-radius:12px;padding:11px 16px;text-decoration:none;font-weight:500}
  .dkbtn svg{width:18px;height:18px}.dkbtn:last-child{background:#f1f1f3;color:#333}
  .dkdot{width:20px;height:20px;border-radius:50%;border:1px solid #0002;display:inline-block}
  .dklist{display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid #ececf0;border-radius:18px;overflow:hidden}
  .dkb{display:flex;align-items:center;gap:12px;padding:16px;color:#1a1a1a;text-decoration:none;border-bottom:1px solid #f0f0f3;transition:background .15s}
  .dkb:nth-child(odd){border-left:1px solid #f0f0f3}
  .dkb:hover{background:#f7f9ff}.dkb.lk{opacity:.75}
  .dkb .oi{flex:0 0 auto;width:44px;height:44px;border-radius:12px;background:#eef3ff;color:#0a64e0;display:grid;place-items:center}.dkb .oi svg{width:24px;height:24px}
  .dkb .ot{flex:1;min-width:0}.dkb .ot b{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-weight:500}.dkb .ot small{display:block;color:#8a8a93;font-size:12px;line-height:1.7}
  .dkb .chv{color:#8a8a93;font-size:20px}
  /* قاب گوشی */
  .pv{border:9px solid #15171c;border-radius:44px;min-height:560px;box-shadow:0 18px 40px -12px #0005,0 0 0 2px #3a3d46;overflow:hidden;padding:18px 10px 24px}
  .pv.fx{overflow:hidden}
  .pvmode{display:flex;gap:6px;background:#f0f0f2;border-radius:14px;padding:5px;margin:14px 0 0}
  .pvmode button{flex:1;border:0;background:none;padding:12px;border-radius:10px;font:inherit;color:#6b6b75;cursor:pointer}
  .pvmode button.on{background:#cfe0ff;color:#0a64e0;font-weight:700}
  .pv.clean .qas,.pv.clean .pen,.pv.clean .mv{display:none!important}
  .pv.clean .cbtn{padding-left:14px;padding-right:14px}.pv.clean .bpv,.pv.clean .pvg,.pv.clean .pvhero{padding-left:0;padding-right:0}
  /* دکمه‌های سریع حذف و کپی */
  .qas{display:inline-flex;align-items:center;gap:6px;vertical-align:middle}.qas form{margin:0;display:inline}
  .qa{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;border:0;background:#ffffffd9;color:#1a1a1a;cursor:pointer;padding:0}
  .qa svg{width:16px;height:16px}.qa:hover{background:#fff}.qa.red{color:#e5484d}
  .pvg h3 .qas{margin-inline-start:6px}
  .pv .cbtn .qas{position:absolute;left:46px;top:50%;transform:translateY(-50%)}.pv .cbtn{padding-left:100px}
  .bcard .qas{flex:0 0 auto}
  .fab.up{display:none}
  .app:has(.bnav) .wrap>*:not(.edwrap):not(.sheet):not(.msg){max-width:780px;margin-left:auto;margin-right:auto}
  /* پنجره‌ی افزودن/ویرایش وسط صفحه */
  .sheet{align-items:center}.sheet .box{border-radius:24px;max-height:86vh}
}

/* اصلاح چیدمان دسکتاپ + کشیدن با لمس */
@media (min-width:1024px){
  .pv{width:100%;max-width:392px;min-height:640px;margin:0 auto;border-radius:40px}
  .pv .cbtn{padding-left:76px;padding-right:14px;min-height:46px}
  .pv .cbtn .pen{left:6px;width:28px;height:28px}
  .pv .cbtn .qas{left:38px}.pv .cbtn .qa{width:28px;height:28px}
  .pv .grid.c2 .cbtn{padding-left:70px}.pv .grid.c2 .cbtn .qas{left:36px}
  .pv .cbtn .bl{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0}.pv .cbtn .bl span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .pvg h3{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}
  .pv .mv{width:34px}
  /* لمس: کشیدن بالا/پایین بدون اسکرول صفحه */
  .pv .mv{touch-action:none}
}

/* ======== v9: ویرایشگر مرتب‌تر، جداکننده با ظاهر واقعی، کشیدن با لمس ======== */
/* دسته‌ی جابه‌جایی: دکمه‌ی کوچک و وسط‌چین (به‌جای نوار بلند)، با سطح لمس ۴۸ پیکسل؛ فقط خودِ دسته جلوی اسکرول را می‌گیرد */
.pv .pvg>.mv{top:50%;bottom:auto;height:48px;width:32px;transform:translateY(-50%);background:#80808038;color:var(--text);border-radius:12px;touch-action:none;cursor:grab;justify-content:center}
.pv .pvg>.mv:active{cursor:grabbing;background:#80808066}
.pv .pvg{padding-right:12px}
.pv .bcard,.pv .pvg h3,.pv .cbtn[data-id]{touch-action:pan-y}
/* هدر کارت تمام‌عرض */
.pv .pvhero{margin:-14px -12px 6px;padding:0 0 12px}
.pv .pvhero .cov{height:120px;border-radius:20px 20px 0 0}
.pv .pvhero .avw{margin-top:-46px}
.pv .pvhero .mv.pinh{display:none}
/* جداکننده در ادیتور: همان ظاهری که در تنظیمات انتخاب شده + مداد/حذف */
.pvg.bpv-dv{padding-top:0;padding-bottom:4px}
.dvedit{position:relative;display:flex;align-items:center;min-height:44px;padding:0 6px}
.dvedit::before{content:"";position:absolute;inset:2px 0;border:1px dashed currentColor;opacity:.22;border-radius:12px;pointer-events:none}
.dvedit .dv{width:100%;color:var(--muted,#aaa)}
.dvacts{position:absolute;left:6px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:6px;z-index:2}
.dvacts .pen{background:#80808066;color:var(--text);width:30px;height:30px}
.pv.clean .dvedit{min-height:0;padding:0}.pv.clean .dvedit::before{display:none}
/* پیش‌نمایش زنده‌ی ادیتور: افکت‌های متحرک تم فقط در حالت «پیش‌نمایش» اجرا شوند (سبک‌تر شدن ویرایش) */
.pv.fx:not(.clean)::before,.pv.fx:not(.clean)::after,.pv.fx:not(.clean) .av{animation-play-state:paused!important}
.pv .cbtn small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}

@media (min-width:1024px){
  /* قاب گوشی: فاصله‌ها و دکمه‌ها مرتب‌تر */
  .pv{padding:0 10px 24px}
  .pv .pvhero{margin:0 -10px 6px}
  .pv .pvhero .cov{border-radius:0}
  .pv .pvg{padding-left:50px;padding-right:6px}
  .pv .pvg>.mv{left:8px}
  .pv .pvg h3{margin:6px 0 10px;font-size:15px}
  .pv .pvg h3 .pen,.pv .pvg h3 .qa{width:26px;height:26px}
  .pv .pvg h3 .pen svg,.pv .pvg h3 .qa svg{width:14px;height:14px}
  /* دکمه‌ی لینک: فقط مداد ثابت است؛ حذف/کپی با رفتن موس روی دکمه نمایان می‌شود تا عنوان بریده نشود */
  .pv .cbtn{padding-left:42px;padding-right:12px}
  .pv .grid.c2 .cbtn{padding-left:40px;padding-right:8px}
  .pv .cbtn .pen{left:6px}
  .pv .cbtn .qas,.dvacts .qas{left:38px}
  .dvacts .qas{position:static}
  .pv .cbtn .qas{opacity:0;pointer-events:none;transition:opacity .12s}
  .pv .cbtn:hover .qas,.pv .cbtn:focus-within .qas{opacity:1;pointer-events:auto}
  .dvacts .qas{opacity:0;pointer-events:none;transition:opacity .12s}
  .dvedit:hover .dvacts .qas,.dvedit:focus-within .dvacts .qas{opacity:1;pointer-events:auto}
  .bcard .qas{margin-inline-start:2px}
}

/* ===== پنل مدیریت (فقط body.adm) ===== */
body.adm{background:#f4f5f8}
body.adm .top{background:#111;color:#fff;border:0;box-shadow:0 2px 14px #0003}
body.adm .top .logo{color:#fff}
body.adm .top .menu summary{background:#ffffff1a;color:#fff}
body.adm .wrap{padding-bottom:96px}
body.adm .tabs{background:#fff;border:1px solid #e8e9ef;border-radius:16px;padding:6px;gap:4px;box-shadow:0 1px 3px #0000000a;margin:14px 0}
body.adm .tabs a{flex:1;text-align:center;border:0;background:none;padding:10px 14px;border-radius:12px;color:#5b5f6b;font-weight:500;transition:.15s}
body.adm .tabs a:hover{background:#f1f2f6}
body.adm .tabs a.on{background:#111;color:#fff;box-shadow:0 4px 12px #0003}
body.adm .card{border:1px solid #e8e9ef;border-radius:20px;box-shadow:0 1px 3px #0000000a,0 8px 24px -12px #0000001a}
body.adm .card h3{font-size:17px;margin-bottom:10px}
body.adm .btn{transition:.15s}body.adm .btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px -4px #0004}
body.adm .btn.red:hover{box-shadow:none;background:#fbc9c9}
body.adm .fab{background:#111;box-shadow:0 10px 30px -6px #0006}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 12px}
.st{background:#fff;border:1px solid #e8e9ef;border-radius:18px;padding:14px 16px;box-shadow:0 1px 3px #0000000a}
.st span{display:block;font-size:12px;color:#7a7e8a}
.st b{display:block;font-size:26px;margin-top:4px;color:#111;line-height:1.2}.st b em{font-size:14px;color:#9a9eaa;font-style:normal;font-weight:400}
.toolbar{display:flex;gap:8px;align-items:center;padding:12px}
.toolbar .search{margin:0;flex:1;width:auto;background:#f1f2f6}
.toolbar .xl{margin:0;display:flex;align-items:center;gap:6px;padding:11px 14px;white-space:nowrap;font-size:14px}
.toolbar .xl svg{width:18px;height:18px}
.uav{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:0 0 auto;border:2px solid #fff;box-shadow:0 0 0 1px #e1e2e8;background:#e9eaef;display:block}
.uav.ph{display:grid;place-items:center;font-weight:700;font-size:16px;color:#fff;background:linear-gradient(135deg,#0a7cff,#6a5cff);border:0}
.urow:hover{background:#fafafc}
.folder{margin:10px 0}
.folder>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e8e9ef;border-radius:16px;padding:14px 16px;box-shadow:0 1px 3px #0000000a;user-select:none}
.folder>summary::-webkit-details-marker{display:none}
.folder>summary svg{width:22px;height:22px;color:#e2a400;fill:#ffe9a8}
.folder>summary b{flex:1}
.folder .chev{font-style:normal;font-size:22px;color:#9a9eaa;transition:.2s;transform:rotate(90deg);line-height:1}
.folder[open]>summary .chev{transform:rotate(-90deg)}
.folder[open]>summary{border-bottom-left-radius:0;border-bottom-right-radius:0;margin-bottom:-1px}
.folder>.card{margin-top:0;border-top-left-radius:0;border-top-right-radius:0;max-height:62vh;overflow:auto}
.li.cur{background:#f2f7ff}
.genrow b{flex:0 0 auto}
.crow{display:flex;align-items:center;gap:6px;padding:10px 14px;border-top:1px solid #f0f0f3}
.crow:first-child{border-top:0}
.crow>form.row{flex:1;min-width:0}
.crow .code{font-size:15px;flex:0 0 96px}
.crow .curl{flex:1 1 180px;color:#8a8a93;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.crow select{flex:0 1 150px;padding:9px 12px}
.crow .cdel .btn{margin:0}
@media(max-width:640px){.stats{grid-template-columns:repeat(2,1fr)}.toolbar{flex-wrap:wrap}.toolbar .search{flex:1 1 100%}.crow{flex-wrap:wrap}}

/* ===== تم‌های زنده‌ی حرفه‌ای (نسخه‌ی ۱۱) ===== */
/* پارالاکس لمسی/ماوس: متغیرهای --px و --py با JS تنظیم می‌شوند؛ از ویژگی translate استفاده شده تا با انیمیشن transform تداخل نکند */
.fx-midnight::before,.fx-mesh::before,.fx-emerald::before,.fx-rosegold::before,.fx-holo::before,.fx-liquid::before{translate:var(--px,0px) var(--py,0px);transition:translate .5s ease-out}
/* ورود نرم بلوک‌ها */
@keyframes fxin{from{opacity:0;transform:translateY(14px)}}
.cardpage.fx .cp>*{animation:fxin .7s cubic-bezier(.2,.7,.2,1) backwards}
.cardpage.fx .cp>*:nth-child(2){animation-delay:.06s}.cardpage.fx .cp>*:nth-child(3){animation-delay:.12s}.cardpage.fx .cp>*:nth-child(4){animation-delay:.18s}.cardpage.fx .cp>*:nth-child(5){animation-delay:.24s}.cardpage.fx .cp>*:nth-child(n+6){animation-delay:.3s}
@media (prefers-reduced-motion:reduce){.cardpage.fx .cp>*{animation:none}}
/* نیمه‌شب لوکس: درخشش شامپاینی آرام + دانه‌ی ظریف */
.fx-midnight{background:radial-gradient(120% 80% at 50% 0%,#17140d,#0b0b0e 65%)}
.fx-midnight::before{inset:-30%;background:radial-gradient(32% 28% at 28% 22%,#d9b86a38,transparent 70%),radial-gradient(30% 30% at 78% 70%,#b8895033,transparent 70%);animation:fxblob 34s ease-in-out infinite alternate}
.fx-midnight::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.07;mix-blend-mode:overlay}
.fx-midnight .cbtn:not(.alt),.fx-midnight .bcard,.fx-midnight .bk .cd>div{background:#ffffff08;color:var(--text);border:1px solid #d9b86a66;box-shadow:inset 0 1px 0 #ffffff12,0 10px 24px -14px #000}
.fx-midnight .av{box-shadow:0 0 0 2px #d9b86a,0 0 28px #d9b86a44}
/* نقره‌ای مایع */
.fx-liquid{background:linear-gradient(160deg,#f1f3f8,#cfd4e0)}
.fx-liquid::before{inset:-25%;background:radial-gradient(34% 30% at 25% 30%,#ffffffcc,transparent 70%),radial-gradient(36% 34% at 75% 65%,#9aa3b844,transparent 70%),radial-gradient(26% 26% at 60% 15%,#ffffff99,transparent 70%);animation:fxblob 22s ease-in-out infinite alternate}
.fx-liquid::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.05}
.fx-liquid .cbtn:not(.alt),.fx-liquid .bcard,.fx-liquid .bk .cd>div{background:linear-gradient(180deg,#4a5266,#1f2431);color:#fff;box-shadow:0 10px 20px -10px #1f243188,inset 0 1px 0 #ffffff40}
/* رزگلد */
.fx-rosegold{background:radial-gradient(110% 80% at 50% 0%,#2a1719,#1a0f12 70%)}
.fx-rosegold::before{inset:-25%;background:radial-gradient(34% 30% at 22% 28%,#e7a58f40,transparent 70%),radial-gradient(30% 34% at 80% 72%,#c9707a38,transparent 70%);animation:fxblob 30s ease-in-out infinite alternate}
.fx-rosegold .cbtn:not(.alt),.fx-rosegold .bcard,.fx-rosegold .bk .cd>div{background:linear-gradient(135deg,#f3c5b4,#d98d78 55%,#f3c5b4);color:#2a0f0a;box-shadow:0 10px 20px -10px #000c,inset 0 1px 0 #fff8}
/* مش آبی-بنفش (سبک استرایپ/اپل) */
.fx-mesh{background:#0a0f2c}
.fx-mesh::before{inset:-35%;background:radial-gradient(30% 28% at 20% 25%,#5b6bff99,transparent 70%),radial-gradient(28% 30% at 78% 22%,#b25bff80,transparent 70%),radial-gradient(34% 30% at 70% 80%,#00c2ff66,transparent 70%),radial-gradient(26% 26% at 22% 78%,#ff5bb866,transparent 70%);animation:fxblob 26s ease-in-out infinite alternate}
.fx-mesh::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.06;mix-blend-mode:overlay}
.fx-mesh .cbtn:not(.alt),.fx-mesh .bcard,.fx-mesh .bk .cd>div{background:#ffffff1c;color:var(--text);border:1px solid #ffffff40;box-shadow:inset 0 1px 0 #ffffff4d,0 10px 26px -12px #0009}
/* هولوگرافیک */
.fx-holo{background:#eef1ff}
.fx-holo::before{inset:-50%;background:conic-gradient(from 0deg at 50% 50%,#ffd6f0,#d6e4ff,#d6fff0,#fff3d6,#f0d6ff,#ffd6f0);opacity:.85;animation:fxspin 60s linear infinite}
.fx-holo::after{background:radial-gradient(60% 40% at 50% 0%,#ffffffcc,transparent 70%)}
.fx-holo .cbtn:not(.alt),.fx-holo .bcard,.fx-holo .bk .cd>div{background:#ffffffb3;color:#1b1d33;border:1px solid #ffffffcc;box-shadow:0 10px 24px -12px #6c5ce766,inset 0 1px 0 #fff}
/* سین‌ویو: آسمان غروب، خورشید و شبکه‌ی متحرک کف */
.fx-synth{background:linear-gradient(180deg,#1a0638 0%,#4a0f6e 45%,#ff4fb8 78%,#ffb36b 100%)}
.fx-synth::before{inset:auto 0 0 0;height:42%;--dy:48px;background-image:linear-gradient(#ff4fb899 1px,transparent 1px),linear-gradient(90deg,#ff4fb866 1px,transparent 1px);background-size:48px 48px;transform:perspective(220px) rotateX(55deg);transform-origin:50% 0;animation:fxdrop 2.4s linear infinite;--dy:48px}
.fx-synth::after{inset:auto 0 38% 0;margin:auto;width:46vw;max-width:260px;aspect-ratio:1;border-radius:50%;background:linear-gradient(180deg,#ffe36b,#ff4fb8);opacity:.9;box-shadow:0 0 60px #ff4fb888;left:0;right:0}
.fx-synth .cbtn:not(.alt),.fx-synth .bcard,.fx-synth .bk .cd>div{background:#1a0638cc;color:#fff;border:1px solid #ff4fb8;box-shadow:0 0 14px #ff4fb877,inset 0 0 8px #ffffff22}
/* فیبر کربن */
.fx-carbon{background:#0d0e10 repeating-linear-gradient(45deg,#ffffff06 0 2px,transparent 2px 6px),repeating-linear-gradient(-45deg,#00000066 0 2px,transparent 2px 6px)}
.fx-carbon::before{inset:0 auto 0 0;width:300%;background:linear-gradient(110deg,transparent 0 40%,#ff3b3022 47%,#ffffff12 50%,#ff3b3022 53%,transparent 60%);animation:fxslide 12s ease-in-out infinite alternate}
.fx-carbon .cbtn:not(.alt),.fx-carbon .bcard,.fx-carbon .bk .cd>div{background:linear-gradient(180deg,#24262b,#111214);color:#fff;border:1px solid #ffffff14;border-inline-start:3px solid var(--accent);box-shadow:0 10px 22px -12px #000}
/* زمرد */
.fx-emerald{background:radial-gradient(110% 90% at 50% 0%,#0b2a20,#04140f 70%)}
.fx-emerald::before{inset:-30%;background:radial-gradient(30% 28% at 25% 28%,#1ee3a033,transparent 70%),radial-gradient(30% 32% at 78% 70%,#e9cf8f26,transparent 70%),radial-gradient(26% 26% at 60% 15%,#0a7d5a55,transparent 70%);animation:fxblob 28s ease-in-out infinite alternate}
.fx-emerald::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.06;mix-blend-mode:overlay}
.fx-emerald .cbtn:not(.alt),.fx-emerald .bcard,.fx-emerald .bk .cd>div{background:linear-gradient(135deg,#f1dca0,#c9a84e 55%,#f1dca0);color:#1a1404;box-shadow:0 10px 20px -10px #000c,inset 0 1px 0 #fff9}

/* ===== پنل مدیریت: آمار، گروهی، چاپ ===== */
.stats.s3{grid-template-columns:repeat(3,1fr)}
.chart{display:flex;gap:4px;align-items:flex-end;height:150px;padding-top:10px;direction:ltr}
.bar{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px;min-width:0}
.bar i{display:block;width:100%;max-width:26px;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,#6a5cff,#0a7cff);transition:.2s}
.bar:hover i{filter:brightness(1.15)}
.bar span{font-size:10px;color:#555;order:-1}.bar small{font-size:10px;color:#9a9eaa}
.card h3.ph{padding:16px 16px 4px}.rk{width:26px;height:26px;border-radius:8px;background:#f1f2f6;display:grid;place-items:center;font-size:13px;flex:0 0 auto}
.lg{white-space:nowrap;color:#9a9eaa}
.bulkbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid #e8e9ef;border-radius:16px;padding:8px 14px;margin:10px 0}
.bulkbar .chk{margin:0}.bulkbar select{width:auto;flex:1 1 180px;padding:9px 12px}.bulkbar .btn{margin:0}
.crow .cb{width:18px;height:18px;flex:0 0 auto}.badge.vw{background:#f1f2f6;color:#555;padding:5px 9px;font-size:12px}
.pager{display:flex;justify-content:center;align-items:center;gap:14px;margin:14px 0}.pager a{padding:8px 14px;background:#fff;border:1px solid #e8e9ef;border-radius:12px;text-decoration:none;color:#111}
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.pt{background:#fff;border:1px dashed #c9ccd6;border-radius:14px;padding:12px;text-align:center;break-inside:avoid}
.pq{width:120px;margin:0 auto 6px}.pq svg{display:block;width:100%;height:auto}.pt b{display:block;font-size:14px;letter-spacing:1px}.pt small{display:block;color:#8a8a93;font-size:10px;word-break:break-all}
@media print{body.adm{background:#fff}body.adm .top,body.adm .tabs,.noprint,.msg{display:none!important}.pgrid{grid-template-columns:repeat(4,1fr);gap:6px}.pt{border:1px dashed #999}}
@media(max-width:640px){.stats.s3{grid-template-columns:1fr 1fr 1fr}.st b{font-size:20px}.pgrid{grid-template-columns:repeat(2,1fr)}}

.urow .ucb{width:18px;height:18px;flex:0 0 auto;margin-inline-end:4px}
.aareas{display:grid;gap:6px;margin:8px 0}.aareas .chk{margin:0}

/* قاب گوشی با ارتفاع ثابت و اسکرول داخلی (مثل لینک‌تری) */
@media (min-width:1024px){
  .pv,.pv.fx{height:min(720px,calc(100vh - 160px));min-height:480px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none}
  .pv::-webkit-scrollbar{display:none}
  .pv.sorting{overflow-y:auto}
}

/* جایگاه محتوا: وسط (پیش‌فرض) / راست / چپ */
.al-right,.al-right h3,.bk.al-right{text-align:right}
.al-left,.al-left h3,.bk.al-left{text-align:left}
.al-right .cbtn,.al-right .bcard{text-align:right;justify-content:flex-start}
.al-left .cbtn,.al-left .bcard{text-align:left;justify-content:flex-end}
.pvg.al-right h3{justify-content:flex-start;text-align:right}
.pvg.al-left h3{justify-content:flex-end;text-align:left}
.pv .al-right .cbtn:has(> small),.pv .al-left .cbtn:has(> small){justify-content:space-between}

/* موبایل: قاب کارت با ارتفاع ثابت و اسکرول داخلی + اصلاح سربرگ و دکمه‌ها */
@media (max-width:1023px){
  .pv,.pv.fx{height:clamp(380px,64vh,600px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .pv::-webkit-scrollbar{display:none}
  .pv .pvhero{margin:0;padding:0 0 12px}
  .pv .pvhero .cov{height:110px;min-height:110px;flex:none}
  .pv .pvhero .avw{margin-top:-44px}
  .pv .pvhero .mv.pinh{display:none}
  .pv .pvg{padding-left:50px;padding-right:10px}
  .pv .pvg>.mv{left:8px}
}
.pv .cbtn .bl{min-width:0;max-width:100%}
.pv .cbtn .bl span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv .grid.c2 .cbtn{padding-left:40px;padding-right:8px;font-size:14px}

/* جایگاه هر دکمه (بر گروه ارجحیت دارد): در گروه دو ستونه خودِ دکمه جابه‌جا می‌شود، در گروه یک ستونه متن آن */
.grid.c2>.cbtn.al-center{grid-column:1/-1;justify-self:center;width:calc(50% - 5px)}
.grid.c2>.cbtn.al-right{grid-column:1}
.grid.c2>.cbtn.al-left{grid-column:2}
.grid.c1>.cbtn.al-center{text-align:center;justify-content:center}
.grid.c1>.cbtn.al-right{text-align:right;justify-content:flex-start}
.grid.c1>.cbtn.al-left{text-align:left;justify-content:flex-end}
.pv .grid.c1>.cbtn.al-right:has(> small),.pv .grid.c1>.cbtn.al-left:has(> small){justify-content:space-between}

/* آیکن کنار عنوان دکمه‌ها در صفحه‌ی کارت */
.cardpage .cbtn .cbl{display:inline-flex;align-items:center;justify-content:center;gap:8px;max-width:100%}
.cardpage .cbtn .lic{width:20px;height:20px;flex:0 0 auto}

/* حذف هایلایت آبی هنگام لمس/کلیک در کل سایت و پنل */
*,*::before,*::after{-webkit-tap-highlight-color:transparent}
a,button,.cbtn,.bcard,.pen,.mv,.qa,summary,label,[role=button]{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}
.cbtn,.bcard,.pen,.mv,.qa,button,.tabs a,nav a{-webkit-user-select:none;user-select:none}
a:focus,button:focus,.cbtn:focus,select:focus-visible{outline:none}
a:focus-visible,button:focus-visible,.cbtn:focus-visible{outline:2px solid #ffffff99;outline-offset:2px}
::selection{background:#ffffff33}

/* ======== تم لیکوید گلس (کامل) ======== */
.fx-lglass{background:linear-gradient(160deg,#060a1c 0%,#0a1230 55%,#0b1a3c 100%)}
.fx-lglass::before{inset:0;background:radial-gradient(60% 34% at 18% 6%,#3d6bff3d,transparent 70%),radial-gradient(55% 34% at 88% 94%,#5b7cff2e,transparent 70%),radial-gradient(40% 25% at 50% 50%,#7fa2ff12,transparent 70%)}
.fx-lglass::after{inset:0;background:linear-gradient(180deg,#ffffff0a,transparent 30%)}
.fx-lglass,.fx-lglass h1,.fx-lglass h2,.fx-lglass h3,.fx-lglass p{color:#fff}
.fx-lglass h3{text-shadow:0 1px 8px #00000040;letter-spacing:.2px}
.fx-lglass .av{border:1.5px solid #ffffffa6;box-shadow:0 0 0 6px #ffffff1f,0 12px 30px -8px #000a,inset 0 0 12px #ffffff40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.fx-lglass .cbtn:not(.alt),.fx-lglass .bcard,.fx-lglass .bk .cd>div,.fx-lglass .bk .fq>div,.fx-lglass .bk .box{
  position:relative;overflow:hidden;color:#fff;text-shadow:0 1px 6px #00000040;
  background:linear-gradient(135deg,#ffffff47 0%,#ffffff14 45%,#ffffff26 100%);
  -webkit-backdrop-filter:blur(18px) saturate(185%);backdrop-filter:blur(18px) saturate(185%);
  border:1px solid #ffffff59;
  box-shadow:inset 0 1.5px 0 #ffffffb3,inset 0 -1.5px 0 #ffffff26,inset 0 0 22px #ffffff1f,0 14px 32px -14px #000b,0 2px 6px #0003;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.fx-lglass .cbtn:not(.alt)::before,.fx-lglass .bcard::before{content:"";position:absolute;left:0;right:0;top:0;height:55%;border-radius:inherit;background:linear-gradient(180deg,#ffffff4d,transparent);opacity:.55;pointer-events:none}
.fx-lglass .cbtn:not(.alt):active,.fx-lglass .bcard:active{transform:scale(.975);background:linear-gradient(135deg,#ffffff5c,#ffffff1f 50%,#ffffff33)}
.fx-lglass .cbtn small{opacity:.9}
.fx-lglass hr,.fx-lglass .dv,.fx-lglass .divider{border:0;height:1px;background:linear-gradient(90deg,transparent,#ffffff80,transparent)}
.fx-lglass .pvg{background:#ffffff0f;border:1px solid #ffffff26;border-radius:22px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.fx-lglass .cbtn .lic{filter:drop-shadow(0 1px 3px #0006)}
@media (prefers-reduced-motion:reduce){.fx-lglass .cbtn,.fx-lglass .bcard{transition:none}}

/* تم‌های ویژه برای کاربران عادی قفل هستند */
.thc.lk,.themeopt.lk{opacity:.55;cursor:not-allowed}.thc.lk input,.themeopt.lk input{pointer-events:none}

/* ======== حالت سه‌بعدی (قابل روشن‌شدن روی هر تم) ======== */
.fx3d .cbtn:not(.alt),.fx3d .bcard,.fx3d .bk .cd>div{
  border-bottom:5px solid #0000004d;
  box-shadow:0 12px 18px -8px #0000006e,0 2px 0 #ffffff33 inset,0 16px 16px -12px #ffffff4d inset,0 -3px 8px #00000024 inset;
  transition:transform .12s ease,border-bottom-width .12s ease,box-shadow .12s ease}
.fx3d .cbtn:not(.alt):active,.fx3d .bcard:active{transform:translateY(3px);border-bottom-width:2px;box-shadow:0 4px 8px -4px #0000006e,0 2px 0 #ffffff33 inset}
.fx3d .av{box-shadow:0 14px 24px -8px #00000088,0 0 0 4px #ffffff40,inset 0 -4px 8px #00000030}
.fx3d .bk img,.fx3d .bk .sl{box-shadow:0 12px 22px -10px #0009}
@media (prefers-reduced-motion:reduce){.fx3d .cbtn,.fx3d .bcard{transition:none}}

details.adv{margin:10px 0;border:1px solid #e3e3e8;border-radius:14px;padding:4px 12px}details.adv>summary{cursor:pointer;padding:10px 0;font-weight:600;color:#555}

/* ردیف تم‌ها در پنل مدیریت: نام یک خط، دکمه‌ها در خط دوم */
.li:has(.lacts){flex-wrap:wrap;row-gap:10px}
.li .grow{flex:1 1 120px;min-width:0}.li .grow b{white-space:normal;word-break:normal}
.li .lacts{flex:0 0 100%;display:flex;gap:8px;align-items:center}
.li .lacts form{margin:0}

/* لوگو در حالت سه‌بعدی: حلقه‌ی برجسته (نور از بالا، سایه از پایین) + لبه‌ی ضخیم و سایه‌ی عمیق */
.fx3d .av,.fx3d .hd .av,.fx3d .pvhero .av{
  border:5px solid #ffffff4d;border-top-color:#ffffffbf;border-bottom-color:#00000052;border-left-color:#ffffff73;border-right-color:#00000030;
  box-shadow:0 0 0 4px var(--bg),0 8px 0 4px #00000042,0 22px 28px -6px #000000a6}
.fx3d .pvhero .av{box-shadow:0 0 0 3px var(--bg),0 6px 0 3px #00000042,0 16px 20px -6px #000000a6}
