/* =========================================================
   استودیوی نابغه — لایهٔ طراحیِ نسخهٔ ۲ (روی nabeghe_env.css بارگذاری می‌شود)
   فقط ظاهر را عوض می‌کند؛ هیچ id/کلاسی که جاوااسکریپت به آن وابسته است حذف
   نشده. با برداشتنِ لینکِ همین فایل، ظاهرِ قبلی کامل برمی‌گردد.
   ========================================================= */

/* ---------- توکن‌ها ---------- */
.env-shell{
  --env-paper: #F6F6FA;
  --env-paper-2: rgba(255,255,255,.78);
  --env-solid: #FFFFFF;
  --env-ink: #1E2233;
  --env-ink-muted: #6B7086;
  --env-border: rgba(30,34,64,.09);
  --env-border-strong: rgba(30,34,64,.16);
  --env-hover: rgba(30,34,64,.045);
  --glass: rgba(255,255,255,.66);
  --glass-strong: rgba(255,255,255,.86);
  --glass-blur: saturate(160%) blur(18px);
  --shadow-sm: 0 1px 2px rgba(20,24,50,.05), 0 2px 8px -2px rgba(20,24,50,.06);
  --shadow-md: 0 2px 6px rgba(20,24,50,.04), 0 12px 32px -12px rgba(20,24,50,.16);
  --shadow-lg: 0 24px 60px -24px rgba(20,24,50,.32);
  --accent: var(--env-family-accent, #6366F1);
  --accent-soft: color-mix(in srgb, var(--accent) 12%, transparent);
  --accent-glow: color-mix(in srgb, var(--accent) 38%, transparent);
  --aurora-1: color-mix(in srgb, var(--accent) 55%, #ffffff);
  --aurora-2: #B9A7FF;
  --aurora-3: #8EE6DA;
  --aurora-opacity: .55;
  --radius-lg: 22px;
  --radius-md: 16px;
  --env-bubble-user: linear-gradient(135deg, color-mix(in srgb, var(--accent) 88%, #fff), var(--env-family-accent-deep, var(--accent)));
  background: var(--env-paper);
}
@media (prefers-color-scheme: dark){
  .env-shell:not(.env-force-light){
    --env-paper: #0E1020;
    --env-paper-2: rgba(28,31,52,.72);
    --env-solid: #171A2E;
    --env-ink: #ECEEF8;
    --env-ink-muted: #9298B4;
    --env-border: rgba(255,255,255,.08);
    --env-border-strong: rgba(255,255,255,.15);
    --env-hover: rgba(255,255,255,.06);
    --glass: rgba(22,25,44,.62);
    --glass-strong: rgba(26,29,50,.88);
    --shadow-sm: 0 1px 2px rgba(0,0,0,.3);
    --shadow-md: 0 14px 34px -14px rgba(0,0,0,.6);
    --shadow-lg: 0 28px 70px -24px rgba(0,0,0,.75);
    --aurora-1: color-mix(in srgb, var(--accent) 70%, #000);
    --aurora-2: #4B3AA8;
    --aurora-3: #12796E;
    --aurora-opacity: .42;
  }
}
.env-shell.env-force-dark{
  --env-paper: #0E1020;
  --env-paper-2: rgba(28,31,52,.72);
  --env-solid: #171A2E;
  --env-ink: #ECEEF8;
  --env-ink-muted: #9298B4;
  --env-border: rgba(255,255,255,.08);
  --env-border-strong: rgba(255,255,255,.15);
  --env-hover: rgba(255,255,255,.06);
  --glass: rgba(22,25,44,.62);
  --glass-strong: rgba(26,29,50,.88);
  --shadow-sm: 0 1px 2px rgba(0,0,0,.3);
  --shadow-md: 0 14px 34px -14px rgba(0,0,0,.6);
  --shadow-lg: 0 28px 70px -24px rgba(0,0,0,.75);
  --aurora-1: color-mix(in srgb, var(--accent) 70%, #000);
  --aurora-2: #4B3AA8;
  --aurora-3: #12796E;
  --aurora-opacity: .42;
}

/* ---------- آیکون‌ها ---------- */
.ui-ic{ width:1.15em; height:1.15em; flex-shrink:0; vertical-align:-0.2em; }
.si{
  --si-a:#A5B4FC; --si-b:#6366F1;
  position:relative; flex-shrink:0; display:inline-grid; place-items:center;
  width:44px; height:44px; border-radius:14px; color:#fff;
  background: linear-gradient(140deg, var(--si-a), var(--si-b));
  box-shadow: 0 8px 18px -8px color-mix(in srgb, var(--si-b) 75%, transparent),
              inset 0 1px 0 rgba(255,255,255,.35);
  overflow:hidden; isolation:isolate;
}
.si::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background: radial-gradient(120% 80% at 20% 0%, rgba(255,255,255,.45), transparent 55%);
}
.si svg{ width:54%; height:54%; filter: drop-shadow(0 1px 1.5px rgba(0,0,0,.18)); }
.si--xs{ width:22px; height:22px; border-radius:7px; }
.si--sm{ width:30px; height:30px; border-radius:10px; }
.si--lg{ width:58px; height:58px; border-radius:18px; }
.si--xl{ width:76px; height:76px; border-radius:24px; }
.si--xl svg{ width:50%; height:50%; }

/* ---------- پس‌زمینهٔ متحرک ---------- */
.env-main{ position:relative; isolation:isolate; background:transparent; }
.env-aurora{ position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
.env-aurora i{
  position:absolute; border-radius:50%; filter: blur(70px); opacity: var(--aurora-opacity);
  will-change: transform;
}
.env-aurora i:nth-child(1){ width:46vw; height:46vw; max-width:680px; max-height:680px; top:-18%; inset-inline-start:-8%;
  background: radial-gradient(circle at 50% 50%, var(--aurora-1), transparent 68%); animation: envDrift1 34s ease-in-out infinite alternate; }
.env-aurora i:nth-child(2){ width:40vw; height:40vw; max-width:600px; max-height:600px; bottom:-22%; inset-inline-end:-6%;
  background: radial-gradient(circle at 50% 50%, var(--aurora-2), transparent 68%); animation: envDrift2 41s ease-in-out infinite alternate; }
.env-aurora i:nth-child(3){ width:30vw; height:30vw; max-width:460px; max-height:460px; top:30%; inset-inline-start:38%;
  background: radial-gradient(circle at 50% 50%, var(--aurora-3), transparent 70%); opacity: calc(var(--aurora-opacity) * .7);
  animation: envDrift3 47s ease-in-out infinite alternate; }
.env-aurora::after{
  content:""; position:absolute; inset:0;
  background-image: radial-gradient(color-mix(in srgb, var(--env-ink) 9%, transparent) 1px, transparent 1.2px);
  background-size: 26px 26px;
  -webkit-mask-image: radial-gradient(ellipse 75% 60% at 50% 40%, #000 20%, transparent 75%);
          mask-image: radial-gradient(ellipse 75% 60% at 50% 40%, #000 20%, transparent 75%);
  opacity:.55;
}
@keyframes envDrift1{ 0%{ transform: translate(0,0) scale(1); } 100%{ transform: translate(12vw, 10vh) scale(1.18); } }
@keyframes envDrift2{ 0%{ transform: translate(0,0) scale(1.1); } 100%{ transform: translate(-14vw, -12vh) scale(.92); } }
@keyframes envDrift3{ 0%{ transform: translate(0,0) rotate(0); } 100%{ transform: translate(-8vw, 8vh) rotate(40deg) scale(1.2); } }
@media (prefers-reduced-motion: reduce){ .env-aurora i{ animation:none; } }

/* ---------- سایدبار ---------- */
.env-side{
  background: var(--glass); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur);
  border-inline-end: 1px solid var(--env-border);
}
.env-brand b{ font-size:1rem; letter-spacing:-.2px; }
.env-family-label{ display:flex; align-items:center; gap:7px; margin-top:-4px; color: var(--env-ink-muted); }
.env-studio-nav-btn{ gap:6px; padding:5px 9px; margin-inline-start:-9px; border-radius:9px; font-size:.74rem; }
.env-studio-nav-btn:hover{ background: var(--env-hover); }
.env-studio-nav-btn .ui-ic{ width:15px; height:15px; }
.env-studio-nav-panel{ background: var(--glass-strong); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur);
  border:1px solid var(--env-border); border-radius:16px; box-shadow: var(--shadow-lg); padding:7px; min-width:230px; }
.env-studio-nav-item{ padding:7px 9px; border-radius:11px; gap:10px; font-size:.8rem; }
.env-studio-nav-icon{ background:none; width:auto; height:auto; }
.env-new-btn{
  border-radius:14px; padding:11px 14px; font-size:.86rem; letter-spacing:-.1px;
  background: var(--env-bubble-user);
  box-shadow: 0 10px 22px -12px var(--accent-glow), inset 0 1px 0 rgba(255,255,255,.25);
}
.env-new-btn:hover{ filter:brightness(1.06); box-shadow: 0 14px 28px -12px var(--accent-glow), inset 0 1px 0 rgba(255,255,255,.25); transform: translateY(-1px); }
.env-new-btn-icon{ display:inline-flex; }
.env-new-btn-icon .ui-ic{ width:17px; height:17px; }
.env-convos{ padding: 6px 10px 12px; gap:2px; }
.env-convo-section-label{ display:flex; align-items:center; gap:5px; font-size:.66rem; letter-spacing:.4px; }
.env-convo-section-label .ui-ic{ width:12px; height:12px; }
.env-convo-row{ border-radius:12px; transition: background .15s; }
.env-convo-row.active{ background: var(--env-solid); border-color: var(--env-border); box-shadow: var(--shadow-sm); }
.env-convo-row.active::before{
  content:""; position:absolute; inset-inline-start:0; top:22%; bottom:22%; width:3px; border-radius:3px; background: var(--accent);
}
.env-convo-pin-mark{ display:inline-flex; color: var(--accent); }
.env-convo-pin-mark .ui-ic{ width:12px; height:12px; }
.env-convo-menu{ background: var(--glass-strong); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur);
  border-radius:14px; box-shadow: var(--shadow-lg); padding:6px; }
.env-convo-menu-item{ border-radius:10px; padding:8px 10px; }
.env-convo-menu-icon{ display:inline-flex; width:auto; }
.env-convo-menu-icon .ui-ic{ width:16px; height:16px; }
.env-convos-empty{ display:flex; flex-direction:column; align-items:center; gap:8px; padding:26px 10px; }
.env-convos-empty .ui-ic{ width:26px; height:26px; opacity:.45; }
.env-side-bottom{ border-top:1px solid var(--env-border); }
.env-side-action-btn{ gap:9px; padding:8px 10px; border-radius:10px; font-size:.78rem; }
.env-side-action-btn .ui-ic{ width:16px; height:16px; opacity:.85; }
.env-back{ gap:7px; padding:4px 10px; }
.env-back .ui-ic{ width:15px; height:15px; }

/* ---------- نوار بالا ---------- */
.env-topbar{
  background: color-mix(in srgb, var(--env-paper) 55%, transparent);
  -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur);
  border-bottom: 1px solid var(--env-border); padding: 11px 20px; position:relative; z-index:5;
}
.env-topbar h1{ display:flex; align-items:center; gap:10px; font-size:.98rem; letter-spacing:-.2px; }
.env-topbar h1 .si{ flex-shrink:0; }
.env-topbar h1 .env-topbar-title{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.env-sub-badge{ border-radius:999px; padding:4px 11px; font-size:.68rem; font-weight:700; display:inline-flex; align-items:center; gap:5px; }
.env-sub-badge.ok{ background: rgba(34,170,110,.13); color:#168257; }
.env-sub-badge.ok::before{ content:""; width:6px; height:6px; border-radius:50%; background:#1FB27A; box-shadow:0 0 0 3px rgba(31,178,122,.2); }
.env-sub-badge.off{ background: rgba(228,83,79,.12); color:#C2413C; }
.env-model-btn, .env-balance-chip{
  background: var(--glass-strong); border:1px solid var(--env-border); box-shadow: var(--shadow-sm); border-radius:999px; padding:7px 13px;
}
.env-model-btn:hover, .env-balance-chip:hover{ border-color: color-mix(in srgb, var(--accent) 45%, transparent); background: var(--env-solid); }
.env-balance-chip b{ color: var(--accent); }
.env-topup-btn{ border-radius:999px; padding:8px 15px; background: var(--env-bubble-user); box-shadow: 0 8px 18px -10px var(--accent-glow); transition: transform .15s, filter .15s; }
.env-topup-btn:hover{ transform: translateY(-1px); filter: brightness(1.06); }
.env-theme-btn{ width:36px; height:36px; background: var(--glass-strong); border:1px solid var(--env-border); color: var(--env-ink-muted); box-shadow: var(--shadow-sm); }
.env-theme-btn .ui-ic{ width:18px; height:18px; }
.env-theme-btn:hover{ color: var(--accent); }
.env-theme-pop{ background: var(--glass-strong); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); border-radius:18px; box-shadow: var(--shadow-lg); }
.env-theme-swatch.active::after{ content:""; }

/* «بازگشت به استودیو» — به‌جای بنرِ پهنِ صورتی، یک نوارِ ناوبریِ ظریف */
.studio-banner{
  background: transparent; border-bottom: 1px solid var(--env-border); padding: 8px 20px; gap:10px;
}
.studio-banner:hover{ filter:none; background: var(--env-hover); }
.studio-banner-icon{ width:28px; height:28px; background: var(--accent-soft); color: var(--accent); box-shadow:none; }
.studio-banner-icon svg{ width:15px; height:15px; }
.studio-banner-text{ flex-direction:row; align-items:baseline; gap:8px; }
.studio-banner-text b{ font-size:.8rem; }
.studio-banner-text span{ font-size:.72rem; }
.studio-banner-arrow{ color: var(--env-ink-muted); font-size:1rem; }

/* ---------- هاب / گالری ابزارها ---------- */
.env-persona-picker{ padding: 38px 24px 40px; }
.env-persona-picker-head{ margin-bottom:34px; }
.env-persona-picker-eyebrow{
  gap:7px; padding:6px 14px; background: var(--glass-strong); border:1px solid var(--env-border);
  color: var(--env-ink); box-shadow: var(--shadow-sm); font-size:.74rem; margin-bottom:16px;
}
.env-persona-picker-eyebrow .ui-ic{ color: var(--accent); width:15px; height:15px; }
.env-persona-picker-head h2{
  font-size: clamp(1.45rem, 2.6vw, 2.05rem); font-weight:900; letter-spacing:-.6px; line-height:1.35; margin-bottom:10px;
  background: linear-gradient(120deg, var(--env-ink) 30%, color-mix(in srgb, var(--accent) 80%, var(--env-ink)));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.env-persona-picker-head p{ font-size:.92rem; max-width:560px; margin:0 auto; }
.env-studiohub-section{ max-width:1040px; margin-bottom:38px; }
.env-studiohub-section-head{ border-bottom:none; padding-bottom:0; margin-bottom:16px; gap:13px; }
.env-studiohub-section-ico{ width:auto; height:auto; background:none; }
.env-studiohub-section-text b{ font-size:1.02rem; font-weight:800; letter-spacing:-.2px; }
.env-studiohub-section-text span{ font-size:.78rem; }
.env-studiohub-section--muted{ border-top:none; opacity:1; }
.env-persona-grid{ max-width:1040px; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap:16px; }

.env-persona-card, .env-persona-card--new{
  align-items:flex-start; text-align:start; justify-content:flex-start; gap:12px; min-height:168px; padding:20px 18px 18px;
  background: var(--glass); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur);
  border:1px solid var(--env-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); overflow:hidden;
  transition: transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s, border-color .25s;
}
.env-persona-card::after{
  content:""; position:absolute; inset:-1px; border-radius:inherit; padding:1px; pointer-events:none;
  background: linear-gradient(140deg, color-mix(in srgb, var(--persona-accent, var(--accent)) 70%, transparent), transparent 45%, transparent 60%, color-mix(in srgb, var(--persona-accent, var(--accent)) 40%, transparent));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude;
  opacity:0; transition: opacity .25s;
}
.env-persona-card:hover{ transform: translateY(-5px); border-color: transparent; box-shadow: var(--shadow-md), 0 22px 40px -26px color-mix(in srgb, var(--persona-accent, var(--accent)) 80%, transparent); }
.env-persona-card:hover::after{ opacity:1; }
.env-persona-card b{ font-size:.95rem; font-weight:800; letter-spacing:-.2px; }
.env-persona-tagline{ font-size:.78rem; line-height:1.75; }
.env-persona-card .env-card-go{
  position:absolute; inset-inline-end:16px; top:20px; width:30px; height:30px; border-radius:50%;
  display:grid; place-items:center; color: var(--env-ink-muted); background: var(--env-hover);
  transition: transform .25s, background .25s, color .25s;
}
.env-persona-card .env-card-go .ui-ic{ width:15px; height:15px; }
.env-persona-card:hover .env-card-go{ transform: translateX(-4px); background: var(--persona-accent, var(--accent)); color:#fff; }
.env-persona-card .si{ transition: transform .35s cubic-bezier(.2,.8,.2,1); }
.env-persona-card:hover .si{ transform: scale(1.06) rotate(-4deg); }
.env-persona-avatar{ width:58px; height:58px; border-radius:18px; }
.env-persona-card--new{ align-items:center; justify-content:center; text-align:center; border-style:dashed; border-color: var(--env-border-strong); }
.env-persona-new-plus{ display:grid; place-items:center; width:52px; height:52px; border-radius:16px; background: var(--accent-soft); color: var(--accent); font-size:inherit; }
.env-persona-new-plus .ui-ic{ width:24px; height:24px; }
.env-persona-features{ gap:10px; margin-top:22px; }
.env-persona-feature{ background: var(--glass-strong); border-color: var(--env-border); color: var(--env-ink); padding:8px 14px; gap:8px; box-shadow: var(--shadow-sm); }
.env-persona-feature .ui-ic{ color: var(--accent); width:16px; height:16px; }
.env-featured-section{ max-width:1040px; border-top:none; }
.env-featured-head{ font-size:.82rem; }
.env-featured-card{
  background: var(--glass); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur);
  border-radius: var(--radius-md); box-shadow: var(--shadow-sm);
}
.env-featured-card:hover{ transform: translateY(-3px); box-shadow: var(--shadow-md); }
.env-featured-ico{ background:none !important; width:auto !important; height:auto !important; }

/* ---------- حالتِ خالی (شروعِ گفتگو) ---------- */
.env-empty{ justify-content:flex-start; padding: 7vh 22px 18px; gap:0; overflow-y:auto; }
.env-empty-hero{ position:relative; margin-bottom:20px; }
.env-empty-hero::before{
  content:""; position:absolute; inset:-18px; border-radius:34px;
  background: radial-gradient(circle, var(--accent-glow), transparent 70%); filter: blur(10px);
  animation: envPulse 5s ease-in-out infinite;
}
@keyframes envPulse{ 0%,100%{ opacity:.55; transform:scale(.95); } 50%{ opacity:1; transform:scale(1.06); } }
@media (prefers-reduced-motion: reduce){ .env-empty-hero::before{ animation:none; } }
.env-empty h2{ font-size: clamp(1.3rem, 2.2vw, 1.7rem); font-weight:900; letter-spacing:-.5px; margin:0 0 8px; }
.env-empty p{ font-size:.9rem; max-width:470px; line-height:1.85; }
.env-empty .env-empty-mark{ width:76px; height:76px; border-radius:24px; font-size:2.2rem; box-shadow: var(--shadow-md); }

.env-starters{ width:100%; max-width:760px; margin-top:30px; display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:12px; }
.env-starters-title{ grid-column:1/-1; display:flex; align-items:center; gap:7px; font-size:.74rem; font-weight:800; color: var(--env-ink-muted); letter-spacing:.3px; margin-bottom:-2px; }
.env-starters-title .ui-ic{ width:14px; height:14px; color: var(--accent); }
.env-starter{
  display:flex; align-items:flex-start; gap:12px; text-align:start; padding:14px 15px; border-radius: var(--radius-md);
  background: var(--glass); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur);
  border:1px solid var(--env-border); box-shadow: var(--shadow-sm); color: var(--env-ink); font-family:inherit; cursor:pointer;
  transition: transform .2s cubic-bezier(.2,.8,.2,1), box-shadow .2s, border-color .2s;
}
.env-starter:hover{ transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: color-mix(in srgb, var(--accent) 40%, transparent); }
.env-starter-ic{ flex-shrink:0; width:36px; height:36px; border-radius:11px; display:grid; place-items:center; background: var(--accent-soft); color: var(--accent); }
.env-starter-ic .ui-ic{ width:18px; height:18px; }
.env-starter-body{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.env-starter-body b{ font-size:.86rem; font-weight:800; }
.env-starter-body span{ font-size:.74rem; color: var(--env-ink-muted); line-height:1.65; }
.env-starter:disabled{ opacity:.5; cursor:default; transform:none; }
@media (max-width:640px){
  .env-starters{ grid-template-columns: 1fr; margin-top:22px; }
  .env-empty{ padding-top:4vh; }
}

/* ---------- پیام‌ها ---------- */
.env-messages-inner{ gap:22px; }
.env-bubble{ border-radius:20px; padding:12px 17px; line-height:1.95; }
.env-msg.user .env-bubble{ background: var(--env-bubble-user); border-bottom-left-radius:6px; box-shadow: 0 12px 24px -16px var(--accent-glow); }
.env-msg.assistant .env-bubble{
  background: var(--glass-strong); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur);
  border:1px solid var(--env-border); border-bottom-right-radius:6px; box-shadow: var(--shadow-sm);
}
.env-msg-actions{ gap:6px; }
.env-msg-action-btn{ display:inline-flex; align-items:center; gap:6px; border-radius:999px; }
.env-msg-action-btn .ui-ic{ width:14px; height:14px; }
.env-doc-chip-icon{ display:inline-flex; color: var(--accent); }
.env-doc-chip-icon .ui-ic{ width:16px; height:16px; }

/* ---------- ورودیِ پیام ---------- */
.env-composer-wrap{ padding: 10px 22px 18px; }
.env-composer:not([hidden]){
  background: var(--glass-strong); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur);
  border:1px solid var(--env-border-strong); border-radius:24px; padding:9px 9px 9px 14px;
  box-shadow: var(--shadow-md); transition: border-color .2s, box-shadow .2s;
}
.env-composer:not([hidden]):focus-within{
  border-color: color-mix(in srgb, var(--accent) 55%, transparent);
  box-shadow: var(--shadow-md), 0 0 0 4px color-mix(in srgb, var(--accent) 14%, transparent);
}
.env-composer textarea{ font-size:.93rem; padding:8px 4px; }
.env-send-btn{
  width:40px; height:40px; border-radius:14px; background: var(--env-bubble-user);
  box-shadow: 0 8px 18px -10px var(--accent-glow); transition: transform .15s, opacity .15s, filter .15s;
}
.env-send-btn:not(:disabled):hover{ transform: translateY(-1px) scale(1.04); filter: brightness(1.07); }
.env-send-btn .ui-ic{ width:19px; height:19px; }
.env-send-btn--wide{ height:48px; border-radius:16px; gap:8px; display:inline-flex; align-items:center; justify-content:center; }
.env-attach-btn{ width:40px; height:40px; border-radius:13px; }
.env-attach-btn .ui-ic{ width:20px; height:20px; }
.env-attach-btn:hover:not(:disabled){ background: var(--accent-soft); color: var(--accent); }
.env-hint{ opacity:.8; }
.env-cost-estimate{ background: var(--glass-strong); border:1px solid var(--env-border); }

/* کنترل‌های تخصصیِ هر ابزار (قالب تصویر، لحن صدا، مدت ویدیو) */
.env-tts-tone{
  background: var(--glass-strong) !important; -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur);
  border:1px solid var(--env-border) !important; border-radius:18px !important; box-shadow: var(--shadow-sm);
}
.env-aspect-btn{ border-radius:999px; display:inline-flex; align-items:center; gap:6px; transition: background .15s, color .15s, box-shadow .15s; }
.env-aspect-btn .ui-ic{ width:14px; height:14px; }
.env-aspect-btn.active{ background: var(--env-bubble-user); border-color: transparent; box-shadow: 0 6px 14px -8px var(--accent-glow); }
.env-aspect-glyph{ display:inline-block; border:1.8px solid currentColor; border-radius:3px; }
.env-aspect-glyph--sq{ width:11px; height:11px; }
.env-aspect-glyph--wide{ width:15px; height:9px; }
.env-aspect-glyph--tall{ width:9px; height:15px; }
.env-stt-record-btn, .env-stt-upload-btn, .env-video-upload-btn{ display:inline-flex; align-items:center; gap:7px; border-radius:999px; }
.env-stt-record-btn .ui-ic, .env-stt-upload-btn .ui-ic, .env-video-upload-btn .ui-ic{ width:16px; height:16px; }
.env-video-preview-icon{ display:inline-flex; color: var(--accent); }

/* ---------- اشتراک/گیت و مودال ---------- */
.env-sub-gate-inner{
  background: var(--glass); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur);
  border:1px solid var(--env-border); border-radius: 26px; box-shadow: var(--shadow-md);
}
.env-sub-gate-icon{ background:none !important; box-shadow:none !important; }
.env-sub-trust li{ display:flex; align-items:flex-start; gap:8px; list-style:none; }
.env-sub-trust li .ui-ic{ color:#1FB27A; width:17px; height:17px; margin-top:3px; }
.env-sub-welcome-icon{ display:inline-flex; color: var(--accent); }
.env-modal{ border-radius:24px !important; box-shadow: var(--shadow-lg) !important; }
.env-modal-backdrop{ -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.env-modal h3{ display:flex; align-items:center; gap:9px; }
.env-modal h3 .ui-ic{ color: var(--accent); }

/* ---------- فایل‌های پروژه (کدنویسی) ---------- */
.env-project-files{ background: color-mix(in srgb, var(--env-paper) 40%, transparent); }
.env-project-files-head > span{ display:inline-flex; align-items:center; gap:7px; }
.env-project-files-head .ui-ic{ width:16px; height:16px; color: var(--accent); }

/* ---------- موبایل ---------- */
@media (max-width:760px){
  .env-persona-picker{ padding: 26px 14px 30px; }
  .env-persona-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); gap:11px; }
  .env-persona-card{ min-height:150px; padding:16px 14px; }
  .env-persona-card .env-card-go{ display:none; }
  .env-persona-card .si--lg{ width:48px; height:48px; border-radius:15px; }
  .env-topbar{ padding:10px 12px; }
  .env-composer-wrap{ padding: 8px 12px max(14px, calc(env(safe-area-inset-bottom, 0px) + 6px)); } /* ۱۴۰۵/۰۷/۳۰ — نوارِ خانهٔ آیفون؛ جایِ دیگر صفر */
  .studio-banner-text span{ display:none; }
  .env-aurora i{ filter: blur(55px); }
}
@media (max-width:380px){
  .env-persona-grid{ grid-template-columns: 1fr; }
}

/* آیکون‌هایی که جاوااسکریپت می‌سازد */
.code-block-copy{ display:inline-flex; align-items:center; gap:5px; }
.code-block-copy .ui-ic{ width:13px; height:13px; }
.env-thumb-doc-icon .ui-ic, .fs-choice-icon .ui-ic{ width:20px; height:20px; }
.fs-choice-icon{ display:inline-flex; color: var(--accent); }
.env-msg-share-btn .ui-ic{ width:14px; height:14px; }
.env-convo-menu-btn .ui-ic{ width:17px; height:17px; }
.env-model-btn-arrow{ display:inline-flex; }
.env-model-btn-arrow .ui-ic, .studio-banner-arrow .ui-ic, .env-studio-nav-arrow .ui-ic{ width:13px; height:13px; }
.studio-banner-arrow .ui-ic{ transform: rotate(90deg); }
.env-studio-nav-arrow{ display:inline-flex; }
#envSideToggle .ui-ic{ width:18px; height:18px; }
.env-persona-card-del .ui-ic{ width:14px; height:14px; }
.env-persona-public-badge{ display:inline-flex; align-items:center; gap:4px; }
.env-persona-public-badge .ui-ic{ width:11px; height:11px; }
.env-sub-gate-icon{ display:flex; justify-content:center; margin-bottom:6px; }
.env-convo-section-label[hidden], .env-convos-empty[hidden]{ display:none; }

@media (max-width:820px){
  .env-model-btn[data-locked]{ display:none; }
  .env-model-btn{ padding:6px 11px; }
  .env-balance-chip{ flex:1 1 auto; justify-content:center; }
  .env-balance-chip-hint{ display:none; }
  .env-topbar-ctrl{ gap:7px; }
  .env-theme-btn{ width:34px; height:34px; flex-shrink:0; }
  #envSideToggle{ border-radius:12px; }
}

/* بنرِ «گالری صداها» (صدای نابغه / مکالمهٔ صوتی) — هم‌خانواده با نوارِ بازگشت */
.vg-banner{
  background: color-mix(in srgb, var(--accent) 7%, transparent) !important;
  border-bottom: 1px solid var(--env-border) !important; padding: 9px 20px !important;
}
.vg-banner:hover{ background: color-mix(in srgb, var(--accent) 12%, transparent) !important; filter:none !important; }
.vg-banner-icon{ width:32px !important; height:32px !important; border-radius:10px !important;
  background: var(--env-bubble-user) !important; box-shadow: 0 6px 14px -8px var(--accent-glow) !important; }
.vg-banner-text b{ font-size:.82rem !important; }
.vg-banner-text span{ font-size:.72rem !important; }
.vg-banner-arrow{ color: var(--accent) !important; }
.env-send-btn.env-send-btn--wide{ width:100%; height:48px; padding:0 22px; border-radius:16px; font-size:.88rem; }
@media (max-width:820px){ .env-send-btn.env-send-btn--wide{ height:46px; } }

/* =================== v2.1 =================== */
.env-persona-card[hidden], .env-studiohub-section[hidden], .env-convo-row[hidden], .env-cmdk-item[hidden],
.hub-noresult[hidden], .hub-recent[hidden], .env-cmdk[hidden], .env-cmdk-empty[hidden], .env-jump-btn[hidden]{ display:none !important; }
kbd{
  font-family: inherit; font-size:.62rem; font-weight:700; line-height:1; padding:3px 6px; border-radius:6px;
  background: var(--env-hover); border:1px solid var(--env-border); border-bottom-width:2px; color: var(--env-ink-muted);
}

/* دکمهٔ پالت در سایدبار */
.env-cmdk-btn{
  display:flex; align-items:center; gap:8px; width:100%; padding:9px 11px; border-radius:12px; cursor:pointer;
  background: var(--glass-strong); border:1px solid var(--env-border); color: var(--env-ink-muted);
  font-family:inherit; font-size:.78rem; box-shadow: var(--shadow-sm); transition: border-color .15s, color .15s;
}
.env-cmdk-btn:hover{ border-color: color-mix(in srgb, var(--accent) 45%, transparent); color: var(--env-ink); }
.env-cmdk-btn .ui-ic{ width:16px; height:16px; }
.env-cmdk-btn span{ flex:1; text-align:start; }

/* پالتِ فرمان */
.env-cmdk{
  position:fixed; inset:0; z-index:400; display:flex; align-items:flex-start; justify-content:center; padding:12vh 16px 16px;
  background: rgba(10,12,28,.42); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  animation: envFade .18s ease;
}
.env-cmdk-panel{
  width:min(620px, 100%); max-height:72vh; display:flex; flex-direction:column; overflow:hidden;
  background: var(--glass-strong); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur);
  border:1px solid var(--env-border-strong); border-radius:22px; box-shadow: var(--shadow-lg);
  animation: envPop .22s cubic-bezier(.2,.9,.3,1.2);
}
.env-cmdk-search{ display:flex; align-items:center; gap:10px; padding:15px 18px; border-bottom:1px solid var(--env-border); color: var(--env-ink-muted); }
.env-cmdk-search .ui-ic{ width:20px; height:20px; }
.env-cmdk-search input{ flex:1; border:none; outline:none; background:transparent; color: var(--env-ink); font-family:inherit; font-size:1rem; }
.env-cmdk-list{ overflow-y:auto; padding:8px; display:flex; flex-direction:column; gap:2px; }
.env-cmdk-item{ display:flex; align-items:center; gap:12px; padding:9px 11px; border-radius:13px; text-decoration:none; color: var(--env-ink); }
.env-cmdk-item:hover, .env-cmdk-item.sel{ background: var(--accent-soft); }
.env-cmdk-item-body{ flex:1; min-width:0; display:flex; flex-direction:column; }
.env-cmdk-item-body b{ font-size:.86rem; }
.env-cmdk-item-body small{ font-size:.72rem; color: var(--env-ink-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.env-cmdk-item-sec{ flex-shrink:0; font-size:.66rem; font-weight:700; color: var(--env-ink-muted); background: var(--env-hover); padding:3px 9px; border-radius:999px; }
.env-cmdk-empty{ padding:26px; text-align:center; color: var(--env-ink-muted); font-size:.84rem; }
.env-cmdk-foot{ display:flex; gap:16px; justify-content:center; padding:10px; border-top:1px solid var(--env-border); font-size:.68rem; color: var(--env-ink-muted); }
.env-cmdk-foot span{ display:inline-flex; align-items:center; gap:4px; }
@keyframes envFade{ from{ opacity:0; } to{ opacity:1; } }
@keyframes envPop{ from{ opacity:0; transform: translateY(-10px) scale(.97); } to{ opacity:1; transform:none; } }
@media (max-width:640px){ .env-cmdk{ padding-top:8vh; } .env-cmdk-item-sec, .env-cmdk-foot{ display:none; } }

/* جستجوی گفتگوها */
.env-convo-search{
  display:flex; align-items:center; gap:7px; margin:2px 2px 8px; padding:7px 10px; border-radius:11px;
  background: var(--env-hover); color: var(--env-ink-muted); border:1px solid transparent; transition: border-color .15s, background .15s;
}
.env-convo-search:focus-within{ background: var(--env-solid); border-color: color-mix(in srgb, var(--accent) 40%, transparent); }
.env-convo-search .ui-ic{ width:14px; height:14px; }
.env-convo-search input{ flex:1; min-width:0; border:none; outline:none; background:transparent; color: var(--env-ink); font-family:inherit; font-size:.78rem; }

/* هاب: آمار، جستجو، فیلتر، اخیرها */
.env-persona-picker-head{ position:relative; }
.env-persona-picker-head::before{
  content:""; position:absolute; z-index:-1; left:50%; top:-40px; width:min(560px, 90%); height:260px; transform:translateX(-50%);
  background: radial-gradient(closest-side, color-mix(in srgb, var(--accent) 22%, transparent), transparent);
  filter: blur(20px); pointer-events:none;
}
.hub-stats{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:20px; }
.hub-stats span{
  display:inline-flex; align-items:center; gap:7px; padding:7px 14px; border-radius:999px; font-size:.76rem; color: var(--env-ink-muted);
  background: var(--glass-strong); border:1px solid var(--env-border); box-shadow: var(--shadow-sm);
}
.hub-stats b{ color: var(--env-ink); }
.hub-stats .ui-ic{ width:15px; height:15px; color: var(--accent); }
.hub-tools{
  position:sticky; top:-38px; z-index:4; max-width:1040px; margin:0 auto 26px; padding:12px; border-radius:22px;
  display:flex; flex-direction:column; gap:12px;
  background: var(--glass); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur);
  border:1px solid var(--env-border); box-shadow: var(--shadow-md);
}
.hub-search{
  display:flex; align-items:center; gap:10px; padding:11px 14px; border-radius:15px; background: var(--env-solid);
  border:1px solid var(--env-border); color: var(--env-ink-muted); transition: border-color .15s, box-shadow .15s;
}
.hub-search:focus-within{ border-color: color-mix(in srgb, var(--accent) 50%, transparent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 13%, transparent); }
.hub-search .ui-ic{ width:19px; height:19px; }
.hub-search input{ flex:1; min-width:0; border:none; outline:none; background:transparent; color: var(--env-ink); font-family:inherit; font-size:.92rem; }
.hub-chips{ display:flex; gap:7px; overflow-x:auto; scrollbar-width:none; padding-bottom:1px; }
.hub-chips::-webkit-scrollbar{ display:none; }
.hub-chip{
  flex-shrink:0; display:inline-flex; align-items:center; gap:7px; padding:6px 13px 6px 11px; border-radius:999px; cursor:pointer;
  background: transparent; border:1px solid var(--env-border); color: var(--env-ink-muted); font-family:inherit; font-size:.78rem; font-weight:700;
  transition: background .15s, color .15s, border-color .15s;
}
.hub-chip:hover{ color: var(--env-ink); border-color: var(--env-border-strong); }
.hub-chip.active{ background: var(--env-bubble-user); color:#fff; border-color:transparent; box-shadow: 0 8px 18px -10px var(--accent-glow); }
.hub-chip .si--xs{ width:20px; height:20px; border-radius:7px; }
.hub-recent{ max-width:1040px; margin:0 auto 30px; }
.hub-recent-row{ display:flex; gap:10px; overflow-x:auto; scrollbar-width:none; margin-top:10px; padding:2px 2px 6px; }
.hub-recent-row::-webkit-scrollbar{ display:none; }
.hub-recent-item{
  flex-shrink:0; display:flex; align-items:center; gap:10px; padding:8px 15px 8px 9px; border-radius:16px; text-decoration:none; color: var(--env-ink);
  background: var(--glass-strong); border:1px solid var(--env-border); box-shadow: var(--shadow-sm); transition: transform .2s, box-shadow .2s;
}
.hub-recent-item:hover{ transform: translateY(-2px); box-shadow: var(--shadow-md); }
.hub-recent-item .si{ width:34px; height:34px; border-radius:11px; }
.hub-recent-item b{ font-size:.82rem; white-space:nowrap; }
.hub-noresult{ max-width:1040px; margin:30px auto; display:flex; flex-direction:column; align-items:center; gap:10px; color: var(--env-ink-muted); font-size:.88rem; }
.hub-noresult .ui-ic{ width:34px; height:34px; opacity:.5; }

/* انیمیشنِ ورودِ کارت‌ها و پیام‌ها */
.env-persona-picker .env-persona-card{ animation: envRise .55s cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(var(--i, 0) * 45ms); }
.env-starter{ animation: envRise .5s cubic-bezier(.2,.8,.2,1) both; }
.env-starter:nth-child(3){ animation-delay:.06s; } .env-starter:nth-child(4){ animation-delay:.12s; } .env-starter:nth-child(5){ animation-delay:.18s; }
.env-empty-hero, .env-empty h2, .env-empty > p{ animation: envRise .55s cubic-bezier(.2,.8,.2,1) both; }
.env-empty h2{ animation-delay:.05s; } .env-empty > p{ animation-delay:.1s; }
.env-msg{ animation: envMsgIn .35s cubic-bezier(.2,.8,.2,1) both; }
@keyframes envRise{ from{ opacity:0; transform: translateY(14px); } to{ opacity:1; transform:none; } }
@keyframes envMsgIn{ from{ opacity:0; transform: translateY(8px) scale(.99); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce){
  .env-persona-picker .env-persona-card, .env-starter, .env-empty-hero, .env-empty h2, .env-empty > p, .env-msg, .env-cmdk, .env-cmdk-panel{ animation:none; }
}

/* درخشش روی آیکونِ کارت در هاور */
.si::after{
  content:""; position:absolute; inset:-40%; z-index:1; pointer-events:none;
  background: linear-gradient(115deg, transparent 40%, rgba(255,255,255,.45) 50%, transparent 60%);
  transform: translateX(-120%);
}
.env-persona-card:hover .si::after, .env-starter:hover .si::after{ transition: transform .7s ease; transform: translateX(120%); }

/* پیام‌ها: تایپوگرافی، کد، کپی */
.env-msg.assistant .env-bubble{ font-size:.92rem; }
.env-bubble h1, .env-bubble h2, .env-bubble h3{ letter-spacing:-.2px; }
.env-bubble pre{ border-radius:14px !important; border:1px solid rgba(255,255,255,.06); box-shadow: inset 0 1px 0 rgba(255,255,255,.04); }
.env-bubble blockquote{ border-inline-start-color: var(--accent) !important; background: var(--accent-soft); border-radius:10px; }
.env-bubble table{ border-radius:12px; overflow:hidden; }
.env-bubble th{ background: var(--env-hover); }
.env-msg-actions{ opacity:.0; transform: translateY(-3px); transition: opacity .2s, transform .2s; }
.env-msg:hover .env-msg-actions, .env-msg:last-child .env-msg-actions, .env-msg-actions:focus-within{ opacity:1; transform:none; }
@media (hover:none){ .env-msg-actions{ opacity:1; transform:none; } }
.env-msg-action-btn.done{ color:#1FB27A !important; border-color: rgba(31,178,122,.4) !important; }

/* دکمه‌های پیگیریِ کدنویسی */
.env-followups{ display:flex; flex-wrap:wrap; gap:7px; margin:10px 0 2px; }
.env-followup-btn{
  display:inline-flex; align-items:center; gap:7px; padding:7px 13px; border-radius:999px; cursor:pointer;
  background: var(--glass-strong); border:1px solid color-mix(in srgb, var(--accent) 30%, var(--env-border));
  color: var(--env-ink); font-family:inherit; font-size:.76rem; font-weight:700; box-shadow: var(--shadow-sm);
  transition: transform .15s, background .15s, color .15s;
}
.env-followup-btn .ui-ic{ width:15px; height:15px; color: var(--accent); }
.env-followup-btn:hover{ transform: translateY(-1px); background: var(--env-bubble-user); color:#fff; }
.env-followup-btn:hover .ui-ic{ color:#fff; }

/* پرش به آخرین پیام */
.env-jump-btn{
  position:absolute; z-index:6; left:50%; bottom:150px; transform: translateX(-50%);
  width:40px; height:40px; border-radius:50%; display:grid; place-items:center; cursor:pointer;
  background: var(--glass-strong); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur);
  border:1px solid var(--env-border-strong); color: var(--env-ink); box-shadow: var(--shadow-md);
  animation: envPop .2s ease;
}
.env-jump-btn .ui-ic{ width:18px; height:18px; }
.env-jump-btn:hover{ color: var(--accent); }

/* سبکِ تصویر/ویدیو */
.env-style-row{ overflow-x:auto; flex-wrap:nowrap !important; scrollbar-width:none; }
.env-style-row::-webkit-scrollbar{ display:none; }
.env-style-row .env-tts-tone-label{ display:inline-flex; align-items:center; gap:5px; }
.env-style-row .env-tts-tone-label .ui-ic{ width:14px; height:14px; color: var(--accent); }
.env-style-btn{ flex-shrink:0; white-space:nowrap; }

@media (max-width:760px){
  .hub-tools{ position:static; padding:10px; border-radius:18px; }
  .env-project-files-hint{ display:none; }
  .env-project-files-head{ flex-wrap:nowrap; }
  .env-project-files-add{ white-space:nowrap; }
  .env-followups{ flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; padding-bottom:2px; }
  .env-followups::-webkit-scrollbar{ display:none; }
  .env-followup-btn{ flex-shrink:0; }
  .env-jump-btn{ bottom:130px; }
}
@media (hover:none), (max-width:760px){
  .env-cmdk-btn kbd, .hub-search kbd{ display:none; }
}

/* =================== فاز ۱ =================== */
/* ستاره‌های ریزِ چشمک‌زن + یک شهابِ گاه‌به‌گاه — فقط transform/opacity */
.env-aurora b{
  position:absolute; width:9px; height:9px; opacity:0;
  background: color-mix(in srgb, var(--accent) 55%, #fff);
  clip-path: polygon(50% 0, 61% 39%, 100% 50%, 61% 61%, 50% 100%, 39% 61%, 0 50%, 39% 39%);
  animation: envTwinkle 6s ease-in-out infinite;
}
.env-aurora b:nth-of-type(1){ top:12%; left:14%; animation-delay:.2s; }
.env-aurora b:nth-of-type(2){ top:22%; left:78%; width:7px; height:7px; animation-delay:2.1s; animation-duration:7s; }
.env-aurora b:nth-of-type(3){ top:58%; left:8%;  width:6px; height:6px; animation-delay:3.4s; }
.env-aurora b:nth-of-type(4){ top:70%; left:88%; width:11px; height:11px; animation-delay:1.2s; animation-duration:8s; }
.env-aurora b:nth-of-type(5){ top:40%; left:52%; width:6px; height:6px; animation-delay:4.6s; animation-duration:9s; }
.env-aurora b:nth-of-type(6){ top:86%; left:34%; width:8px; height:8px; animation-delay:5.5s; }
@keyframes envTwinkle{ 0%,100%{ opacity:0; transform: scale(.4) rotate(0); } 45%,55%{ opacity:.85; transform: scale(1) rotate(45deg); } }
.env-aurora s{
  position:absolute; top:8%; left:70%; width:140px; height:1.5px; border-radius:2px; opacity:0;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 60%, #fff));
  transform: rotate(-28deg); animation: envShoot 13s ease-in 4s infinite;
}
@keyframes envShoot{
  0%{ opacity:0; transform: rotate(-28deg) translateX(0); }
  2%{ opacity:.9; }
  9%{ opacity:0; transform: rotate(-28deg) translateX(-520px); }
  100%{ opacity:0; transform: rotate(-28deg) translateX(-520px); }
}
@media (prefers-color-scheme: dark){ .env-shell:not(.env-force-light) .env-aurora b{ background:#fff; } }
.env-shell.env-force-dark .env-aurora b{ background:#fff; }
@media (prefers-reduced-motion: reduce){ .env-aurora b, .env-aurora s{ animation:none; opacity:0; } }

/* کارتِ ویژهٔ دستیار شخصی در هاب */
.hub-featured[hidden]{ display:none !important; }
.hub-featured{
  position:relative; overflow:hidden; isolation:isolate; max-width:1040px; margin:0 auto 38px; display:flex; align-items:center; gap:20px;
  padding:22px 26px; border-radius:26px; text-decoration:none; color: var(--env-ink);
  background: var(--glass); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur);
  border:1px solid color-mix(in srgb, var(--persona-accent) 35%, var(--env-border)); box-shadow: var(--shadow-md);
  transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s;
}
.hub-featured:hover{ transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.hub-featured-glow{
  position:absolute; z-index:-1; inset:-40% -10% auto auto; width:60%; height:180%;
  background: radial-gradient(closest-side, color-mix(in srgb, var(--persona-accent) 28%, transparent), transparent);
  animation: envDrift3 20s ease-in-out infinite alternate;
}
.hub-featured-body{ flex:1; min-width:0; display:flex; flex-direction:column; gap:6px; }
.hub-featured-eyebrow{ display:inline-flex; align-items:center; gap:6px; font-size:.7rem; font-weight:800; color: var(--persona-accent); }
.hub-featured-eyebrow .ui-ic{ width:14px; height:14px; }
.hub-featured-body b{ font-size:1.08rem; font-weight:900; letter-spacing:-.3px; }
.hub-featured-body > span:last-child{ font-size:.82rem; color: var(--env-ink-muted); line-height:1.8; }
.hub-featured-cta{
  flex-shrink:0; display:inline-flex; align-items:center; gap:7px; padding:10px 18px; border-radius:999px; color:#fff; font-weight:800; font-size:.82rem;
  background: linear-gradient(135deg, color-mix(in srgb, var(--persona-accent) 80%, #fff), var(--persona-accent));
  box-shadow: 0 10px 22px -12px var(--persona-accent);
}
.hub-featured-cta .ui-ic{ width:15px; height:15px; transition: transform .25s; }
.hub-featured:hover .hub-featured-cta .ui-ic{ transform: translateX(-4px); }
@media (max-width:760px){
  .hub-featured{ flex-wrap:wrap; padding:18px; gap:14px; }
  .hub-featured .si--xl{ width:58px; height:58px; border-radius:18px; }
  .hub-featured-body{ flex-basis:calc(100% - 80px); }
  .hub-featured-cta{ width:100%; justify-content:center; }
}

/* کارت‌های شروع در موبایل: نوارِ افقیِ لغزنده، چسبیده به پایینِ فضای خالی */
@media (max-width:640px){
  .env-empty{ padding: 22px 0 10px; }
  .env-empty-hero{ margin-bottom:12px; }
  .env-empty .si--xl{ width:60px; height:60px; border-radius:19px; }
  .env-empty h2{ font-size:1.2rem; padding:0 16px; }
  .env-empty > p{ font-size:.82rem; padding:0 20px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
  .env-starters{
    margin-top:auto; padding:16px 16px 4px; display:flex; gap:10px; overflow-x:auto; scroll-snap-type:x mandatory;
    scroll-padding-inline:16px; scrollbar-width:none; flex-wrap:nowrap;
  }
  .env-starters::-webkit-scrollbar{ display:none; }
  .env-starter{ flex:0 0 74%; scroll-snap-align:start; padding:12px 13px; }
  .env-starter-body b{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .env-starter-body span{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
}

/* =================== گالریِ تصویرساز =================== */
.ig-backdrop .vg-panel{ background: var(--env-paper); max-width:1120px; }
.ig-backdrop .vg-close .ui-ic{ width:17px; height:17px; }
.ig-backdrop .vg-head-badge{ display:inline-flex; align-items:center; gap:6px; }
.ig-backdrop .vg-head-badge .ui-ic{ width:15px; height:15px; }
.ig-banner .vg-banner-icon .ui-ic{ width:17px; height:17px; color:#fff; }
.ig-banner .vg-banner-arrow .ui-ic{ width:14px; height:14px; transform: rotate(90deg); }

.ig-tabs{ display:flex; justify-content:center; gap:6px; margin: 0 auto 18px; padding:5px; border-radius:16px; width:fit-content;
  background: var(--env-hover); border:1px solid var(--env-border); }
.ig-tab{ display:inline-flex; align-items:center; gap:7px; padding:9px 16px; border-radius:12px; border:none; cursor:pointer;
  background:transparent; color: var(--env-ink-muted); font-family:inherit; font-size:.84rem; font-weight:800; transition: background .2s, color .2s, box-shadow .2s; }
.ig-tab .ui-ic{ width:16px; height:16px; }
.ig-tab em{ font-style:normal; font-size:.68rem; padding:2px 7px; border-radius:999px; background: var(--env-hover); }
.ig-tab.active{ background: var(--env-solid); color: var(--env-ink); box-shadow: var(--shadow-sm); }
.ig-tab.active .ui-ic{ color: var(--accent); }

.ig-toolbar{ display:flex; flex-direction:column; gap:12px; margin-bottom:18px; }
.ig-toolbar .hub-chip .ig-cat-dot{ width:9px; height:9px; border-radius:50%; background: linear-gradient(135deg, var(--c-a), var(--c-b)); }
.ig-toolbar .hub-chip.active{ background: linear-gradient(135deg, var(--c-a, var(--accent)), var(--c-b, var(--env-family-accent-deep))); }
.ig-toolbar .hub-chip[data-cat=""].active{ background: var(--env-bubble-user); }
.ig-toolbar .hub-chip.active .ig-cat-dot{ background:#fff; }

.ig-grid{ columns: 4 220px; column-gap:14px; }
.ig-card[hidden]{ display:none; }
.ig-card{
  break-inside: avoid; width:100%; margin:0 0 14px; display:flex; flex-direction:column; text-align:start; padding:0; cursor:pointer;
  border-radius:20px; overflow:hidden; background: var(--env-solid); border:1px solid var(--env-border); color: var(--env-ink);
  font-family:inherit; box-shadow: var(--shadow-sm); transition: transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s;
  animation: envRise .5s cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(var(--i, 0) * 25ms);
}
.ig-card:hover{ transform: translateY(-5px); box-shadow: var(--shadow-lg); }
.ig-art{ position:relative; display:grid; place-items:center; width:100%; overflow:hidden; isolation:isolate;
  background: radial-gradient(120% 90% at 15% 10%, var(--c-a), transparent 60%), linear-gradient(150deg, color-mix(in srgb, var(--c-a) 60%, var(--c-b)), var(--c-b)); }
.ig-art--1x1{ aspect-ratio:1/1; } .ig-art--16x9{ aspect-ratio:16/10; } .ig-art--9x16{ aspect-ratio:3/4; }
.ig-art img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition: transform .6s ease; }
.ig-card:hover .ig-art img{ transform: scale(1.06); }
.ig-art-ic{ position:relative; z-index:2; width:56px; height:56px; border-radius:18px; display:grid; place-items:center; color:#fff;
  background: rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.35); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  box-shadow: 0 10px 24px -10px rgba(0,0,0,.35); transition: transform .4s cubic-bezier(.2,.8,.2,1); }
.ig-art-ic .ui-ic{ width:26px; height:26px; }
.ig-card:hover .ig-art-ic{ transform: scale(1.08) rotate(-6deg); }
.ig-art-orb{ position:absolute; z-index:1; width:70%; aspect-ratio:1; border-radius:50%; top:-25%; left:-20%;
  background: radial-gradient(circle, rgba(255,255,255,.35), transparent 65%); animation: envDrift3 18s ease-in-out infinite alternate; }
.ig-art-orb--2{ top:auto; left:auto; bottom:-30%; right:-25%; width:60%; background: radial-gradient(circle, color-mix(in srgb, var(--c-b) 70%, #000), transparent 65%); animation-duration:23s; }
.ig-art-badges{ position:absolute; z-index:3; inset:auto 10px 10px 10px; display:flex; justify-content:space-between; gap:6px; }
.ig-art-badges span{ font-size:.64rem; font-weight:800; color:#fff; padding:3px 9px; border-radius:999px; background: rgba(0,0,0,.28);
  -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.ig-art-badges span:empty{ display:none; }
.ig-card-body{ display:flex; flex-direction:column; gap:2px; padding:11px 13px 13px; }
.ig-card-body b{ font-size:.86rem; font-weight:800; }
.ig-card-body small{ font-size:.7rem; color: var(--env-ink-muted); }

.ig-mine-grid{ columns: 4 200px; column-gap:12px; }
.ig-mine-item{ break-inside: avoid; position:relative; display:block; width:100%; margin:0 0 12px; padding:0; border:none; cursor:pointer;
  border-radius:18px; overflow:hidden; background: var(--env-hover); box-shadow: var(--shadow-sm);
  animation: envRise .45s cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(var(--i, 0) * 30ms); }
.ig-mine-item img{ display:block; width:100%; height:auto; transition: transform .5s ease; }
.ig-mine-item:hover img{ transform: scale(1.05); }
.ig-mine-cap{ position:absolute; inset:auto 0 0 0; padding:24px 11px 9px; font-size:.7rem; color:#fff; text-align:start; line-height:1.6;
  background: linear-gradient(transparent, rgba(0,0,0,.65)); opacity:0; transition: opacity .25s; }
.ig-mine-item:hover .ig-mine-cap{ opacity:1; }
@media (hover:none){ .ig-mine-cap{ opacity:1; } }
.ig-mine-state{ display:flex; flex-direction:column; align-items:center; gap:10px; padding:40px 10px; color: var(--env-ink-muted); font-size:.86rem; text-align:center; }
.ig-mine-state .ui-ic{ width:34px; height:34px; opacity:.5; }
.ig-mine-state[hidden]{ display:none; }

/* برگهٔ جزئیات */
.ig-detail[hidden]{ display:none; }
.ig-detail{ position:fixed; inset:0; z-index:90; display:flex; align-items:center; justify-content:center; padding:20px;
  background: rgba(10,12,28,.5); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); animation: envFade .2s ease; }
.ig-detail-card{ position:relative; width:min(860px, 100%); max-height:calc(100vh - 40px); overflow:auto; display:grid; grid-template-columns: 1fr 1.1fr;
  background: var(--env-paper); border:1px solid var(--env-border); border-radius:26px; box-shadow: var(--shadow-lg); animation: envPop .25s cubic-bezier(.2,.9,.3,1.2); }
.ig-detail-art{ position:relative; min-height:320px; background: var(--env-hover); display:grid; place-items:center; overflow:hidden; }
.ig-detail-art > img{ width:100%; height:100%; object-fit:contain; max-height:70vh; }
.ig-detail-art .ig-art{ position:absolute; inset:0; aspect-ratio:auto; height:100%; }
.ig-detail-art .ig-art-ic{ width:80px; height:80px; border-radius:24px; }
.ig-detail-art .ig-art-ic .ui-ic{ width:36px; height:36px; }
.ig-detail-body{ padding:26px 24px 22px; display:flex; flex-direction:column; gap:10px; }
.ig-detail-cat{ align-self:flex-start; font-size:.7rem; font-weight:800; padding:4px 11px; border-radius:999px; color:#fff; background: var(--c-b, var(--accent)); }
.ig-detail-body h3{ margin:0; font-size:1.25rem; font-weight:900; letter-spacing:-.3px; }
.ig-detail-label{ font-size:.74rem; font-weight:800; color: var(--env-ink-muted); margin-top:4px; }
.ig-detail-label small{ font-weight:400; }
.ig-detail-body textarea{ width:100%; resize:vertical; min-height:120px; padding:12px 14px; border-radius:14px; border:1px solid var(--env-border-strong);
  background: var(--env-solid); color: var(--env-ink); font-family:inherit; font-size:.88rem; line-height:1.9; outline:none; }
.ig-detail-body textarea:focus{ border-color: color-mix(in srgb, var(--accent) 55%, transparent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 13%, transparent); }
.ig-detail-meta{ display:flex; flex-wrap:wrap; gap:8px; }
.ig-detail-meta span{ font-size:.74rem; color: var(--env-ink-muted); padding:5px 11px; border-radius:999px; background: var(--env-hover); }
.ig-detail-meta b{ color: var(--env-ink); }
.ig-detail-actions{ display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; padding-top:8px; }
.ig-btn-primary{ flex:1 1 100%; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:13px 18px; border-radius:15px; border:none; cursor:pointer;
  background: var(--env-bubble-user); color:#fff; font-family:inherit; font-size:.92rem; font-weight:800; box-shadow: 0 12px 26px -14px var(--accent-glow);
  transition: transform .15s, filter .15s; }
.ig-btn-primary:hover{ transform: translateY(-1px); filter: brightness(1.06); }
.ig-btn-primary .ui-ic{ width:18px; height:18px; }
.ig-btn-ghost{ flex:1; display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:10px 14px; border-radius:13px; text-decoration:none;
  border:1px solid var(--env-border-strong); color: var(--env-ink); font-size:.82rem; font-weight:700; }
.ig-btn-ghost:hover{ border-color: color-mix(in srgb, var(--accent) 45%, transparent); color: var(--accent); }
.ig-btn-ghost[hidden]{ display:none; }
.ig-btn-ghost .ui-ic{ width:16px; height:16px; }
.ig-detail-close{ position:absolute; top:12px; inset-inline-end:12px; z-index:3; }

/* کارت‌های ایده در حالتِ خالیِ تصویرساز */
.ig-starter-ic{ color:#fff !important; background: linear-gradient(135deg, var(--c-a), var(--c-b)) !important; }
.ig-open-gallery .env-starter-ic{ background: var(--env-bubble-user); color:#fff; }
.env-composer.ig-flash{ animation: igFlash 1s ease; }
@keyframes igFlash{ 0%{ box-shadow: var(--shadow-md), 0 0 0 0 var(--accent-glow); } 40%{ box-shadow: var(--shadow-md), 0 0 0 8px color-mix(in srgb, var(--accent) 22%, transparent); } 100%{ box-shadow: var(--shadow-md); } }

@media (max-width:760px){
  .ig-backdrop{ padding:0 !important; align-items:stretch !important; }
  .ig-backdrop .vg-panel{ border-radius:0; min-height:100%; padding:22px 14px 30px; }
  .ig-grid{ columns: 2 140px; column-gap:10px; }
  .ig-card{ margin-bottom:10px; border-radius:16px; }
  .ig-mine-grid{ columns: 2 140px; column-gap:10px; }
  .ig-art-ic{ width:44px; height:44px; border-radius:14px; }
  .ig-art-ic .ui-ic{ width:21px; height:21px; }
  .ig-tab{ padding:8px 12px; font-size:.78rem; }
  .ig-detail{ padding:0; align-items:flex-end; }
  .ig-detail-card{ grid-template-columns:1fr; border-radius:24px 24px 0 0; max-height:92vh; }
  .ig-detail-art{ min-height:220px; max-height:38vh; }
  .ig-detail-body{ padding:18px 16px 20px; }
}
@media (prefers-reduced-motion: reduce){ .ig-card, .ig-mine-item, .ig-art-orb{ animation:none; } }

/* =================== فاز ۲ — سالنِ نمایش =================== */
.ig-mine-item video{ display:block; width:100%; height:auto; background:#000; }
.ig-mine-play{ position:absolute; top:10px; inset-inline-start:10px; width:30px; height:30px; border-radius:50%; display:grid; place-items:center;
  background: rgba(0,0,0,.45); color:#fff; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.ig-mine-play .ui-ic{ width:15px; height:15px; }
.ig-detail-art > video{ width:100%; max-height:70vh; background:#000; }

/* مسیرِ سه‌مرحله‌ای */
.sc-steps{ display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px; margin-top:20px; font-size:.76rem; color: var(--env-ink-muted); }
.sc-steps span{ display:inline-flex; align-items:center; gap:7px; }
.sc-steps i{ font-style:normal; width:22px; height:22px; border-radius:50%; display:grid; place-items:center; font-size:.7rem; font-weight:800; color:#fff;
  background: var(--env-bubble-user); box-shadow: 0 6px 12px -6px var(--accent-glow); }
.sc-steps-sep{ width:22px; height:2px; border-radius:2px; background: var(--env-border-strong); }

/* نوارِ انتخابِ تصویری (شخصیت‌ها / قالب‌های رزومه) */
.sc-strip{ width:100%; max-width:860px; margin-top:26px; }
.sc-strip-row{ display:flex; gap:12px; overflow-x:auto; padding:10px 4px 14px; scroll-snap-type:x proximity; scrollbar-width:thin; }
.sc-pick{
  position:relative; flex:0 0 132px; scroll-snap-align:start; padding:0; border:2px solid transparent; border-radius:18px; overflow:hidden; cursor:pointer;
  background: var(--env-hover); box-shadow: var(--shadow-sm); font-family:inherit;
  transition: transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s, border-color .2s;
  animation: envRise .5s cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(var(--i, 0) * 40ms);
}
.sc-pick img{ display:block; width:100%; aspect-ratio:3/4; object-fit:cover; transition: transform .5s ease; }
.sc-pick:hover{ transform: translateY(-4px); box-shadow: var(--shadow-md); }
.sc-pick:hover img{ transform: scale(1.06); }
.sc-pick-label{ position:absolute; inset:auto 0 0 0; padding:22px 8px 8px; font-size:.72rem; font-weight:800; color:#fff; text-align:center;
  background: linear-gradient(transparent, rgba(0,0,0,.7)); }
.sc-pick-check{ position:absolute; top:8px; inset-inline-end:8px; width:24px; height:24px; border-radius:50%; display:grid; place-items:center;
  background: var(--accent); color:#fff; opacity:0; transform: scale(.6); transition: opacity .2s, transform .2s; }
.sc-pick-check .ui-ic{ width:14px; height:14px; }
.sc-pick.active{ border-color: var(--accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent), var(--shadow-md); }
.sc-pick.active .sc-pick-check{ opacity:1; transform:none; }
.sc-strip-row--tall .sc-pick{ flex-basis:150px; background:#fff; }
.sc-pick--doc img{ aspect-ratio:1/1.414; object-fit:cover; object-position:top; }
.sc-pick--doc .sc-pick-label{ background: linear-gradient(transparent, rgba(15,23,42,.82)); }
.sc-attn{ animation: scAttn 1.2s ease 2; }
@keyframes scAttn{ 0%,100%{ box-shadow: 0 0 0 0 transparent; } 50%{ box-shadow: 0 0 0 6px color-mix(in srgb, var(--accent) 35%, transparent); } }

/* حالت‌های بدونِ متن (عکست رو بذار / رزومه / رونویسی): کامپوزر فقط یک دکمهٔ اصلی است، نه یک جعبهٔ خالی */
.env-shell[data-family-mode="faceswap"] .env-composer:not([hidden]),
.env-shell[data-family-mode="stt"] .env-composer:not([hidden]){
  background:none; border:none; box-shadow:none; padding:0; -webkit-backdrop-filter:none; backdrop-filter:none;
}
.env-shell[data-family-mode="faceswap"] .env-send-btn--wide,
.env-shell[data-family-mode="stt"] .env-send-btn--wide{ height:52px; border-radius:18px; font-size:.95rem; box-shadow: 0 14px 30px -14px var(--accent-glow); }
.fs-box{ border-radius:20px !important; transition: border-color .2s, box-shadow .2s; }
.fs-gallery-item span{ font-weight:800; }
.rz-modal h3{ display:flex; align-items:center; gap:9px; }
.rz-outer-tab, .rz-mode-btn{ display:inline-flex; align-items:center; gap:6px; }
.rz-outer-tab .ui-ic, .rz-mode-btn .ui-ic, .rz-submit-btn .ui-ic{ width:15px; height:15px; }
@media (max-width:640px){
  .sc-strip{ margin-top:18px; }
  .sc-strip .env-starters-title{ position:static; margin:0 16px 2px; }
  .sc-strip-row{ padding:10px 16px 12px; }
  .sc-pick{ flex-basis:108px; border-radius:15px; }
  .sc-strip-row--tall .sc-pick{ flex-basis:120px; }
  .sc-steps{ font-size:.7rem; gap:6px; padding:0 12px; }
  .sc-steps-sep{ width:12px; }
}

/* =================== فاز ۳ — ورودِ فایل‌محور =================== */
.env-dropzone{
  position:relative; width:min(560px, 100%); margin-top:26px; display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center;
  padding:30px 22px 24px; border-radius:26px; cursor:pointer; color: var(--env-ink);
  background: var(--glass); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur);
  border:2px dashed color-mix(in srgb, var(--accent) 38%, var(--env-border-strong));
  transition: border-color .2s, background .2s, transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s;
  animation: envRise .55s cubic-bezier(.2,.8,.2,1) .12s both;
}
.env-dropzone:hover, .env-dropzone.over{ border-color: var(--accent); background: color-mix(in srgb, var(--accent) 7%, var(--glass)); transform: translateY(-3px); box-shadow: var(--shadow-md); }
.env-dropzone-ic{ width:62px; height:62px; border-radius:20px; display:grid; place-items:center; color:#fff; margin-bottom:6px;
  background: var(--env-bubble-user); box-shadow: 0 14px 28px -14px var(--accent-glow); transition: transform .3s cubic-bezier(.2,.8,.2,1); }
.env-dropzone:hover .env-dropzone-ic, .env-dropzone.over .env-dropzone-ic{ transform: translateY(-4px) scale(1.05); }
.env-dropzone-ic .ui-ic{ width:28px; height:28px; }
.env-dropzone b{ font-size:1rem; font-weight:900; }
.env-dropzone > span:not(.env-dropzone-ic){ font-size:.78rem; color: var(--env-ink-muted); line-height:1.7; }
.env-dropzone em{ display:inline-flex; align-items:center; gap:6px; margin-top:6px; font-style:normal; font-size:.76rem; font-weight:800; color: var(--accent);
  padding:6px 14px; border-radius:999px; background: var(--accent-soft); }
.env-dropzone em .ui-ic{ width:14px; height:14px; }

.env-drop[hidden]{ display:none; }
.env-drop{ position:absolute; inset:10px; z-index:30; display:grid; place-items:center; border-radius:26px; pointer-events:none;
  background: color-mix(in srgb, var(--accent) 12%, rgba(255,255,255,.55)); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  border:3px dashed var(--accent); animation: envFade .15s ease; }
.env-drop-card{ display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center; color: var(--env-ink); }
.env-drop-ic{ width:84px; height:84px; border-radius:28px; display:grid; place-items:center; color:#fff; background: var(--env-bubble-user);
  box-shadow: 0 18px 40px -16px var(--accent-glow); animation: envBob 1.2s ease-in-out infinite; }
.env-drop-ic .ui-ic{ width:38px; height:38px; }
.env-drop-card b{ font-size:1.25rem; font-weight:900; }
.env-drop-card span{ font-size:.84rem; color: var(--env-ink-muted); }
@keyframes envBob{ 0%,100%{ transform: translateY(0); } 50%{ transform: translateY(-8px); } }
@media (prefers-color-scheme: dark){ .env-shell:not(.env-force-light) .env-drop{ background: color-mix(in srgb, var(--accent) 16%, rgba(14,16,32,.7)); } }
.env-shell.env-force-dark .env-drop{ background: color-mix(in srgb, var(--accent) 16%, rgba(14,16,32,.7)); }
@media (max-width:640px){ .env-dropzone{ margin:18px 16px 0; width:auto; align-self:stretch; padding:22px 16px 18px; } .env-dropzone-ic{ width:52px; height:52px; } }
.env-drop{ background: color-mix(in srgb, var(--accent) 10%, rgba(250,250,253,.92)); }
@media (prefers-color-scheme: dark){ .env-shell:not(.env-force-light) .env-drop{ background: color-mix(in srgb, var(--accent) 14%, rgba(14,16,32,.92)); } }
.env-shell.env-force-dark .env-drop{ background: color-mix(in srgb, var(--accent) 14%, rgba(14,16,32,.92)); }
.env-dropzone--compact{
  display:grid; grid-template-columns:auto 1fr auto; grid-template-areas:"ic t cta" "ic s cta"; align-items:center;
  text-align:start; gap:2px 14px; padding:14px 16px; margin-top:22px; width:min(760px, 100%); border-radius:20px;
}
.env-dropzone--compact .env-dropzone-ic{ grid-area:ic; width:48px; height:48px; border-radius:15px; margin:0; }
.env-dropzone--compact .env-dropzone-ic .ui-ic{ width:22px; height:22px; }
.env-dropzone--compact b{ grid-area:t; font-size:.92rem; }
.env-dropzone--compact > span:not(.env-dropzone-ic){ grid-area:s; font-size:.74rem; }
.env-dropzone--compact em{ grid-area:cta; margin:0; white-space:nowrap; }
@media (max-width:640px){
  .env-dropzone--compact{ margin:16px 16px 0; width:auto; align-self:stretch; grid-template-columns:auto 1fr; grid-template-areas:"ic t" "ic s" "cta cta"; gap:2px 12px; }
  .env-dropzone--compact em{ justify-self:start; margin-top:8px; }
}

/* =================== فاز ۴ — مکالمهٔ صوتی (رابطِ تماس) =================== */
.env-send-btn[hidden]{ display:none !important; }
.env-shell[data-family-mode="voicechat"] #envComposer,
.env-shell[data-family-mode="voicechat"] #envSttRecordBtn,
.env-shell[data-family-mode="voicechat"] #envSttRecording,
.env-shell[data-family-mode="voicechat"] #envHint{ display:none !important; }
.env-shell[data-family-mode="voicechat"] #envSttComposer{ background:none; border:none; box-shadow:none; padding:0; justify-content:center; }
.env-shell[data-family-mode="voicechat"] .env-stt-idle{ justify-content:center; }
.env-shell[data-family-mode="voicechat"] .env-stt-upload-btn{ font-size:.74rem; padding:6px 13px; opacity:.85; }

.vc-dock[hidden]{ display:none; }
.vc-dock{ display:flex; flex-direction:column; align-items:center; gap:10px; padding:6px 0 10px; }
.vc-orb{
  --lvl: 0; position:relative; width:112px; height:112px; border:none; border-radius:50%; cursor:pointer; padding:0; background:none;
  display:grid; place-items:center; -webkit-tap-highlight-color: transparent;
}
.vc-orb-core{
  position:relative; z-index:2; width:84px; height:84px; border-radius:50%; display:grid; place-items:center; color:#fff;
  background: radial-gradient(circle at 30% 25%, color-mix(in srgb, var(--accent) 35%, #fff), var(--accent) 55%, var(--env-family-accent-deep, var(--accent)));
  box-shadow: 0 18px 40px -14px var(--accent-glow), inset 0 2px 0 rgba(255,255,255,.35);
  transform: scale(calc(1 + var(--lvl) * .22)); transition: transform .08s linear, background .3s;
}
.vc-ring{ position:absolute; inset:14px; border-radius:50%; border:2px solid color-mix(in srgb, var(--accent) 55%, transparent); opacity:0; }
.vc-ic{ display:none; }
.vc-ic .ui-ic{ width:32px; height:32px; }
.vc-bars{ display:none; align-items:center; gap:4px; height:30px; }
.vc-bars i{ width:4px; height:30%; border-radius:4px; background:#fff; animation: vcBar 1s ease-in-out infinite; }
.vc-bars i:nth-child(2){ animation-delay:.12s; } .vc-bars i:nth-child(3){ animation-delay:.24s; } .vc-bars i:nth-child(4){ animation-delay:.36s; } .vc-bars i:nth-child(5){ animation-delay:.48s; }
@keyframes vcBar{ 0%,100%{ height:25%; } 50%{ height:100%; } }
.vc-status{ font-size:.86rem; font-weight:800; color: var(--env-ink); text-align:center; min-height:1.4em; }
.vc-timer{ font-size:.76rem; color: var(--env-ink-muted); font-variant-numeric: tabular-nums; min-height:1.2em; }

/* حالت‌ها */
.vc-dock[data-state="idle"] .vc-ic--mic{ display:block; }
.vc-dock[data-state="idle"] .vc-ring{ animation: vcIdle 3.2s ease-out infinite; }
.vc-dock[data-state="idle"] .vc-ring:nth-child(2){ animation-delay:1.05s; }
.vc-dock[data-state="idle"] .vc-ring:nth-child(3){ animation-delay:2.1s; }
.vc-orb:hover .vc-orb-core{ filter: brightness(1.06); }
.vc-dock[data-state="recording"] .vc-ic--stop{ display:block; }
.vc-dock[data-state="recording"] .vc-orb-core{ background: radial-gradient(circle at 30% 25%, #FFB4B4, #EF4444 55%, #B91C1C); box-shadow: 0 18px 44px -12px rgba(239,68,68,.55); }
.vc-dock[data-state="recording"] .vc-ring{ border-color: rgba(239,68,68,.5); animation: vcRec 1.4s ease-out infinite; }
.vc-dock[data-state="recording"] .vc-ring:nth-child(2){ animation-delay:.45s; }
.vc-dock[data-state="recording"] .vc-ring:nth-child(3){ animation-delay:.9s; }
.vc-dock[data-state="busy"] .vc-orb-core, .vc-dock[data-state="thinking"] .vc-orb-core{ animation: vcThink 1.6s ease-in-out infinite; }
.vc-dock[data-state="busy"] .vc-ic--mic, .vc-dock[data-state="thinking"] .vc-ic--mic{ display:block; opacity:.55; }
.vc-dock[data-state="busy"] .vc-ring, .vc-dock[data-state="thinking"] .vc-ring{ opacity:.6; inset:6px; border-style:dashed; animation: vcSpin 3s linear infinite; }
.vc-dock[data-state="thinking"] .vc-ring:nth-child(2){ inset:-2px; animation-duration:4.5s; animation-direction:reverse; }
.vc-dock[data-state="thinking"] .vc-ring:nth-child(3){ display:none; }
.vc-dock[data-state="speaking"] .vc-bars{ display:flex; }
.vc-dock[data-state="speaking"] .vc-ring{ animation: vcIdle 1.6s ease-out infinite; }
.vc-dock[data-state="speaking"] .vc-ring:nth-child(2){ animation-delay:.5s; }
.vc-dock[data-state="speaking"] .vc-ring:nth-child(3){ animation-delay:1s; }
@keyframes vcIdle{ 0%{ opacity:.7; transform: scale(.9); } 100%{ opacity:0; transform: scale(1.55); } }
@keyframes vcRec{ 0%{ opacity:.85; transform: scale(.95); } 100%{ opacity:0; transform: scale(1.7); } }
@keyframes vcThink{ 0%,100%{ transform: scale(.96); } 50%{ transform: scale(1.04); } }
@keyframes vcSpin{ to{ transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce){ .vc-ring, .vc-orb-core, .vc-bars i{ animation:none !important; } }
@media (max-width:640px){ .vc-orb{ width:104px; height:104px; } .vc-orb-core{ width:78px; height:78px; } }

/* =================== فاز ۵ — کتابخانه، زنجیره، راهنما، دسترس‌پذیری =================== */
.env-side-action-btn--lib{ color: var(--env-ink); font-weight:700; }
.env-side-action-btn--lib .ui-ic{ color: var(--accent); opacity:1; }

.lib-backdrop .vg-panel{ max-width:1120px; background: var(--env-paper); }
.lib-backdrop .vg-close .ui-ic{ width:17px; height:17px; }
.lib-backdrop .vg-head-badge{ display:inline-flex; align-items:center; gap:6px; }
.lib-backdrop .vg-head-badge .ui-ic{ width:15px; height:15px; }
.lib-filters{ justify-content:center; margin-bottom:20px; flex-wrap:wrap; }
.lib-filters .hub-chip .ui-ic{ width:14px; height:14px; }
.lib-filters em{ font-style:normal; font-size:.66rem; padding:1px 7px; border-radius:999px; background: var(--env-hover); }
.lib-filters .hub-chip.active em{ background: rgba(255,255,255,.25); }
.lib-grid{ columns: 4 220px; column-gap:14px; }
.lib-card{ break-inside:avoid; margin:0 0 14px; border-radius:18px; overflow:hidden; background: var(--env-solid); border:1px solid var(--env-border);
  box-shadow: var(--shadow-sm); animation: envRise .45s cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(var(--i, 0) * 30ms); }
.lib-media{ display:block; background:#000; }
.lib-media img, .lib-media video{ display:block; width:100%; height:auto; }
.lib-media img{ transition: transform .5s ease; }
.lib-card:hover .lib-media img{ transform: scale(1.04); }
.lib-audio, .lib-file{ display:flex; flex-direction:column; gap:8px; padding:16px 14px 10px; text-decoration:none; color: var(--env-ink); }
.lib-audio b, .lib-file b{ font-size:.84rem; line-height:1.6; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.lib-file small{ font-size:.7rem; color: var(--env-ink-muted); }
.lib-audio audio{ width:100%; height:36px; }
.lib-kind-ic{ width:40px; height:40px; border-radius:13px; display:grid; place-items:center; color:#fff; background: var(--env-bubble-user); }
.lib-kind-ic .ui-ic{ width:19px; height:19px; }
.lib-foot{ display:flex; align-items:center; gap:7px; padding:9px 12px; border-top:1px solid var(--env-border); font-size:.72rem; }
.lib-foot i{ width:9px; height:9px; border-radius:50%; flex-shrink:0; }
.lib-foot b{ font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lib-foot small{ color: var(--env-ink-muted); margin-inline-end:auto; white-space:nowrap; }
.lib-foot a{ width:28px; height:28px; border-radius:9px; display:grid; place-items:center; color: var(--env-ink-muted); flex-shrink:0; }
.lib-foot a:hover{ background: var(--accent-soft); color: var(--accent); }
.lib-foot a .ui-ic{ width:15px; height:15px; }
@media (max-width:760px){
  .lib-backdrop{ padding:0 !important; align-items:stretch !important; }
  .lib-backdrop .vg-panel{ border-radius:0; min-height:100%; padding:22px 14px 30px; }
  .lib-grid{ columns: 2 140px; column-gap:10px; }
  .lib-filters{ flex-wrap:nowrap; justify-content:flex-start; }
}

/* زنجیرهٔ ابزارها */
.env-chain{ position:relative; display:inline-flex; }
.env-chain-trigger{ color: var(--accent) !important; }
.env-chain-trigger .ui-ic{ width:13px; height:13px; }
.env-chain-menu[hidden]{ display:none !important; }
.env-chain-menu{ position:absolute; z-index:40; bottom: calc(100% + 6px); inset-inline-start:0; min-width:210px; display:flex; flex-direction:column; padding:6px;
  border-radius:14px; background: var(--env-solid); border:1px solid var(--env-border); box-shadow: var(--shadow-lg); animation: envPop .18s ease-out; }
.env-chain-menu button{ display:flex; align-items:center; gap:8px; padding:9px 10px; border:none; border-radius:10px; background:none; cursor:pointer;
  font-family:inherit; font-size:.8rem; font-weight:700; color: var(--env-ink); text-align:start; white-space:nowrap; }
.env-chain-menu button:hover{ background: var(--accent-soft); color: var(--accent); }
.env-chain-menu .ui-ic{ width:15px; height:15px; color: var(--accent); }

/* اعلانِ کوچک */
.env-toast{ position:fixed; z-index:500; left:50%; bottom:28px; transform: translateX(-50%); display:flex; align-items:center; gap:8px;
  padding:12px 18px; border-radius:16px; font-size:.84rem; font-weight:700; color:#fff; background: rgba(22,24,40,.92);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 18px 40px -16px rgba(0,0,0,.5);
  animation: envPop .25s cubic-bezier(.2,.9,.3,1.2); transition: opacity .4s, transform .4s; font-family:'Vazirmatn', sans-serif; direction:rtl; }
.env-toast .ui-ic{ width:17px; height:17px; color:#5FE39A; }
.env-toast.out{ opacity:0; transform: translateX(-50%) translateY(10px); }

/* راهنمای اولین بازدید */
.hub-tips[hidden]{ display:none; }
.hub-tips{ max-width:1040px; margin:0 auto 22px; display:flex; align-items:flex-start; gap:14px; padding:16px 18px; border-radius:20px;
  background: color-mix(in srgb, var(--accent) 8%, var(--glass)); border:1px solid color-mix(in srgb, var(--accent) 30%, var(--env-border));
  -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); animation: envRise .5s cubic-bezier(.2,.8,.2,1) both; }
.hub-tips-ic{ flex-shrink:0; width:40px; height:40px; border-radius:13px; display:grid; place-items:center; color:#fff; background: var(--env-bubble-user); }
.hub-tips-ic .ui-ic{ width:20px; height:20px; }
.hub-tips-body{ flex:1; min-width:0; }
.hub-tips-body b{ font-size:.86rem; }
.hub-tips-body ul{ margin:8px 0 0; padding-inline-start:18px; display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:6px 22px; }
.hub-tips-body li{ font-size:.78rem; color: var(--env-ink-muted); line-height:1.8; }
.hub-tips-close{ flex-shrink:0; border:none; cursor:pointer; padding:8px 14px; border-radius:12px; font-family:inherit; font-size:.78rem; font-weight:800;
  background: var(--env-solid); color: var(--env-ink); box-shadow: var(--shadow-sm); }
.hub-tips-close:hover{ color: var(--accent); }
@media (max-width:760px){ .hub-tips{ flex-wrap:wrap; } .hub-tips-body ul{ grid-template-columns:1fr; } .hub-tips-close{ width:100%; } }

/* دسترس‌پذیری: فوکوسِ صفحه‌کلید روی همهٔ عناصرِ تعاملیِ جدید */
.env-shell :is(button, a, label, input, textarea, [tabindex]):focus-visible{
  outline: 2.5px solid color-mix(in srgb, var(--accent) 75%, #fff); outline-offset:2px; border-radius:12px;
}
.vc-orb:focus-visible{ border-radius:50% !important; }
.env-msg-actions{ flex-wrap:wrap; }
.env-msg-action-btn{ white-space:nowrap; }

/* =========================================================
   میز نوشتار نابغه (writer · mode=desk) — ۱۴۰۵/۰۷/۲۱
   ========================================================= */
.wd{ position:relative; z-index:1; flex:1; min-height:0; display:flex; flex-direction:column; gap:12px; width:100%; max-width:900px;
  margin:0 auto; padding:6px 20px 16px; box-sizing:border-box; }
.wd [hidden]{ display:none !important; }
.wd-bar{ position:relative; display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.wd-bar-group{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.wd-select{ display:inline-flex; align-items:center; gap:6px; padding:0 4px 0 10px; height:36px; border-radius:12px; background: var(--glass);
  border:1px solid var(--env-border); color: var(--env-ink-muted); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); }
.wd-select .ui-ic{ width:15px; height:15px; color: var(--accent); }
.wd-select select{ border:none; background:transparent; color: var(--env-ink); font-family:inherit; font-size:.8rem; font-weight:700; height:34px; cursor:pointer; outline:none; }
.wd-select select option{ background: var(--env-solid); color: var(--env-ink); }
.wd-icon-btn{ position:relative; display:inline-flex; align-items:center; gap:6px; height:36px; padding:0 12px; border-radius:12px; cursor:pointer;
  background: var(--glass); border:1px solid var(--env-border); color: var(--env-ink); font-family:inherit; font-size:.78rem; font-weight:700;
  -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); transition: background .15s, color .15s; }
.wd-icon-btn:hover{ color: var(--accent); background: var(--accent-soft); }
.wd-icon-btn .ui-ic{ width:16px; height:16px; }
.wd-icon-btn em{ font-style:normal; font-size:.66rem; min-width:18px; height:18px; padding:0 5px; border-radius:9px; display:grid; place-items:center;
  background: var(--accent); color:#fff; }
.wd-icon-btn em:empty{ display:none; }

.wd-pop{ position:absolute; z-index:60; top: calc(100% + 6px); inset-inline-end:0; width:min(340px, calc(100vw - 32px)); max-height:min(420px, 60vh); overflow:auto;
  padding:8px; border-radius:16px; background: var(--env-solid); border:1px solid var(--env-border); box-shadow: var(--shadow-lg); animation: envPop .18s ease-out; }
.wd-pop--sm{ width:auto; min-width:200px; display:flex; flex-direction:column; }
.wd-pop--up{ top:auto; bottom: calc(100% + 8px); }
.wd-pop-title{ font-size:.74rem; font-weight:800; color: var(--env-ink-muted); padding:6px 8px 8px; }
.wd-pop-empty{ font-size:.8rem; color: var(--env-ink-muted); padding:8px; line-height:1.9; }
.wd-pop--sm button{ display:flex; align-items:center; gap:8px; padding:9px 10px; border:none; border-radius:10px; background:none; cursor:pointer;
  font-family:inherit; font-size:.8rem; font-weight:700; color: var(--env-ink); white-space:nowrap; text-align:start; }
.wd-pop--sm button:hover{ background: var(--accent-soft); color: var(--accent); }
.wd-pop--sm .ui-ic{ width:15px; height:15px; color: var(--accent); }
.wd-ver{ display:flex; flex-direction:column; align-items:flex-start; gap:2px; width:100%; padding:9px 10px; border:none; border-radius:11px; background:none;
  cursor:pointer; font-family:inherit; text-align:start; color: var(--env-ink); }
.wd-ver:hover{ background: var(--env-hover); }
.wd-ver.on{ background: var(--accent-soft); }
.wd-ver b{ font-size:.8rem; font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:100%; }
.wd-ver span{ font-size:.7rem; color: var(--env-ink-muted); }

/* شروع */
.wd-start{ padding:18px; border-radius:var(--radius-lg); background: color-mix(in srgb, var(--accent) 6%, var(--glass-strong));
  border:1px solid color-mix(in srgb, var(--accent) 24%, var(--env-border)); box-shadow: var(--shadow-md);
  -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); animation: envRise .45s cubic-bezier(.2,.8,.2,1) both; }
.wd-start-head{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.wd-start-head b{ display:block; font-size:1.02rem; color: var(--env-ink); }
.wd-start-head span{ display:block; font-size:.78rem; color: var(--env-ink-muted); line-height:1.8; }
.wd-kinds{ display:flex; gap:6px; flex-wrap:wrap; margin-bottom:10px; }
.wd-kinds button{ display:inline-flex; align-items:center; gap:6px; padding:7px 12px; border-radius:999px; cursor:pointer; font-family:inherit;
  font-size:.76rem; font-weight:700; color: var(--env-ink); background: var(--env-solid); border:1px solid var(--env-border); transition: all .15s; }
.wd-kinds button .ui-ic{ width:14px; height:14px; color: var(--accent); }
.wd-kinds button:hover{ border-color: var(--accent); }
.wd-kinds button.on{ background: var(--accent); border-color: var(--accent); color:#fff; }
.wd-kinds button.on .ui-ic{ color:#fff; }
.wd-start-row textarea{ width:100%; box-sizing:border-box; resize:none; padding:12px 14px; border-radius:14px; border:1px solid var(--env-border-strong);
  background: var(--env-solid); color: var(--env-ink); font-family:inherit; font-size:.92rem; line-height:1.9; outline:none; }
.wd-start-row textarea:focus{ border-color: var(--accent); box-shadow: 0 0 0 4px var(--accent-soft); }
.wd-start-foot{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:10px; flex-wrap:wrap; }
.wd-seg{ display:inline-flex; padding:3px; border-radius:12px; background: var(--env-hover); }
.wd-seg button{ border:none; background:none; padding:6px 12px; border-radius:9px; cursor:pointer; font-family:inherit; font-size:.76rem; font-weight:700; color: var(--env-ink-muted); }
.wd-seg button.on{ background: var(--env-solid); color: var(--accent); box-shadow: var(--shadow-sm); }
.wd-primary{ display:inline-flex; align-items:center; gap:8px; padding:11px 20px; border:none; border-radius:14px; cursor:pointer; font-family:inherit;
  font-size:.86rem; font-weight:800; color:#fff; background: var(--env-bubble-user); box-shadow: 0 10px 24px -10px var(--accent-glow); transition: transform .15s; }
.wd-primary:hover{ transform: translateY(-1px); }
.wd-primary:disabled{ opacity:.55; cursor:default; transform:none; }
.wd-primary .ui-ic{ width:16px; height:16px; }
.wd-shake{ animation: wdShake .4s; }
@keyframes wdShake{ 25%{ transform: translateX(-5px); } 75%{ transform: translateX(5px); } }

/* کاغذ */
.wd-paper{ position:relative; flex:1; min-height:260px; display:flex; flex-direction:column; border-radius:var(--radius-lg); background: var(--env-solid);
  border:1px solid var(--env-border); box-shadow: var(--shadow-md); overflow:hidden; }
.wd-paper::before{ content:""; position:absolute; inset:0 0 auto; height:3px; background: linear-gradient(90deg, transparent, var(--accent), transparent); opacity:.55; }
.wd-doc{ flex:1; width:100%; box-sizing:border-box; resize:none; border:none; outline:none; background:transparent; color: var(--env-ink);
  padding:28px clamp(18px, 5vw, 48px) 18px; font-family:'Vazirmatn', sans-serif; font-size:1rem; line-height:2.15; min-height:240px; }
.wd-doc::placeholder{ color: var(--env-ink-muted); opacity:.7; }
.wd-doc::selection{ background: color-mix(in srgb, var(--accent) 28%, transparent); }
.wd--empty .wd-paper{ flex:0 0 auto; min-height:150px; }
.wd--empty .wd-doc{ min-height:120px; }
.wd--busy .wd-doc{ cursor:progress; }
.wd--busy .wd-paper::before{ opacity:1; background-size:200% 100%; background-image: linear-gradient(90deg, transparent, var(--accent), transparent, var(--accent), transparent); animation: wdBar 1.4s linear infinite; }
@keyframes wdBar{ to{ background-position:-200% 0; } }
.wd-paper-foot{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 18px; border-top:1px solid var(--env-border);
  font-size:.72rem; color: var(--env-ink-muted); }
.wd-save{ display:inline-flex; align-items:center; gap:6px; }
.wd-save .ui-ic{ width:13px; height:13px; color:#16A34A; }
.wd-save button{ border:none; background: var(--accent-soft); color: var(--accent); padding:3px 10px; border-radius:8px; cursor:pointer; font-family:inherit; font-size:.7rem; font-weight:800; }
.wd-dot{ width:7px; height:7px; border-radius:50%; background:#F59E0B; }
.wd-spin{ width:12px; height:12px; border-radius:50%; border:2px solid var(--accent-soft); border-top-color: var(--accent); animation: wdSpin .7s linear infinite; }
@keyframes wdSpin{ to{ transform: rotate(360deg); } }

/* داک: عملیات + دستورِ آزاد */
.wd-dock{ position:sticky; bottom:0; z-index:5; display:flex; flex-direction:column; gap:8px; padding:12px; border-radius:var(--radius-lg);
  background: var(--glass-strong); border:1px solid var(--env-border); box-shadow: var(--shadow-lg); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); }
.wd--empty .wd-dock{ display:none; }
.wd-scope{ display:flex; align-items:center; gap:6px; font-size:.72rem; font-weight:700; color: var(--env-ink-muted); }
.wd-scope .ui-ic{ width:13px; height:13px; }
.wd--sel .wd-scope{ color: var(--accent); }
.wd-scope button{ margin-inline-start:auto; border:none; background:none; color: var(--env-ink-muted); font-family:inherit; font-size:.7rem; cursor:pointer; text-decoration:underline; }
.wd-ops{ display:flex; gap:6px; flex-wrap:wrap; }
.wd-ops > button, .wd-more > button{ display:inline-flex; align-items:center; gap:6px; padding:8px 12px; border-radius:11px; cursor:pointer; font-family:inherit;
  font-size:.78rem; font-weight:700; color: var(--env-ink); background: var(--env-solid); border:1px solid var(--env-border); transition: all .15s; white-space:nowrap; }
.wd-ops > button:hover:not(:disabled), .wd-more > button:hover{ border-color: var(--accent); color: var(--accent); }
.wd-ops button:disabled{ opacity:.5; cursor:default; }
.wd-ops .ui-ic{ width:15px; height:15px; color: var(--accent); }
.wd-more{ position:relative; display:inline-flex; }
.wd-more > button .ui-ic{ width:13px; height:13px; }
.wd-more .wd-pop{ inset-inline-end:auto; inset-inline-start:0; }
.wd-cmd{ display:flex; align-items:center; gap:8px; padding:4px 4px 4px 4px; border-radius:14px; background: var(--env-solid); border:1px solid var(--env-border-strong); }
.wd-cmd:focus-within{ border-color: var(--accent); box-shadow: 0 0 0 4px var(--accent-soft); }
.wd-cmd input{ flex:1; min-width:0; border:none; outline:none; background:transparent; color: var(--env-ink); font-family:inherit; font-size:.86rem; padding:8px 10px; }
.wd-cmd button{ flex-shrink:0; width:38px; height:38px; border:none; border-radius:11px; cursor:pointer; display:grid; place-items:center; color:#fff; background: var(--env-bubble-user); }
.wd-cmd button:disabled{ opacity:.5; }
.wd-cmd button .ui-ic{ width:18px; height:18px; }
.wd-pulse{ animation: wdPulse 1.4s ease-in-out 4; border-color: var(--accent) !important; color: var(--accent) !important; }
@keyframes wdPulse{ 50%{ box-shadow: 0 0 0 6px var(--accent-soft); } }
.env-toast .wd-undo{ display:inline-flex; align-items:center; gap:4px; margin-inline-start:6px; border:none; border-radius:9px; padding:5px 10px; cursor:pointer;
  background: rgba(255,255,255,.14); color:#fff; font-family:inherit; font-size:.76rem; font-weight:800; }
.env-toast .wd-undo .ui-ic{ color:#fff; width:14px; height:14px; }

@media (max-width:640px){
  .wd{ padding:4px 12px 10px; gap:10px; }
  .wd-icon-btn span{ display:none; }
  .wd-icon-btn{ padding:0 10px; }
  .wd-select{ padding-inline-start:8px; }
  .wd-select select{ font-size:.76rem; max-width:96px; }
  .wd-ops{ flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; margin:0 -4px; padding:0 4px 2px; }
  .wd-ops::-webkit-scrollbar{ display:none; }
  .wd-more{ position:static; }
  .wd-more .wd-pop{ inset-inline-start:12px; inset-inline-end:12px; width:auto; }
  .wd-doc{ font-size:.95rem; padding:22px 16px 14px; }
  .wd-dock{ padding:10px; margin:0 -4px; }
  .wd-start{ padding:14px; }
  .wd-primary{ width:100%; justify-content:center; }
}

/* بازگشت به استودیو — به‌جای بنرِ تمام‌عرض، یک دکمهٔ کوچک در نوارِ بالا */
.env-back-pill{ display:inline-flex; align-items:center; gap:5px; height:32px; padding:0 11px 0 9px; border-radius:10px; text-decoration:none; flex-shrink:0;
  font-size:.74rem; font-weight:800; color: var(--env-ink-muted); background: var(--glass); border:1px solid var(--env-border); transition: color .15s, background .15s; }
.env-back-pill:hover{ color: var(--accent); background: var(--accent-soft); }
.env-back-pill .ui-ic{ width:15px; height:15px; }
@media (max-width:640px){ .env-back-pill span{ display:none; } .env-back-pill{ padding:0 8px; } }

/* میز — خنثی‌کردنِ استایلِ سراسریِ فرم‌هایِ سایت (style.css: label بلوکی، select/textarea تمام‌عرض،
   و مهم‌تر: input:focus/textarea:focus که پس‌زمینه را سفید می‌کرد و در حالتِ تیره متن ناخوانا می‌شد) */
.wd label{ margin:0; }
.wd label.wd-icon-btn{ font-size:.78rem; color: var(--env-ink); font-weight:700; }
.wd .wd-select select, .wd .wd-select select:focus{ -webkit-appearance:none; appearance:none; width:auto; min-width:0; padding:0 2px; border:none !important;
  background:transparent !important; border-radius:0; color: var(--env-ink); font-size:.8rem; font-weight:700; height:34px; }
.wd .wd-select{ padding:0 12px; }
.wd .wd-select::after{ content:""; width:7px; height:7px; margin-inline-start:2px; border:solid var(--env-ink-muted); border-width:0 1.6px 1.6px 0; transform: translateY(-2px) rotate(45deg); pointer-events:none; }
.wd .wd-doc, .wd .wd-doc:focus{ background:transparent !important; border:none !important; border-radius:0; color: var(--env-ink); min-height:240px; resize:none; }
.wd .wd-start-row textarea, .wd .wd-start-row textarea:focus{ background: var(--env-solid) !important; color: var(--env-ink); min-height:0; }
.wd .wd-start-row textarea:focus{ border-color: var(--accent) !important; }
.wd .wd-cmd input, .wd .wd-cmd input:focus{ background:transparent !important; border:none !important; width:auto; padding:8px 10px; }
.wd .wd-preview{ flex:1; overflow:auto; padding:28px clamp(18px, 5vw, 48px) 18px; color: var(--env-ink); line-height:2.1; font-size:1rem; }
.wd .wd-preview h1, .wd .wd-preview h2, .wd .wd-preview h3{ line-height:1.6; margin:.4em 0 .5em; }
.wd .wd-preview h1{ font-size:1.45rem; } .wd .wd-preview h2{ font-size:1.2rem; } .wd .wd-preview h3{ font-size:1.05rem; }
.wd .wd-preview p{ margin:0 0 1em; }
.wd--preview .wd-doc{ display:none; }
.wd-icon-btn.on{ color: var(--accent); background: var(--accent-soft); border-color: color-mix(in srgb, var(--accent) 40%, var(--env-border)); }
/* مدلِ قفل‌شده همان نامِ ابزار را تکرار می‌کرد — حذف از نوارِ بالا (خلوت‌سازی)؛ انتخابِ صدا (tts/voicechat) قفل نیست و می‌ماند */
.env-model-btn[data-locked="1"]{ display:none !important; }
/* اعلان‌ها در میز بالای صفحه می‌آیند تا رویِ نوارِ دستور نیفتند */
body.has-wd .env-toast{ bottom:auto; top:74px; }
.env-toast{ max-width: calc(100vw - 32px); box-sizing:border-box; }
@media (max-width:640px){
  .wd-bar{ flex-wrap:nowrap; gap:6px; }
  .wd-bar-group{ flex-wrap:nowrap; gap:5px; }
  .wd .wd-select{ padding:0 8px; gap:4px; height:34px; }
  .wd .wd-select select{ font-size:.72rem; max-width:62px; }
  .wd .wd-select::after{ display:none; }
  .wd-icon-btn{ height:34px; padding:0 8px; }
  .env-toast{ left:12px; right:12px; transform:none; justify-content:center; font-size:.78rem; }
  .env-toast.out{ transform: translateY(10px); }
}
/* هاب — فقط جستجو مانده؛ قابِ سنگینِ دورش برداشته شد */
.hub-tools{ background:none !important; border:none !important; box-shadow:none !important; padding:0 !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
  max-width:560px; margin-inline:auto !important; }
.hub-tools{ position:static !important; }

/* ===== ۱۴۰۵/۰۷/۲۱ — «فقط به‌اندازهٔ مصرف»: بدونِ قاب، یک جملهٔ برجسته با خطِ دست‌کشیدهٔ متحرک ===== */
.hub-value{ max-width:760px; margin:-6px auto 26px; text-align:center; animation: envRise .6s cubic-bezier(.2,.8,.2,1) .1s both; }
.hub-value-line{ margin:0; font-size:clamp(1.02rem, 2.1vw, 1.28rem); font-weight:800; line-height:2; color: var(--env-ink); }
.hub-value-hl{ position:relative; display:inline-block; white-space:nowrap; padding-bottom:4px;
  background: linear-gradient(90deg, #7C3AED, #DB2777, #D97706, #7C3AED); background-size:300% 100%;
  -webkit-background-clip:text; background-clip:text; color:transparent; animation: hvText 9s linear infinite; }
.hub-value-hl svg{ position:absolute; left:0; right:0; bottom:-3px; width:100%; height:12px; overflow:visible; }
.hub-value-hl path{ fill:none; stroke:url(#none); stroke: color-mix(in srgb, #DB2777 70%, #F59E0B); stroke-width:3; stroke-linecap:round;
  stroke-dasharray:330; stroke-dashoffset:330; animation: hvDraw 1.4s cubic-bezier(.6,.1,.2,1) .6s forwards; opacity:.75; }
@keyframes hvText{ to{ background-position:300% 0; } }
@keyframes hvDraw{ to{ stroke-dashoffset:0; } }
/* یک جملهٔ چرخان به‌جایِ سه آیتمِ ثابت — هر ۳٫۵ ثانیه آرام به جملهٔ بعدی می‌لغزد */
.hub-ticker{ height:30px; margin:10px auto 0; overflow:hidden; position:relative;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 28%, #000 72%, transparent); mask-image: linear-gradient(180deg, transparent, #000 28%, #000 72%, transparent); }
.hub-ticker-track{ display:flex; flex-direction:column; animation: hvTick 10.5s cubic-bezier(.7,0,.3,1) infinite; }
.hub-ticker-track span{ height:30px; flex-shrink:0; display:flex; align-items:center; justify-content:center; gap:7px; font-size:.84rem; font-weight:700; color: var(--env-ink-muted); }
.hub-ticker-track .ui-ic{ width:16px; height:16px; color: var(--accent); flex-shrink:0; }
@keyframes hvTick{ 0%,28%{ transform: translateY(0); } 33.3%,61%{ transform: translateY(-30px); } 66.6%,95%{ transform: translateY(-60px); } 100%{ transform: translateY(-90px); } }
.sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
@media (max-width:640px){ .hub-ticker, .hub-ticker-track span{ height:44px; } .hub-ticker-track span{ font-size:.78rem; line-height:1.7; text-align:center; padding:0 10px; }
  @keyframes hvTick{ 0%,28%{ transform: translateY(0); } 33.3%,61%{ transform: translateY(-44px); } 66.6%,95%{ transform: translateY(-88px); } 100%{ transform: translateY(-132px); } } }
@media (prefers-reduced-motion: reduce){ .hub-ticker-track{ animation:none; } }
@media (prefers-reduced-motion: reduce){ .hub-value-hl{ animation:none; } .hub-value-hl path{ animation:none; stroke-dashoffset:0; } }

/* ===== کارت‌هایِ ابزار — کمی جمع‌وجورتر ===== */
#envStudioHub .env-persona-grid, #envStudioPicker .env-persona-grid{ grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap:12px; }
#envStudioHub .env-persona-card, #envStudioPicker .env-persona-card{ min-height:0; padding:15px 15px 14px; gap:8px; border-radius:18px; }
#envStudioHub .env-persona-card .si--lg, #envStudioPicker .env-persona-card .si--lg{ width:44px; height:44px; border-radius:14px; }
#envStudioHub .env-persona-card .si--lg svg, #envStudioPicker .env-persona-card .si--lg svg{ width:22px; height:22px; }
#envStudioHub .env-persona-card b, #envStudioPicker .env-persona-card b{ font-size:.88rem; }
#envStudioHub .env-persona-tagline, #envStudioPicker .env-persona-tagline{ font-size:.73rem; line-height:1.7; }
#envStudioHub .env-persona-card .env-card-go, #envStudioPicker .env-persona-card .env-card-go{ width:26px; height:26px; top:15px; inset-inline-end:13px; }
#envStudioHub .env-studiohub-section{ margin-bottom:22px; }
@media (max-width:640px){
  #envStudioHub .env-persona-grid, #envStudioPicker .env-persona-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); gap:9px; }
  #envStudioHub .env-persona-card, #envStudioPicker .env-persona-card{ padding:13px 12px; }
  #envStudioHub .env-persona-card .si--lg{ width:40px; height:40px; }
}

/* ===== پس‌زمینه — انیمیشن‌هایِ آرامِ بیشتر ===== */
/* ستاره‌هایِ اضافه */
.env-aurora b:nth-of-type(7){ top:6%;  left:44%; width:6px; height:6px; animation-delay:1.8s; animation-duration:7.5s; }
.env-aurora b:nth-of-type(8){ top:33%; left:28%; width:5px; height:5px; animation-delay:3.9s; animation-duration:6.5s; }
.env-aurora b:nth-of-type(9){ top:48%; left:92%; width:7px; height:7px; animation-delay:.9s;  animation-duration:8.5s; }
.env-aurora b:nth-of-type(10){ top:77%; left:62%; width:6px; height:6px; animation-delay:2.7s; animation-duration:7s; }
.env-aurora b:nth-of-type(11){ top:92%; left:84%; width:9px; height:9px; animation-delay:6.2s; animation-duration:9.5s; }
.env-aurora b:nth-of-type(12){ top:16%; left:62%; width:5px; height:5px; animation-delay:4.1s; }
/* حباب‌هایِ نورانیِ کوچک که خیلی آرام بالا می‌روند */
.env-aurora u{ position:absolute; bottom:-30px; width:8px; height:8px; border-radius:50%; opacity:0; text-decoration:none;
  background: radial-gradient(circle, color-mix(in srgb, var(--accent) 70%, #fff), transparent 70%); filter: blur(.5px);
  animation: envFloatUp 22s linear infinite; will-change: transform, opacity; }
.env-aurora u:nth-of-type(1){ left:6%;  animation-delay:0s;   animation-duration:24s; }
.env-aurora u:nth-of-type(2){ left:17%; width:5px; height:5px; animation-delay:6s;  animation-duration:19s; }
.env-aurora u:nth-of-type(3){ left:29%; width:11px; height:11px; animation-delay:11s; animation-duration:28s; }
.env-aurora u:nth-of-type(4){ left:41%; animation-delay:3s;  animation-duration:21s; }
.env-aurora u:nth-of-type(5){ left:53%; width:6px; height:6px; animation-delay:14s; animation-duration:25s; }
.env-aurora u:nth-of-type(6){ left:64%; width:10px; height:10px; animation-delay:8s;  animation-duration:30s; }
.env-aurora u:nth-of-type(7){ left:75%; width:5px; height:5px; animation-delay:1s;  animation-duration:18s; }
.env-aurora u:nth-of-type(8){ left:86%; animation-delay:17s; animation-duration:26s; }
.env-aurora u:nth-of-type(9){ left:94%; width:6px; height:6px; animation-delay:9s;  animation-duration:22s; }
.env-aurora u:nth-of-type(10){ left:35%; width:7px; height:7px; animation-delay:20s; animation-duration:27s; }
@keyframes envFloatUp{
  0%{ transform: translate(0, 0) scale(.6); opacity:0; }
  10%{ opacity:.55; }
  50%{ transform: translate(22px, -50vh) scale(1); }
  85%{ opacity:.35; }
  100%{ transform: translate(-14px, -105vh) scale(.7); opacity:0; }
}
/* پرتوِ نورِ چرخانِ بسیار ملایم */
.env-aurora em{ position:absolute; top:50%; left:50%; width:140vmax; height:140vmax; margin:-70vmax 0 0 -70vmax; opacity:.13;
  background: conic-gradient(from 0deg, transparent 0 20%, color-mix(in srgb, var(--accent) 45%, transparent) 26%, transparent 34% 60%, color-mix(in srgb, var(--aurora-2) 60%, transparent) 68%, transparent 76%);
  -webkit-mask-image: radial-gradient(circle, #000 0, transparent 55%); mask-image: radial-gradient(circle, #000 0, transparent 55%);
  animation: envSweep 90s linear infinite; }
@keyframes envSweep{ to{ transform: rotate(360deg); } }
/* شهابِ دوم */
.env-aurora s:nth-of-type(2){ top:30%; left:30%; width:100px; animation-duration:19s; animation-delay:11s; }
@media (prefers-reduced-motion: reduce){ .env-aurora u, .env-aurora em{ animation:none; opacity:0; } }

/* جستجوی هاب — «بگو چه کاری داری» */
.hub-search--ask > .ui-ic{ color: var(--accent); }
.hub-search-hint{ display:flex; align-items:center; justify-content:center; gap:6px; margin-top:8px; font-size:.74rem; color: var(--env-ink-muted); animation: envPop .2s ease-out; }
.hub-search-hint b{ color: var(--accent); }
.hub-search-hint .ui-ic{ width:13px; height:13px; color: var(--accent); }
.hub-search-hint[hidden]{ display:none; }
@media (max-width:640px){ .hub-search-hint span{ display:none; } }

/* عنوانِ کارت‌هایِ شروع — بیرون از ردیفِ لغزان (در موبایل دیگر با اسکرول تکان نمی‌خورد) و واضح‌تر */
.env-starters-wrap{ width:100%; max-width:760px; margin-top:28px; display:flex; flex-direction:column; align-items:center; }
.env-starters-wrap .env-starters{ margin-top:12px; }
.env-starters-wrap .env-starters-title{ position:static !important; margin:0 !important; width:100%; display:flex; align-items:center; gap:12px; justify-content:center; }
.env-starters-wrap .env-starters-title::before, .env-starters-wrap .env-starters-title::after{ content:""; flex:1; max-width:120px; height:1px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 40%, var(--env-border))); }
.env-starters-wrap .env-starters-title::after{ transform: scaleX(-1); }
.env-starters-title > span{ display:inline-flex; align-items:center; gap:6px; padding:5px 13px; border-radius:999px; font-size:.78rem; font-weight:800;
  color: var(--accent); background: var(--accent-soft); border:1px solid color-mix(in srgb, var(--accent) 22%, transparent); }
.env-starters-title > span .ui-ic{ width:14px; height:14px; }
@media (max-width:640px){
  .env-starters-wrap{ margin-top:auto; padding-top:14px; }
  .env-starters-wrap .env-starters{ margin-top:8px; padding-top:4px; }
  .env-starters-wrap .env-starters-title{ padding:0 16px; box-sizing:border-box; }
}
.hub-search input, .hub-search input:focus{ border:none !important; background:transparent !important; box-shadow:none !important; outline:none; }
#hubSearch:focus-visible{ outline:none !important; }

/* ===== اندازهٔ فونت: بزرگ (بدونِ کلاس) / استاندارد = env-font-small (پیش‌فرض) / کوچک = env-font-xsmall ===== */
.env-shell.env-font-xsmall .env-bubble{ font-size:.74rem; line-height:1.65; padding:8px 12px; }
.env-shell.env-font-xsmall .env-messages-inner{ gap:9px; }
.env-shell.env-font-xsmall .env-msg-meta{ font-size:.56rem; }
.env-shell.env-font-xsmall .env-composer textarea{ font-size:.78rem; }
.env-shell.env-font-small .wd-doc, .env-shell.env-font-small .wd-preview{ font-size:.93rem; line-height:2.05; }
.env-shell.env-font-xsmall .wd-doc, .env-shell.env-font-xsmall .wd-preview{ font-size:.85rem; line-height:1.95; }

/* ===== دکمهٔ تمِ روشن/تاریک در نوارِ بالا ===== */
.env-topbar{ gap:10px; }
.env-mode-toggle{ position:relative; flex-shrink:0; width:62px; height:32px; padding:0; border-radius:999px; cursor:pointer; overflow:hidden;
  border:1px solid var(--env-border-strong); background: linear-gradient(135deg, #FEF3C7, #BAE6FD); transition: background .4s, border-color .4s; }
.env-mode-toggle.is-dark{ background: linear-gradient(135deg, #1E1B4B, #312E81); border-color: rgba(255,255,255,.18); }
.env-mode-knob{ position:absolute; top:3px; right:3px; width:24px; height:24px; border-radius:50%; background:#fff;
  box-shadow: 0 2px 6px rgba(0,0,0,.18); transition: transform .4s cubic-bezier(.5,1.6,.4,1), background .4s; }
.env-mode-toggle.is-dark .env-mode-knob{ transform: translateX(-30px); background:#E0E7FF; }
.env-mode-ic{ position:absolute; top:50%; width:16px; height:16px; margin-top:-8px; display:grid; place-items:center; transition: opacity .3s, transform .4s; }
.env-mode-ic .ui-ic{ width:15px; height:15px; }
.env-mode-ic{ z-index:1; }
.env-mode-ic--sun{ right:7px; color:#D97706; }
.env-mode-ic--moon{ left:8px; color:#64748B; }
.env-mode-toggle.is-dark .env-mode-ic--sun{ color: rgba(253,230,138,.6); transform: rotate(-90deg); }
.env-mode-toggle.is-dark .env-mode-ic--moon{ color:#4338CA; transform: rotate(-20deg); }
.env-mode-toggle:hover .env-mode-knob{ box-shadow: 0 2px 10px rgba(0,0,0,.28); }
.env-shell.env-theme-anim, .env-shell.env-theme-anim *{ transition: background-color .45s, color .45s, border-color .45s !important; }

/* ===== رنگِ انیمیشن‌ها بسته به تم — در تمِ روشن پررنگ‌تر و تیره‌تر تا دیده شوند ===== */
.env-shell{
  --fx-star: color-mix(in srgb, var(--accent) 78%, #1E1B4B);
  --fx-star-op: .7;
  --fx-dot: color-mix(in srgb, var(--accent) 85%, #312E81);
  --fx-dot-op: .5;
  --fx-sweep-op: .2;
  --fx-trail: color-mix(in srgb, var(--accent) 80%, #312E81);
  --fx-orbit: color-mix(in srgb, var(--accent) 35%, transparent);
}
@media (prefers-color-scheme: dark){
  .env-shell:not(.env-force-light){ --fx-star:#fff; --fx-star-op:.85; --fx-dot: color-mix(in srgb, var(--accent) 60%, #fff); --fx-dot-op:.55;
    --fx-sweep-op:.13; --fx-trail: color-mix(in srgb, var(--accent) 50%, #fff); --fx-orbit: rgba(255,255,255,.14); }
}
.env-shell.env-force-dark{ --fx-star:#fff; --fx-star-op:.85; --fx-dot: color-mix(in srgb, var(--accent) 60%, #fff); --fx-dot-op:.55;
  --fx-sweep-op:.13; --fx-trail: color-mix(in srgb, var(--accent) 50%, #fff); --fx-orbit: rgba(255,255,255,.14); }

.env-shell .env-aurora b, .env-shell:not(.env-force-light) .env-aurora b, .env-shell.env-force-dark .env-aurora b{ background: var(--fx-star) !important; }
@keyframes envTwinkle{ 0%,100%{ opacity:0; transform: scale(.4) rotate(0); } 45%,55%{ opacity: var(--fx-star-op); transform: scale(1) rotate(45deg); } }
.env-aurora u{ background: radial-gradient(circle, var(--fx-dot), transparent 70%); }
@keyframes envFloatUp{
  0%{ transform: translate(0, 0) scale(.6); opacity:0; }
  10%{ opacity: var(--fx-dot-op); }
  50%{ transform: translate(22px, -50vh) scale(1); }
  85%{ opacity: calc(var(--fx-dot-op) * .6); }
  100%{ transform: translate(-14px, -105vh) scale(.7); opacity:0; }
}
.env-aurora em{ opacity: var(--fx-sweep-op); }
.env-aurora s{ background: linear-gradient(90deg, transparent, var(--fx-trail)); height:2px; }

/* کمی حرکتِ بیشتر: ذره‌هایِ اضافه، شهابِ سوم، و سه حلقهٔ مداریِ بسیار آرام */
.env-aurora u:nth-of-type(11){ left:12%; width:7px; height:7px; animation-delay:4s;  animation-duration:23s; }
.env-aurora u:nth-of-type(12){ left:47%; width:9px; height:9px; animation-delay:12s; animation-duration:29s; }
.env-aurora u:nth-of-type(13){ left:70%; width:5px; height:5px; animation-delay:15s; animation-duration:20s; }
.env-aurora u:nth-of-type(14){ left:81%; width:8px; height:8px; animation-delay:5s;  animation-duration:25s; }
.env-aurora s:nth-of-type(3){ top:55%; left:85%; width:120px; animation-duration:23s; animation-delay:7s; }
.env-aurora q{ position:absolute; border-radius:50%; border:1px dashed var(--fx-orbit); quotes:none; pointer-events:none;
  top:50%; left:50%; animation: envOrbit 120s linear infinite; }
.env-aurora q::before{ content:""; position:absolute; top:-4px; left:50%; width:7px; height:7px; border-radius:50%; background: var(--fx-dot); opacity: var(--fx-star-op);
  box-shadow: 0 0 10px var(--fx-dot); }
.env-aurora q:nth-of-type(1){ width:62vmax; height:62vmax; margin:-31vmax 0 0 -31vmax; }
.env-aurora q:nth-of-type(2){ width:88vmax; height:88vmax; margin:-44vmax 0 0 -44vmax; animation-duration:170s; animation-direction:reverse; opacity:.8; }
.env-aurora q:nth-of-type(3){ width:40vmax; height:40vmax; margin:-20vmax 0 0 -20vmax; animation-duration:95s; opacity:.6; }
@keyframes envOrbit{ to{ transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce){ .env-aurora q{ animation:none; } }
.env-topbar:has(.env-topbar-ctrl[hidden]){ flex-wrap:nowrap; }
.env-topbar:has(.env-topbar-ctrl[hidden]) .env-mode-toggle{ margin-inline-start:auto; }
@media (max-width:640px){ .env-mode-toggle{ width:56px; height:30px; } .env-mode-knob{ width:22px; height:22px; } .env-mode-toggle.is-dark .env-mode-knob{ transform: translateX(-26px); } }
@media (max-width:640px){
  .env-topbar:has(.env-topbar-ctrl[hidden]){ flex-direction:row; align-items:center; }
  .env-topbar-ctrl .env-mode-toggle{ order:-1; }
}

/* ===== سایدبار — بخش‌هایِ پایین همیشه پایین، ظاهرِ مرتب‌تر ===== */
.env-side{ overflow:hidden; }
.env-convos{ flex:1; min-height:0; overflow-y:auto; }
.env-side-bottom{ margin-top:auto; padding:10px 12px 12px; gap:4px; }
.env-side-actions{ gap:2px; margin-bottom:2px; }
.env-side-action-btn, .env-back{ display:flex; align-items:center; gap:10px; padding:6px 8px; border-radius:11px; font-size:.79rem; font-weight:600;
  color: var(--env-ink); text-decoration:none; transition: background .15s, color .15s; }
.env-side-action-btn .ui-ic, .env-back .ui-ic{ flex-shrink:0; width:28px; height:28px; padding:6.5px; box-sizing:border-box; border-radius:9px; opacity:1;
  background: var(--env-hover); color: var(--env-ink-muted); transition: background .15s, color .15s; }
.env-side-action-btn:hover, .env-back:hover{ background: var(--env-hover); color: var(--env-ink); }
.env-side-action-btn:hover .ui-ic, .env-back:hover .ui-ic{ background: var(--accent-soft); color: var(--accent); }
.env-side-action-btn--lib .ui-ic{ background: var(--accent-soft); color: var(--accent); }
.env-back{ color: var(--env-ink-muted); }
.env-powered{ margin-top:6px; padding-top:8px; border-top:1px dashed var(--env-border); font-size:.64rem; line-height:1.8; opacity:.8; }

/* سایدبارِ هاب: فهرستِ بخش‌ها به‌جایِ یک جملهٔ راهنما */
.env-side-secs{ display:flex; flex-direction:column; gap:2px; padding:4px 12px 12px; overflow-y:auto; min-height:0; flex:1; }
.env-side-secs-title{ font-size:.66rem; font-weight:800; letter-spacing:.4px; color: var(--env-ink-muted); padding:6px 8px 6px; }
.env-side-sec{ position:relative; display:flex; align-items:center; gap:10px; padding:7px 8px; border-radius:12px; text-decoration:none;
  color: var(--env-ink); font-size:.82rem; font-weight:700; transition: background .15s, transform .15s; }
.env-side-sec .si{ width:28px !important; height:28px !important; border-radius:9px !important; flex-shrink:0; }
.env-side-sec > span:not(.si){ flex:1; min-width:0; }
.env-side-sec > .si{ flex:0 0 28px; }
.env-side-sec em{ font-style:normal; font-size:.66rem; font-weight:800; min-width:20px; height:20px; padding:0 6px; border-radius:10px; display:grid; place-items:center;
  color: var(--sec-c); background: color-mix(in srgb, var(--sec-c) 12%, transparent); }
.env-side-sec em .ui-ic{ width:12px; height:12px; }
.env-side-sec:hover{ background: color-mix(in srgb, var(--sec-c) 9%, transparent); }
.env-side-sec.on{ background: color-mix(in srgb, var(--sec-c) 12%, transparent); }
.env-side-sec.on::before{ content:""; position:absolute; inset-inline-start:0; top:24%; bottom:24%; width:3px; border-radius:3px; background: var(--sec-c); }
.env-studiohub-section{ scroll-margin-top:16px; }
/* «اخیراً استفاده کرده‌اید» — عنوانش ثابت می‌ماند */
.hub-recent .env-starters-title{ position:static !important; margin:0 0 8px !important; }
@media (max-width:900px){ .env-side{ background: var(--env-solid) !important; -webkit-backdrop-filter:none; backdrop-filter:none; } }

/* =========================================================
   دستیارِ شخصی — قالب‌هایِ آماده، دانسته‌ها، دسترسیِ سریع (۱۴۰۵/۰۷/۲۱)
   ========================================================= */
#envPersonaPicker .pp-mine{ margin-bottom:28px; }
.pt{ max-width:1040px; margin:0 auto; }
.pt [hidden]{ display:none !important; }
.pt-head{ display:flex; flex-direction:column; align-items:center; gap:12px; margin-bottom:16px; }
.pt-cats{ display:flex; gap:6px; flex-wrap:wrap; justify-content:center; }
.pt-cat{ display:inline-flex; align-items:center; gap:6px; padding:7px 13px; border-radius:999px; cursor:pointer; font-family:inherit; font-size:.76rem; font-weight:700;
  color: var(--env-ink-muted); background: var(--glass); border:1px solid var(--env-border); transition: all .15s; }
.pt-cat .ui-ic{ width:14px; height:14px; }
.pt-cat:hover{ color: var(--env-ink); border-color: var(--env-border-strong); }
.pt-cat.on{ color:#fff; background: var(--env-bubble-user); border-color:transparent; }
.pt-grid{ display:grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap:10px; }
.pt-card{ position:relative; display:flex; align-items:center; gap:12px; padding:13px 14px; border-radius:16px; cursor:pointer; text-align:start; font-family:inherit;
  background: var(--glass); border:1px solid var(--env-border); color: var(--env-ink); box-shadow: var(--shadow-sm);
  -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur);
  transition: transform .2s, box-shadow .2s, border-color .2s; animation: envRise .45s cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(var(--i, 0) * 30ms); }
.pt-card:hover{ transform: translateY(-3px); border-color: color-mix(in srgb, var(--pt-c) 45%, var(--env-border)); box-shadow: var(--shadow-md), 0 16px 30px -22px var(--pt-c); }
.pt-ic{ flex-shrink:0; width:42px; height:42px; border-radius:13px; display:grid; place-items:center; color:#fff;
  background: linear-gradient(135deg, color-mix(in srgb, var(--pt-c) 70%, #fff), var(--pt-c)); box-shadow: 0 8px 18px -10px var(--pt-c); }
.pt-ic .ui-ic{ width:21px; height:21px; }
.pt-body{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.pt-body b{ font-size:.86rem; }
.pt-body span{ font-size:.72rem; color: var(--env-ink-muted); line-height:1.65; }
.pt-tag{ position:absolute; top:8px; inset-inline-end:8px; color: var(--pt-c); opacity:.7; }
.pt-tag .ui-ic{ width:13px; height:13px; }
.pt-card--blank{ border-style:dashed; background:transparent; box-shadow:none; }
.pt-card--blank .pt-ic{ background: var(--env-hover); color: var(--accent); box-shadow:none; }

/* برگهٔ جزئیاتِ قالب */
.pt-backdrop{ display:flex; align-items:center; justify-content:center; padding:16px; }
.pt-backdrop[hidden]{ display:none !important; }
.pt-sheet{ position:relative; width:min(480px, 100%); max-height: calc(100vh - 32px); overflow:auto; padding:24px 22px 18px; border-radius:24px;
  background: var(--env-solid); color: var(--env-ink); box-shadow: var(--shadow-lg); animation: envPop .25s cubic-bezier(.2,.9,.3,1.2); box-sizing:border-box; }
.pt-sheet::before{ content:""; position:absolute; inset:0 0 auto; height:110px; border-radius:24px 24px 0 0; pointer-events:none;
  background: linear-gradient(180deg, color-mix(in srgb, var(--pt-c) 16%, transparent), transparent); }
.pt-sheet .vg-close{ position:absolute; top:12px; inset-inline-end:12px; }
.pt-sheet-hero{ position:relative; display:flex; align-items:center; gap:14px; margin-bottom:12px; }
.pt-sheet-ic{ width:56px; height:56px; border-radius:18px; display:grid; place-items:center; color:#fff; flex-shrink:0;
  background: linear-gradient(135deg, color-mix(in srgb, var(--pt-c) 70%, #fff), var(--pt-c)); box-shadow: 0 12px 26px -12px var(--pt-c); }
.pt-sheet-ic .ui-ic{ width:27px; height:27px; }
.pt-sheet-cat{ font-size:.68rem; font-weight:800; color: var(--pt-c); }
.pt-sheet h3{ margin:2px 0 2px; font-size:1.12rem; }
.pt-sheet-hero p{ margin:0; font-size:.78rem; color: var(--env-ink-muted); }
.pt-about{ position:relative; font-size:.84rem; line-height:2; margin:0 0 14px; color: var(--env-ink); }
.pt-chat{ padding:14px; border-radius:16px; background: var(--env-hover); margin-bottom:12px; }
.pt-bubble{ font-size:.8rem; line-height:1.9; padding:10px 13px; border-radius:14px 14px 14px 4px; background: var(--env-solid); box-shadow: var(--shadow-sm); }
.pt-starters{ display:flex; flex-direction:column; align-items:flex-end; gap:6px; margin-top:10px; }
.pt-starters span{ font-size:.74rem; padding:7px 11px; border-radius:14px 14px 4px 14px; color:#fff; background: var(--pt-c); max-width:90%; }
.pt-hint{ display:flex; gap:8px; align-items:flex-start; font-size:.76rem; line-height:1.8; color: var(--env-ink-muted); padding:10px 12px; border-radius:12px;
  border:1px dashed color-mix(in srgb, var(--pt-c) 40%, var(--env-border)); margin-bottom:12px; }
.pt-hint .ui-ic{ width:15px; height:15px; color: var(--pt-c); flex-shrink:0; margin-top:3px; }
.pt-name{ display:flex !important; flex-direction:column; gap:6px; font-size:.76rem !important; font-weight:700; color: var(--env-ink-muted) !important; margin-bottom:12px !important; }
.pt-name input, .pt-name input:focus{ padding:10px 12px !important; border-radius:12px !important; border:1px solid var(--env-border-strong) !important;
  background: var(--env-paper) !important; color: var(--env-ink) !important; font-size:.88rem !important; }
.pt-go{ width:100%; justify-content:center; background: linear-gradient(135deg, color-mix(in srgb, var(--pt-c) 80%, #fff), var(--pt-c)); box-shadow: 0 12px 26px -12px var(--pt-c); }
.pt-foot{ text-align:center; font-size:.7rem; color: var(--env-ink-muted); margin:10px 0 0; }

/* صفحهٔ گفتگو با دستیار: آواتار + دانسته‌ها */
.pe-avatar{ width:72px; height:72px; border-radius:22px; display:grid; place-items:center; font-size:2.1rem; overflow:hidden;
  background: linear-gradient(135deg, color-mix(in srgb, var(--pe-c) 55%, #fff), var(--pe-c)); box-shadow: 0 16px 34px -16px var(--pe-c); }
.pe-avatar img{ width:100%; height:100%; object-fit:cover; }
.pk{ position:relative; z-index:2; max-width:760px; width: calc(100% - 32px); margin:8px auto 0; border-radius:16px; background: var(--glass);
  border:1px solid var(--env-border); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); box-shadow: var(--shadow-sm); }
.pk [hidden]{ display:none !important; }
.pk-toggle{ width:100%; display:flex; align-items:center; gap:10px; padding:9px 12px; border:none; background:none; cursor:pointer; font-family:inherit; color: var(--env-ink); text-align:start; }
.pk-ic{ width:30px; height:30px; border-radius:10px; display:grid; place-items:center; flex-shrink:0; background: var(--accent-soft); color: var(--accent); }
.pk-ic .ui-ic{ width:16px; height:16px; }
.pk-text{ flex:1; min-width:0; display:flex; flex-direction:column; }
.pk-text b{ font-size:.8rem; }
.pk-text span{ display:flex; align-items:center; gap:6px; font-size:.7rem; color: var(--env-ink-muted); }
.pk--empty .pk-text span{ color: var(--accent); }
.pk-chev .ui-ic{ width:15px; height:15px; color: var(--env-ink-muted); transition: transform .2s; }
.pk.open .pk-chev .ui-ic{ transform: rotate(180deg); }
.pk-panel{ padding:0 12px 12px; }
.pk-lead{ margin:0 0 10px; font-size:.74rem; line-height:1.9; color: var(--env-ink-muted); }
.pk-list{ display:flex; flex-direction:column; gap:4px; margin-bottom:10px; }
.pk-list:empty{ display:none; }
.pk-item{ display:flex; align-items:center; gap:8px; padding:7px 9px; border-radius:11px; background: var(--env-solid); border:1px solid var(--env-border); font-size:.78rem; }
.pk-item-ic .ui-ic{ width:15px; height:15px; color: var(--accent); }
.pk-item-name{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:600; }
.pk-item em{ font-style:normal; font-size:.66rem; color: var(--env-ink-muted); }
.pk-item button{ border:none; background:none; cursor:pointer; color: var(--env-ink-muted); padding:3px; border-radius:7px; display:grid; }
.pk-item button:hover{ color:#DC2626; background: rgba(220,38,38,.08); }
.pk-item button .ui-ic{ width:15px; height:15px; }
.pk-actions{ display:flex; gap:6px; flex-wrap:wrap; }
.pk label{ margin:0; }
.pk label.wd-icon-btn{ font-size:.78rem; color: var(--env-ink); font-weight:700; }
.pk-note{ display:flex; flex-direction:column; gap:8px; margin-top:10px; }
.pk-note input, .pk-note textarea, .pk-note input:focus, .pk-note textarea:focus{ width:100%; box-sizing:border-box; padding:9px 11px !important; border-radius:11px !important;
  border:1px solid var(--env-border-strong) !important; background: var(--env-solid) !important; color: var(--env-ink) !important; font-size:.82rem !important; min-height:0; resize:vertical; }
.pk-note .wd-primary{ align-self:flex-start; padding:9px 16px; }

/* سایدبار: دسترسیِ سریع به دستیارها */
.side-personas{ display:flex; flex-direction:column; gap:7px; }
.side-personas-label{ font-size:.66rem; font-weight:800; color: var(--env-ink-muted); letter-spacing:.3px; }
.side-personas-row{ display:flex; gap:7px; flex-wrap:wrap; }
.side-persona{ width:36px; height:36px; border-radius:12px; display:grid; place-items:center; font-size:1.05rem; text-decoration:none; overflow:hidden;
  background: linear-gradient(135deg, color-mix(in srgb, var(--pc) 45%, #fff), var(--pc)); box-shadow: 0 6px 14px -8px var(--pc);
  transition: transform .2s, box-shadow .2s; outline-offset:2px; }
.side-persona img{ width:100%; height:100%; object-fit:cover; }
.side-persona:hover{ transform: translateY(-2px) scale(1.05); }
.side-persona.on{ outline:2px solid var(--pc); }
.side-persona--all{ background: var(--env-hover); box-shadow:none; color: var(--env-ink-muted); border:1px dashed var(--env-border-strong); }
.side-persona--all .ui-ic{ width:16px; height:16px; }
.hub-featured-mine{ display:flex; flex-direction:row-reverse; margin-inline-start:auto; }
.hub-featured-mine i{ width:34px; height:34px; border-radius:50%; display:grid; place-items:center; font-style:normal; font-size:1rem; overflow:hidden;
  margin-inline-start:-10px; border:2px solid var(--env-solid); background: linear-gradient(135deg, color-mix(in srgb, var(--pc) 45%, #fff), var(--pc)); }
.hub-featured-mine i img{ width:100%; height:100%; object-fit:cover; }
@media (max-width:640px){
  .pt-grid{ grid-template-columns:1fr; }
  .pt-cats{ flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start; width:100%; padding:0 2px 4px; scrollbar-width:none; }
  .pt-cats::-webkit-scrollbar{ display:none; }
  .pt-cat{ flex-shrink:0; }
  .pt-backdrop{ align-items:flex-end; padding:0; }
  .pt-sheet{ border-radius:24px 24px 0 0; max-height:92vh; }
  .hub-featured-mine{ display:none; }
}
/* پنلِ دانسته‌ها به‌صورتِ کشویی رویِ صفحه باز می‌شود (محتوایِ گفتگو را هل نمی‌دهد) */
.pk-panel{ position:absolute; top:100%; left:-1px; right:-1px; margin-top:6px; padding:12px; border-radius:16px; background: var(--env-solid);
  border:1px solid var(--env-border); box-shadow: var(--shadow-lg); max-height:60vh; overflow:auto; animation: envPop .18s ease-out; }
.pk--nudge .pk-toggle{ animation: wdPulse 1.6s ease-in-out 3; border-radius:16px; }
.pk--nudge .pk-ic{ background: var(--accent); color:#fff; }
.env-empty .pe-avatar{ width:76px; height:76px; min-height:76px; flex-shrink:0; aspect-ratio:1; padding:0; }
/* کارت‌هایِ «ایده‌هایی برای شروع»: اگر پیش‌نمایشِ واقعی هست، تصویرِ کوچکش به‌جایِ آیکن */
.ig-starter-ic--img{ width:46px; height:46px; padding:0; overflow:hidden; border-radius:12px; }
.ig-starter-ic--img img{ width:100%; height:100%; object-fit:cover; display:block; transition: transform .35s; }
.env-starter:hover .ig-starter-ic--img img{ transform: scale(1.08); }

/* نوارِ ابزارِ دستیار: دانسته‌ها | بله/تلگرام | پیامِ زمان‌دار */
.pk-tabs{ display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:4px; padding:4px; }
.pk-tabs .pk-toggle{ border-radius:12px; padding:7px 9px; gap:8px; transition: background .15s; }
.pk-tabs .pk-toggle:hover, .pk-tabs .pk-toggle.on{ background: var(--env-hover); }
.pk-tabs .pk-toggle.on .pk-ic{ background: var(--accent); color:#fff; }
.pk-tabs .pk-ic{ width:28px; height:28px; border-radius:9px; }
.pk-tabs .pk-text b{ font-size:.76rem; white-space:nowrap; }
.pk-tabs .pk-text span{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:block; }
.pm-list{ display:flex; flex-direction:column; gap:6px; margin-bottom:8px; }
.pm-row{ display:flex; align-items:center; gap:10px; padding:9px 10px; border-radius:13px; background: var(--env-solid); border:1px solid var(--env-border); }
.pm-logo{ width:34px; height:34px; border-radius:11px; display:grid; place-items:center; color:#fff; font-weight:900; flex-shrink:0; }
.pm-logo .ui-ic{ width:17px; height:17px; transform: rotate(45deg); }
.pm-logo--bale{ background: linear-gradient(135deg, #34D399, #059669); font-size:1.05rem; }
.pm-logo--telegram{ background: linear-gradient(135deg, #38BDF8, #0284C7); }
.pm-info{ flex:1; min-width:0; display:flex; flex-direction:column; }
.pm-info b{ font-size:.82rem; } .pm-info b i{ font-style:normal; font-weight:600; color: var(--env-ink-muted); font-size:.72rem; direction:ltr; unicode-bidi:isolate; }
.pm-info span{ font-size:.7rem; color: var(--env-ink-muted); }
.pm-row .wd-primary{ padding:8px 14px; font-size:.78rem; }
.pm-un{ border:none; background:none; cursor:pointer; color: var(--env-ink-muted); padding:5px; border-radius:8px; display:grid; }
.pm-un:hover{ color:#DC2626; background: rgba(220,38,38,.08); }
.pm-un .ui-ic{ width:15px; height:15px; }
.pm-code{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:11px 12px; border-radius:13px; font-size:.76rem; line-height:1.9;
  background: var(--accent-soft); border:1px dashed color-mix(in srgb, var(--accent) 40%, transparent); }
.pm-code code{ font-family: ui-monospace, monospace; font-size:.86rem; font-weight:700; padding:3px 9px; border-radius:8px; background: var(--env-solid); color: var(--accent); }
.pm-code small{ flex-basis:100%; color: var(--env-ink-muted); }
.pm-code a.wd-icon-btn{ text-decoration:none; }
.ps-suggest{ display:flex; align-items:center; gap:8px; justify-content:space-between; padding:9px 11px; margin-bottom:8px; border-radius:12px; font-size:.75rem;
  background: var(--accent-soft); }
.ps-suggest .ui-ic{ width:14px; height:14px; color: var(--accent); vertical-align:-2px; }
.ps-item .pk-item-name{ display:flex; flex-direction:column; white-space:normal; }
.ps-item .pk-item-name small{ font-size:.66rem; color: var(--env-ink-muted); font-weight:500; }
.ps-item.off{ opacity:.6; }
.ps-item button:hover{ color: var(--accent) !important; background: var(--accent-soft) !important; }
.ps-form{ margin-top:8px; }
.ps-when{ display:flex; gap:6px; flex-wrap:wrap; }
.ps-when select, .ps-when select:focus{ width:auto !important; padding:7px 10px !important; border-radius:10px !important; border:1px solid var(--env-border-strong) !important;
  background: var(--env-solid) !important; color: var(--env-ink) !important; font-size:.78rem !important; }
#psAddBtn{ margin-top:2px; }
@media (max-width:640px){
  .pk{ width: calc(100% - 20px); }
  .pk-tabs .pk-toggle{ flex-direction:column; gap:4px; padding:7px 4px; text-align:center; }
  .pk-tabs .pk-text{ align-items:center; }
  .pk-tabs .pk-text span{ display:none; }
}
@media (max-width:640px){
  /* ردیفِ کنترل‌هایِ موبایل جا ندارد؛ انتخابِ رنگِ تم (کم‌کاربرد) در موبایل از تنظیماتِ نمایش در دسترس است */
  .env-topbar-ctrl .env-theme-wrap{ display:none; }
  #psAddBtn span, #pkBar .pk-actions .wd-icon-btn span{ display:inline; }
}
@media (max-width:640px){
  /* دستیارِ شخصی: نامِ دستیار همین حالا در عنوان هست؛ دکمهٔ انتخابِ مدل در موبایل جا را تنگ می‌کرد */
  .env-shell[data-family="persona"] #envModelBtn{ display:none; }
  /* صفحهٔ خالی: هیچ بخشی فشرده/رویِ هم نیفتد — به‌جایش خودِ ناحیه اسکرول می‌شود */
  .env-empty{ overflow-y:auto; min-height:0; }
  .env-empty > *{ flex-shrink:0; }
  .env-empty .pe-avatar{ width:58px; height:58px; min-height:58px; font-size:1.6rem; border-radius:18px; }
}
/* کارتِ اتصال به پیام‌رسان در صفحهٔ اصلیِ دستیارها */
.pm-card{ max-width:1040px; margin:0 auto 26px; padding:16px; border-radius:20px; background: var(--glass); border:1px solid var(--env-border);
  -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); box-shadow: var(--shadow-sm); animation: envRise .45s cubic-bezier(.2,.8,.2,1) both; }
.pm-card[hidden]{ display:none !important; }
.pm-card [hidden]{ display:none !important; }
.pm-card-head{ display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.pm-card-ic{ width:42px; height:42px; border-radius:13px; display:grid; place-items:center; color:#fff; flex-shrink:0; background: linear-gradient(135deg, #38BDF8, #059669); }
.pm-card-ic .ui-ic{ width:20px; height:20px; transform: rotate(45deg); }
.pm-card-head b{ display:block; font-size:.92rem; }
.pm-card-head span{ font-size:.76rem; color: var(--env-ink-muted); line-height:1.8; }
.pm-card .pm-list{ display:grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap:8px; margin:0; }
.pm-card .pm-code{ margin-top:10px; }
@media (max-width:640px){
  .pm-row{ flex-wrap:wrap; }
  .pm-row .pm-info{ flex-basis: calc(100% - 90px); }
  .pm-row .wd-primary{ flex-basis:100%; justify-content:center; }
  .pm-info b i{ display:block; }
  .pm-code .wd-icon-btn span{ display:inline; }
}

/* تبِ «برای مشتری‌ها» — دستیارِ عمومیِ کسب‌وکار */
.pk-tabs{ grid-template-columns: repeat(4, minmax(0,1fr)); }
.pb-switch{ display:flex !important; align-items:flex-start; gap:12px; cursor:pointer; margin:0 0 12px !important; position:relative; }
.pb-switch input{ position:absolute; opacity:0; pointer-events:none; }
.pb-knob{ flex-shrink:0; width:44px; height:26px; border-radius:999px; background: var(--env-border-strong); position:relative; transition: background .2s; margin-top:2px; }
.pb-knob::after{ content:""; position:absolute; top:3px; right:3px; width:20px; height:20px; border-radius:50%; background:#fff; box-shadow: 0 2px 5px rgba(0,0,0,.2); transition: transform .25s cubic-bezier(.5,1.6,.4,1); }
.pb-switch input:checked + .pb-knob{ background: var(--accent); }
.pb-switch input:checked + .pb-knob::after{ transform: translateX(-18px); }
.pb-switch b{ display:block; font-size:.84rem; color: var(--env-ink); }
.pb-switch small{ display:block; font-size:.72rem; color: var(--env-ink-muted); line-height:1.85; font-weight:500; }
.pb-meter{ padding:10px 12px; border-radius:12px; background: var(--env-hover); margin-bottom:10px; }
.pb-meter-top{ display:flex; justify-content:space-between; font-size:.74rem; color: var(--env-ink-muted); }
.pb-meter-top b{ color: var(--env-ink); }
.pb-meter i{ display:block; height:7px; border-radius:7px; background: var(--env-border); margin:7px 0 5px; overflow:hidden; }
.pb-meter em{ display:block; height:100%; border-radius:7px; background: var(--accent); transition: width .5s; }
.pb-meter em.warn{ background:#F59E0B; }
.pb-meter small{ font-size:.7rem; color: var(--env-ink-muted); }
.pb-field{ margin-bottom:10px; }
.pb-field > span{ display:block; font-size:.72rem; font-weight:700; color: var(--env-ink-muted); margin-bottom:5px; }
.pb-copy{ display:flex; gap:6px; align-items:center; }
.pb-copy code{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-family: ui-monospace, monospace; font-size:.74rem;
  padding:8px 10px; border-radius:10px; background: var(--env-solid); border:1px solid var(--env-border); color: var(--env-ink); }
.pb-copy a.wd-icon-btn{ text-decoration:none; }
.pb-more{ margin:4px 0 10px; }
.pb-more summary{ cursor:pointer; font-size:.78rem; font-weight:700; color: var(--env-ink-muted); display:flex; align-items:center; gap:6px; list-style:none; }
.pb-more summary .ui-ic{ width:14px; height:14px; }
.pb-row{ display:grid; grid-template-columns: 1fr 1fr; gap:8px; }
.pb-row label{ display:flex !important; flex-direction:column; gap:4px; font-size:.7rem !important; color: var(--env-ink-muted) !important; margin:0 !important; }
.pb-sessions-title{ display:flex; align-items:center; gap:6px; font-size:.74rem; font-weight:800; color: var(--env-ink-muted); margin:6px 0; }
.pb-sessions-title .ui-ic{ width:14px; height:14px; }
.pb-sess{ width:100%; cursor:pointer; text-align:start; font-family:inherit; color: var(--env-ink); }
.pb-sess .pk-item-name{ display:flex; flex-direction:column; white-space:normal; }
.pb-sess small{ font-size:.66rem; color: var(--env-ink-muted); font-weight:500; }
.pb-sess:hover{ border-color: var(--accent); }
.pb-tr-bd{ display:flex; align-items:center; justify-content:center; padding:16px; }
.pb-tr{ position:relative; width:min(520px, 100%); max-height: calc(100vh - 32px); overflow:auto; padding:20px; border-radius:22px; background: var(--env-solid, #fff); color: var(--env-ink); box-shadow: var(--shadow-lg); }
.pb-tr h3{ display:flex; align-items:center; gap:8px; margin:0 0 14px; font-size:.98rem; }
.pb-tr h3 .ui-ic{ width:18px; height:18px; color: var(--accent); }
.pb-tr .vg-close{ position:absolute; top:12px; inset-inline-end:12px; }
.pb-tr-log{ display:flex; flex-direction:column; gap:8px; }
.pb-tr-m{ max-width:86%; padding:9px 13px; border-radius:16px; font-size:.82rem; line-height:1.9; }
.pb-tr-m.me{ align-self:flex-start; background: var(--env-hover); }
.pb-tr-m.bot{ align-self:flex-end; color:#fff; background: var(--env-bubble-user); }
@media (max-width:640px){ .pk-tabs .pk-text b{ font-size:.68rem; } .pb-row{ grid-template-columns:1fr; } .pb-copy .wd-icon-btn span{ display:none; } }

/* پیش‌نمایشِ کوچکِ آواتار در مودالِ «ساختنِ دستیار» — با توکن‌هایِ استودیو (نه رنگ‌هایِ سایتِ اصلی) */
.env-shell .pc-preview-mini, .env-modal .pc-preview-mini{ position:relative; overflow:hidden; gap:14px; padding:16px; border-radius:18px;
  background: var(--env-hover); border:1px solid var(--env-border); }
.env-modal .pc-preview-mini::before{ content:""; position:absolute; inset:0 auto 0 0; width:45%; pointer-events:none;
  background: radial-gradient(80% 120% at 0% 50%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 70%); }
.env-modal .pc-preview-avatar{ position:relative; width:58px; height:58px; border-radius:18px; font-size:1.7rem; color:#fff;
  box-shadow: 0 10px 22px -12px rgba(0,0,0,.45), inset 0 0 0 2px rgba(255,255,255,.35); }
.env-modal .pc-preview-avatar img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.env-modal .pc-preview-avatar img[hidden], .pc-preview-avatar img[hidden]{ display:none !important; }
.env-modal .pc-preview-mini b{ color: var(--env-ink) !important; font-size:.98rem; font-weight:800; }
.env-modal .pc-preview-mini p{ color: var(--env-ink-muted) !important; font-size:.78rem; }

/* ===== کارت‌هایِ ابزار: حاشیهٔ گرادیانی به رنگِ همان استودیو (۱۴۰۵/۰۷/۲۱) =====
   حاشیه با ::after و mask-composite (ایستا، بدونِ هزینهٔ انیمیشن) — در hover پررنگ‌تر
   می‌شود و یک برقِ نرم یک بار از رویش رد می‌شود (::before، فقط transform). */
.env-persona-card{ --pc-c: var(--persona-accent, var(--accent)); border-color: transparent !important;
  background-image: radial-gradient(130% 70% at 100% 0%, color-mix(in srgb, var(--pc-c) 9%, transparent), transparent 62%); }
.env-persona-card::after{ opacity:1 !important; padding:1.5px !important;
  background: linear-gradient(150deg,
    color-mix(in srgb, var(--pc-c) 85%, transparent) 0%,
    color-mix(in srgb, var(--pc-c) 30%, transparent) 30%,
    color-mix(in srgb, var(--pc-c) 10%, transparent) 55%,
    color-mix(in srgb, var(--pc-c) 45%, transparent) 100%) !important;
  transition: filter .25s; }
.env-persona-card:hover::after{ filter: saturate(1.4) brightness(1.05);
  background: linear-gradient(150deg, var(--pc-c) 0%, color-mix(in srgb, var(--pc-c) 55%, transparent) 40%, color-mix(in srgb, var(--pc-c) 35%, transparent) 60%, var(--pc-c) 100%) !important; }
.env-persona-card::before{ content:""; position:absolute; top:0; bottom:0; left:-60%; width:45%; pointer-events:none; z-index:0;
  background: linear-gradient(100deg, transparent, color-mix(in srgb, var(--pc-c) 16%, transparent), transparent);
  transform: skewX(-18deg) translateX(0); opacity:0; }
.env-persona-card:hover::before{ opacity:1; transform: skewX(-18deg) translateX(420%); transition: transform .9s cubic-bezier(.3,.6,.2,1), opacity .2s; }
.env-persona-card > *{ position:relative; z-index:1; }
.env-persona-card .env-card-go, .env-persona-card .env-persona-card-del, .env-persona-card .env-persona-public-badge{ position:absolute; z-index:2; }
.env-persona-card:hover{ box-shadow: var(--shadow-md), 0 18px 36px -24px var(--pc-c) !important; }
.env-persona-card--new{ background-image:none; }
.env-persona-card--new::after{ display:none; }

/* =========================================================
   «جلوه‌هایِ سبک» — html.env-fx-lite (پیش‌فرض در فایرفاکس؛ قابلِ انتخاب در تنظیماتِ نمایش)
   اندازه‌گیریِ واقعی (فایرفاکس، رندرِ نرم‌افزاری): انیمیشن‌هایِ پیوستهٔ پس‌زمینه پشتِ شیشه‌هایِ
   backdrop-filter باعث می‌شد هر فریم کلِ صفحه دوباره رنگ شود. این‌جا: بدونِ backdrop-filter
   (شیشه‌ها مات‌تر)، لکه‌هایِ نورِ پس‌زمینه ایستا و بدونِ blur، و فقط چند ستاره/ذرهٔ سبک.
   ========================================================= */
html.env-fx-lite .env-shell, html.env-fx-lite .env-shell *, html.env-fx-lite .env-shell *::before, html.env-fx-lite .env-shell *::after,
html.env-fx-lite .vg-backdrop, html.env-fx-lite .vg-backdrop *, html.env-fx-lite .env-modal-backdrop, html.env-fx-lite .env-toast{
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important; }
html.env-fx-lite .env-shell{
  --glass: color-mix(in srgb, var(--env-solid) 93%, transparent);
  --glass-strong: var(--env-solid);
  --env-paper-2: color-mix(in srgb, var(--env-solid) 95%, transparent);
}
html.env-fx-lite .env-aurora{ contain: strict; }
html.env-fx-lite .env-aurora i{ animation:none !important; filter:none !important; }
html.env-fx-lite .env-aurora i:nth-child(1){ transform: translate(4vw, 3vh) scale(1.1); }
html.env-fx-lite .env-aurora em, html.env-fx-lite .env-aurora q{ display:none !important; }
html.env-fx-lite .env-aurora b:nth-of-type(n+5), html.env-fx-lite .env-aurora u:nth-of-type(n+4), html.env-fx-lite .env-aurora s:nth-of-type(n+2){ display:none !important; }
html.env-fx-lite .env-aurora b, html.env-fx-lite .env-aurora u, html.env-fx-lite .env-aurora s{ will-change: transform, opacity; }
html.env-fx-lite .hub-value-hl{ animation:none !important; background-position: 20% 0; }
html.env-fx-lite .env-empty-hero::before{ animation:none !important; filter:none !important; }
html.env-fx-lite .hub-featured-glow, html.env-fx-lite .ig-art-orb{ animation:none !important; }
html.env-fx-lite .vg-backdrop, html.env-fx-lite .env-modal-backdrop{ background: rgba(10,12,28,.62) !important; }

/* =========================================================
   صفحهٔ خالیِ هر ابزار (۱۴۰۵/۰۷/۲۱): بدونِ کاشیِ آیکنِ بزرگ — فقط یک سرتیترِ جمع‌وجور که
   هنگامِ اسکرول بالایِ همین ناحیه ثابت می‌ماند (sticky)، با پس‌زمینهٔ شیشه‌ای و
   یک خطِ رنگیِ ظریف به رنگِ همان استودیو.
   ========================================================= */
.env-empty{ justify-content:flex-start !important; padding-top:0 !important; }
.env-empty-head{ position:sticky; top:0; z-index:6; width:100%; max-width:760px; box-sizing:border-box; margin:0 auto 6px;
  padding:16px 18px 12px; text-align:center;
  background: linear-gradient(180deg, color-mix(in srgb, var(--env-paper) 92%, transparent) 70%, transparent);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.env-empty-head::after{ content:""; display:block; width:48px; height:3px; border-radius:3px; margin:10px auto 0;
  background: linear-gradient(90deg, transparent, var(--accent), transparent); opacity:.8; }
.env-empty .env-empty-head h2{ display:inline-flex; align-items:center; justify-content:center; gap:9px; margin:0 0 4px; font-size:1.08rem; font-weight:800; letter-spacing:-.2px; }
.env-empty .env-empty-head p{ margin:0 auto; max-width:560px; font-size:.8rem; line-height:1.85; color: var(--env-ink-muted);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.env-empty .pe-avatar.pe-avatar--sm{ width:30px !important; height:30px !important; min-height:0 !important; border-radius:10px !important; font-size:1rem !important;
  display:inline-grid; place-items:center; overflow:hidden; box-shadow:none; }
.env-empty .pe-avatar--sm img{ width:100%; height:100%; object-fit:cover; }
.env-empty-head + *{ margin-top:8px; }
html.env-fx-lite .env-empty-head{ -webkit-backdrop-filter:none !important; backdrop-filter:none !important; background: var(--env-paper); }
@media (max-width:640px){
  .env-empty-head{ padding:12px 14px 10px; }
  .env-empty .env-empty-head h2{ font-size:.98rem; }
  .env-empty .env-empty-head p{ font-size:.76rem; }
}
.env-empty-head{ background:none; -webkit-backdrop-filter:none; backdrop-filter:none; padding:14px 12px 4px; }
.env-empty-head > *{ position:relative; }
.env-empty-head::before{ content:""; position:absolute; inset:6px 0 -6px; z-index:-1; border-radius:0 0 22px 22px; pointer-events:none;
  background: linear-gradient(180deg, var(--env-paper) 55%, color-mix(in srgb, var(--env-paper) 0%, transparent));
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent); mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent); }
.env-empty-head{ isolation:isolate; }
/* پنل‌هایِ بازشوندهٔ نوارِ دستیار (دانسته‌ها/پیام‌رسان/…) همیشه رویِ سرتیترِ ثابتِ صفحهٔ خالی باشند */
.pk{ z-index:30 !important; }
.pk.open{ z-index:40 !important; }
.env-empty-head{ z-index:3; }

/* =========================================================
   ۱۴۰۵/۰۷/۲۱ — قابلیت‌هایِ هوشمند + کادرهایِ جمع‌وجورتر در موبایل
   ========================================================= */
.vg-open-box{ font-family:inherit; }
/* کادرِ رهاکردنِ فایل / گالریِ صدا در موبایل: افقی و کم‌ارتفاع تا زیرِ بقیه نرود */
@media (max-width:640px){
  .env-dropzone{ margin:12px 14px 0 !important; padding:12px 14px !important; border-radius:18px; display:grid !important;
    grid-template-columns:auto 1fr; grid-template-rows:auto auto; column-gap:12px; row-gap:2px; text-align:start; align-items:center; }
  .env-dropzone .env-dropzone-ic{ grid-row: span 2; width:42px !important; height:42px !important; border-radius:14px; margin:0; }
  .env-dropzone .env-dropzone-ic .ui-ic{ width:21px; height:21px; }
  .env-dropzone b{ font-size:.86rem; }
  .env-dropzone > span:not(.env-dropzone-ic){ font-size:.7rem; line-height:1.6; }
  .env-dropzone em{ display:none !important; }
}

/* چت: سؤال‌هایِ بعدیِ پیشنهادی */
.env-followups{ display:flex; flex-direction:column; align-items:flex-start; gap:6px; margin-top:10px; max-width:100%; animation: envRise .4s cubic-bezier(.2,.8,.2,1) both; }
.env-followups-label{ display:inline-flex; align-items:center; gap:5px; font-size:.7rem; font-weight:800; color: var(--accent); margin-bottom:2px; }
.env-followups-label .ui-ic{ width:13px; height:13px; }
.env-fu{ display:inline-flex; align-items:center; gap:8px; max-width:100%; padding:8px 12px; border-radius:12px; cursor:pointer; font-family:inherit; font-size:.8rem;
  text-align:start; color: var(--env-ink); background: var(--glass); border:1px solid var(--env-border); transition: border-color .15s, background .15s, transform .15s; }
.env-fu:hover{ border-color: var(--accent); background: var(--accent-soft); transform: translateX(-3px); }
.env-fu i{ display:inline-grid; color: var(--accent); flex-shrink:0; }
.env-fu i .ui-ic{ width:14px; height:14px; }
.env-fu-skel{ width:min(320px, 70vw); height:32px; border-radius:12px; background: linear-gradient(90deg, var(--env-hover), color-mix(in srgb, var(--accent) 10%, var(--env-hover)), var(--env-hover));
  background-size:200% 100%; animation: wdBar 1.2s linear infinite; }
.env-fu-skel:nth-of-type(2){ width:min(260px, 60vw); } .env-fu-skel:nth-of-type(3){ width:min(290px, 65vw); }

/* تصویرساز: «حرفه‌ای‌ترش کن» */
.env-composer{ position:relative; }
.env-enhance-btn{ position:absolute; top:10px; inset-inline-start:12px; z-index:2; display:inline-flex; align-items:center; gap:6px; padding:6px 11px; border-radius:999px;
  cursor:pointer; font-family:inherit; font-size:.74rem; font-weight:800; color:#fff; border:none;
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 70%, #fff), var(--accent)); box-shadow: 0 8px 18px -10px var(--accent-glow); }
.env-enhance-btn[hidden]{ display:none; }
.env-enhance-btn .ui-ic{ width:15px; height:15px; }
.env-enhance-btn.busy{ opacity:.8; cursor:progress; }
.env-enhance-btn.busy .ui-ic{ animation: wdSpin 1s linear infinite; }
#envInput.env-enhanced{ animation: wdPulse 1.2s ease-in-out 1; }
.env-shell[data-family-mode="image"] #envInput{ padding-top:44px; }

/* کدنویسی: محیطِ اجرا */
.cp-launch{ width:min(560px, 100%); margin-top:18px; display:flex; align-items:center; gap:14px; padding:16px 18px; border-radius:20px; cursor:pointer; text-align:start;
  font-family:inherit; color: var(--env-ink); background: var(--glass); border:1px solid color-mix(in srgb, var(--accent) 35%, var(--env-border));
  box-shadow: var(--shadow-sm); transition: transform .2s, box-shadow .2s, border-color .2s; animation: envRise .5s cubic-bezier(.2,.8,.2,1) both; }
.cp-launch:hover{ transform: translateY(-3px); border-color: var(--accent); box-shadow: var(--shadow-md), 0 16px 30px -22px var(--accent); }
.cp-launch-ic{ width:48px; height:48px; border-radius:15px; display:grid; place-items:center; color:#fff; flex-shrink:0; background: var(--env-bubble-user); }
.cp-launch-ic .ui-ic{ width:22px; height:22px; }
.cp-launch-body{ flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
.cp-launch-body b{ font-size:.95rem; } .cp-launch-body span{ font-size:.76rem; color: var(--env-ink-muted); line-height:1.8; }
.cp-launch-langs{ display:flex; flex-direction:column; gap:4px; }
.cp-launch-langs i{ font-style:normal; font-family: ui-monospace, monospace; font-size:.66rem; font-weight:700; padding:2px 8px; border-radius:6px; color: var(--accent); background: var(--accent-soft); text-align:center; }
.cp-backdrop{ display:flex; align-items:center; justify-content:center; padding:16px; }
.cp-backdrop[hidden]{ display:none !important; }
.cp-panel{ width:min(860px, 100%); max-height: calc(100vh - 32px); display:flex; flex-direction:column; gap:10px; padding:16px; border-radius:22px;
  background: var(--env-solid); color: var(--env-ink); box-shadow: var(--shadow-lg); box-sizing:border-box; }
.cp-head{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.cp-head b{ display:inline-flex; align-items:center; gap:7px; font-size:.95rem; margin-inline-end:auto; }
.cp-head b .ui-ic{ width:17px; height:17px; color: var(--accent); }
.cp-head .vg-close{ position:static; }
.cp-langs{ display:inline-flex; padding:3px; border-radius:12px; background: var(--env-hover); direction:ltr; }
.cp-langs button{ border:none; background:none; cursor:pointer; padding:6px 12px; border-radius:9px; font-family: ui-monospace, monospace; font-size:.74rem; font-weight:700; color: var(--env-ink-muted); }
.cp-langs button.on{ background: var(--env-solid); color: var(--accent); box-shadow: var(--shadow-sm); }
.cp-code, .cp-code:focus{ width:100%; min-height:220px; flex:1; resize:vertical; box-sizing:border-box; padding:14px !important; border-radius:14px !important;
  border:1px solid var(--env-border-strong) !important; background:#0F172A !important; color:#E2E8F0 !important; outline:none;
  font: 500 .84rem/1.7 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important; tab-size:4; text-align:left; }
.cp-bar{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.cp-bar .wd-primary{ padding:9px 16px; }
.cp-bar .wd-primary kbd{ font-size:.62rem; padding:1px 5px; border-radius:5px; background: rgba(255,255,255,.2); font-family: ui-monospace, monospace; }
.cp-bar .wd-primary .ui-ic{ width:15px; height:15px; }
.cp-status{ font-size:.72rem; color: var(--env-ink-muted); }
.cp-out{ max-height:280px; overflow:auto; border-radius:14px; }
.cp-out:empty{ display:none; }
.cp-term{ margin:0; padding:12px 14px; border-radius:14px; background:#0B1220; color:#A7F3D0; direction:ltr; text-align:left;
  font: 500 .8rem/1.7 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space:pre-wrap; word-break:break-word; }
.cp-term .err{ color:#FCA5A5; } .cp-term .muted{ color:#94A3B8; }
.cp-frame{ width:100%; height:300px; border:1px solid var(--env-border); border-radius:14px; background:#fff; display:block; }
.cp-run-status{ display:flex; align-items:center; gap:8px; font-size:.74rem; color: var(--env-ink-muted); padding:6px 2px; }
.cp-out--inline{ margin:8px 10px 10px; max-height:none; }
.cp-out--inline[hidden]{ display:none; }
.cp-out--inline .cp-term{ max-height:260px; overflow:auto; }
.cp-fix{ margin-top:8px; }
.cp-run-btn{ color: var(--accent) !important; }
@media (max-width:640px){
  .cp-launch{ margin:12px 14px 0; width:auto; align-self:stretch; padding:12px 14px; }
  .cp-launch-langs{ display:none; }
  .cp-launch-ic{ width:42px; height:42px; }
  .cp-panel{ padding:12px; border-radius:18px; } .cp-code{ min-height:180px; }
}
.code-block-head .cp-run-btn{ color:#A5B4FC !important; background: rgba(165,180,252,.12) !important; }
/* رونویسی: ابزارهایِ بعد از رونوشت */
.tt-tools{ display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:8px; margin-top:10px; max-width:640px; animation: envRise .4s cubic-bezier(.2,.8,.2,1) both; }
.tt-label{ grid-column:1/-1; display:inline-flex; align-items:center; gap:5px; font-size:.72rem; font-weight:800; color: var(--accent); }
.tt-label .ui-ic{ width:13px; height:13px; }
.tt-btn{ display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; column-gap:9px; align-items:center; text-align:start; padding:10px 12px; border-radius:14px;
  cursor:pointer; font-family:inherit; color: var(--env-ink); background: var(--glass); border:1px solid color-mix(in srgb, var(--accent) 25%, var(--env-border));
  transition: transform .15s, border-color .15s, background .15s; }
.tt-btn:hover{ transform: translateY(-2px); border-color: var(--accent); background: var(--accent-soft); }
.tt-btn.busy{ cursor:progress; opacity:.85; }
.tt-btn.done{ border-color: color-mix(in srgb, #16A34A 45%, var(--env-border)); }
.tt-ic{ grid-row: span 2; width:32px; height:32px; border-radius:10px; display:grid; place-items:center; color:#fff; background: var(--env-bubble-user); }
.tt-ic .ui-ic{ width:16px; height:16px; }
.tt-btn b{ font-size:.82rem; } .tt-btn small{ display:flex; align-items:center; gap:5px; font-size:.68rem; color: var(--env-ink-muted); }
@media (max-width:640px){ .tt-tools{ grid-template-columns:1fr; } }

/* ── ابزارهایِ اختصاصیِ دستیار ── */
.ptools{ display:flex; align-items:center; gap:6px; overflow-x:auto; scrollbar-width:none; padding:2px 2px 8px; margin:0 auto; max-width:760px; }
.ptools::-webkit-scrollbar{ display:none; }
.ptools-label{ flex-shrink:0; display:inline-flex; align-items:center; gap:4px; font-size:.7rem; font-weight:800; color: var(--accent); }
.ptools-label .ui-ic{ width:13px; height:13px; }
.ptool{ flex-shrink:0; display:inline-flex; align-items:center; gap:6px; padding:7px 12px; border-radius:999px; cursor:pointer; font-family:inherit; font-size:.76rem; font-weight:700;
  color: var(--env-ink); background: var(--glass); border:1px solid color-mix(in srgb, var(--accent) 28%, var(--env-border)); transition: all .15s; white-space:nowrap; }
.ptool:hover{ border-color: var(--accent); background: var(--accent-soft); color: var(--accent); transform: translateY(-1px); }
.ptool .ui-ic{ width:15px; height:15px; color: var(--accent); }
.ptool em{ font-style:normal; font-size:.6rem; padding:1px 6px; border-radius:6px; color:#fff; background: var(--accent); }
.ptool-bd{ display:flex; align-items:center; justify-content:center; padding:16px; }
.ptool-sheet{ position:relative; width:min(480px, 100%); max-height: calc(100vh - 32px); overflow:auto; padding:22px 20px 18px; border-radius:22px; box-sizing:border-box;
  background: var(--env-solid, #fff); color: var(--env-ink); box-shadow: var(--shadow-lg); animation: envPop .22s cubic-bezier(.2,.9,.3,1.2); }
.ptool-sheet .vg-close{ position:absolute; top:12px; inset-inline-end:12px; }
.ptool-head{ display:flex; align-items:center; gap:12px; margin-bottom:16px; padding-inline-end:36px; }
.ptool-ic{ width:44px; height:44px; border-radius:14px; display:grid; place-items:center; color:#fff; flex-shrink:0; background: var(--env-bubble-user); }
.ptool-ic svg{ width:21px; height:21px; }
.ptool-head b{ display:block; font-size:1rem; } .ptool-head span{ font-size:.76rem; color: var(--env-ink-muted); }
.ptool-form{ display:flex; flex-direction:column; gap:12px; }
.ptool-f label{ display:block !important; font-size:.76rem !important; font-weight:700; color: var(--env-ink-muted) !important; margin:0 0 6px !important; }
.ptool-f input, .ptool-f textarea, .ptool-f input:focus, .ptool-f textarea:focus{ width:100%; box-sizing:border-box; padding:10px 12px !important; border-radius:12px !important;
  border:1px solid var(--env-border-strong) !important; background: var(--env-paper) !important; color: var(--env-ink) !important; font-size:.86rem !important; min-height:0; }
.ptool-f input:focus, .ptool-f textarea:focus{ border-color: var(--accent) !important; }
.ptool-seg{ display:flex; flex-wrap:wrap; gap:6px; }
.ptool-seg button{ padding:7px 12px; border-radius:10px; cursor:pointer; font-family:inherit; font-size:.76rem; font-weight:600; color: var(--env-ink);
  background: var(--env-hover); border:1px solid transparent; }
.ptool-seg button.on{ background: var(--accent-soft); border-color: var(--accent); color: var(--accent); font-weight:800; }
.ptool-form .wd-primary{ justify-content:center; margin-top:4px; }
.ptool-note{ text-align:center; font-size:.7rem; color: var(--env-ink-muted); }
/* آزمونک */
.qz-top{ display:flex; flex-direction:column; gap:8px; margin-bottom:16px; padding-inline-end:36px; }
.qz-top b{ font-size:.98rem; }
.qz-prog{ display:block; height:6px; border-radius:6px; background: var(--env-hover); overflow:hidden; }
.qz-prog i{ display:block; height:100%; width:0; background: var(--env-bubble-user); transition: width .4s; }
.qz-count{ font-size:.7rem; color: var(--env-ink-muted); }
.qz-q{ font-size:.96rem; font-weight:700; line-height:1.95; margin:0 0 12px; }
.qz-opts{ display:flex; flex-direction:column; gap:8px; }
.qz-opt{ display:flex; align-items:center; gap:10px; padding:11px 13px; border-radius:13px; cursor:pointer; text-align:start; font-family:inherit; font-size:.86rem;
  color: var(--env-ink); background: var(--env-paper); border:1.5px solid var(--env-border); transition: all .15s; }
.qz-opt:hover{ border-color: var(--accent); }
.qz-opt i{ font-style:normal; width:26px; height:26px; border-radius:8px; display:grid; place-items:center; flex-shrink:0; font-weight:800; font-size:.78rem; background: var(--env-hover); }
.qz-opt.right{ border-color:#16A34A; background: rgba(22,163,74,.1); } .qz-opt.right i{ background:#16A34A; color:#fff; }
.qz-opt.wrong{ border-color:#DC2626; background: rgba(220,38,38,.08); } .qz-opt.wrong i{ background:#DC2626; color:#fff; }
.qz-opt.dim{ opacity:.55; }
.qz-exp{ margin-top:12px; padding:12px; border-radius:13px; background: var(--env-hover); display:flex; flex-direction:column; gap:6px; font-size:.82rem; line-height:1.9; animation: envRise .3s both; }
.qz-exp .wd-primary{ align-self:flex-end; margin-top:4px; }
.qz-res{ display:flex; flex-direction:column; align-items:center; gap:12px; text-align:center; padding:6px 0; }
.qz-ring{ --p:0; width:120px; height:120px; border-radius:50%; display:grid; place-items:center;
  background: radial-gradient(closest-side, var(--env-solid) 78%, transparent 80% 100%), conic-gradient(var(--accent) calc(var(--p) * 1%), var(--env-hover) 0); }
.qz-ring b{ font-size:1.5rem; }
.qz-res small{ font-size:.7rem; color: var(--env-ink-muted); }
/* کسب‌وکار */
.pt-biz, .pt-ntools{ position:absolute; bottom:8px; inset-inline-end:10px; display:inline-flex; align-items:center; gap:3px; font-size:.6rem; font-weight:800; padding:2px 7px; border-radius:6px; }
.pt-biz{ color:#B45309; background: rgba(245,158,11,.14); }
.pt-ntools{ inset-inline-end:auto; inset-inline-start:10px; color: var(--pt-c); background: color-mix(in srgb, var(--pt-c) 12%, transparent); }
.pt-biz .ui-ic, .pt-ntools .ui-ic{ width:10px; height:10px; }
.pt-card{ padding-bottom:28px; }
.pt-cat--biz{ border-color: rgba(245,158,11,.4); }
.bx{ max-width:1040px; margin:0 auto 26px; padding:18px; border-radius:20px; background: linear-gradient(135deg, rgba(245,158,11,.10), transparent 60%), var(--glass);
  border:1px solid rgba(245,158,11,.3); box-shadow: var(--shadow-sm); }
.bx-head{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.bx-ic{ width:42px; height:42px; border-radius:13px; display:grid; place-items:center; color:#fff; flex-shrink:0; background: linear-gradient(135deg, #FBBF24, #D97706); }
.bx-ic .ui-ic{ width:20px; height:20px; }
.bx-head b{ display:block; font-size:.95rem; } .bx-head span{ font-size:.76rem; color: var(--env-ink-muted); line-height:1.8; }
.bx-steps{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:10px; }
.bx-steps li{ display:flex; flex-direction:column; gap:4px; padding:12px; border-radius:14px; background: var(--env-solid); border:1px solid var(--env-border); }
.bx-steps i{ font-style:normal; width:24px; height:24px; border-radius:8px; display:grid; place-items:center; font-weight:800; font-size:.76rem; color:#fff; background:#D97706; }
.bx-steps b{ font-size:.84rem; } .bx-steps span{ font-size:.72rem; color: var(--env-ink-muted); line-height:1.8; }
.bx-steps span .ui-ic{ width:12px; height:12px; color:#D97706; vertical-align:-2px; }
.bx-note{ display:flex; align-items:center; gap:6px; margin:12px 0 0; font-size:.72rem; color: var(--env-ink-muted); }
.bx-note .ui-ic{ width:14px; height:14px; color:#D97706; flex-shrink:0; }
.pb-guide{ display:flex; flex-direction:column; gap:8px; }
.pb-guide[hidden]{ display:none !important; }
.pb-guide-step{ display:flex; gap:10px; align-items:flex-start; padding:9px 11px; border-radius:12px; background: var(--env-hover); font-size:.74rem; line-height:1.85; color: var(--env-ink-muted); }
.pb-guide-step i{ font-style:normal; width:22px; height:22px; border-radius:7px; display:grid; place-items:center; flex-shrink:0; font-weight:800; font-size:.72rem; color:#fff; background: var(--accent); }
.pb-guide-step b{ color: var(--env-ink); }
@media (max-width:640px){
  .bx-steps{ grid-template-columns:1fr; }
  .ptool-bd{ align-items:flex-end; padding:0; } .ptool-sheet{ border-radius:22px 22px 0 0; max-height:90vh; }
}

/* ── گالری و پیش‌نمایشِ قالب‌های رزومه (۱۴۰۵/۰۷/۲۱) ── */
.rzg-filters{ display:flex; gap:6px; flex-wrap:wrap; justify-content:center; margin:10px 0 2px; }
.rzg-filters button{ font-family:inherit; font-size:.76rem; font-weight:700; padding:6px 14px; border-radius:999px; cursor:pointer;
  color: var(--env-ink-muted); background: var(--env-paper); border:1px solid var(--env-border); transition: all .2s; }
.rzg-filters button:hover{ color: var(--env-ink); border-color: color-mix(in srgb, var(--accent) 40%, var(--env-border)); }
.rzg-filters button.on{ color:#fff; background: var(--accent); border-color: var(--accent); box-shadow: 0 8px 18px -10px var(--accent-glow); }
.rzg-filters button i{ font-style:normal; font-size:.62rem; padding:1px 6px; border-radius:6px; margin-inline-start:3px;
  background: linear-gradient(135deg, #F59E0B, #EC4899); color:#fff; }
.rzg-filters button.on i{ background: rgba(255,255,255,.25); }
.rz-pick-theme[hidden]{ display:none !important; }
.rzg-new{ position:absolute; top:8px; inset-inline-start:8px; display:inline-flex; align-items:center; gap:3px; font-size:.6rem; font-weight:800;
  color:#fff; padding:3px 7px; border-radius:7px; background: linear-gradient(135deg, #F59E0B, #EC4899); box-shadow: 0 6px 14px -6px rgba(236,72,153,.6); }
.rzg-new .ui-ic{ width:10px; height:10px; }
.rzg-eye{ position:absolute; top:42%; left:50%; transform: translate(-50%, -50%) scale(.85); opacity:0; display:inline-flex; align-items:center; gap:5px;
  font-size:.7rem; font-weight:800; color:#fff; padding:6px 11px; border-radius:999px; background: rgba(15,23,42,.78); transition: opacity .2s, transform .2s; white-space:nowrap; }
.rzg-eye .ui-ic{ width:13px; height:13px; }
.rz-pick-theme:hover .rzg-eye, .rz-pick-theme:focus-visible .rzg-eye{ opacity:1; transform: translate(-50%, -50%); }
.rz-dd-new{ font-style:normal; font-size:.6rem; font-weight:800; color:#DB2777; background: rgba(236,72,153,.1); padding:1px 6px; border-radius:6px; margin-inline-start:4px; }

.rzpv-backdrop{ align-items:center; }
.rzpv-panel{ position:relative; width:100%; max-width:980px; display:flex; gap:26px; padding:26px; border-radius:26px;
  background: var(--env-paper); color: var(--env-ink); border:1px solid var(--env-border); box-shadow: 0 30px 90px rgba(0,0,0,.5);
  animation: vg-panel-in .25s cubic-bezier(.2,.8,.3,1); }
.rzpv-stage{ flex:1.25; min-width:0; display:flex; align-items:center; gap:10px; }
.rzpv-paper{ position:relative; flex:1; aspect-ratio: 1 / 1.414; max-height:78vh; border-radius:10px; overflow:hidden; background:#fff;
  box-shadow: 0 24px 50px -20px rgba(0,0,0,.45), 0 0 0 1px rgba(0,0,0,.06); }
.rzpv-paper img{ display:block; width:100%; height:100%; object-fit:contain; transition: opacity .25s, filter .25s; }
.rzpv-paper.loading img{ opacity:.55; filter: blur(1.5px); }
.rzpv-spin{ position:absolute; top:50%; left:50%; width:34px; height:34px; margin:-17px 0 0 -17px; border-radius:50%; opacity:0; pointer-events:none;
  border:3px solid color-mix(in srgb, var(--accent) 25%, transparent); border-top-color: var(--accent); animation: rzpvSpin .8s linear infinite; transition: opacity .2s; }
.rzpv-paper.loading .rzpv-spin{ opacity:1; }
@keyframes rzpvSpin{ to{ transform: rotate(360deg); } }
.rzpv-nav{ flex-shrink:0; width:38px; height:38px; border-radius:50%; display:grid; place-items:center; cursor:pointer;
  border:1px solid var(--env-border); background: var(--env-paper-2); color: var(--env-ink); transition: all .2s; }
.rzpv-nav:hover{ background: var(--accent); color:#fff; border-color: var(--accent); }
.rzpv-nav .ui-ic{ width:17px; height:17px; }
.rzpv-side{ flex:1; min-width:0; display:flex; flex-direction:column; gap:10px; padding-top:18px; }
.rzpv-cat{ align-self:flex-start; font-size:.68rem; font-weight:800; padding:3px 10px; border-radius:7px; color: var(--accent); background: color-mix(in srgb, var(--accent) 12%, transparent); }
.rzpv-cat[data-cat="creative"]{ color:#fff; background: linear-gradient(135deg, #F59E0B, #EC4899); }
.rzpv-side h3{ margin:0; font-size:1.35rem; font-weight:900; }
.rzpv-desc{ margin:0; font-size:.84rem; line-height:1.9; color: var(--env-ink-muted); }
.rzpv-tags{ display:flex; gap:6px; flex-wrap:wrap; }
.rzpv-tags span{ font-size:.68rem; font-weight:700; padding:3px 9px; border-radius:999px; border:1px solid var(--env-border); color: var(--env-ink-muted); }
.rzpv-label{ display:flex; align-items:center; gap:6px; margin-top:6px; font-size:.76rem; font-weight:800; color: var(--env-ink); }
.rzpv-label .ui-ic{ width:15px; height:15px; color: var(--accent); }
.rzpv-colors, .rz-color-row{ display:flex; gap:8px; flex-wrap:wrap; }
.rzpv-colors .rz-color-swatch{ width:28px; height:28px; }
.rz-color-custom{ position:relative; display:inline-block; overflow:hidden;
  background: conic-gradient(from 0deg, #ef4444, #f59e0b, #eab308, #22c55e, #06b6d4, #3b82f6, #8b5cf6, #ec4899, #ef4444) !important; }
.rz-color-custom[style*="--sw"]{ background: var(--sw) !important; }
.rz-color-custom input{ position:absolute; inset:-6px; width:calc(100% + 12px); height:calc(100% + 12px); opacity:0; cursor:pointer; border:none; padding:0; }
.rz-color-custom::after{ content:"+"; position:absolute; inset:0; display:grid; place-items:center; color:#fff; font-weight:900; font-size:.95rem; text-shadow:0 1px 3px rgba(0,0,0,.5); pointer-events:none; }
.rzpv-use{ margin-top:12px; height:50px; border-radius:16px; font-size:.92rem; display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.rzpv-use .ui-ic{ width:17px; height:17px; }
.rzpv-pdf{ align-self:center; display:inline-flex; align-items:center; gap:5px; font-size:.76rem; font-weight:700; color: var(--env-ink-muted); text-decoration:none; }
.rzpv-pdf:hover{ color: var(--accent); }
.rzpv-pdf .ui-ic{ width:14px; height:14px; }
.rzpv-note{ margin:4px 0 0; font-size:.72rem; line-height:1.8; color: var(--env-ink-muted); padding:9px 12px; border-radius:12px; background: var(--env-paper-2); }
.rz-chosen{ display:flex; align-items:center; gap:8px; padding:9px 12px; margin-bottom:12px; border-radius:12px; font-size:.78rem;
  background: color-mix(in srgb, var(--env-family-accent) 8%, transparent); border:1px dashed color-mix(in srgb, var(--env-family-accent) 35%, transparent); }
.rz-chosen .ui-ic{ width:16px; height:16px; color: var(--env-family-accent); flex-shrink:0; }
.rz-chosen span{ flex:1; min-width:0; }
.rz-chosen button{ font-family:inherit; font-size:.72rem; font-weight:700; color: var(--env-family-accent); background:none; border:none; cursor:pointer; padding:2px 4px; }
@media (max-width:760px){
  .rzpv-backdrop{ align-items:flex-end; padding:0; }
  .rzpv-panel{ flex-direction:column; gap:12px; padding:16px 16px calc(18px + env(safe-area-inset-bottom)); border-radius:24px 24px 0 0; max-height:94vh; overflow-y:auto; }
  .rzpv-stage{ gap:6px; }
  .rzpv-paper{ max-height:52vh; aspect-ratio:auto; height:52vh; }
  .rzpv-nav{ width:32px; height:32px; }
  .rzpv-side{ padding-top:0; gap:8px; }
  .rzpv-side h3{ font-size:1.1rem; }
  .rzpv-desc{ font-size:.78rem; }
  .rzpv-panel .vg-close{ top:10px; z-index:2; }
  .rzpv-colors .rz-color-swatch{ width:26px; height:26px; }
}
.rz-gallery-btn{ display:inline-flex; align-items:center; gap:6px; margin-top:4px; font-family:inherit; font-size:.76rem; font-weight:700; cursor:pointer;
  padding:7px 14px; border-radius:999px; color: var(--accent); background: color-mix(in srgb, var(--accent) 9%, var(--env-paper)); border:1px solid color-mix(in srgb, var(--accent) 28%, transparent); }
.rz-gallery-btn:hover{ background: color-mix(in srgb, var(--accent) 15%, var(--env-paper)); }
.rz-gallery-btn .ui-ic{ width:15px; height:15px; }
.rz-gallery-btn i{ font-style:normal; font-size:.66rem; padding:0 6px; border-radius:6px; color:#fff; background: var(--accent); }

/* ═════ عکاسیِ محصول (۱۴۰۵/۰۷/۲۱) ═════ */
.pp-hero{ width:100%; max-width:860px; display:flex; gap:28px; align-items:center; margin-top:18px; text-align:start; }
.pp-ba{ position:relative; flex:0 0 300px; aspect-ratio:4/5; border-radius:22px; overflow:hidden; user-select:none;
  box-shadow: 0 26px 50px -24px rgba(0,0,0,.45), 0 0 0 1px var(--env-border); background: var(--env-paper-2); }
.pp-ba img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.pp-ba-before{ position:absolute; inset:0; clip-path: inset(0 calc(100% - var(--pos)) 0 0); }
.pp-ba-handle{ position:absolute; top:0; bottom:0; left:var(--pos); width:3px; margin-left:-1.5px; background:#fff; box-shadow:0 0 12px rgba(0,0,0,.35); pointer-events:none; }
.pp-ba-handle i{ position:absolute; top:50%; left:50%; width:38px; height:38px; margin:-19px 0 0 -19px; border-radius:50%; background:#fff;
  box-shadow:0 6px 16px rgba(0,0,0,.3); }
.pp-ba-handle i::before, .pp-ba-handle i::after{ content:""; position:absolute; top:50%; width:0; height:0; margin-top:-5px; border:5px solid transparent; }
.pp-ba-handle i::before{ left:7px; border-right-color: var(--accent); } .pp-ba-handle i::after{ right:7px; border-left-color: var(--accent); }
.pp-ba input{ position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:ew-resize; margin:0; direction:ltr; }
.pp-ba-tag{ position:absolute; top:12px; font-size:.68rem; font-weight:800; color:#fff; padding:3px 10px; border-radius:999px; background: rgba(15,23,42,.6); backdrop-filter: blur(4px); pointer-events:none; }
.pp-ba-tag--b{ left:12px; } .pp-ba-tag--a{ right:12px; background: var(--accent); }
.pp-hero-body{ flex:1; min-width:0; display:flex; flex-direction:column; gap:12px; }
.pp-ba-pick{ display:flex; gap:6px; flex-wrap:wrap; }
.pp-ba-pick button{ font-family:inherit; font-size:.7rem; font-weight:700; padding:5px 11px; border-radius:999px; cursor:pointer; color: var(--env-ink-muted);
  background: var(--env-paper); border:1px solid var(--env-border); }
.pp-ba-pick button.on{ color: var(--accent); border-color: color-mix(in srgb, var(--accent) 45%, transparent); background: color-mix(in srgb, var(--accent) 9%, var(--env-paper)); }
.pp-hero-body h3{ margin:0; font-size:1.35rem; font-weight:900; line-height:1.6; color: var(--env-ink); }
.pp-hero-body h3 span{ color: var(--accent); }
.pp-points{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:7px; }
.pp-points li{ display:flex; align-items:flex-start; gap:8px; font-size:.84rem; line-height:1.8; color: var(--env-ink-muted); }
.pp-points li b{ color: var(--env-ink); }
.pp-points .ui-ic{ flex-shrink:0; width:17px; height:17px; margin-top:4px; color:#fff; background: var(--accent); border-radius:50%; padding:3px; }
.pp-hero-up{ align-self:flex-start; display:inline-flex; align-items:center; gap:8px; margin-top:4px; padding:12px 20px; border-radius:16px; cursor:pointer;
  font-weight:800; font-size:.9rem; color:#fff; background: var(--env-bubble-user, var(--accent)); box-shadow: 0 14px 28px -14px var(--accent-glow); transition: transform .2s; }
.pp-hero-up:hover{ transform: translateY(-2px); }
.pp-hero-up .ui-ic{ width:18px; height:18px; }
.pp-hero-note{ font-size:.72rem; color: var(--env-ink-muted); }
.pp-inline-scenes{ width:100%; max-width:860px; margin-top:30px; }
.pp-inline-scenes .env-starters-title{ position:static; justify-content:center; }

.pp-cats{ display:flex; gap:6px; flex-wrap:wrap; justify-content:center; margin:10px 0 14px; }
.pp-cats button{ font-family:inherit; font-size:.76rem; font-weight:700; padding:6px 14px; border-radius:999px; cursor:pointer;
  color: var(--env-ink-muted); background: var(--env-paper); border:1px solid var(--env-border); transition: all .2s; }
.pp-cats button.on{ color:#fff; background: var(--accent); border-color: var(--accent); box-shadow: 0 8px 18px -10px var(--accent-glow); }
.pp-grid{ display:grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap:12px; }
.pp-scene{ position:relative; display:flex; flex-direction:column; padding:0; border-radius:18px; overflow:hidden; cursor:pointer; text-align:start; font-family:inherit;
  background: var(--env-paper); border:2px solid transparent; box-shadow: var(--shadow-sm); color: var(--env-ink);
  transition: transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s, border-color .2s; animation: envRise .5s cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(var(--i, 0) * 25ms); }
.pp-scene[hidden]{ display:none; }
.pp-scene:hover{ transform: translateY(-3px); box-shadow: var(--shadow-md); }
.pp-scene-img{ display:block; aspect-ratio: 4/5; overflow:hidden; background: var(--env-paper-2); }
.pp-scene-img img{ width:100%; height:100%; object-fit:cover; display:block; transition: transform .5s ease; }
.pp-scene:hover .pp-scene-img img{ transform: scale(1.06); }
.pp-scene-txt{ display:flex; flex-direction:column; gap:1px; padding:8px 10px 10px; }
.pp-scene-txt b{ font-size:.8rem; font-weight:800; }
.pp-scene-txt small{ font-size:.66rem; color: var(--env-ink-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pp-scene-flag{ position:absolute; top:8px; inset-inline-start:8px; width:24px; height:24px; border-radius:50%; display:grid; place-items:center; color:#fff;
  background: conic-gradient(#ef4444, #f59e0b, #22c55e, #3b82f6, #a855f7, #ef4444); box-shadow: 0 0 0 2px #fff; }
.pp-scene-flag .ui-ic{ width:13px; height:13px; }
.pp-scene-check{ position:absolute; top:8px; inset-inline-end:8px; width:26px; height:26px; border-radius:50%; display:grid; place-items:center; color:#fff;
  background: var(--accent); opacity:0; transform: scale(.6); transition: all .2s; }
.pp-scene-check .ui-ic{ width:15px; height:15px; }
.pp-scene.on{ border-color: var(--accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent), var(--shadow-md); }
.pp-scene.on .pp-scene-check{ opacity:1; transform:none; }
.pp-scene--custom .pp-scene-img{ display:grid; place-items:center;
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 22%, var(--env-paper)), color-mix(in srgb, var(--accent) 6%, var(--env-paper))); }
.pp-custom-ic{ width:58px; height:58px; border-radius:18px; display:grid; place-items:center; color:#fff; background: var(--accent); box-shadow: 0 12px 26px -12px var(--accent-glow); }
.pp-custom-ic .ui-ic{ width:28px; height:28px; }
.pp-gal-panel{ max-width:980px; }
.pp-gal-title{ display:flex; align-items:center; gap:8px; margin:0 0 4px; font-size:1.1rem; font-weight:900; }
.pp-gal-title .ui-ic{ color: var(--accent); }

/* داک */
.pp-dock{ position:relative; width:100%; display:flex; flex-direction:column; gap:8px; padding:10px; border-radius:22px;
  background: var(--env-paper); border:1px solid var(--env-border); box-shadow: 0 18px 40px -22px rgba(0,0,0,.35); transition: box-shadow .2s, border-color .2s; }
.pp-dock.drag{ border-color: var(--accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 22%, transparent); }
.pp-dock-main{ display:flex; align-items:center; gap:8px; }
.pp-slot{ position:relative; flex-shrink:0; width:62px; height:62px; border-radius:16px; padding:0; cursor:pointer; overflow:hidden; font-family:inherit;
  border:2px dashed color-mix(in srgb, var(--accent) 45%, var(--env-border)); background: color-mix(in srgb, var(--accent) 6%, var(--env-paper)); color: var(--accent); }
.pp-slot-empty{ display:flex; flex-direction:column; align-items:center; gap:2px; }
.pp-slot-empty .ui-ic{ width:20px; height:20px; } .pp-slot-empty b{ font-size:.56rem; font-weight:800; line-height:1.3; }
.pp-slot.filled{ border-style:solid; border-color: var(--env-border); }
.pp-slot.filled .pp-slot-empty{ display:none; }
.pp-slot img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.pp-slot.filled::after{ content:"تعویض"; position:absolute; inset:auto 0 0; font-size:.56rem; font-weight:800; color:#fff; padding:2px 0; background: rgba(0,0,0,.55); }
.pp-slot-spin{ position:absolute; top:50%; left:50%; width:22px; height:22px; margin:-11px; border-radius:50%; border:3px solid rgba(255,255,255,.5); border-top-color:#fff; display:none; animation: rzpvSpin .8s linear infinite; }
.pp-slot.loading .pp-slot-spin{ display:block; } .pp-slot.loading img{ filter: brightness(.6); }
.pp-slot.attn{ animation: scAttn 1.2s ease 2; }
.pp-chip{ flex:1; min-width:0; display:flex; align-items:center; gap:9px; height:62px; padding:6px 8px 6px 12px; border-radius:16px; cursor:pointer; font-family:inherit; text-align:start;
  background: var(--env-paper-2); border:1px solid var(--env-border); color: var(--env-ink); }
.pp-chip:hover{ border-color: color-mix(in srgb, var(--accent) 40%, var(--env-border)); }
.pp-chip-img{ position:relative; flex-shrink:0; width:42px; height:50px; border-radius:10px; overflow:hidden; display:grid; place-items:center; background: color-mix(in srgb, var(--accent) 12%, var(--env-paper)); color: var(--accent); }
.pp-chip-img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.pp-chip.filled .pp-chip-ph{ display:none; }
.pp-chip-ph .ui-ic{ width:20px; height:20px; }
.pp-chip-txt{ flex:1; min-width:0; display:flex; flex-direction:column; }
.pp-chip-txt small{ font-size:.62rem; color: var(--env-ink-muted); font-weight:700; }
.pp-chip-txt b{ font-size:.84rem; font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pp-chip > .ui-ic{ width:16px; height:16px; color: var(--env-ink-muted); flex-shrink:0; }
.pp-opts{ display:flex; flex-direction:column; gap:5px; }
.pp-seg{ display:flex; gap:2px; padding:3px; border-radius:11px; background: var(--env-paper-2); border:1px solid var(--env-border); }
.pp-seg button{ display:inline-flex; align-items:center; gap:4px; font-family:inherit; font-size:.66rem; font-weight:700; padding:3px 7px; border-radius:8px; border:none; cursor:pointer;
  background:none; color: var(--env-ink-muted); white-space:nowrap; }
.pp-seg button.on{ background: var(--env-paper); color: var(--accent); box-shadow: var(--shadow-sm); }
.pp-seg--n button{ flex:1; justify-content:center; }
.pp-ar{ display:inline-block; border:1.6px solid currentColor; border-radius:2px; }
.pp-ar--1x1{ width:10px; height:10px; } .pp-ar--4x5{ width:9px; height:11px; } .pp-ar--9x16{ width:7px; height:12px; } .pp-ar--16x9{ width:13px; height:8px; }
.pp-go{ flex-shrink:0; display:flex; align-items:center; gap:8px; height:62px; padding:0 18px; border-radius:16px; border:none; cursor:pointer; font-family:inherit; color:#fff;
  background: var(--env-bubble-user, var(--accent)); box-shadow: 0 14px 28px -14px var(--accent-glow); transition: transform .2s, opacity .2s; }
.pp-go:hover:not(:disabled){ transform: translateY(-2px); }
.pp-go:disabled{ opacity:.45; cursor:not-allowed; box-shadow:none; }
.pp-go > .ui-ic{ width:20px; height:20px; }
.pp-go-txt{ display:flex; flex-direction:column; align-items:flex-start; line-height:1.35; }
.pp-go-txt b{ font-size:.95rem; font-weight:900; } .pp-go-txt small{ font-size:.62rem; opacity:.9; }
.pp-go.busy > .ui-ic{ animation: rzpvSpin 1.4s linear infinite; }
.pp-dock-extra{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.pp-dock-extra input[type=text], .pp-dock-extra textarea{ flex:1; min-width:160px; font-family:inherit; font-size:.78rem; padding:8px 12px; border-radius:12px;
  border:1px solid var(--env-border); background: var(--env-paper-2) !important; color: var(--env-ink); outline:none; }
.pp-dock-extra textarea{ flex-basis:100%; resize:vertical; min-height:44px; line-height:1.8; }
.pp-dock-extra input:focus, .pp-dock-extra textarea:focus{ border-color: var(--accent); }
.pp-color{ display:inline-flex !important; align-items:center; gap:6px; margin:0; font-size:.74rem; font-weight:700; color: var(--env-ink-muted); padding:4px 6px 4px 10px; border-radius:12px;
  border:1px solid var(--env-border); background: var(--env-paper-2); cursor:pointer; }
.pp-color[hidden]{ display:none !important; }
.pp-color .ui-ic{ width:15px; height:15px; color: var(--accent); }
.pp-color input{ width:30px; height:26px; padding:0; border:none; border-radius:8px; background:none; cursor:pointer; }
.pp-dock-msg{ font-size:.74rem; font-weight:700; padding:6px 10px; border-radius:10px; }
.pp-dock-msg--err{ color:#DC2626; background: rgba(220,38,38,.08); }
.pp-dock-msg--hint{ color: var(--accent); background: color-mix(in srgb, var(--accent) 8%, transparent); }

/* نتایج */
.pp-out{ display:flex; flex-direction:column; gap:10px; width:100%; max-width:720px; }
.pp-results{ display:grid; gap:10px; grid-template-columns: 1fr 1fr; }
.pp-results--1{ grid-template-columns: minmax(0, 420px); }
.pp-card{ position:relative; margin:0; border-radius:18px; overflow:hidden; background: var(--env-paper-2); border:1px solid var(--env-border); box-shadow: var(--shadow-sm);
  animation: envRise .4s cubic-bezier(.2,.8,.2,1) both; }
.pp-card-img{ display:block; aspect-ratio: var(--ar, 1 / 1); overflow:hidden; }
.pp-results--auto .pp-card-img{ aspect-ratio:auto; }
.pp-card-img img{ display:block; width:100%; height:100%; object-fit:cover; transition: transform .4s; }
.pp-card:hover .pp-card-img img{ transform: scale(1.03); }
.pp-card figcaption{ display:flex; gap:6px; padding:8px; }
.pp-act{ flex:1; display:inline-flex; align-items:center; justify-content:center; gap:5px; font-family:inherit; font-size:.72rem; font-weight:800; padding:7px 8px; border-radius:11px; cursor:pointer;
  text-decoration:none; color: var(--env-ink); background: var(--env-paper); border:1px solid var(--env-border); transition: all .2s; }
.pp-act:hover{ color: var(--accent); border-color: color-mix(in srgb, var(--accent) 40%, var(--env-border)); }
.pp-act svg{ width:15px; height:15px; flex-shrink:0; }
.pp-act.busy{ opacity:.6; pointer-events:none; }
.pp-card--wait{ aspect-ratio: var(--ar, 1 / 1); display:grid; place-items:center; }
.pp-shimmer{ position:absolute; inset:0; background: linear-gradient(110deg, transparent 30%, color-mix(in srgb, var(--accent) 14%, transparent) 50%, transparent 70%);
  background-size: 250% 100%; animation: ppShim 1.6s linear infinite; }
@keyframes ppShim{ from{ background-position: 120% 0; } to{ background-position: -120% 0; } }
.pp-wait-txt{ position:relative; font-size:.74rem; font-weight:700; color: var(--env-ink-muted); }
.pp-out-note{ display:flex; align-items:center; flex-wrap:wrap; gap:8px; font-size:.76rem; color: var(--env-ink-muted); }
.pp-out-note--ok{ color: var(--env-ink); }
.pp-out-note--err{ color:#DC2626; }
.pp-mini-spin{ width:14px; height:14px; border-radius:50%; border:2px solid color-mix(in srgb, var(--accent) 25%, transparent); border-top-color: var(--accent); animation: rzpvSpin .8s linear infinite; display:inline-block; }
.pp-again{ font-family:inherit; font-size:.72rem; font-weight:800; padding:5px 12px; border-radius:999px; cursor:pointer; color: var(--accent);
  background: color-mix(in srgb, var(--accent) 9%, var(--env-paper)); border:1px solid color-mix(in srgb, var(--accent) 30%, transparent); }
.pp-capbox{ display:flex; flex-direction:column; gap:8px; padding:12px; border-radius:16px; background: var(--env-paper); border:1px solid var(--env-border); }
.pp-capbox-head{ display:flex; align-items:center; gap:6px; font-size:.82rem; font-weight:900; color: var(--env-ink); }
.pp-capbox-head svg{ width:16px; height:16px; color: var(--accent); }
.pp-capbox-wait{ display:flex; align-items:center; gap:8px; font-size:.78rem; color: var(--env-ink-muted); }
.pp-capbox-err{ font-size:.78rem; color:#DC2626; }
.pp-cap{ padding:10px 12px; border-radius:12px; background: var(--env-paper-2); }
.pp-cap-h{ display:flex; align-items:center; justify-content:space-between; margin-bottom:4px; }
.pp-cap-h b{ font-size:.74rem; color: var(--accent); font-weight:900; }
.pp-cap-h button{ font-family:inherit; font-size:.68rem; font-weight:800; padding:3px 10px; border-radius:8px; cursor:pointer; color: var(--env-ink); background: var(--env-paper); border:1px solid var(--env-border); }
.pp-cap-t{ font-size:.82rem; line-height:1.95; white-space:pre-wrap; color: var(--env-ink); }
.pp-cap--tags .pp-cap-t{ font-size:.76rem; color: var(--env-ink-muted); direction:auto; }

@media (max-width:760px){
  .pp-hero{ flex-direction:column; gap:16px; padding:0 16px; }
  .pp-ba{ flex-basis:auto; width:min(78vw, 300px); }
  .pp-hero-body{ align-items:center; text-align:center; }
  .pp-hero-up{ align-self:center; }
  .pp-points li{ text-align:start; }
  .pp-hero-body h3{ font-size:1.1rem; }
  .pp-inline-scenes{ padding:0 16px; }
  .pp-grid{ grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap:8px; }
  .pp-scene{ border-radius:14px; }
  .pp-scene-txt{ padding:6px 8px 8px; } .pp-scene-txt small{ display:none; }
  .pp-dock{ padding:8px; border-radius:18px; }
  .pp-dock-main{ flex-wrap:wrap; }
  .pp-slot{ width:54px; height:54px; }
  .pp-chip{ height:54px; flex-basis: calc(100% - 62px); }
  .pp-opts{ flex-direction:row; flex:1; }
  .pp-seg{ flex:1; justify-content:space-between; }
  .pp-seg--n{ flex:0 0 auto; }
  .pp-seg button span{ display:none; }
  .pp-go{ height:48px; width:100%; justify-content:center; }
  .pp-results{ gap:6px; }
  .pp-results--1{ grid-template-columns: 1fr; }
  .pp-act span{ font-size:.66rem; }
}
@media (max-width:760px){
  .pp-gal .pp-gal-panel{ max-height:90vh; overflow-y:auto; border-radius:24px 24px 0 0; padding:18px 14px 22px; }
  .pp-dock:not(.has-product) .pp-dock-extra input[type=text]{ display:none; }
  .pp-dock:not(.has-product) .pp-dock-extra:not(:has(:not([hidden]):not(input[type=text]))){ display:none; }
}

/* ═════ منوی آنلاین (۱۴۰۵/۰۷/۲۱) ═════ */
.mn{ flex:1; min-height:0; display:flex; flex-direction:column; width:100%; overflow-y:auto; padding:18px clamp(12px, 2.4vw, 28px) 30px; }
.mn-side-item{ display:flex; align-items:center; gap:10px; padding:9px 10px; border-radius:14px; text-decoration:none; color: var(--env-ink); margin-bottom:4px; border:1px solid transparent; }
.mn-side-item:hover{ background: var(--env-hover); }
.mn-side-item.active{ background: color-mix(in srgb, var(--accent) 10%, var(--env-paper)); border-color: color-mix(in srgb, var(--accent) 25%, transparent); }
.mn-side-logo{ width:36px; height:36px; flex-shrink:0; border-radius:11px; overflow:hidden; display:grid; place-items:center; font-weight:900; color:#fff; background: var(--accent); }
.mn-side-logo img{ width:100%; height:100%; object-fit:cover; }
.mn-side-txt{ min-width:0; display:flex; flex-direction:column; }
.mn-side-txt b{ font-size:.82rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mn-side-txt small{ font-size:.66rem; color: var(--env-ink-muted); }
/* شروع */
.mn-start{ max-width:860px; margin:0 auto; text-align:center; display:flex; flex-direction:column; align-items:center; gap:14px; padding-top:6px; }
.mn-phones{ position:relative; height:330px; width:min(100%, 520px); margin-bottom:6px; }
.mn-phone{ position:absolute; bottom:0; width:168px; border-radius:26px; border:6px solid #111; box-shadow: 0 30px 50px -26px rgba(0,0,0,.55); background:#111; }
.mn-phone--c{ left:50%; transform: translateX(-50%); width:186px; z-index:2; }
.mn-phone--l{ left:6%; transform: rotate(-7deg) translateY(8px); opacity:.95; }
.mn-phone--r{ right:6%; transform: rotate(7deg) translateY(8px); opacity:.95; }
.mn-start h2{ margin:4px 0 0; font-size:1.45rem; font-weight:900; color: var(--env-ink); }
.mn-start > p{ margin:0; max-width:560px; color: var(--env-ink-muted); font-size:.9rem; line-height:1.9; }
.mn-feats{ display:flex; flex-wrap:wrap; justify-content:center; gap:6px 14px; }
.mn-feats span{ display:inline-flex; align-items:center; gap:5px; font-size:.78rem; font-weight:700; color: var(--env-ink); }
.mn-feats .ui-ic{ width:15px; height:15px; color:#fff; background: var(--accent); border-radius:50%; padding:2.5px; }
.mn-starts{ display:grid; grid-template-columns: repeat(3, 1fr); gap:12px; width:100%; margin-top:8px; }
.mn-start-card{ display:flex; flex-direction:column; align-items:flex-start; gap:6px; text-align:start; padding:16px; border-radius:20px; cursor:pointer; font-family:inherit;
  background: var(--env-paper); border:1px solid var(--env-border); color: var(--env-ink); box-shadow: var(--shadow-sm); transition: transform .2s, box-shadow .2s, border-color .2s; }
.mn-start-card:hover{ transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: color-mix(in srgb, var(--accent) 40%, var(--env-border)); }
.mn-start-card b{ font-size:.95rem; font-weight:900; } .mn-start-card small{ font-size:.74rem; line-height:1.8; color: var(--env-ink-muted); }
.mn-start-ic{ width:40px; height:40px; border-radius:13px; display:grid; place-items:center; color: var(--accent); background: color-mix(in srgb, var(--accent) 12%, var(--env-paper)); }
.mn-start-ic .ui-ic{ width:20px; height:20px; }
.mn-start-card--ai{ border-color: color-mix(in srgb, var(--accent) 45%, var(--env-border)); background: linear-gradient(160deg, color-mix(in srgb, var(--accent) 10%, var(--env-paper)), var(--env-paper)); }
.mn-start-card--ai .mn-start-ic{ color:#fff; background: var(--accent); box-shadow: 0 10px 20px -10px var(--accent-glow); }
/* ویرایشگر */
.mn-top{ display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-bottom:12px; }
.mn-title{ display:flex; align-items:center; gap:10px; min-width:0; }
.mn-title b{ font-size:1.15rem; font-weight:900; color: var(--env-ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mn-status{ font-size:.66rem; font-weight:800; padding:3px 9px; border-radius:999px; color:#B45309; background: rgba(245,158,11,.14); }
.mn-status.on{ color:#15803D; background: rgba(34,197,94,.14); }
.mn-top-actions{ display:flex; align-items:center; gap:6px; }
.mn-views{ font-size:.72rem; color: var(--env-ink-muted); margin-inline-end:4px; }
.mn-btn{ display:inline-flex; align-items:center; gap:6px; font-family:inherit; font-size:.76rem; font-weight:800; padding:7px 12px; border-radius:12px; cursor:pointer; text-decoration:none;
  color: var(--env-ink); background: var(--env-paper); border:1px solid var(--env-border); }
.mn-btn:hover{ border-color: color-mix(in srgb, var(--accent) 40%, var(--env-border)); color: var(--accent); }
.mn-btn .ui-ic{ width:15px; height:15px; }
.mn-body{ display:flex; gap:22px; align-items:flex-start; }
.mn-edit{ flex:1; min-width:0; }
.mn-preview{ position:sticky; top:0; flex:0 0 300px; display:flex; flex-direction:column; align-items:center; gap:8px; }
.mn-device{ position:relative; width:290px; height:600px; border-radius:42px; padding:10px; background:#0B0B0F; box-shadow: 0 30px 60px -28px rgba(0,0,0,.6), inset 0 0 0 2px #2a2a33; }
.mn-device iframe{ width:100%; height:100%; border:none; border-radius:32px; background:#fff; }
.mn-notch{ position:absolute; top:16px; left:50%; width:84px; height:20px; margin-left:-42px; border-radius:12px; background:#0B0B0F; z-index:2; }
.mn-preview-cap{ font-size:.7rem; color: var(--env-ink-muted); }
.mn-mobile-preview{ display:none; }
.mn-tabs{ display:flex; gap:4px; padding:4px; border-radius:14px; background: var(--env-paper-2); border:1px solid var(--env-border); margin-bottom:14px; overflow-x:auto; }
.mn-tabs button{ flex:1; display:inline-flex; align-items:center; justify-content:center; gap:6px; white-space:nowrap; font-family:inherit; font-size:.8rem; font-weight:800; padding:8px 12px; border-radius:10px;
  border:none; cursor:pointer; background:none; color: var(--env-ink-muted); }
.mn-tabs button.on{ background: var(--env-paper); color: var(--accent); box-shadow: var(--shadow-sm); }
.mn-tabs .ui-ic{ width:15px; height:15px; }
.mn-ai{ display:grid; grid-template-columns: repeat(3, 1fr); gap:8px; margin-bottom:14px; }
.mn-ai-btn{ display:flex; align-items:center; gap:9px; text-align:start; padding:10px 12px; border-radius:14px; cursor:pointer; font-family:inherit; color: var(--env-ink);
  background: linear-gradient(160deg, color-mix(in srgb, var(--accent) 9%, var(--env-paper)), var(--env-paper)); border:1px solid color-mix(in srgb, var(--accent) 25%, var(--env-border)); transition: all .2s; }
.mn-ai-btn:hover:not(:disabled){ border-color: var(--accent); transform: translateY(-1px); }
.mn-ai-btn:disabled{ opacity:.5; cursor:default; }
.mn-ai-btn > svg{ width:20px; height:20px; flex-shrink:0; color: var(--accent); }
.mn-ai-btn span{ display:flex; flex-direction:column; min-width:0; }
.mn-ai-btn b{ font-size:.8rem; font-weight:900; } .mn-ai-btn small{ font-size:.66rem; color: var(--env-ink-muted); }
.mn-ai-btn.busy > svg{ animation: rzpvSpin 1.2s linear infinite; }
.mn-empty{ display:flex; flex-direction:column; gap:4px; text-align:center; padding:26px 16px; border-radius:18px; border:1.5px dashed var(--env-border-strong, var(--env-border)); color: var(--env-ink-muted); font-size:.82rem; margin-bottom:12px; }
.mn-empty b{ color: var(--env-ink); font-size:.95rem; }
.mn-cat{ border-radius:18px; background: var(--env-paper); border:1px solid var(--env-border); box-shadow: var(--shadow-sm); margin-bottom:12px; overflow:hidden; }
.mn-cat-h{ display:flex; align-items:center; gap:8px; padding:10px 12px; background: var(--env-paper-2); border-bottom:1px solid var(--env-border); }
.mn-cat-h input, .mn-newcat input{ font-family:inherit; border:1px solid transparent; background:transparent; color: var(--env-ink); border-radius:9px; padding:5px 8px; outline:none; }
.mn-cat-h input:hover, .mn-cat-h input:focus{ border-color: var(--env-border); background: var(--env-paper) !important; }
.mn-cat-icon{ width:44px; text-align:center; font-size:1.1rem !important; }
.mn-cat-name{ flex:1; min-width:0; font-size:.92rem; font-weight:900; }
.mn-cat-h em{ font-style:normal; font-size:.68rem; color: var(--env-ink-muted); white-space:nowrap; }
.mn-cat-tools, .mn-it-tools{ display:flex; gap:2px; }
.mn-cat-tools button, .mn-it-tools button{ width:28px; height:28px; border-radius:8px; border:none; cursor:pointer; display:grid; place-items:center; background:none; color: var(--env-ink-muted); }
.mn-cat-tools button:hover:not(:disabled), .mn-it-tools button:hover:not(:disabled){ background: var(--env-hover); color: var(--env-ink); }
.mn-cat-tools button:disabled, .mn-it-tools button:disabled{ opacity:.25; cursor:default; }
.mn-cat-tools svg, .mn-it-tools svg{ width:16px; height:16px; }
.mn-cat-tools button[data-a=del]:hover{ color:#DC2626; }
.mn-it{ display:flex; align-items:center; gap:10px; padding:8px 12px; cursor:pointer; border-bottom:1px solid var(--env-border); transition: background .15s; }
.mn-it:hover{ background: var(--env-hover); }
.mn-it.na{ opacity:.55; }
.mn-it-ph{ width:46px; height:46px; flex-shrink:0; border-radius:12px; overflow:hidden; display:grid; place-items:center; color: var(--env-ink-muted); background: var(--env-paper-2); }
.mn-it-ph img{ width:100%; height:100%; object-fit:cover; } .mn-it-ph svg{ width:20px; height:20px; opacity:.6; }
.mn-it-b{ flex:1; min-width:0; display:flex; flex-direction:column; }
.mn-it-b b{ font-size:.84rem; font-weight:800; color: var(--env-ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mn-it-b small{ font-size:.7rem; color: var(--env-ink-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mn-it-p{ font-size:.82rem; font-weight:900; color: var(--accent); white-space:nowrap; }
.mn-it-p small{ font-size:.64rem; color: var(--env-ink-muted); font-weight:600; }
.mn-add-item{ display:flex; align-items:center; justify-content:center; gap:6px; width:100%; padding:10px; border:none; cursor:pointer; font-family:inherit; font-size:.76rem; font-weight:800;
  color: var(--accent); background:none; }
.mn-add-item:hover{ background: color-mix(in srgb, var(--accent) 7%, transparent); }
.mn-add-item svg, .mn-newcat svg{ width:15px; height:15px; }
.mn-newcat{ display:flex; gap:8px; padding:8px; border-radius:16px; border:1.5px dashed color-mix(in srgb, var(--accent) 35%, var(--env-border)); }
.mn-newcat input{ border-color: var(--env-border); background: var(--env-paper-2) !important; }
.mn-newcat input:last-of-type{ flex:1; min-width:0; font-size:.84rem; }
.mn-newcat button{ display:inline-flex; align-items:center; gap:5px; font-family:inherit; font-size:.78rem; font-weight:800; padding:8px 14px; border-radius:11px; border:none; cursor:pointer; color:#fff; background: var(--accent); white-space:nowrap; }
/* سوییچ */
.mn-switch{ display:inline-flex !important; align-items:center; gap:8px; cursor:pointer; font-size:.8rem; color: var(--env-ink); margin:0; }
.mn-switch input{ display:none; }
.mn-switch i{ position:relative; width:38px; height:22px; flex-shrink:0; border-radius:22px; background: var(--env-border-strong, #cbd5e1); transition: background .2s; }
.mn-switch i::after{ content:""; position:absolute; top:3px; right:3px; width:16px; height:16px; border-radius:50%; background:#fff; box-shadow: 0 1px 3px rgba(0,0,0,.3); transition: transform .2s; }
.mn-switch input:checked + i{ background: #22C55E; }
.mn-switch input:checked + i::after{ transform: translateX(-16px); }
.mn-switch--sm i{ width:32px; height:18px; } .mn-switch--sm i::after{ width:12px; height:12px; }
.mn-switch--sm input:checked + i::after{ transform: translateX(-14px); }
/* ظاهر */
.mn-sec{ margin-bottom:18px; }
.mn-sec-h{ font-size:.8rem; font-weight:900; color: var(--env-ink); margin-bottom:8px; }
.mn-themes{ display:grid; grid-template-columns: repeat(5, 1fr); gap:10px; }
.mn-theme{ display:flex; flex-direction:column; gap:2px; padding:6px 6px 9px; border-radius:16px; cursor:pointer; font-family:inherit; text-align:center; color: var(--env-ink);
  background: var(--env-paper); border:2px solid var(--env-border); transition: all .2s; }
.mn-theme img{ width:100%; aspect-ratio: 9/14; object-fit:cover; object-position:top; border-radius:11px; margin-bottom:4px; background: var(--env-paper-2); }
.mn-theme b{ font-size:.76rem; font-weight:900; } .mn-theme small{ font-size:.62rem; color: var(--env-ink-muted); line-height:1.5; }
.mn-theme.on{ border-color: var(--accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 16%, transparent); }
.mn-colors{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.mn-color{ position:relative; width:32px; height:32px; border-radius:50%; border:3px solid var(--env-paper); box-shadow: 0 0 0 1.5px var(--env-border); cursor:pointer; background: var(--c); padding:0; overflow:hidden; }
.mn-color.on{ box-shadow: 0 0 0 2.5px var(--env-ink); }
.mn-color--auto{ width:auto; border-radius:999px; padding:0 12px; font-family:inherit; font-size:.7rem; font-weight:800; color:#fff; }
.mn-color--custom{ background: conic-gradient(#ef4444, #f59e0b, #22c55e, #06b6d4, #6366f1, #ec4899, #ef4444); }
.mn-color--custom input{ position:absolute; inset:-8px; width:50px; height:50px; opacity:0; cursor:pointer; }
.mn-imgs{ display:flex; gap:14px; flex-wrap:wrap; }
.mn-img-up{ flex:0 0 130px; } .mn-img-up--wide{ flex:1; min-width:220px; }
.mn-up{ position:relative; display:grid; place-items:center; overflow:hidden; cursor:pointer; border-radius:16px; border:1.5px dashed var(--env-border-strong, var(--env-border)); background: var(--env-paper-2); color: var(--env-ink-muted); }
.mn-up--logo{ width:120px; height:120px; } .mn-up--cover{ width:100%; aspect-ratio: 16/7; }
.mn-up img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.mn-up span{ display:flex; flex-direction:column; align-items:center; gap:4px; text-align:center; padding:8px; }
.mn-up span svg{ width:26px; height:26px; } .mn-up small{ font-size:.66rem; line-height:1.6; }
.mn-photo-spin{ display:none; position:absolute; top:50%; left:50%; width:26px; height:26px; margin:-13px; border-radius:50%; border:3px solid rgba(255,255,255,.5); border-top-color: var(--accent); animation: rzpvSpin .8s linear infinite; z-index:2; }
.loading > .mn-photo-spin{ display:block; } .loading img{ filter: brightness(.6); }
.mn-link-btn{ font-family:inherit; font-size:.7rem; font-weight:700; color:#DC2626; background:none; border:none; cursor:pointer; padding:4px 2px; }
/* اطلاعات */
.mn-info{ display:grid; grid-template-columns: 1fr 1fr; gap:10px 12px; }
.mn-f{ display:flex !important; flex-direction:column; gap:4px; margin:0; }
.mn-f > span{ font-size:.72rem; font-weight:700; color: var(--env-ink-muted); }
.mn-f--wide{ grid-column: 1 / -1; }
.mn input[type=text], .mn textarea, .mn select, .mn-modal input[type=text], .mn-modal textarea, .mn-modal select{
  font-family:inherit; font-size:.84rem; padding:9px 12px; border-radius:12px; border:1px solid var(--env-border); background: var(--env-paper-2) !important; color: var(--env-ink); outline:none; width:100%; }
.mn input:focus, .mn textarea:focus, .mn select:focus{ border-color: var(--accent); }
.mn textarea{ resize:vertical; line-height:1.8; }
.mn-info-foot{ display:flex; justify-content:flex-end; }
.mn-primary{ display:inline-flex; align-items:center; justify-content:center; gap:8px; font-family:inherit; font-size:.86rem; font-weight:900; padding:11px 22px; border-radius:14px; border:none; cursor:pointer;
  color:#fff; background: var(--env-bubble-user, var(--accent)); box-shadow: 0 12px 24px -14px var(--accent-glow); }
.mn-primary:disabled{ opacity:.45; cursor:not-allowed; box-shadow:none; }
.mn-danger{ display:inline-flex; align-items:center; gap:6px; font-family:inherit; font-size:.78rem; font-weight:800; padding:8px 14px; border-radius:12px; cursor:pointer; color:#DC2626; background: rgba(220,38,38,.07); border:1px solid rgba(220,38,38,.2); }
.mn-danger svg{ width:15px; height:15px; }
/* QR */
.mn-qr{ display:flex; gap:18px; align-items:center; padding:14px; border-radius:18px; background: var(--env-paper); border:1px solid var(--env-border); margin-bottom:18px; }
.mn-qr-img{ flex:0 0 150px; padding:10px; border-radius:16px; background:#fff; box-shadow: var(--shadow-sm); }
.mn-qr-img img{ width:100%; display:block; image-rendering: pixelated; }
.mn-qr-b{ flex:1; min-width:0; display:flex; flex-direction:column; gap:8px; }
.mn-url{ display:flex; align-items:center; gap:6px; padding:6px 6px 6px 12px; border-radius:12px; background: var(--env-paper-2); border:1px solid var(--env-border); }
.mn-url span{ flex:1; min-width:0; font-size:.78rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color: var(--env-ink); }
.mn-url button, .mn-slug button{ font-family:inherit; font-size:.72rem; font-weight:800; padding:6px 12px; border-radius:9px; border:none; cursor:pointer; color:#fff; background: var(--accent); white-space:nowrap; }
.mn-slug{ display:flex; align-items:center; gap:6px; }
.mn-slug span{ font-size:.78rem; color: var(--env-ink-muted); }
.mn-slug input{ flex:1; min-width:0; padding:7px 10px !important; }
.mn-hint{ font-size:.66rem; color: var(--env-ink-muted); }
.mn-qr-actions{ display:flex; gap:6px; flex-wrap:wrap; }
.mn-cards{ display:grid; grid-template-columns: repeat(3, 1fr); gap:10px; }
.mn-card-print{ display:flex; flex-direction:column; align-items:center; gap:4px; padding:14px 10px; border-radius:16px; text-decoration:none; color: var(--env-ink);
  background: var(--env-paper); border:1px solid var(--env-border); transition: all .2s; }
.mn-card-print:hover{ border-color: var(--accent); transform: translateY(-2px); }
.mn-card-print i{ width:44px; height:58px; border-radius:6px; background: linear-gradient(180deg, var(--accent) 0 34%, #fff 34%); border:1px solid var(--env-border); position:relative; }
.mn-card-print i::after{ content:""; position:absolute; left:50%; top:24px; width:20px; height:20px; margin-left:-10px; background:
  repeating-linear-gradient(90deg, #111 0 3px, transparent 3px 5px), repeating-linear-gradient(0deg, #111 0 3px, transparent 3px 5px); background-blend-mode: multiply; opacity:.8; }
.mn-card-print--sticker i{ width:52px; height:52px; border-radius:50%; background: var(--accent); }
.mn-card-print--sticker i::after{ top:16px; background-color:#fff; }
.mn-card-print--poster i{ width:44px; height:60px; background:#fff; border:3px solid var(--accent); }
.mn-card-print--poster i::after{ top:18px; }
.mn-card-print b{ font-size:.76rem; font-weight:900; } .mn-card-print small{ font-size:.62rem; color: var(--env-ink-muted); }
.mn-danger-zone{ padding-top:14px; border-top:1px dashed var(--env-border); }
/* مودال‌ها */
.mn-modal-panel{ max-width:540px; }
.mn-modal-panel h3{ display:flex; align-items:center; gap:8px; margin:0 0 12px; font-size:1.1rem; font-weight:900; }
.mn-modal-panel h3 .ui-ic{ color: var(--accent); width:20px; height:20px; }
.mn-modal-panel .mn-f{ margin-bottom:12px; }
.mn-modal-panel > .mn-primary{ width:100%; margin-top:6px; }
.mn-sub{ margin:-4px 0 12px; font-size:.8rem; line-height:1.9; color: var(--env-ink-muted); }
.mn-seg{ display:flex; gap:4px; padding:4px; border-radius:13px; background: var(--env-paper-2); border:1px solid var(--env-border); }
.mn-seg button{ flex:1; display:inline-flex; align-items:center; justify-content:center; gap:5px; font-family:inherit; font-size:.74rem; font-weight:800; padding:8px 6px; border-radius:10px; border:none; cursor:pointer; background:none; color: var(--env-ink-muted); }
.mn-seg button.on{ background: var(--env-paper); color: var(--accent); box-shadow: var(--shadow-sm); }
.mn-seg .ui-ic{ width:14px; height:14px; }
.mn-drop{ display:flex !important; flex-direction:column; align-items:center; gap:4px; padding:22px 14px; border-radius:18px; cursor:pointer; text-align:center; color: var(--env-ink-muted);
  border:2px dashed color-mix(in srgb, var(--accent) 40%, var(--env-border)); background: color-mix(in srgb, var(--accent) 5%, var(--env-paper)); margin-bottom:10px; transition: all .2s; }
.mn-drop.drag{ border-color: var(--accent); background: color-mix(in srgb, var(--accent) 12%, var(--env-paper)); }
.mn-drop .ui-ic{ width:26px; height:26px; color: var(--accent); } .mn-drop b{ color: var(--env-ink); font-size:.86rem; } .mn-drop small{ font-size:.7rem; }
.mn-thumbs{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:10px; }
.mn-thumbs img{ width:70px; height:90px; object-fit:cover; border-radius:10px; border:1px solid var(--env-border); }
.mn-cost{ display:flex; align-items:center; gap:6px; font-size:.72rem; color: var(--env-ink-muted); margin:8px 0 4px; }
.mn-cost .ui-ic{ width:14px; height:14px; }
.mn-spin{ display:inline-block; width:15px; height:15px; border-radius:50%; border:2px solid rgba(255,255,255,.45); border-top-color:#fff; animation: rzpvSpin .8s linear infinite; }
.mn-item-panel{ max-width:720px; }
.mn-item-grid{ display:flex; gap:18px; }
.mn-item-photo{ flex:0 0 200px; display:flex; flex-direction:column; gap:8px; }
.mn-photo{ position:relative; display:grid !important; place-items:center; aspect-ratio:1; border-radius:18px; overflow:hidden; cursor:pointer; border:1.5px dashed var(--env-border-strong, var(--env-border)); background: var(--env-paper-2); color: var(--env-ink-muted); }
.mn-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.mn-photo.filled{ border-style:solid; }
.mn-photo-ph{ display:flex; flex-direction:column; align-items:center; gap:4px; } .mn-photo-ph .ui-ic{ width:28px; height:28px; } .mn-photo-ph small{ font-size:.7rem; }
.mn-photo.filled .mn-photo-ph{ display:none; }
.mn-ai-photo{ display:inline-flex; align-items:center; justify-content:center; gap:6px; font-family:inherit; font-size:.74rem; font-weight:800; padding:9px 10px; border-radius:12px; cursor:pointer;
  color:#fff; background: linear-gradient(135deg, #F59E0B, #EC4899); border:none; box-shadow: 0 10px 20px -12px rgba(236,72,153,.7); }
.mn-ai-photo:disabled{ opacity:.7; }
.mn-ai-photo .ui-ic{ width:15px; height:15px; }
.mn-ai-scenes{ display:flex; flex-wrap:wrap; gap:5px; }
.mn-ai-scenes button{ flex:1 1 45%; font-family:inherit; font-size:.7rem; font-weight:800; padding:7px 4px; border-radius:10px; cursor:pointer; color: var(--env-ink); background: var(--env-paper-2); border:1px solid var(--env-border); }
.mn-ai-scenes button:hover{ border-color:#EC4899; color:#DB2777; }
.mn-ai-scenes small{ flex-basis:100%; font-size:.64rem; line-height:1.7; color: var(--env-ink-muted); }
.mn-item-fields{ flex:1; min-width:0; }
.mn-row2{ display:grid; grid-template-columns: 1fr 1fr; gap:10px; }
.mn-badges{ display:flex; flex-wrap:wrap; gap:6px; }
.mn-badges button{ font-family:inherit; font-size:.72rem; font-weight:800; padding:5px 11px; border-radius:999px; cursor:pointer; color: var(--env-ink-muted); background: var(--env-paper-2); border:1px solid var(--env-border); }
.mn-badges button.on{ color:#fff; background: var(--accent); border-color: var(--accent); }
.mn-en{ padding:10px; border-radius:14px; background: var(--env-paper-2); margin-bottom:12px; }
.mn-en .mn-f:last-child{ margin-bottom:0; }
.mn-item-foot{ display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:16px; padding-top:14px; border-top:1px solid var(--env-border); }
.mn-item-foot .mn-primary{ margin-inline-start:auto; min-width:140px; }
.mn-toast{ position:fixed; bottom:24px; left:50%; transform: translateX(-50%); z-index:120; display:flex; align-items:center; gap:10px; max-width:calc(100% - 32px);
  padding:11px 16px; border-radius:14px; font-size:.82rem; font-weight:700; color:#fff; background:#111827; box-shadow: 0 16px 36px -14px rgba(0,0,0,.5); animation: envRise .3s ease both; }
.mn-toast--ok{ background:#065F46; } .mn-toast--err{ background:#991B1B; }
.mn-toast button{ font-family:inherit; font-size:.74rem; font-weight:800; padding:5px 10px; border-radius:9px; border:none; cursor:pointer; color:#111; background:#fff; }
@media (max-width:1180px){ .mn-preview{ flex-basis:250px; } .mn-device{ width:250px; height:520px; } .mn-themes{ grid-template-columns: repeat(3, 1fr); } }
@media (max-width:900px){
  .mn{ padding:12px 12px 90px; }
  .mn-body{ display:block; }
  .mn-preview{ display:none; position:static; }
  .mn.mn-show-preview .mn-edit{ display:none; }
  .mn.mn-show-preview .mn-preview{ display:flex; }
  .mn.mn-show-preview .mn-device{ width:min(100%, 320px); height:70vh; }
  .mn-mobile-preview{ display:inline-flex; align-items:center; gap:6px; position:fixed; bottom:18px; left:50%; transform: translateX(-50%); z-index:50; font-family:inherit; font-size:.82rem; font-weight:900;
    padding:11px 20px; border-radius:999px; border:none; cursor:pointer; color:#fff; background: var(--env-bubble-user, var(--accent)); box-shadow: 0 14px 30px -12px var(--accent-glow); }
  .mn-mobile-preview .ui-ic{ width:16px; height:16px; }
  .mn-ai{ grid-template-columns: 1fr; }
  .mn-starts{ grid-template-columns: 1fr; }
  .mn-phones{ height:250px; } .mn-phone{ width:124px; border-width:5px; border-radius:20px; } .mn-phone--c{ width:140px; }
  .mn-start h2{ font-size:1.15rem; }
  .mn-info{ grid-template-columns: 1fr; }
  .mn-qr{ flex-direction:column; align-items:stretch; } .mn-qr-img{ align-self:center; }
  .mn-item-grid{ flex-direction:column; } .mn-item-photo{ flex-basis:auto; } .mn-photo{ max-width:200px; width:100%; align-self:center; }
  .mn-views{ display:none; } .mn-btn span{ display:none; }
  .mn-it-tools{ display:none; }
}
@media (max-width:900px){
  .mn-qr-img{ flex:none; width:170px; }
  .mn-toast{ bottom:78px; }
  .mn-cards{ gap:6px; } .mn-card-print{ padding:10px 4px; } .mn-card-print b{ font-size:.66rem; text-align:center; }
}
/* [hidden] باید بر display:flex/inline-flex کلاس‌ها غلبه کند (درسِ قدیمی، این‌جا هم) */
.mn [hidden], .mn-toast[hidden], .pp-dock [hidden], .pp-out [hidden]{ display:none !important; }
.mn .mn-newcat .mn-cat-icon{ flex:none; width:52px !important; padding:9px 4px; }
.mn .mn-newcat input:not(.mn-cat-icon){ flex:1; width:auto; min-width:0; }

/* ═════ ارائه‌ساز (۱۴۰۵/۰۷/۲۱) ═════ */
.sl{ flex:1; min-height:0; width:100%; overflow-y:auto; padding:18px clamp(12px, 2.4vw, 28px) 30px; }
.sl [hidden]{ display:none !important; }
.sl-side-thumb{ background: var(--env-paper-2) !important; color: var(--accent) !important; }
.sl-side-thumb .ui-ic{ width:18px; height:18px; }
.sl-new{ max-width:980px; margin:0 auto; display:flex; flex-direction:column; gap:18px; }
.sl-hero{ display:flex; align-items:center; gap:30px; }
.sl-stack{ position:relative; flex:0 0 340px; height:230px; }
.sl-stack img{ position:absolute; width:300px; border-radius:12px; box-shadow: 0 22px 40px -22px rgba(0,0,0,.55), 0 0 0 1px var(--env-border); }
.sl-stack-1{ top:0; left:0; transform: rotate(-6deg); }
.sl-stack-2{ top:30px; left:22px; transform: rotate(3deg); }
.sl-stack-3{ top:60px; left:40px; z-index:2; animation: slFloat 6s ease-in-out infinite; }
@keyframes slFloat{ 50%{ transform: translateY(-6px); } }
.sl-hero-txt{ flex:1; min-width:0; }
.sl-hero-txt h2{ margin:0 0 6px; font-size:1.5rem; font-weight:900; color: var(--env-ink); }
.sl-hero-txt p{ margin:0 0 10px; font-size:.88rem; line-height:1.9; color: var(--env-ink-muted); }
.sl-hero-txt p b{ color: var(--env-ink); }
.sl-points{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns: 1fr 1fr; gap:6px 12px; }
.sl-points li{ display:flex; align-items:flex-start; gap:6px; font-size:.78rem; line-height:1.7; color: var(--env-ink); }
.sl-points .ui-ic{ flex-shrink:0; width:15px; height:15px; margin-top:3px; color:#fff; background: var(--accent); border-radius:50%; padding:2.5px; }
.sl-form{ display:flex; flex-direction:column; gap:14px; padding:18px; border-radius:22px; background: var(--env-paper); border:1px solid var(--env-border); box-shadow: var(--shadow-md); }
.sl-f{ display:flex !important; flex-direction:column; gap:6px; margin:0; }
.sl-f > span{ display:flex; align-items:center; gap:6px; font-size:.8rem; font-weight:900; color: var(--env-ink); }
.sl-f > span .ui-ic{ width:16px; height:16px; color: var(--accent); }
.sl-f > span small{ font-weight:600; color: var(--env-ink-muted); }
.sl textarea, .sl input[type=text], .sl select{ font-family:inherit; font-size:.86rem; padding:10px 13px; border-radius:14px; border:1px solid var(--env-border); background: var(--env-paper-2) !important; color: var(--env-ink); outline:none; width:100%; }
.sl textarea{ resize:vertical; line-height:1.9; }
.sl textarea:focus, .sl input[type=text]:focus, .sl select:focus{ border-color: var(--accent); }
.sl-file-row{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:-6px; }
.sl-file{ display:inline-flex !important; align-items:center; gap:6px; font-size:.76rem; font-weight:800; padding:7px 12px; border-radius:11px; cursor:pointer; margin:0;
  color: var(--accent); background: color-mix(in srgb, var(--accent) 8%, var(--env-paper)); border:1px dashed color-mix(in srgb, var(--accent) 40%, transparent); }
.sl-file .ui-ic{ width:15px; height:15px; }
.sl-file-name{ font-size:.74rem; color: var(--env-ink-muted); }
.sl-opts{ display:flex; flex-wrap:wrap; gap:12px 22px; }
.sl-opt{ display:flex; flex-direction:column; gap:6px; } .sl-opt--wide{ flex-basis:100%; }
.sl-opt > span{ font-size:.74rem; font-weight:800; color: var(--env-ink-muted); }
.sl-chips{ display:flex; flex-wrap:wrap; gap:6px; }
.sl-chips button{ font-family:inherit; font-size:.76rem; font-weight:800; padding:6px 13px; border-radius:999px; cursor:pointer; color: var(--env-ink-muted); background: var(--env-paper-2); border:1px solid var(--env-border); }
.sl-chips button.on{ color:#fff; background: var(--accent); border-color: var(--accent); }
.sl-themes{ display:grid; grid-template-columns: repeat(4, 1fr); gap:10px; }
.sl-theme{ display:flex; flex-direction:column; gap:2px; padding:5px 5px 8px; border-radius:14px; cursor:pointer; font-family:inherit; text-align:center; color: var(--env-ink);
  background: var(--env-paper); border:2px solid var(--env-border); transition: all .2s; }
.sl-theme img{ width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:9px; margin-bottom:3px; }
.sl-theme b{ font-size:.76rem; font-weight:900; } .sl-theme small{ font-size:.62rem; line-height:1.5; color: var(--env-ink-muted); }
.sl-theme:hover{ transform: translateY(-2px); }
.sl-theme.on{ border-color: var(--accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 16%, transparent); }
.sl-themes--sm{ grid-template-columns: repeat(2, 1fr); gap:8px; margin-bottom:14px; }
.sl-go{ display:flex; align-items:center; justify-content:center; gap:10px; padding:13px 20px; border-radius:16px; border:none; cursor:pointer; font-family:inherit; color:#fff;
  background: var(--env-bubble-user, var(--accent)); box-shadow: 0 16px 30px -16px var(--accent-glow); }
.sl-go .ui-ic{ width:22px; height:22px; }
.sl-go span{ display:flex; flex-direction:column; align-items:flex-start; line-height:1.4; }
.sl-go b{ font-size:1rem; font-weight:900; } .sl-go small{ font-size:.66rem; opacity:.9; }
.sl-wait{ display:flex; align-items:center; gap:14px; padding:14px 16px; border-radius:16px; background: color-mix(in srgb, var(--accent) 8%, var(--env-paper)); border:1px solid color-mix(in srgb, var(--accent) 25%, transparent); }
.sl-wait div{ display:flex; flex-direction:column; } .sl-wait b{ font-size:.88rem; color: var(--env-ink); } .sl-wait small{ font-size:.74rem; color: var(--env-ink-muted); }
.sl-wait-ring{ width:30px; height:30px; flex-shrink:0; border-radius:50%; border:3px solid color-mix(in srgb, var(--accent) 22%, transparent); border-top-color: var(--accent); animation: rzpvSpin .9s linear infinite; }
/* ویرایشگر */
.sl-top{ display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.sl .sl-title{ flex:1; min-width:0; font-size:1.05rem !important; font-weight:900; background:transparent !important; border-color:transparent; padding:6px 10px; }
.sl .sl-title:hover{ border-color: var(--env-border); }
.sl-top-act{ display:flex; gap:6px; }
.sl-dl{ color:#fff !important; background: var(--accent) !important; border-color: var(--accent) !important; }
.sl-dl:hover{ filter: brightness(1.08); }
.sl-del:hover{ color:#DC2626 !important; }
.sl-main{ display:flex; gap:18px; align-items:flex-start; }
.sl-stage-wrap{ flex:1; min-width:0; position:sticky; top:0; }
.sl-stage{ position:relative; aspect-ratio:16/9; border-radius:16px; overflow:hidden; background: var(--env-paper-2); box-shadow: 0 26px 50px -28px rgba(0,0,0,.5), 0 0 0 1px var(--env-border); }
.sl-stage img{ width:100%; height:100%; display:block; object-fit:contain; }
.sl-nav{ position:absolute; top:50%; margin-top:-20px; width:40px; height:40px; border-radius:50%; border:none; cursor:pointer; display:grid; place-items:center; color:#fff; background: rgba(15,23,42,.55); opacity:0; transition: opacity .2s; }
.sl-stage:hover .sl-nav:not(:disabled){ opacity:1; }
.sl-nav:disabled{ display:none; }
.sl-nav .ui-ic{ width:18px; height:18px; }
.sl-nav--prev{ right:12px; } .sl-nav--next{ left:12px; }
.sl-count{ position:absolute; bottom:10px; left:10px; font-size:.7rem; font-weight:800; color:#fff; padding:3px 10px; border-radius:999px; background: rgba(15,23,42,.6); }
.sl-building{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; background: color-mix(in srgb, var(--env-paper) 78%, transparent); backdrop-filter: blur(3px); z-index:3; }
.sl-building b{ font-size:.86rem; color: var(--env-ink); }
.sl-strip{ display:flex; gap:8px; overflow-x:auto; padding:12px 2px 6px; scrollbar-width:thin; }
.sl-th{ position:relative; flex:0 0 132px; aspect-ratio:16/9; padding:0; border-radius:9px; overflow:hidden; cursor:pointer; background: var(--env-paper-2); border:2px solid transparent; box-shadow: 0 0 0 1px var(--env-border); }
.sl-th img{ width:100%; height:100%; object-fit:cover; display:block; }
.sl-th.on{ border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent); }
.sl-th i{ position:absolute; bottom:3px; right:4px; font-style:normal; font-size:.6rem; font-weight:900; color:#fff; padding:0 6px; border-radius:6px; background: rgba(15,23,42,.6); }
.sl-th-ph{ display:block; padding:6px; font-size:.6rem; color: var(--env-ink-muted); }
.sl-side{ flex:0 0 360px; min-width:0; }
.sl-ed-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.sl-type{ font-size:.7rem; font-weight:900; padding:3px 10px; border-radius:8px; color: var(--accent); background: color-mix(in srgb, var(--accent) 11%, transparent); }
.sl-ed-ops{ display:flex; gap:3px; }
.sl-ed-ops button{ width:30px; height:30px; border-radius:9px; cursor:pointer; font-size:.9rem; font-weight:900; color: var(--env-ink-muted); background: var(--env-paper-2); border:1px solid var(--env-border); }
.sl-ed-ops button:hover:not(:disabled){ color: var(--env-ink); border-color: var(--accent); }
.sl-ed-ops button:disabled{ opacity:.3; cursor:default; }
.sl-ed-ops .sl-op-del:hover{ color:#DC2626 !important; border-color:#DC2626 !important; }
.sl-ed{ display:flex; flex-direction:column; gap:9px; }
.sl-ed .mn-f em{ font-style:normal; font-weight:600; font-size:.64rem; opacity:.8; }
.sl-save{ margin-top:2px; }
.sl-ai{ margin-top:14px; padding:12px; border-radius:16px; background: linear-gradient(160deg, color-mix(in srgb, var(--accent) 9%, var(--env-paper)), var(--env-paper)); border:1px solid color-mix(in srgb, var(--accent) 22%, var(--env-border)); }
.sl-ai-h{ font-size:.78rem; font-weight:900; color: var(--env-ink); margin-bottom:8px; } .sl-ai-h small{ font-weight:600; color: var(--env-ink-muted); }
.sl-ai-chips{ display:flex; flex-wrap:wrap; gap:5px; margin-bottom:8px; }
.sl-ai-chips button{ font-family:inherit; font-size:.7rem; font-weight:800; padding:5px 10px; border-radius:999px; cursor:pointer; color: var(--accent); background: var(--env-paper); border:1px solid color-mix(in srgb, var(--accent) 30%, transparent); }
.sl-ai-chips button:hover{ background: var(--accent); color:#fff; }
.sl-ai-own{ display:flex; gap:6px; }
.sl-ai-own input{ padding:7px 10px !important; font-size:.76rem !important; }
.sl-ai-own button, .sl-add button{ font-family:inherit; font-size:.74rem; font-weight:800; padding:7px 12px; border-radius:10px; border:none; cursor:pointer; color:#fff; background: var(--accent); white-space:nowrap; }
.sl-img-box{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:12px; padding:10px 12px; border-radius:14px; background: var(--env-paper-2); font-size:.74rem; color: var(--env-ink-muted); }
.sl-ai-img{ font-family:inherit; font-size:.72rem; font-weight:800; padding:7px 11px; border-radius:10px; border:none; cursor:pointer; color:#fff; background: linear-gradient(135deg, #F59E0B, #EC4899); }
.sl-ai-img small{ opacity:.85; font-weight:600; }
.sl-add{ display:flex; align-items:center; gap:6px; margin-top:12px; font-size:.72rem; color: var(--env-ink-muted); }
.sl-add select{ flex:1; padding:6px 8px !important; font-size:.74rem !important; }
.sl-fonts{ display:flex; flex-direction:column; gap:6px; margin-bottom:12px; }
.sl-fonts button{ display:flex; flex-direction:column; align-items:flex-start; gap:2px; text-align:start; padding:9px 12px; border-radius:13px; cursor:pointer; font-family:inherit; color: var(--env-ink); background: var(--env-paper); border:2px solid var(--env-border); }
.sl-fonts button.on{ border-color: var(--accent); }
.sl-fonts b{ font-size:.82rem; } .sl-fonts small{ font-size:.66rem; line-height:1.7; color: var(--env-ink-muted); } .sl-fonts a{ color: var(--accent); }
.sl-free{ font-size:.72rem; color:#15803D; margin:4px 0 0; }
.sl .mn-sec-h{ margin-top:4px; }
.sl .mn-colors{ margin-bottom:14px; }
@media (max-width:1100px){ .sl-side{ flex-basis:310px; } .sl-themes{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width:860px){
  .sl{ padding:12px 12px 40px; }
  .sl-hero{ flex-direction:column; gap:14px; text-align:center; }
  .sl-stack{ flex-basis:auto; width:300px; height:190px; } .sl-stack img{ width:250px; }
  .sl-points{ grid-template-columns: 1fr; text-align:start; }
  .sl-hero-txt h2{ font-size:1.2rem; }
  .sl-main{ flex-direction:column; }
  .sl-stage-wrap{ position:static; width:100%; }
  .sl-side{ flex-basis:auto; width:100%; }
  .sl-nav{ opacity:1; width:34px; height:34px; }
  .sl-th{ flex-basis:100px; }
  .sl-top-act .mn-btn span{ display:none; }
}

/* ═════ استودیوی داده (۱۴۰۵/۰۷/۲۱) — تحلیلگر و استخراج‌گر ═════ */
.da, .ex{ flex:1; min-height:0; width:100%; overflow-y:auto; padding:18px clamp(12px, 2.4vw, 28px) 30px; }
.da [hidden], .ex [hidden]{ display:none !important; }
.da-start{ max-width:860px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:16px; text-align:center; }
.da-hero h2{ margin:6px 0; font-size:1.5rem; font-weight:900; color: var(--env-ink); }
.da-hero p{ margin:0 auto; max-width:640px; font-size:.86rem; line-height:1.95; color: var(--env-ink-muted); }
.da-art{ position:relative; display:flex; align-items:flex-end; justify-content:center; gap:9px; height:110px; width:220px; margin:0 auto 4px; padding:0 14px 10px;
  border-radius:22px; background: linear-gradient(160deg, color-mix(in srgb, var(--accent) 14%, var(--env-paper)), var(--env-paper)); border:1px solid var(--env-border); }
.da-art i{ width:24px; height: var(--h); border-radius:7px 7px 3px 3px; background: linear-gradient(180deg, var(--accent), color-mix(in srgb, var(--accent) 55%, #fff));
  animation: daGrow 1.2s cubic-bezier(.2,.8,.2,1) both; transform-origin: bottom; }
.da-art i:nth-child(2){ animation-delay:.1s; } .da-art i:nth-child(3){ animation-delay:.2s; } .da-art i:nth-child(4){ animation-delay:.3s; } .da-art i:nth-child(5){ animation-delay:.4s; }
@keyframes daGrow{ from{ transform: scaleY(.1); opacity:.3; } }
.da-privacy{ display:inline-flex; align-items:flex-start; gap:8px; margin-top:12px; max-width:640px; text-align:start; padding:10px 14px; border-radius:14px; font-size:.78rem; line-height:1.8;
  color: var(--env-ink); background: rgba(34,197,94,.08); border:1px solid rgba(34,197,94,.3); }
.da-privacy .ui-ic{ flex-shrink:0; width:17px; height:17px; color:#16A34A; margin-top:3px; }
.da-drop{ display:flex !important; flex-direction:column; align-items:center; gap:6px; width:100%; padding:30px 16px; border-radius:22px; cursor:pointer; margin:0;
  border:2px dashed color-mix(in srgb, var(--accent) 45%, var(--env-border)); background: color-mix(in srgb, var(--accent) 5%, var(--env-paper)); color: var(--env-ink-muted); transition: all .2s; }
.da-drop:hover, .da-drop.drag{ border-color: var(--accent); background: color-mix(in srgb, var(--accent) 11%, var(--env-paper)); }
.da-drop b{ font-size:1rem; color: var(--env-ink); } .da-drop > span:last-child{ font-size:.74rem; }
.da-drop-ic{ width:54px; height:54px; border-radius:17px; display:grid; place-items:center; color:#fff; background: var(--accent); box-shadow: 0 12px 24px -12px var(--accent-glow); }
.da-drop-ic .ui-ic{ width:26px; height:26px; }
.da-samples{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px; font-size:.76rem; color: var(--env-ink-muted); }
.da-samples button{ display:inline-flex; align-items:center; gap:6px; font-family:inherit; font-size:.76rem; font-weight:800; padding:7px 13px; border-radius:999px; cursor:pointer;
  color: var(--accent); background: var(--env-paper); border:1px solid color-mix(in srgb, var(--accent) 30%, var(--env-border)); }
.da-samples button:hover{ background: var(--accent); color:#fff; }
.da-samples .ui-ic{ width:14px; height:14px; }
.da-feats{ display:flex; flex-wrap:wrap; justify-content:center; gap:6px 16px; }
.da-feats span{ display:inline-flex; align-items:center; gap:5px; font-size:.76rem; font-weight:700; color: var(--env-ink); }
.da-feats .ui-ic{ width:15px; height:15px; color:#fff; background: var(--accent); border-radius:50%; padding:2.5px; }
.da-loading{ display:flex; justify-content:center; padding-top:50px; }
.da-steps{ display:flex; flex-direction:column; gap:12px; width:min(100%, 440px); padding:20px; border-radius:22px; background: var(--env-paper); border:1px solid var(--env-border); box-shadow: var(--shadow-md); }
.da-steps > div{ display:grid; grid-template-columns: 30px 1fr; grid-template-rows: auto auto; column-gap:10px; opacity:.45; }
.da-steps > div.run, .da-steps > div.ok{ opacity:1; }
.da-steps i{ grid-row: span 2; width:26px; height:26px; border-radius:50%; border:2px solid var(--env-border); }
.da-steps .run i{ border-color: color-mix(in srgb, var(--accent) 25%, transparent); border-top-color: var(--accent); animation: rzpvSpin .8s linear infinite; }
.da-steps .ok i{ border-color:#16A34A; background:#16A34A; position:relative; }
.da-steps .ok i::after{ content:"✓"; position:absolute; inset:0; display:grid; place-items:center; color:#fff; font-size:.8rem; font-style:normal; font-weight:900; }
.da-steps b{ font-size:.86rem; color: var(--env-ink); } .da-steps small{ font-size:.72rem; color: var(--env-ink-muted); }
.da-work{ max-width:1000px; margin:0 auto; display:flex; flex-direction:column; gap:12px; min-height:100%; }
.da-bar{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:10px 12px; border-radius:16px; background: var(--env-paper); border:1px solid var(--env-border); }
.da-file{ flex:1; min-width:0; display:flex; align-items:center; gap:10px; }
.da-file-ic{ width:38px; height:38px; flex-shrink:0; border-radius:12px; display:grid; place-items:center; color:#fff; background:#16A34A; }
.da-file-ic .ui-ic{ width:19px; height:19px; }
.da-file > span:last-child{ min-width:0; display:flex; flex-direction:column; }
.da-file b{ font-size:.86rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color: var(--env-ink); } .da-file small{ font-size:.7rem; color: var(--env-ink-muted); }
.da select{ font-family:inherit; font-size:.78rem; padding:6px 10px; border-radius:10px; border:1px solid var(--env-border); background: var(--env-paper-2); color: var(--env-ink); }
.da-bar-act{ display:flex; gap:6px; }
.da-reload{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:10px 14px; border-radius:14px; font-size:.78rem; line-height:1.8; color: var(--env-ink);
  background: rgba(245,158,11,.08); border:1px solid rgba(245,158,11,.35); }
.da-reload > .ui-ic{ width:18px; height:18px; color:#D97706; flex-shrink:0; } .da-reload > span{ flex:1; min-width:200px; }
.da-reload label{ cursor:pointer; margin:0; }
.da-panel{ padding:12px; border-radius:16px; background: var(--env-paper); border:1px solid var(--env-border); }
.da-cols{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
.da-col{ display:inline-flex; align-items:center; gap:5px; font-size:.72rem; font-weight:700; padding:4px 9px; border-radius:9px; background: var(--env-paper-2); color: var(--env-ink); }
.da-col i{ font-style:normal; font-size:.58rem; font-weight:900; padding:1px 5px; border-radius:5px; color:#fff; background:#64748B; }
.da-col--number i{ background: var(--accent); }
.da-col em{ font-style:normal; font-size:.6rem; color:#D97706; }
.da-tbl-wrap{ overflow:auto; max-height:420px; border-radius:12px; border:1px solid var(--env-border); }
.da-tbl{ width:100%; border-collapse:collapse; font-size:.76rem; }
.da-tbl th{ position:sticky; top:0; background: var(--env-paper-2); color: var(--env-ink); font-weight:800; padding:7px 10px; text-align:start; white-space:nowrap; border-bottom:1px solid var(--env-border); }
.da-tbl td{ padding:6px 10px; border-bottom:1px solid var(--env-border); color: var(--env-ink); white-space:nowrap; max-width:260px; overflow:hidden; text-overflow:ellipsis; }
.da-tbl td.n{ font-variant-numeric: tabular-nums; }
.da-tbl tbody tr:hover td{ background: var(--env-hover); }
.da-note{ display:block; margin-top:6px; font-size:.68rem; color: var(--env-ink-muted); }
.da-clean{ display:flex; flex-wrap:wrap; gap:8px 18px; align-items:center; font-size:.8rem; color: var(--env-ink); }
.da-clean label{ display:inline-flex; align-items:center; gap:6px; margin:0; cursor:pointer; }
.da-clean em{ font-style:normal; font-size:.7rem; color: var(--env-ink-muted); }
.da-clean .mn-primary{ padding:8px 16px; font-size:.8rem; }
.da-clean-report{ margin-top:10px; font-size:.78rem; line-height:2; color: var(--env-ink); }
.da-clean-report b{ color:#16A34A; } .da-clean-report .mn-btn{ margin-inline-start:6px; }
.da-feed{ flex:1; display:flex; flex-direction:column; gap:14px; }
.da-item{ padding:14px; border-radius:20px; background: var(--env-paper); border:1px solid var(--env-border); box-shadow: var(--shadow-sm); animation: envRise .4s ease both; }
.da-item-h b{ font-size:.95rem; color: var(--env-ink); }
.da-auto{ display:inline-block; font-size:.78rem; font-weight:900; padding:4px 12px; border-radius:999px; color:#fff; background: linear-gradient(135deg, var(--accent), #8B5CF6); }
.da-plan{ margin-top:6px; font-size:.78rem; color: var(--env-ink-muted); }
.da-status{ display:flex; align-items:center; gap:8px; margin-top:10px; font-size:.78rem; color: var(--accent); font-weight:700; }
.da-status--done{ color:#16A34A; font-weight:600; font-size:.7rem; } .da-status--err{ color:#DC2626; }
.da-outs{ display:flex; flex-direction:column; gap:12px; margin-top:10px; }
.da-outs:empty{ display:none; }
.da-kpis{ display:grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap:8px; }
.da-kpi{ display:flex; flex-direction:column; gap:2px; padding:12px 14px; border-radius:16px;
  background: linear-gradient(160deg, color-mix(in srgb, var(--accent) 10%, var(--env-paper)), var(--env-paper)); border:1px solid color-mix(in srgb, var(--accent) 20%, var(--env-border)); }
.da-kpi b{ font-size:1.3rem; font-weight:900; color: var(--accent); font-variant-numeric: tabular-nums; } .da-kpi span{ font-size:.72rem; color: var(--env-ink-muted); line-height:1.6; }
.da-chart, .da-table{ margin:0; padding:10px 12px 12px; border-radius:16px; background: var(--env-paper-2); border:1px solid var(--env-border); }
.da-chart figcaption, .da-table figcaption{ display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.da-chart figcaption b, .da-table figcaption b{ flex:1; font-size:.84rem; color: var(--env-ink); }
.da-tcount{ font-size:.68rem; color: var(--env-ink-muted); }
.da-mini{ font-family:inherit; font-size:.66rem; font-weight:800; padding:3px 9px; border-radius:8px; cursor:pointer; color: var(--env-ink-muted); background: var(--env-paper); border:1px solid var(--env-border); }
.da-mini:hover{ color: var(--accent); border-color: var(--accent); }
.da-canvas{ position:relative; height:300px; }
.da-text{ font-size:.82rem; line-height:1.9; white-space:pre-wrap; color: var(--env-ink); padding:8px 12px; border-radius:12px; background: var(--env-paper-2); }
.da-ans{ margin-top:12px; padding:12px 14px; border-radius:16px; font-size:.86rem; line-height:2; color: var(--env-ink); background: color-mix(in srgb, var(--accent) 6%, var(--env-paper)); border-inline-start:4px solid var(--accent); }
.da-ans p{ margin:0; } .da-ans ul{ margin:6px 0 0; padding-inline-start:20px; } .da-ans li{ margin-bottom:2px; }
.da-code{ margin-top:8px; font-size:.72rem; color: var(--env-ink-muted); }
.da-code summary{ cursor:pointer; } .da-code pre{ margin:6px 0 0; padding:10px; border-radius:10px; background: var(--env-paper-2); overflow:auto; max-height:260px; font-size:.7rem; line-height:1.6; text-align:left; }
.da-ask{ position:sticky; bottom:0; display:flex; flex-direction:column; gap:8px; padding:10px 0 4px; background: linear-gradient(transparent, var(--env-bg, transparent) 30%); }
.da-sugs{ display:flex; flex-wrap:wrap; gap:6px; }
.da-sugs button{ font-family:inherit; font-size:.74rem; font-weight:700; padding:6px 12px; border-radius:999px; cursor:pointer; color: var(--accent); background: var(--env-paper); border:1px solid color-mix(in srgb, var(--accent) 30%, var(--env-border)); text-align:start; }
.da-sugs button:hover{ background: var(--accent); color:#fff; }
.da-ask-row{ display:flex; gap:8px; padding:6px; border-radius:18px; background: var(--env-paper); border:1px solid var(--env-border); box-shadow: 0 16px 34px -20px rgba(0,0,0,.35); }
.da-ask-row input{ flex:1; min-width:0; font-family:inherit; font-size:.88rem; padding:10px 12px; border:none; outline:none; background:transparent !important; color: var(--env-ink); }
.da-ask-row button{ width:44px; height:44px; flex-shrink:0; border-radius:14px; border:none; cursor:pointer; display:grid; place-items:center; color:#fff; background: var(--env-bubble-user, var(--accent)); }
.da-ask-row button:disabled{ opacity:.45; cursor:not-allowed; }
.da-ask-row .ui-ic{ width:19px; height:19px; }
/* استخراج‌گر */
.ex-new{ max-width:900px; margin:0 auto; display:flex; flex-direction:column; gap:16px; }
.ex-hero{ display:flex; align-items:center; gap:26px; }
.ex-hero h2{ margin:0 0 6px; font-size:1.45rem; font-weight:900; color: var(--env-ink); }
.ex-hero p{ margin:0 0 10px; font-size:.86rem; line-height:1.9; color: var(--env-ink-muted); }
.ex-art{ position:relative; flex:0 0 200px; height:150px; }
.ex-art span{ position:absolute; width:78px; height:100px; border-radius:10px; background: var(--env-paper); border:1px solid var(--env-border); box-shadow: var(--shadow-sm);
  background-image: repeating-linear-gradient(180deg, transparent 0 14px, color-mix(in srgb, var(--env-ink) 12%, transparent) 14px 16px); background-size: 70% 100%; background-position:center 18px; background-repeat:no-repeat; }
.ex-art span:nth-child(1){ right:96px; top:6px; transform: rotate(-8deg); } .ex-art span:nth-child(2){ right:110px; top:24px; transform: rotate(4deg); } .ex-art span:nth-child(3){ right:122px; top:42px; }
.ex-art i{ position:absolute; right:84px; top:66px; color: var(--accent); } .ex-art i .ui-ic{ width:24px; height:24px; }
.ex-art b{ position:absolute; left:0; top:44px; padding:22px 14px; border-radius:14px; font-size:.86rem; font-weight:900; color:#fff; background:#16A34A; box-shadow: 0 14px 28px -14px rgba(22,163,74,.7); }
.ex-tpls{ display:grid; grid-template-columns: repeat(4, 1fr); gap:8px; }
.ex-tpl{ display:flex; flex-direction:column; gap:3px; text-align:start; padding:12px; border-radius:14px; cursor:pointer; font-family:inherit; color: var(--env-ink); background: var(--env-paper); border:2px solid var(--env-border); }
.ex-tpl b{ font-size:.82rem; font-weight:900; } .ex-tpl small{ font-size:.66rem; line-height:1.6; color: var(--env-ink-muted); }
.ex-tpl.on{ border-color: var(--accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 15%, transparent); }
.ex-drop{ padding:22px 14px; }
.ex-files{ display:flex; flex-wrap:wrap; gap:8px; }
.ex-files:empty{ display:none; }
.ex-f{ position:relative; display:flex; align-items:center; gap:6px; max-width:200px; padding:4px 8px 4px 28px; border-radius:10px; font-size:.7rem; color: var(--env-ink); background: var(--env-paper-2); border:1px solid var(--env-border); }
.ex-f img, .ex-pdf{ width:30px; height:30px; flex-shrink:0; border-radius:6px; object-fit:cover; }
.ex-pdf{ display:grid; place-items:center; font-size:.56rem; font-weight:900; color:#fff; background:#DC2626; }
.ex-f > span:not(.ex-pdf){ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ex-f button{ position:absolute; left:6px; top:50%; margin-top:-9px; width:18px; height:18px; border-radius:50%; border:none; cursor:pointer; line-height:1; color:#fff; background:#94A3B8; }
.ex-job{ max-width:1200px; margin:0 auto; }
.ex-title{ flex:1; min-width:0; font-size:1.05rem; color: var(--env-ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ex-progress{ display:flex; align-items:center; gap:10px; margin-bottom:12px; font-size:.76rem; color: var(--env-ink-muted); }
.ex-progress-bar{ flex:1; height:8px; border-radius:8px; background: var(--env-paper-2); overflow:hidden; }
.ex-progress-bar i{ display:block; height:100%; border-radius:8px; background: linear-gradient(90deg, var(--accent), #22C55E); transition: width .5s; }
.ex-table-wrap{ overflow:auto; border-radius:16px; border:1px solid var(--env-border); background: var(--env-paper); max-height: calc(100vh - 260px); }
.ex-table{ border-collapse:collapse; font-size:.76rem; min-width:100%; }
.ex-table th{ position:sticky; top:0; z-index:1; padding:9px 10px; white-space:nowrap; text-align:start; font-weight:800; color: var(--env-ink); background: var(--env-paper-2); border-bottom:1px solid var(--env-border); }
.ex-table td{ padding:4px 6px; border-bottom:1px solid var(--env-border); vertical-align:middle; }
.ex-table tr.warn td{ background: rgba(245,158,11,.07); }
.ex-table input{ width:100%; min-width:110px; font-family:inherit; font-size:.76rem; padding:6px 8px; border-radius:8px; border:1px solid transparent; background:transparent !important; color: var(--env-ink); outline:none; }
.ex-table input:hover{ border-color: var(--env-border); } .ex-table input:focus{ border-color: var(--accent); background: var(--env-paper-2) !important; }
.ex-table input.n{ font-variant-numeric: tabular-nums; }
.ex-table input.saved{ border-color:#22C55E; }
.ex-doc-name button{ display:flex; align-items:center; gap:7px; max-width:220px; padding:2px; border:none; background:none; cursor:pointer; font-family:inherit; font-size:.74rem; font-weight:700; color: var(--accent); text-align:start; }
.ex-doc-name img{ width:34px; height:34px; border-radius:7px; object-fit:cover; flex-shrink:0; border:1px solid var(--env-border); }
.ex-doc-name span{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ex-st{ display:inline-flex; align-items:center; gap:4px; font-size:.66rem; font-weight:800; padding:3px 8px; border-radius:7px; white-space:nowrap; }
.ex-st--q{ color: var(--env-ink-muted); background: var(--env-paper-2); } .ex-st--r{ background:none; }
.ex-st--ok{ color:#15803D; background: rgba(34,197,94,.12); } .ex-st--w{ color:#B45309; background: rgba(245,158,11,.16); cursor:help; } .ex-st--e{ color:#DC2626; background: rgba(220,38,38,.1); cursor:help; }
.ex-items-c{ font-size:.7rem; color: var(--env-ink-muted); white-space:nowrap; }
.ex-hint{ display:flex; align-items:center; gap:6px; font-size:.72rem; color: var(--env-ink-muted); }
.ex-hint .ui-ic{ width:14px; height:14px; }
.ex-doc-panel{ max-width:1100px; }
.ex-doc-grid{ display:flex; gap:18px; }
.ex-doc-img{ flex:1.1; min-width:0; display:flex; flex-direction:column; gap:8px; max-height:76vh; overflow:auto; }
.ex-doc-img img{ width:100%; border-radius:12px; border:1px solid var(--env-border); }
.ex-doc-side{ flex:1; min-width:0; max-height:76vh; overflow:auto; }
.ex-doc-side h3{ margin:0 0 10px; font-size:1rem; }
.ex-doc-form{ display:flex; flex-direction:column; gap:8px; }
.ex-doc-form input{ font-family:inherit; font-size:.82rem; padding:8px 11px; border-radius:11px; border:1px solid var(--env-border); background: var(--env-paper-2) !important; color: var(--env-ink); width:100%; }
.ex-warn{ padding:10px 12px; border-radius:12px; margin-bottom:10px; font-size:.76rem; line-height:1.8; color:#92400E; background: rgba(245,158,11,.12); border:1px solid rgba(245,158,11,.35); }
.ex-warn ul{ margin:4px 0 0; padding-inline-start:18px; }
.ex-note{ padding:8px 12px; border-radius:12px; margin-bottom:10px; font-size:.74rem; color: var(--env-ink-muted); background: var(--env-paper-2); }
.ex-items b{ display:block; margin:6px 0; font-size:.8rem; }
.ex-items table{ width:100%; border-collapse:collapse; font-size:.72rem; }
.ex-items th{ text-align:start; padding:4px; color: var(--env-ink-muted); }
.ex-items td{ padding:2px; } .ex-items input{ padding:5px 7px !important; font-size:.72rem !important; }
.ex-doc-act{ display:flex; gap:8px; margin-top:6px; }
@media (max-width:860px){
  .da, .ex{ padding:12px 12px 30px; }
  .da-hero h2, .ex-hero h2{ font-size:1.15rem; }
  .da-bar-act .mn-btn span{ display:none; }
  .da-canvas{ height:240px; }
  .ex-hero{ flex-direction:column; gap:10px; text-align:center; } .ex-art{ flex-basis:auto; width:220px; }
  .ex-tpls{ grid-template-columns: 1fr 1fr; }
  .ex-doc-grid{ flex-direction:column; } .ex-doc-img{ max-height:40vh; }
}
.da-ask{ background: linear-gradient(transparent, color-mix(in srgb, var(--env-paper-2) 92%, transparent) 26%); backdrop-filter: blur(2px); margin:0 -6px; padding:12px 6px 4px; }
.da-privacy{ display:block; }
.da-privacy .ui-ic{ display:inline-block; vertical-align:-3px; margin:0 0 0 4px; }
.ex-table input, .ex-doc-form input, .da-ask-row input, .sl textarea, .sl input[type=text], .mn input[type=text], .mn textarea{ color: var(--env-ink) !important; -webkit-text-fill-color: var(--env-ink); }
/* style.css سراسری به همهٔ table پس‌زمینهٔ روشن و min-width می‌دهد — در استودیو نه */
.env-shell .ex-table, .env-shell .da-tbl, .env-shell .ex-items table{ background: transparent; min-width:0; }
.env-shell .ex-table{ min-width:100%; }
.env-shell .ex-table th, .env-shell .da-tbl th{ background: var(--env-paper-2); color: var(--env-ink); }

/* ═════ پژوهشگرِ عمیق (۱۴۰۵/۰۷/۲۱) ═════ */
.rs{ flex:1; min-height:0; width:100%; overflow-y:auto; padding:18px clamp(12px, 2.4vw, 28px) 30px; }
.rs [hidden]{ display:none !important; }
.rs-new{ max-width:880px; margin:0 auto; display:flex; flex-direction:column; gap:16px; }
.rs-hero{ text-align:center; }
.rs-hero h2{ margin:10px 0 6px; font-size:1.4rem; font-weight:900; color: var(--env-ink); line-height:1.7; }
.rs-hero p{ margin:0 auto; max-width:640px; font-size:.86rem; line-height:1.9; color: var(--env-ink-muted); }
.rs-hero p b{ color: var(--env-ink); }
.rs-orb{ position:relative; width:96px; height:96px; margin:0 auto; }
.rs-orb span{ position:absolute; inset:22px; border-radius:50%; display:grid; place-items:center; color:#fff; background: linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 55%, #000)); box-shadow: 0 14px 30px -12px var(--accent-glow); z-index:2; }
.rs-orb span .ui-ic{ width:24px; height:24px; }
.rs-orb i{ position:absolute; inset:0; border-radius:50%; border:2px solid color-mix(in srgb, var(--accent) 35%, transparent); animation: rsPulse 2.8s ease-out infinite; }
.rs-orb i:nth-child(2){ animation-delay:.9s; } .rs-orb i:nth-child(3){ animation-delay:1.8s; }
@keyframes rsPulse{ from{ transform: scale(.45); opacity:1; } to{ transform: scale(1.15); opacity:0; } }
.rs-examples{ display:flex; flex-wrap:wrap; gap:6px; margin-top:-6px; }
.rs-examples button{ font-family:inherit; font-size:.72rem; font-weight:700; padding:5px 11px; border-radius:999px; cursor:pointer; text-align:start; color: var(--env-ink-muted); background: var(--env-paper-2); border:1px solid var(--env-border); }
.rs-examples button:hover{ color: var(--accent); border-color: color-mix(in srgb, var(--accent) 40%, var(--env-border)); }
.rs-depths{ display:grid; grid-template-columns: repeat(3, 1fr); gap:8px; }
.rs-depth{ display:flex; flex-direction:column; gap:4px; text-align:start; padding:12px; border-radius:16px; cursor:pointer; font-family:inherit; color: var(--env-ink); background: var(--env-paper); border:2px solid var(--env-border); }
.rs-depth b{ font-size:.92rem; font-weight:900; } .rs-depth small{ font-size:.7rem; line-height:1.7; color: var(--env-ink-muted); }
.rs-depth-meta{ display:flex; gap:6px; flex-wrap:wrap; margin-top:auto; }
.rs-depth-meta em{ font-style:normal; font-size:.64rem; font-weight:800; padding:2px 8px; border-radius:7px; color: var(--accent); background: color-mix(in srgb, var(--accent) 10%, transparent); }
.rs-depth.on{ border-color: var(--accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 15%, transparent); }
.rs-job{ max-width:1180px; margin:0 auto; }
.rs-q{ font-size:.84rem; line-height:1.9; color: var(--env-ink-muted); margin:-4px 0 12px; padding:10px 14px; border-radius:14px; background: var(--env-paper-2); }
.rs-progress{ padding:14px 16px; border-radius:18px; background: var(--env-paper); border:1px solid var(--env-border); margin-bottom:14px; }
.rs-progress--done{ padding:10px 16px; }
.rs-progress--done .rs-steps{ display:none; }
.rs-steps{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.rs-step{ display:flex; align-items:center; gap:7px; opacity:.45; }
.rs-step.run, .rs-step.ok{ opacity:1; }
.rs-step i{ width:22px; height:22px; border-radius:50%; border:2px solid var(--env-border); position:relative; flex-shrink:0; }
.rs-step.run i{ border-color: color-mix(in srgb, var(--accent) 25%, transparent); border-top-color: var(--accent); animation: rzpvSpin .8s linear infinite; }
.rs-step.ok i{ border-color:#16A34A; background:#16A34A; }
.rs-step.ok i::after{ content:"✓"; position:absolute; inset:0; display:grid; place-items:center; color:#fff; font-size:.7rem; font-style:normal; font-weight:900; }
.rs-step b{ font-size:.8rem; color: var(--env-ink); }
.rs-step-line{ flex:0 0 26px; height:2px; background: var(--env-border); }
.rs-subqs{ list-style:none; margin:12px 0 0; padding:0; display:flex; flex-direction:column; gap:6px; }
.rs-subq{ display:flex; align-items:center; gap:8px; font-size:.78rem; color: var(--env-ink); padding:7px 10px; border-radius:11px; background: var(--env-paper-2); }
.rs-subq > i{ width:9px; height:9px; border-radius:50%; flex-shrink:0; background: var(--env-border-strong, #cbd5e1); }
.rs-subq--searching > i{ background: var(--accent); animation: scAttn 1.2s ease infinite; box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 22%, transparent); }
.rs-subq--done > i{ background:#16A34A; }
.rs-subq > span{ flex:1; min-width:0; } .rs-subq em{ font-style:normal; font-size:.62rem; font-weight:800; color: var(--accent); }
.rs-subq small{ font-size:.66rem; font-weight:700; color: var(--env-ink-muted); white-space:nowrap; }
.rs-meta{ margin-top:8px; font-size:.7rem; color: var(--env-ink-muted); }
.rs-progress--done .rs-meta{ margin:0; }
.rs-err{ padding:10px 14px; border-radius:14px; font-size:.82rem; color:#991B1B; background: rgba(220,38,38,.08); border:1px solid rgba(220,38,38,.25); margin-bottom:12px; }
.rs-body{ display:flex; gap:18px; align-items:flex-start; }
.rs-report{ flex:1; min-width:0; padding:22px 26px; border-radius:20px; background: var(--env-paper); border:1px solid var(--env-border); box-shadow: var(--shadow-sm);
  font-size:.92rem; line-height:2.05; color: var(--env-ink); }
.rs-report h1{ font-size:1.35rem; font-weight:900; margin:0 0 12px; line-height:1.7; }
.rs-report h2{ font-size:1.05rem; font-weight:900; margin:22px 0 8px; padding-bottom:6px; border-bottom:2px solid color-mix(in srgb, var(--accent) 25%, transparent); }
.rs-report h3{ font-size:.95rem; font-weight:800; margin:16px 0 6px; }
.rs-report p{ margin:0 0 10px; } .rs-report ul, .rs-report ol{ margin:0 0 12px; padding-inline-start:22px; } .rs-report li{ margin-bottom:4px; }
.rs-report table{ width:100%; border-collapse:collapse; background:transparent; min-width:0; font-size:.82rem; margin:10px 0; }
.rs-report th, .rs-report td{ border:1px solid var(--env-border); padding:6px 9px; white-space:normal; color: var(--env-ink); }
.rs-report th{ background: var(--env-paper-2); }
.rs-cite{ display:inline-block; min-width:17px; padding:0 4px; margin:0 1px; border-radius:6px; font-size:.64rem; font-weight:900; line-height:1.55; text-align:center; cursor:pointer;
  color: var(--accent); background: color-mix(in srgb, var(--accent) 12%, transparent); vertical-align: super; }
.rs-cite:hover{ color:#fff; background: var(--accent); }
.rs-sources{ position:sticky; top:0; flex:0 0 310px; max-height: calc(100vh - 150px); overflow:auto; padding:14px; border-radius:18px; background: var(--env-paper); border:1px solid var(--env-border); }
.rs-src-h{ display:flex; align-items:center; gap:6px; font-size:.84rem; font-weight:900; color: var(--env-ink); margin-bottom:8px; }
.rs-src-h .ui-ic{ width:16px; height:16px; color: var(--accent); } .rs-src-h em{ font-style:normal; font-size:.7rem; color: var(--env-ink-muted); }
.rs-sources ol{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; }
.rs-sources li{ display:flex; gap:8px; padding:7px 8px; border-radius:11px; background: var(--env-paper-2); transition: box-shadow .3s; }
.rs-sources li.uncited{ opacity:.6; }
.rs-sources li.flash{ animation: scAttn 1.2s ease 2; box-shadow: 0 0 0 2px var(--accent); }
.rs-n{ flex-shrink:0; min-width:22px; height:22px; border-radius:7px; display:grid; place-items:center; font-size:.66rem; font-weight:900; color:#fff; background: var(--accent); }
.rs-sources a{ min-width:0; display:flex; flex-direction:column; text-decoration:none; }
.rs-sources a b{ font-size:.74rem; color: var(--env-ink); line-height:1.6; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.rs-sources a small{ font-size:.64rem; color: var(--accent); text-align:right; }
.rs-qa{ margin-top:16px; max-width: calc(100% - 328px); }
.rs-qa-list{ display:flex; flex-direction:column; gap:10px; margin-bottom:10px; }
.rs-qa-item{ padding:12px 14px; border-radius:16px; background: var(--env-paper); border:1px solid var(--env-border); font-size:.84rem; line-height:1.95; color: var(--env-ink); }
.rs-qa-item b{ display:block; margin-bottom:4px; color: var(--accent); }
@media (max-width:980px){ .rs-body{ flex-direction:column; } .rs-sources{ position:static; flex-basis:auto; width:100%; max-height:none; } .rs-qa{ max-width:none; } }
@media (max-width:760px){
  .rs{ padding:12px 12px 30px; }
  .rs-hero h2{ font-size:1.1rem; }
  .rs-depths{ grid-template-columns:1fr; }
  .rs-report{ padding:16px; font-size:.88rem; }
  .rs-step-line{ display:none; }
}

/* دوبلهٔ فارسی (۱۴۰۵/۰۷/۲۲) — داخلِ پلیرِ زیرنویس */
.vcs-dub[hidden]{ display:none !important; }
.vcs-dub{ display:flex; flex-direction:column; gap:10px; margin-top:10px; padding:14px; border-radius:16px; background: var(--env-paper); border:1px solid var(--env-border); }
.vcs-dub-h{ display:flex; flex-direction:column; gap:2px; } .vcs-dub-h b{ font-size:.92rem; color: var(--env-ink); } .vcs-dub-h span{ font-size:.74rem; color: var(--env-ink-muted); line-height:1.8; }
.vcs-dub-label{ font-size:.74rem; font-weight:800; color: var(--env-ink); }
.vcs-dub-voices{ display:grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap:6px; max-height:230px; overflow:auto; }
.vcs-dub-voice{ display:flex; flex-direction:column; gap:1px; text-align:start; padding:7px 9px; border-radius:11px; cursor:pointer; font-family:inherit; color: var(--env-ink); background: var(--env-paper-2); border:1.5px solid var(--env-border); }
.vcs-dub-voice b{ font-size:.78rem; } .vcs-dub-voice small{ font-size:.62rem; color: var(--env-ink-muted); line-height:1.5; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.vcs-dub-voice.on{ border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent); }
.vcs-dub-bg{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; font-size:.74rem; color: var(--env-ink-muted); }
.vcs-chip{ font-family:inherit; font-size:.7rem; font-weight:800; padding:4px 11px; border-radius:999px; cursor:pointer; color: var(--env-ink-muted); background: var(--env-paper-2); border:1px solid var(--env-border); }
.vcs-chip.on{ color:#fff; background: var(--accent); border-color: var(--accent); }
.vcs-dub-quote{ font-size:.8rem; color: var(--env-ink); } .vcs-dub-low{ color:#DC2626; font-weight:800; }
.vcs-dub-result{ display:flex; flex-direction:column; gap:8px; font-size:.78rem; color: var(--accent); }
.vcs-dub-result:empty{ display:none; }
.vcs-dub-video{ width:100%; max-height:360px; border-radius:12px; background:#000; }
.vcs-dub-cost{ color: var(--env-ink-muted); }
.vcs-btn-dub.active{ border-color: var(--accent); color: var(--accent); }

/* ═══ میز نوشتار — قالب‌هایِ اداری/حقوقی (فازِ ۷، ۱۴۰۵/۰۷/۲۲) ═══ */
.wd-tpls{ margin-top:16px; padding-top:14px; border-top:1px dashed var(--env-border-strong); }
.wd-tpls-h{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:10px; }
.wd-tpls-h .ui-ic{ width:16px; height:16px; color: var(--accent); }
.wd-tpls-h b{ font-size:.88rem; color: var(--env-ink); }
.wd-tpls-h span{ font-size:.72rem; color: var(--env-ink-muted); }
.wd-tpls-grid{ display:grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap:8px; }
.wd-tpl-card{ display:flex; align-items:flex-start; gap:10px; padding:11px 12px; text-align:right; cursor:pointer; font-family:inherit;
  border-radius:14px; border:1px solid var(--env-border); background: var(--env-solid); color: var(--env-ink); transition: border-color .15s, transform .15s, box-shadow .15s; }
.wd-tpl-card:hover{ border-color: var(--accent); transform: translateY(-1px); box-shadow: var(--shadow-sm); }
.wd-tpl-card i{ flex:none; display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background: var(--accent-soft); color: var(--accent); }
.wd-tpl-card--legal i{ background: rgba(180,120,40,.13); color:#a8661c; }
.wd-tpl-card i .ui-ic{ width:17px; height:17px; }
.wd-tpl-card b{ display:block; font-size:.82rem; font-weight:800; }
.wd-tpl-card small{ display:block; margin-top:2px; font-size:.7rem; line-height:1.7; color: var(--env-ink-muted); }

.wd-tpl[hidden]{ display:none !important; }
.wd-tpl{ position:fixed; inset:0; z-index:1200; display:flex; align-items:center; justify-content:center; padding:16px;
  background: rgba(10,12,20,.48); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.wd-tpl-box{ width:min(680px, 100%); max-height: calc(100dvh - 32px); display:flex; flex-direction:column; border-radius:20px; overflow:hidden;
  background: var(--env-solid); border:1px solid var(--env-border); box-shadow: 0 30px 80px -20px rgba(0,0,0,.45); animation: wdTplIn .28s cubic-bezier(.2,.8,.2,1); }
@keyframes wdTplIn{ from{ transform: translateY(18px) scale(.985); } to{ transform:none; } }
.wd-tpl-head{ display:flex; align-items:center; gap:12px; padding:16px 18px; border-bottom:1px solid var(--env-border); }
.wd-tpl-head > i{ flex:none; display:grid; place-items:center; width:40px; height:40px; border-radius:12px; background: var(--accent-soft); color: var(--accent); }
.wd-tpl-head > i .ui-ic{ width:20px; height:20px; }
.wd-tpl-head > div{ flex:1; min-width:0; }
.wd-tpl-head b{ display:block; font-size:1rem; color: var(--env-ink); }
.wd-tpl-head span{ display:block; font-size:.74rem; color: var(--env-ink-muted); }
.wd-tpl-x{ flex:none; display:grid; place-items:center; width:34px; height:34px; border:none; border-radius:10px; cursor:pointer; background: var(--env-hover); color: var(--env-ink-muted); }
.wd-tpl-x .ui-ic{ width:16px; height:16px; }
.wd-tpl-fields{ flex:1; overflow:auto; padding:16px 18px; display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
.wd-tpl-f{ display:flex; flex-direction:column; gap:5px; min-width:0; }
.wd-tpl-f--wide{ grid-column: 1 / -1; }
.wd-tpl-f > span{ font-size:.76rem; font-weight:700; color: var(--env-ink); }
.wd-tpl-f > span em{ color:#d0453a; font-style:normal; margin-inline-start:3px; }
.wd-tpl-f input, .wd-tpl-f textarea{ width:100%; box-sizing:border-box; padding:10px 12px; border-radius:12px; border:1px solid var(--env-border-strong);
  background: var(--env-bg, var(--env-solid)); color: var(--env-ink); font-family:inherit; font-size:.86rem; line-height:1.8; outline:none; resize:vertical; }
.wd-tpl-f input:focus, .wd-tpl-f textarea:focus{ border-color: var(--accent); box-shadow: 0 0 0 4px var(--accent-soft); }
.wd-tpl-f .wd-bad{ border-color:#d0453a; }
.wd-tpl-note{ margin:0 18px 12px; padding:10px 12px; border-radius:12px; font-size:.74rem; line-height:1.8; background: rgba(180,120,40,.1); color: #8a5a1a; }
.wd-tpl-foot{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:12px 18px 16px; border-top:1px solid var(--env-border); }
.wd-tpl-hint{ flex:1; min-width:200px; font-size:.72rem; line-height:1.8; color: var(--env-ink-muted); }
body.wd-tpl-open{ overflow:hidden; }
@media (max-width: 640px){
  .wd-tpls-grid{ grid-template-columns: 1fr 1fr; }
  .wd-tpl-card{ flex-direction:column; gap:6px; }
  .wd-tpl-card small{ display:none; }
  .wd-tpl{ align-items:flex-end; padding:0; }
  .wd-tpl-box{ border-radius:20px 20px 0 0; max-height: 92dvh; }
  .wd-tpl-fields{ grid-template-columns: 1fr; }
}
@media (prefers-color-scheme: dark){
  .env-shell:not(.env-force-light) .wd-tpl-card--legal i{ color:#e2a55a; background: rgba(226,165,90,.14); }
  .env-shell:not(.env-force-light) .wd-tpl-note{ color:#e8c08a; background: rgba(226,165,90,.1); }
}
.env-shell.env-force-dark .wd-tpl-card--legal i{ color:#e2a55a; background: rgba(226,165,90,.14); }
.env-shell.env-force-dark .wd-tpl-note{ color:#e8c08a; background: rgba(226,165,90,.1); }

/* ═══ صفحه‌سازِ نابغه (فازِ ۷، ۱۴۰۵/۰۷/۲۲) ═══ */
.pg [hidden]{ display:none !important; }
.pg-hero{ display:grid; grid-template-columns: 1.1fr 1fr; gap:22px; align-items:center; }
.pg-hero h2{ margin:0 0 8px; font-size:1.45rem; font-weight:900; line-height:1.6; color: var(--env-ink); }
.pg-hero p{ margin:0 0 10px; font-size:.86rem; line-height:1.95; color: var(--env-ink-muted); }
.pg-mock{ border-radius:16px; overflow:hidden; background: var(--env-solid); border:1px solid var(--env-border); box-shadow: 0 30px 60px -30px var(--accent-glow), var(--shadow-md);
  transform: perspective(900px) rotateY(-8deg) rotateX(3deg); }
.pg-mock-bar{ display:flex; align-items:center; gap:5px; padding:8px 10px; background: var(--env-hover); }
.pg-mock-bar i{ width:8px; height:8px; border-radius:50%; background:#F87171; } .pg-mock-bar i:nth-child(2){ background:#FBBF24; } .pg-mock-bar i:nth-child(3){ background:#34D399; }
.pg-mock-bar span{ flex:1; height:12px; margin-inline-start:8px; border-radius:6px; background: var(--env-solid); }
.pg-mock-body{ padding:12px; display:flex; flex-direction:column; gap:12px; }
.pg-mock-nav{ display:flex; align-items:center; gap:8px; } .pg-mock-nav b{ width:42px; height:10px; border-radius:5px; background: var(--accent); margin-inline-end:auto; }
.pg-mock-nav em{ width:26px; height:6px; border-radius:3px; background: var(--env-border-strong); }
.pg-mock-hero{ display:grid; grid-template-columns: 1.2fr 1fr; gap:12px; align-items:center; padding:14px; border-radius:12px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 16%, transparent), color-mix(in srgb, var(--accent) 4%, transparent)); }
.pg-mock-hero div{ display:flex; flex-direction:column; gap:6px; }
.pg-mock-hero b{ height:11px; border-radius:5px; background: var(--env-ink); opacity:.75; } .pg-mock-hero b:nth-child(2){ width:70%; }
.pg-mock-hero s{ height:6px; width:85%; border-radius:3px; background: var(--env-border-strong); }
.pg-mock-hero u{ width:64px; height:18px; margin-top:4px; border-radius:9px; background: var(--accent); }
.pg-mock-hero > span{ aspect-ratio: 1; border-radius:14px; background: radial-gradient(circle at 30% 30%, color-mix(in srgb, var(--accent) 70%, #fff), var(--accent)); opacity:.85; animation: pgFloat 5s ease-in-out infinite; }
.pg-mock-cards{ display:grid; grid-template-columns: repeat(3, 1fr); gap:8px; }
.pg-mock-cards i{ height:44px; border-radius:10px; background: var(--env-hover); border:1px solid var(--env-border); }
@keyframes pgFloat{ 50%{ transform: translateY(-6px) rotate(4deg); } }
@media (prefers-reduced-motion: reduce){ .pg-mock-hero > span{ animation:none; } }
.pg-examples button{ text-align:right; }
.pg-styles{ display:grid; grid-template-columns: repeat(6, 1fr); gap:8px; }
.pg-style{ display:flex; flex-direction:column; gap:6px; padding:6px 6px 8px; border-radius:14px; cursor:pointer; font-family:inherit; color: var(--env-ink);
  background: var(--env-paper); border:2px solid var(--env-border); transition: transform .15s, border-color .15s; }
.pg-style:hover{ transform: translateY(-2px); }
.pg-style.on{ border-color: var(--accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 16%, transparent); }
.pg-style span{ font-size:.72rem; font-weight:800; }
.pg-style i{ position:relative; display:block; aspect-ratio: 4/3; border-radius:9px; overflow:hidden; padding:8px; box-sizing:border-box; }
.pg-style i b{ display:block; height:7px; width:60%; border-radius:4px; margin-bottom:5px; }
.pg-style i em{ display:block; height:4px; width:80%; border-radius:2px; margin-bottom:4px; opacity:.5; }
.pg-style--clean i{ background:#fff; border:1px solid #E5E7EB; } .pg-style--clean b{ background:#4F46E5; } .pg-style--clean em{ background:#9CA3AF; }
.pg-style--dark i{ background: radial-gradient(circle at 80% 20%, #6D28D9 0, transparent 55%), #0F172A; } .pg-style--dark b{ background:#A78BFA; } .pg-style--dark em{ background:#94A3B8; }
.pg-style--warm i{ background:#FBF3E6; } .pg-style--warm b{ background:#C2410C; border-radius:8px; } .pg-style--warm em{ background:#A8A29E; }
.pg-style--lux i{ background:#111; border-bottom:2px solid #C9A84C; } .pg-style--lux b{ background:#C9A84C; height:5px; } .pg-style--lux em{ background:#d6d3d1; }
.pg-style--vivid i{ background: linear-gradient(135deg, #F43F5E, #8B5CF6 55%, #06B6D4); } .pg-style--vivid b{ background:#fff; } .pg-style--vivid em{ background:#fff; }
.pg-style--corp i{ background: linear-gradient(#1E3A8A 0 38%, #F8FAFC 38%); } .pg-style--corp b{ background:#fff; } .pg-style--corp em{ background:#93C5FD; }
.pg-colors{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.pg-colors > button, .pg-color-pick{ width:30px; height:30px; border-radius:50%; cursor:pointer; padding:0; display:grid; place-items:center; margin:0;
  background: var(--c, var(--env-hover)); border:2px solid var(--env-solid); box-shadow: 0 0 0 1px var(--env-border); transition: transform .15s; color: var(--env-ink-muted); }
.pg-colors > button:hover, .pg-color-pick:hover{ transform: scale(1.1); }
.pg-colors > button.on, .pg-color-pick.on{ box-shadow: 0 0 0 2px var(--env-solid), 0 0 0 4px var(--c, var(--accent)); }
.pg-colors .ui-ic{ width:14px; height:14px; }
.pg-color-pick{ position:relative; overflow:hidden; background: conic-gradient(#f43f5e, #f59e0b, #22c55e, #06b6d4, #6366f1, #d946ef, #f43f5e); }
.pg-color-pick.set{ background: var(--c); }
.pg-color-pick input{ position:absolute; inset:0; opacity:0; cursor:pointer; }
.pg-color-pick span{ display:grid; place-items:center; width:16px; height:16px; border-radius:50%; background: rgba(255,255,255,.85); color:#333; }
.pg-color-pick span .ui-ic{ width:11px; height:11px; }
.pg-multi button.on::before{ content:"✓ "; }
.pg-imgs{ display:flex; flex-wrap:wrap; gap:10px; }
.pg-img{ position:relative; width:104px; display:flex; flex-direction:column; gap:4px; }
.pg-img img{ width:104px; height:78px; object-fit:cover; border-radius:12px; border:1px solid var(--env-border); background: var(--env-hover); }
.pg .pg-img select{ padding:3px 6px; font-size:.68rem; border-radius:8px; }
.pg-img > button{ position:absolute; top:-6px; left:-6px; width:22px; height:22px; border-radius:50%; border:none; cursor:pointer; font-size:14px; line-height:1;
  background:#111827; color:#fff; box-shadow: var(--shadow-sm); }
.pg-img-add{ width:104px; height:78px; display:flex !important; flex-direction:column; align-items:center; justify-content:center; gap:4px; margin:0; cursor:pointer;
  border-radius:12px; border:1.5px dashed color-mix(in srgb, var(--accent) 45%, var(--env-border)); color: var(--accent); font-size:.7rem; font-weight:800;
  background: color-mix(in srgb, var(--accent) 6%, var(--env-paper)); }
.pg-img-add .ui-ic{ width:18px; height:18px; }
.pg-tiers{ grid-template-columns: 1fr 1fr; }

/* ویرایشگر */
.pg-ed{ display:flex; flex-direction:column; height:100%; min-height:0; }
.pg.sl:has(.pg-ed){ display:flex; flex-direction:column; padding-bottom:14px; }
.pg-top{ position:relative; flex-wrap:wrap; }
.pg-devices{ display:inline-flex; padding:3px; border-radius:12px; background: var(--env-hover); }
.pg-devices button{ display:grid; place-items:center; width:34px; height:30px; border:none; background:none; border-radius:9px; cursor:pointer; color: var(--env-ink-muted); }
.pg-devices button.on{ background: var(--env-solid); color: var(--accent); box-shadow: var(--shadow-sm); }
.pg-devices .ui-ic{ width:16px; height:16px; }
.mn-btn.on{ color: var(--accent); border-color: var(--accent); }
.mn-btn em{ font-style:normal; font-size:.66rem; padding:0 6px; border-radius:99px; background: var(--accent-soft); color: var(--accent); }
.mn-btn em:empty{ display:none; }
.pg-pop{ position:absolute; top:44px; left:0; z-index:30; }
.pg-pop a, .pg-pop button{ display:flex; align-items:center; gap:10px; width:100%; text-align:right; }
.pg-pop a span, .pg-pop button span{ display:flex; flex-direction:column; } .pg-pop small{ font-size:.66rem; color: var(--env-ink-muted); font-weight:500; }
#pgVerPop{ left:110px; width:300px; max-height:380px; overflow:auto; }
.pg-main{ flex:1; min-height:0; display:flex; gap:14px; }
.pg-stage{ flex:1; min-width:0; display:flex; flex-direction:column; gap:10px; min-height:0; }
.pg-frame{ --pg-w:100%; position:relative; flex:1; min-height:420px; width: min(var(--pg-w), 100%); margin:0 auto; display:flex; flex-direction:column; border-radius:16px; overflow:hidden;
  background:#fff; border:1px solid var(--env-border); box-shadow: var(--shadow-md); transition: width .3s cubic-bezier(.2,.8,.2,1); }
.pg-frame--narrow{ border-radius:22px; border-width:6px; border-color: var(--env-ink); }
.pg-frame-bar{ display:flex; align-items:center; gap:5px; padding:8px 12px; background: var(--env-hover); border-bottom:1px solid var(--env-border); }
.pg-frame-bar i{ width:9px; height:9px; border-radius:50%; background:#F87171; } .pg-frame-bar i:nth-child(2){ background:#FBBF24; } .pg-frame-bar i:nth-child(3){ background:#34D399; }
.pg-frame-bar span{ flex:1; margin-inline-start:10px; padding:2px 12px; border-radius:8px; font-size:.68rem; color: var(--env-ink-muted); background: var(--env-solid); text-align:center; }
.pg-frame--narrow .pg-frame-bar{ display:none; }
.pg-frame iframe{ flex:1; width:100%; border:0; background:#fff; }
.pg .pg-code{ flex:1; width:100%; border:0 !important; border-radius:0 !important; resize:none; font-family: ui-monospace, Menlo, Consolas, monospace !important; font-size:12.5px !important;
  line-height:1.6 !important; background:#0F172A !important; color:#E2E8F0 !important; padding:14px 16px !important; tab-size:2; }
.pg-busy{ position:absolute; inset:0; display:grid; place-items:center; background: color-mix(in srgb, var(--env-paper) 70%, transparent); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.pg-busy-card{ display:flex; flex-direction:column; align-items:center; gap:8px; padding:22px 28px; max-width:340px; text-align:center; border-radius:20px; background: var(--env-solid); border:1px solid var(--env-border); box-shadow: var(--shadow-md); }
.pg-busy-card .sl-wait-ring{ width:40px; height:40px; }
.pg-busy-card b{ font-size:.92rem; color: var(--env-ink); } .pg-busy-card small{ font-size:.76rem; line-height:1.8; color: var(--env-ink-muted); min-height:1.4em; }
.pg-busy-card em{ font-style:normal; font-size:.7rem; color: var(--accent); font-weight:800; }
.pg-err{ position:absolute; left:12px; right:12px; bottom:12px; display:flex; align-items:center; gap:10px; padding:10px 14px; border-radius:14px; font-size:.8rem;
  background:#FEF2F2; color:#991B1B; border:1px solid #FECACA; }
.pg-err span{ flex:1; } .pg-err button{ font-family:inherit; font-weight:800; font-size:.76rem; padding:6px 12px; border-radius:10px; border:none; cursor:pointer; background:#991B1B; color:#fff; }
.pg-codebar{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:.74rem; color: var(--env-ink-muted); }
.pg-codebar span{ flex:1; min-width:200px; }
.pg-dock{ display:flex; flex-direction:column; gap:8px; padding:10px; border-radius:18px; background: var(--env-paper); border:1px solid var(--env-border); box-shadow: var(--shadow-md); }
.pg-target{ display:flex; align-items:center; gap:6px; align-self:flex-start; max-width:100%; padding:4px 6px 4px 10px; border-radius:10px; font-size:.72rem; font-weight:700;
  color: var(--accent); background: var(--accent-soft); }
.pg-target span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pg-target .ui-ic{ width:14px; height:14px; flex:none; }
.pg-target button{ display:grid; place-items:center; width:20px; height:20px; border:none; border-radius:6px; cursor:pointer; background:transparent; color:inherit; padding:0; }
.pg-dock-row{ display:flex; gap:8px; align-items:center; }
.pg .pg-dock-row input{ flex:1; min-width:0; }
.pg-pick, .pg-send{ flex:none; display:inline-flex; align-items:center; gap:6px; height:42px; padding:0 12px; border-radius:13px; cursor:pointer; font-family:inherit; font-size:.74rem; font-weight:800;
  border:1px solid var(--env-border); background: var(--env-solid); color: var(--env-ink-muted); }
.pg-pick.on{ color:#fff; background: var(--accent); border-color: var(--accent); animation: pgPulse 1.4s infinite; }
@keyframes pgPulse{ 50%{ box-shadow: 0 0 0 6px color-mix(in srgb, var(--accent) 22%, transparent); } }
.pg-send{ width:42px; padding:0; justify-content:center; border:none; color:#fff; background: var(--env-bubble-user, var(--accent)); }
.pg-pick .ui-ic, .pg-send .ui-ic{ width:17px; height:17px; }
.pg-dock button:disabled, .pg-dock input:disabled{ opacity:.55; cursor:default; }
.pg-dock-foot{ display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.pg-sugs{ display:flex; gap:6px; overflow-x:auto; scrollbar-width:none; flex:1; min-width:0; }
.pg-sugs::-webkit-scrollbar{ display:none; }
.pg-sugs button{ flex:none; font-family:inherit; font-size:.7rem; font-weight:700; padding:5px 10px; border-radius:99px; cursor:pointer; color: var(--env-ink-muted);
  background: var(--env-paper-2); border:1px solid var(--env-border); white-space:nowrap; }
.pg-sugs button:hover{ color: var(--accent); border-color: var(--accent); }
.pg-dock-meta{ display:flex; align-items:center; gap:10px; font-size:.68rem; color: var(--env-ink-muted); }
.pg-tier-sm button{ font-size:.66rem; padding:3px 9px; }
.pg-side{ width:236px; flex:none; display:flex; flex-direction:column; gap:10px; padding:14px; border-radius:18px; overflow:auto;
  background: var(--env-paper); border:1px solid var(--env-border); box-shadow: var(--shadow-md); }
.pg-side-h{ display:flex; align-items:center; gap:6px; font-size:.78rem; font-weight:900; color: var(--env-ink); }
.pg-side-h .ui-ic{ width:15px; height:15px; color: var(--accent); }
.pg-side-h small{ font-weight:700; color: var(--env-ink-muted); }
.pg-side-hint{ margin:0; font-size:.68rem; line-height:1.8; color: var(--env-ink-muted); }
.pg-imgs--side{ display:grid; grid-template-columns: 1fr 1fr; gap:8px; }
.pg-img--side{ width:auto; }
.pg-img--side img{ width:100%; height:70px; }
.pg-img--side span{ font-size:.62rem; color: var(--env-ink); text-align:center; font-family: ui-monospace, monospace; }
.pg-img--side small{ font-size:.6rem; color: var(--env-ink-muted); text-align:center; margin-top:-4px; }
.pg-side-add{ display:flex; gap:6px; }
.pg .pg-side-add select{ flex:1; padding:6px 8px; font-size:.72rem; border-radius:10px; }
.pg-img-add--wide{ width:auto; height:auto; flex-direction:row; padding:7px 10px; flex:none; }
.pg-regen{ justify-content:center; }
@media (max-width: 1100px){ .pg-main{ flex-direction:column; } .pg-side{ width:auto; overflow:visible; } .pg-imgs--side{ grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)); } }
@media (max-width: 860px){ .pg-hero{ grid-template-columns: 1fr; } .pg-mock{ display:none; } .pg-styles{ grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px){
  .pg-tiers{ grid-template-columns: 1fr; }
  .pg-top{ gap:8px; } .pg-top .sl-title{ flex-basis:100%; }
  .pg-top .mn-btn span{ display:none; }
  .pg-pick span{ display:none; }
  .pg-frame{ min-height:62vh; }
  .pg-dock-meta{ width:100%; justify-content:space-between; }
  #pgVerPop{ left:0; right:0; width:auto; }
}
@media (prefers-color-scheme: dark){ .env-shell:not(.env-force-light) .pg-err{ background:#3B0D0D; color:#FCA5A5; border-color:#7F1D1D; } }
.env-shell.env-force-dark .pg-err{ background:#3B0D0D; color:#FCA5A5; border-color:#7F1D1D; }

/* کیف پولِ یکپارچهٔ استودیو — نوارِ موجودیِ کم/خالی (۱۴۰۵/۰۷/۲۲) */
.env-wallet-low{ display:flex; align-items:center; gap:12px; margin:10px clamp(12px, 2.4vw, 28px) 0; padding:10px 14px; border-radius:16px;
  background: color-mix(in srgb, var(--accent) 10%, var(--env-paper)); border:1px solid color-mix(in srgb, var(--accent) 30%, var(--env-border)); }
.env-wallet-low > span{ display:grid; place-items:center; flex:none; width:34px; height:34px; border-radius:11px; background: var(--accent); color:#fff; }
.env-wallet-low > span .ui-ic{ width:18px; height:18px; }
.env-wallet-low p{ flex:1; min-width:0; margin:0; display:flex; flex-direction:column; line-height:1.7; }
.env-wallet-low b{ font-size:.84rem; color: var(--env-ink); } .env-wallet-low small{ font-size:.72rem; color: var(--env-ink-muted); }
.env-wallet-low button{ flex:none; font-family:inherit; font-size:.78rem; font-weight:800; padding:8px 14px; border-radius:12px; border:none; cursor:pointer; color:#fff; background: var(--env-bubble-user, var(--accent)); }
.env-sub-badge .ui-ic{ width:13px; height:13px; vertical-align:-2px; }
@media (max-width:640px){ .env-wallet-low small{ display:none; } }
/* میز نوشتار: صفحهٔ شروع (با قالب‌ها) از ارتفاعِ صفحه بلندتر است — بدونِ این، پایینِ آن روی موبایل در دسترس نبود */
.wd{ overflow-y:auto; overscroll-behavior:contain; }
.wd > .wd-start, .wd > .wd-bar{ flex:none; }

/* ═══ پادکست‌ساز و موسیقی‌ساز (فازِ ۸، ۱۴۰۵/۰۷/۲۲) ═══ */
.au [hidden]{ display:none !important; }
.au-hero{ display:grid; grid-template-columns: 1fr 1.1fr; gap:24px; align-items:center; }
.au-hero-txt h2{ margin:0 0 8px; font-size:1.45rem; font-weight:900; line-height:1.6; color: var(--env-ink); }
.au-hero-txt p{ margin:0 0 10px; font-size:.86rem; line-height:1.95; color: var(--env-ink-muted); }
.au-hero-art{ position:relative; height:220px; border-radius:24px; overflow:hidden; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px;
  background: radial-gradient(circle at 30% 20%, color-mix(in srgb, var(--accent) 35%, transparent), transparent 60%),
              linear-gradient(135deg, color-mix(in srgb, var(--accent) 85%, #0b1020), color-mix(in srgb, var(--accent) 45%, #0b1020));
  box-shadow: 0 30px 60px -30px var(--accent-glow); }
.au-wave{ display:flex; align-items:center; gap:4px; height:56px; }
.au-wave i{ width:5px; border-radius:3px; background: rgba(255,255,255,.85); height:20%; animation: auWave 1.2s ease-in-out infinite; animation-delay: calc(var(--i) * -0.09s); }
@keyframes auWave{ 0%,100%{ height:18%; } 50%{ height:100%; } }
.au-wave--busy i{ background: var(--accent); }
@media (prefers-reduced-motion: reduce){ .au-wave i{ animation:none; height:45%; } }
.pd-mic{ display:grid; place-items:center; width:64px; height:64px; border-radius:50%; background: rgba(255,255,255,.18); color:#fff; box-shadow: 0 0 0 10px rgba(255,255,255,.08); }
.pd-mic .ui-ic{ width:30px; height:30px; }
.pd-bubbles{ position:absolute; inset:0; pointer-events:none; }
.pd-bubbles span{ position:absolute; padding:6px 12px; border-radius:14px; font-size:.72rem; font-weight:700; color: var(--env-ink); background: rgba(255,255,255,.92); box-shadow: var(--shadow-sm); }
.pd-bubbles span:first-child{ top:18px; right:18px; border-bottom-right-radius:4px; }
.pd-bubbles span:last-child{ bottom:18px; left:18px; border-bottom-left-radius:4px; }
.mu-disc{ position:relative; width:110px; height:110px; border-radius:50%; background: repeating-radial-gradient(circle, #111 0 2px, #1d1d24 2px 4px); box-shadow: 0 10px 30px rgba(0,0,0,.35); animation: muSpin 6s linear infinite; }
.mu-disc i{ position:absolute; inset:36%; border-radius:50%; background: var(--accent); box-shadow: inset 0 0 0 6px rgba(255,255,255,.25); }
@keyframes muSpin{ to{ transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce){ .mu-disc{ animation:none; } }
.mu-art{ flex-direction:row; gap:28px; }
.au-tiers{ grid-template-columns: 1fr 1fr; }
.au-note{ font-size:.7rem; color: var(--env-ink-muted); }
/* گوینده‌ها */
.pd-hosts{ display:flex; flex-direction:column; gap:12px; }
.pd-host{ padding:12px; border-radius:16px; background: var(--env-paper-2); border:1px solid var(--env-border); }
.pd-host-h{ display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.pd-host-n{ flex:none; font-size:.74rem; font-weight:800; color: var(--env-ink-muted); }
.au .pd-host-h input{ max-width:200px; padding:6px 10px; font-size:.82rem; }
.pd-voices{ display:grid; grid-template-columns: repeat(4, 1fr); gap:6px; }
.pd-voice{ display:flex; align-items:center; gap:6px; padding:6px; border-radius:12px; background: var(--env-paper); border:1.5px solid var(--env-border); transition: border-color .15s; }
.pd-voice.on{ border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent); }
.pd-voice-play{ flex:none; width:28px; height:28px; border-radius:50%; border:none; cursor:pointer; font-size:.7rem; color: var(--accent); background: var(--accent-soft); }
.pd-voice-play.on{ color:#fff; background: var(--accent); animation: pgPulse 1.2s infinite; }
.pd-voice-pick{ flex:1; min-width:0; display:flex; flex-direction:column; align-items:flex-start; border:none; background:none; cursor:pointer; font-family:inherit; text-align:right; padding:0; color: var(--env-ink); }
.pd-voice-pick b{ font-size:.76rem; } .pd-voice-pick small{ font-size:.64rem; color: var(--env-ink-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
.pd-hosts--side .pd-voices{ grid-template-columns: 1fr 1fr; }
/* سوییچ */
.au-switch{ display:flex !important; align-items:center; gap:12px; cursor:pointer; padding:12px 14px; border-radius:16px; background: var(--env-paper-2); border:1px solid var(--env-border); margin:0; }
.au-switch input{ position:absolute; opacity:0; pointer-events:none; }
.au-switch-ui{ flex:none; position:relative; width:42px; height:24px; border-radius:99px; background: var(--env-border-strong); transition: background .2s; }
.au-switch-ui::after{ content:""; position:absolute; top:3px; right:3px; width:18px; height:18px; border-radius:50%; background:#fff; box-shadow: var(--shadow-sm); transition: transform .2s; }
.au-switch input:checked + .au-switch-ui{ background: var(--accent); }
.au-switch input:checked + .au-switch-ui::after{ transform: translateX(-18px); }
.au-switch input:focus-visible + .au-switch-ui{ outline:2px solid var(--accent); outline-offset:2px; }
.au-switch > span:last-child{ display:flex; flex-direction:column; }
.au-switch b{ font-size:.82rem; color: var(--env-ink); } .au-switch small{ font-size:.7rem; color: var(--env-ink-muted); }
.au-switch--sm{ padding:8px 10px; }
/* انتظار و پخش‌کننده */
.au-ed{ max-width:1100px; margin:0 auto; display:flex; flex-direction:column; gap:14px; }
.au-wait{ display:flex; flex-direction:column; align-items:center; gap:6px; padding:26px; border-radius:22px; text-align:center;
  background: color-mix(in srgb, var(--accent) 7%, var(--env-paper)); border:1px solid color-mix(in srgb, var(--accent) 22%, var(--env-border)); }
.au-wait b{ font-size:.95rem; color: var(--env-ink); } .au-wait small{ font-size:.76rem; color: var(--env-ink-muted); } .au-wait em{ font-style:normal; font-size:.72rem; font-weight:800; color: var(--accent); }
.au-wait--inline{ padding:16px; align-items:flex-start; text-align:right; }
.au-wait--inline .au-wave{ height:36px; }
.au-player{ display:flex; align-items:center; gap:14px; padding:12px 16px; border-radius:20px; background: var(--env-paper); border:1px solid var(--env-border); box-shadow: var(--shadow-md); }
.au-play{ flex:none; display:grid; place-items:center; width:54px; height:54px; border-radius:50%; border:none; cursor:pointer; color:#fff;
  background: var(--env-bubble-user, var(--accent)); box-shadow: 0 10px 24px -10px var(--accent-glow); transition: transform .15s; }
.au-play:hover{ transform: scale(1.05); }
.au-play .ui-ic{ width:22px; height:22px; }
.au-player-main{ flex:1; min-width:0; }
.au-wavecanvas{ display:block; width:100%; height:56px; cursor:pointer; }
.au-time{ display:flex; justify-content:space-between; font-size:.7rem; color: var(--env-ink-muted); margin-top:2px; }
/* ویرایشگرِ متن */
.pd-main{ display:flex; gap:16px; align-items:flex-start; }
.pd-script-wrap{ flex:1; min-width:0; display:flex; flex-direction:column; gap:10px; }
.pd-script-h{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.pd-script-h b{ display:flex; align-items:center; gap:6px; font-size:.86rem; color: var(--env-ink); } .pd-script-h b .ui-ic{ width:16px; height:16px; color: var(--accent); }
.pd-script-h small{ font-size:.72rem; color: var(--env-ink-muted); }
.pd-save{ margin-inline-start:auto; font-size:.7rem; color: var(--env-ink-muted); }
.pd-script{ display:flex; flex-direction:column; gap:8px; padding:12px; border-radius:20px; background: var(--env-paper); border:1px solid var(--env-border); box-shadow: var(--shadow-md); max-height: calc(100dvh - 300px); min-height:260px; overflow:auto; }
.pd-turn{ position:relative; display:flex; align-items:flex-start; gap:10px; padding:8px 10px; border-radius:14px; }
.pd-turn:hover{ background: var(--env-hover); }
.pd-spk{ flex:none; min-width:70px; padding:4px 10px; border-radius:99px; border:none; cursor:pointer; font-family:inherit; font-size:.72rem; font-weight:800; }
.pd-turn--a .pd-spk{ color:#fff; background: var(--accent); }
.pd-turn--b .pd-spk{ color: var(--accent); background: var(--accent-soft); }
.pd-txt{ flex:1; min-width:0; font-size:.88rem; line-height:2; color: var(--env-ink); outline:none; border-radius:8px; padding:0 4px; white-space:pre-wrap; }
.pd-txt:focus{ background: color-mix(in srgb, var(--accent) 6%, transparent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 30%, transparent); }
.pd-turn-act{ flex:none; display:flex; gap:4px; opacity:0; transition: opacity .15s; }
.pd-turn:hover .pd-turn-act, .pd-turn:focus-within .pd-turn-act{ opacity:1; }
.pd-turn-act button{ width:26px; height:26px; border-radius:8px; border:1px solid var(--env-border); background: var(--env-solid); cursor:pointer; color: var(--env-ink-muted); font-size:15px; line-height:1; }
.pd-turn-act button:hover{ color: var(--accent); border-color: var(--accent); }
.pd-side{ width:320px; flex:none; display:flex; flex-direction:column; gap:10px; padding:14px; border-radius:20px; background: var(--env-paper); border:1px solid var(--env-border); box-shadow: var(--shadow-md); position:sticky; top:0; }
.pd-side-h{ display:flex; align-items:center; gap:6px; font-size:.78rem; font-weight:900; color: var(--env-ink); }
.pd-side-h .ui-ic{ width:15px; height:15px; color: var(--accent); }
.pd-side .pd-host{ padding:8px; }
.pd-quote{ display:flex; flex-direction:column; gap:4px; padding:10px 12px; border-radius:14px; background: var(--env-paper-2); font-size:.76rem; }
.pd-quote:empty{ display:none; }
.pd-quote div{ display:flex; justify-content:space-between; gap:8px; color: var(--env-ink-muted); }
.pd-quote b{ color: var(--env-ink); }
.pd-quote .pd-quote-t{ padding-top:4px; border-top:1px dashed var(--env-border-strong); } .pd-quote .pd-quote-t b{ color: var(--accent); }
.pd-quote .pd-low b{ color:#DC2626; }
.pd--busy .pd-main{ opacity:.6; pointer-events:none; }
/* موسیقی */
.mu-card{ display:flex; gap:22px; padding:20px; border-radius:24px; background: var(--env-paper); border:1px solid var(--env-border); box-shadow: var(--shadow-md); }
.mu-cover{ flex:none; width:220px; aspect-ratio:1; border-radius:20px; display:grid; place-items:center; box-shadow: 0 24px 50px -24px rgba(0,0,0,.5); }
.mu--busy .mu-cover .mu-disc{ animation-duration:2s; }
.mu-card-body{ flex:1; min-width:0; display:flex; flex-direction:column; gap:12px; }
.mu-tags{ display:flex; flex-wrap:wrap; gap:6px; }
.mu-tags span{ font-size:.72rem; font-weight:800; padding:4px 10px; border-radius:99px; color: var(--accent); background: var(--accent-soft); }
.mu-prompt{ margin:0; font-size:.86rem; line-height:1.9; color: var(--env-ink-muted); }
.mu-prompt:empty{ display:none; }
.mu-meta{ display:flex; gap:12px; flex-wrap:wrap; font-size:.72rem; color: var(--env-ink-muted); }
.mu-lyrics{ padding:12px 16px; border-radius:18px; background: var(--env-paper); border:1px solid var(--env-border); }
.mu-lyrics summary{ display:flex; align-items:center; gap:6px; cursor:pointer; font-size:.82rem; font-weight:800; color: var(--env-ink); }
.mu-lyrics summary .ui-ic{ width:15px; height:15px; color: var(--accent); }
.mu-lyrics pre{ margin:10px 0 0; white-space:pre-wrap; font-family:inherit; font-size:.86rem; line-height:2; color: var(--env-ink); }
.mu-card .au-player{ box-shadow:none; background: var(--env-paper-2); }
@media (max-width: 1000px){ .pd-main{ flex-direction:column; } .pd-side{ width:auto; position:static; } .pd-script{ max-height:none; } }
@media (max-width: 760px){
  .au-hero{ grid-template-columns: 1fr; } .au-hero-art{ height:150px; }
  .pd-voices{ grid-template-columns: 1fr 1fr; }
  .au-tiers{ grid-template-columns: 1fr; }
  .mu-card{ flex-direction:column; align-items:center; } .mu-cover{ width:170px; }
  .pd-turn{ flex-direction:column; gap:4px; } .pd-turn-act{ opacity:1; position:absolute; top:6px; left:6px; }
  .au-play{ width:46px; height:46px; }
}

/* ═══ سئوکارِ نابغه (فازِ ۸، ۱۴۰۵/۰۷/۲۲) ═══ */
.seo [hidden]{ display:none !important; }
.seo-gauge-hero{ position:relative; width:140px; margin:0 auto; }
.seo-gauge-hero b{ position:absolute; left:0; right:0; bottom:2px; text-align:center; font-size:1.7rem; font-weight:900; color: var(--accent); }
.seo-gauge svg, .seo-gauge-hero svg{ display:block; width:100%; overflow:visible; }
.g-bg{ fill:none; stroke: var(--env-border-strong); stroke-width:10; stroke-linecap:round; }
.g-fg{ fill:none; stroke: var(--accent); stroke-width:10; stroke-linecap:round; transition: stroke-dashoffset 1s cubic-bezier(.2,.8,.2,1); }
.seo-gauge-hero .g-fg{ stroke-dasharray:157; stroke-dashoffset:13; animation: seoFill 1.6s cubic-bezier(.2,.8,.2,1) both; }
@keyframes seoFill{ from{ stroke-dashoffset:157; } }
.seo-tabs{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.seo-tabs button{ display:flex; align-items:center; gap:12px; padding:14px; border-radius:18px; cursor:pointer; font-family:inherit; text-align:right; color: var(--env-ink);
  background: var(--env-paper); border:2px solid var(--env-border); transition: border-color .15s, box-shadow .15s; }
.seo-tabs button .ui-ic{ width:24px; height:24px; color: var(--accent); flex:none; }
.seo-tabs button span{ display:flex; flex-direction:column; } .seo-tabs b{ font-size:.9rem; } .seo-tabs small{ font-size:.72rem; color: var(--env-ink-muted); }
.seo-tabs button.on{ border-color: var(--accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 14%, transparent); }
.seo .sl-form input[type=text]{ font-size:.92rem; padding:12px 14px; }
.seo-target a{ color: var(--accent); word-break:break-all; }
.seo-kw{ display:inline-block; padding:2px 10px; border-radius:99px; font-size:.78rem; font-weight:800; color: var(--accent); background: var(--accent-soft); }
.seo-kw--big{ font-size:.95rem; padding:4px 14px; }
.seo-wait{ flex-direction:row; justify-content:center; flex-wrap:wrap; gap:10px; }
.seo-muted{ color: var(--env-ink-muted); }
.seo-top{ display:flex; gap:22px; align-items:center; padding:18px; border-radius:22px; background: var(--env-paper); border:1px solid var(--env-border); box-shadow: var(--shadow-md); }
.seo-gauge{ position:relative; width:70px; flex:none; }
.seo-gauge b{ position:absolute; left:0; right:0; bottom:-2px; text-align:center; font-size:.95rem; font-weight:900; }
.seo-gauge--big{ width:170px; } .seo-gauge--big b{ font-size:2.3rem; bottom:0; }
.seo-top-txt{ flex:1; min-width:0; } .seo-top-txt > b{ font-size:1rem; color: var(--env-ink); } .seo-top-txt p{ margin:6px 0 12px; font-size:.86rem; line-height:1.95; color: var(--env-ink-muted); }
.seo-cats{ display:flex; gap:16px; flex-wrap:wrap; }
.seo-cats > span{ display:flex; flex-direction:column; align-items:center; gap:4px; } .seo-cats small{ font-size:.7rem; color: var(--env-ink-muted); font-weight:700; }
.seo-facts{ display:grid; grid-template-columns: repeat(6, 1fr); gap:8px; margin-top:12px; }
.seo-facts--brief{ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); margin-top:0; }
.seo-facts div{ padding:10px 12px; border-radius:14px; background: var(--env-paper); border:1px solid var(--env-border); min-width:0; }
.seo-facts small{ display:block; font-size:.68rem; color: var(--env-ink-muted); } .seo-facts b{ display:block; font-size:.84rem; color: var(--env-ink); overflow-wrap:anywhere; line-height:1.7; }
.seo-h{ display:flex; align-items:center; gap:6px; margin:20px 0 10px; font-size:.95rem; font-weight:900; color: var(--env-ink); }
.seo-h .ui-ic{ width:17px; height:17px; color: var(--accent); }
.seo-prio{ margin:0; padding:0; list-style:none; counter-reset:p; display:flex; flex-direction:column; gap:8px; }
.seo-prio li{ counter-increment:p; position:relative; padding:12px 50px 12px 14px; border-radius:16px; background: var(--env-paper); border:1px solid var(--env-border); }
.seo-prio li::before{ content: counter(p); position:absolute; right:12px; top:12px; width:28px; height:28px; display:grid; place-items:center; border-radius:50%; font-weight:900; font-size:.8rem; color:#fff; background: var(--accent); }
.seo-prio li div{ display:flex; align-items:center; justify-content:space-between; gap:10px; } .seo-prio b{ font-size:.88rem; color: var(--env-ink); }
.seo-prio em{ flex:none; font-style:normal; font-size:.66rem; font-weight:800; padding:2px 8px; border-radius:99px; }
.seo-prio--high em{ color:#B91C1C; background: rgba(220,38,38,.1); } .seo-prio--medium em{ color:#B45309; background: rgba(217,119,6,.12); } .seo-prio--low em{ color:#15803D; background: rgba(22,163,74,.1); }
.seo-prio p{ margin:4px 0 0; font-size:.8rem; line-height:1.9; color: var(--env-ink-muted); } .seo-prio .seo-how{ color: var(--env-ink); }
.seo-sugs{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:16px; }
.seo-sug{ display:flex; flex-direction:column; gap:6px; padding:12px; border-radius:16px; background: var(--env-paper); border:1px solid var(--env-border); }
.seo-sug > b{ font-size:.82rem; color: var(--env-ink); }
.seo-copy-line{ display:flex; flex-direction:column; align-items:flex-start; gap:2px; padding:8px 10px; border-radius:12px; cursor:pointer; text-align:right; font-family:inherit;
  border:1px dashed var(--env-border-strong); background: var(--env-paper-2); color: var(--env-ink); font-size:.8rem; line-height:1.8; }
.seo-copy-line:hover{ border-color: var(--accent); } .seo-copy-line small{ font-size:.64rem; color: var(--env-ink-muted); } .seo-copy-line small.bad{ color:#DC2626; }
.seo-chips{ display:flex; flex-wrap:wrap; gap:6px; } .seo-chips span{ font-size:.76rem; font-weight:700; padding:5px 12px; border-radius:99px; color: var(--env-ink); background: var(--env-paper); border:1px solid var(--env-border); }
.seo-list{ margin:0; padding:12px 30px 12px 14px; border-radius:16px; background: var(--env-paper); border:1px solid var(--env-border); display:flex; flex-direction:column; gap:6px; font-size:.84rem; line-height:1.9; color: var(--env-ink); }
.seo-list a, .seo-src a{ color: var(--accent); }
.seo-checks{ margin-bottom:12px; border-radius:16px; overflow:hidden; background: var(--env-paper); border:1px solid var(--env-border); }
.seo-checks-h{ padding:8px 14px; font-size:.78rem; font-weight:900; color: var(--env-ink-muted); background: var(--env-paper-2); }
.seo-check{ border-top:1px solid var(--env-border); }
.seo-check summary{ display:flex; align-items:center; gap:10px; padding:10px 14px; cursor:pointer; list-style:none; }
.seo-check summary::-webkit-details-marker{ display:none; }
.seo-check i{ flex:none; width:20px; height:20px; border-radius:50%; display:grid; place-items:center; font-style:normal; font-size:.7rem; font-weight:900; color:#fff; }
.seo-check--pass i{ background:#16A34A; } .seo-check--pass i::before{ content:"✓"; }
.seo-check--warn i{ background:#D97706; } .seo-check--warn i::before{ content:"!"; }
.seo-check--fail i{ background:#DC2626; } .seo-check--fail i::before{ content:"✕"; }
.seo-check summary b{ font-size:.82rem; color: var(--env-ink); flex:none; }
.seo-check summary span{ flex:1; min-width:0; font-size:.76rem; color: var(--env-ink-muted); text-align:left; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.seo-check p{ margin:0; padding:0 44px 12px 14px; font-size:.8rem; line-height:1.9; color: var(--env-ink); }
.seo-outline{ margin:0; padding:14px 34px 14px 16px; border-radius:16px; background: var(--env-paper); border:1px solid var(--env-border); display:flex; flex-direction:column; gap:10px; }
.seo-outline > li > b{ font-size:.9rem; color: var(--env-ink); } .seo-outline ul{ margin:4px 0; padding-right:18px; font-size:.82rem; color: var(--env-ink); line-height:1.9; }
.seo-outline p{ margin:2px 0 0; font-size:.76rem; color: var(--env-ink-muted); }
.seo-src{ margin:0; padding:0; list-style:none; display:grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap:8px; }
.seo-src a{ display:flex; flex-direction:column; padding:10px 12px; border-radius:14px; text-decoration:none; background: var(--env-paper); border:1px solid var(--env-border); }
.seo-src b{ font-size:.8rem; color: var(--env-ink); } .seo-src small{ font-size:.68rem; color: var(--env-ink-muted); text-align:left; }
.seo-side-score{ font-weight:900; font-size:.82rem; color:#fff !important; }
@media (max-width: 760px){
  .seo-tabs, .seo-sugs{ grid-template-columns:1fr; }
  .seo-top{ flex-direction:column; text-align:center; } .seo-cats{ justify-content:center; }
  .seo-facts{ grid-template-columns: repeat(2, 1fr); }
  .seo-check summary span{ display:none; }
}

/* ═══ اعلانِ یکپارچه (nb_toast.js، ۱۴۰۵/۰۷/۲۲) ═══ */
.nbt-stack{ position:fixed; z-index:3000; left:50%; top:18px; transform: translateX(-50%); display:flex; flex-direction:column; gap:10px; width: min(440px, calc(100vw - 24px)); pointer-events:none; }
.nbt{ pointer-events:auto; position:relative; display:flex; align-items:flex-start; gap:12px; padding:14px 16px 14px 40px; border-radius:18px; direction:rtl; font-family: inherit;
  background: rgba(255,255,255,.96); color:#1f2433; border:1px solid rgba(15,23,42,.08);
  box-shadow: 0 24px 60px -18px rgba(15,23,42,.35), 0 2px 6px rgba(15,23,42,.06); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  animation: nbtIn .38s cubic-bezier(.2,.9,.25,1.15) both; overflow:hidden; }
.nbt::before{ content:""; position:absolute; right:0; top:0; bottom:0; width:5px; background: var(--nbt-c); }
.nbt--err{ --nbt-c:#E5484D; } .nbt--warn{ --nbt-c:#F5A524; } .nbt--ok{ --nbt-c:#18A957; } .nbt--info{ --nbt-c:#3B82F6; }
.nbt-ic{ flex:none; display:grid; place-items:center; width:38px; height:38px; border-radius:12px; color: var(--nbt-c); background: color-mix(in srgb, var(--nbt-c) 13%, transparent); }
.nbt-ic svg{ width:22px; height:22px; }
.nbt-body{ flex:1; min-width:0; }
.nbt-body b{ display:block; font-size:.86rem; font-weight:900; margin-bottom:2px; }
.nbt-body p{ margin:0; font-size:.82rem; line-height:1.85; color:#4b5163; overflow-wrap:anywhere; }
.nbt-act{ margin-top:8px; font-family:inherit; font-size:.76rem; font-weight:800; padding:6px 14px; border-radius:10px; border:none; cursor:pointer; color:#fff; background: var(--nbt-c); }
.nbt-x{ position:absolute; left:10px; top:10px; width:26px; height:26px; border-radius:8px; border:none; cursor:pointer; font-size:18px; line-height:1; color:#8a90a2; background:transparent; }
.nbt-x:hover{ background: rgba(15,23,42,.06); color:#1f2433; }
.nbt--out{ animation: nbtOut .26s ease-in both; }
@keyframes nbtIn{ from{ opacity:0; transform: translateY(-14px) scale(.97); } to{ opacity:1; transform:none; } }
@keyframes nbtOut{ to{ opacity:0; transform: translateY(-10px) scale(.98); } }
@media (prefers-reduced-motion: reduce){ .nbt, .nbt--out{ animation:none; } }
html.nbt-dark .nbt{ background: rgba(28,31,48,.96); color:#ECEEF8; border-color: rgba(255,255,255,.08); }
html.nbt-dark .nbt-body p{ color:#B9BDD0; } html.nbt-dark .nbt-x{ color:#9aa0b5; }
/* آپلودِ رونویسی: پیشرفتِ قابلِ‌دیدن به‌جایِ کم‌رنگ‌شدنِ بی‌صدا */
.env-stt-upload-btn--busy{ opacity:1 !important; pointer-events:none; position:relative; }
.env-stt-upload-btn--busy::after{ content:""; width:14px; height:14px; margin-inline-start:6px; border-radius:50%; border:2px solid color-mix(in srgb, var(--accent) 25%, transparent); border-top-color: var(--accent); animation: rzpvSpin .8s linear infinite; }
.env-stt-upload-txt{ font-size:.74rem; font-weight:800; color: var(--accent); margin-inline-start:6px; }
/* کسرِ هزینه — نمایشِ لحظه‌ایِ «−X تومان» کنارِ موجودی */
.env-balance-chip{ position:relative; }
.env-bal-delta{ position:absolute; top:100%; left:50%; transform: translateX(-50%); margin-top:6px; white-space:nowrap; font-size:.72rem; font-weight:900; padding:3px 10px; border-radius:99px;
  color:#fff; background:#E5484D; box-shadow: 0 8px 18px -8px rgba(229,72,77,.7); animation: envBalDelta 3.2s ease forwards; pointer-events:none; z-index:20; }
@keyframes envBalDelta{ 0%{ opacity:0; transform: translate(-50%, -6px); } 12%{ opacity:1; transform: translate(-50%, 0); } 80%{ opacity:1; } 100%{ opacity:0; transform: translate(-50%, 6px); } }
.env-bal-flash{ animation: envBalFlash 1.2s ease; }
@keyframes envBalFlash{ 30%{ box-shadow: 0 0 0 4px rgba(229,72,77,.25); } }
@media (prefers-reduced-motion: reduce){ .env-bal-delta, .env-bal-flash{ animation:none; } }
/* رونویسی: ردیفِ عملیاتِ «میز نوشتار» (۱۴۰۵/۰۷/۲۲) */
.tt-ops{ flex-basis:100%; display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:10px; padding-top:10px; border-top:1px dashed var(--env-border-strong); }
.tt-ops-l{ display:inline-flex; align-items:center; gap:4px; font-size:.74rem; font-weight:800; color: var(--env-ink-muted); margin-inline-end:4px; }
.tt-ops-l .ui-ic{ width:14px; height:14px; color: var(--accent); }
.tt-op{ display:inline-flex; align-items:center; gap:5px; font-family:inherit; font-size:.76rem; font-weight:700; padding:6px 12px; border-radius:99px; cursor:pointer;
  color: var(--env-ink); background: var(--env-solid); border:1px solid var(--env-border); transition: border-color .15s, color .15s; }
.tt-op:hover{ border-color: var(--accent); color: var(--accent); }
.tt-op.busy{ opacity:.75; pointer-events:none; }
.tt-op.done{ border-color: color-mix(in srgb, var(--accent) 50%, var(--env-border)); }
.tt-op .ui-ic{ width:14px; height:14px; }
.tt-tr{ display:inline-flex; align-items:center; gap:0; border-radius:99px; border:1px solid var(--env-border); background: var(--env-solid); overflow:hidden; }
.tt-tr select{ border:none; background:transparent; font-family:inherit; font-size:.74rem; padding:5px 8px; color: var(--env-ink); outline:none; }
.tt-tr .tt-op{ border:none; border-radius:0; border-inline-start:1px solid var(--env-border); }
.tt-op--desk{ color:#fff; background: var(--env-bubble-user, var(--accent)); border-color: transparent; margin-inline-start:auto; }
.tt-op--desk:hover{ color:#fff; filter: brightness(1.06); }
@media (max-width:640px){ .tt-op--desk{ margin-inline-start:0; flex-basis:100%; justify-content:center; } }
.tt-tools .tt-ops{ grid-column: 1 / -1; }
.tt-op{ white-space:nowrap; }
.tt-tools > .tt-label{ grid-column: 1 / -1; }

/* ═══ صفحهٔ استودیو رویِ گوشی‌هایِ باریک / متنِ بزرگ / Samsung Internet (گزارشِ S23 Ultra، ۱۴۰۵/۰۷/۲۲) ═══ */
#hubSearch{ text-overflow: ellipsis; }
#hubSearch::placeholder{ text-overflow: ellipsis; }
@media (max-width: 480px){
  html.env-calm .hub-value-hl{ white-space: normal; display:inline; padding-bottom:0; }
  html.env-calm .hub-value-hl svg{ display:none; }
  html.env-calm .hub-ticker-track span{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:block; line-height:44px; }
}
/* Samsung Internet: متنِ گرادیانیِ «شفاف + background-clip» با انیمیشن چشمک می‌زد (و در «حالتِ تیرهٔ اجباری» ناپدید می‌شد) — رنگِ ثابت */
html.env-calm .hub-value-hl{ background:none !important; -webkit-background-clip:border-box; background-clip:border-box;
  color: var(--accent) !important; -webkit-text-fill-color: currentColor; animation:none !important; }
html.env-calm .hub-value-hl path{ animation:none; stroke-dashoffset:0; }
html.env-calm .hub-ticker-track{ animation:none !important; transform:none !important; }
html.env-calm .hub-ticker{ -webkit-mask-image:none; mask-image:none; }
/* اعلامِ تمِ صفحه به مرورگر (کنترل‌هایِ بومی همسو با انتخابِ دستیِ روشن/تیره) */
.env-shell.env-force-light{ color-scheme: light; }
.env-shell.env-force-dark{ color-scheme: dark; }

/* ═══ آپلودِ ویدیو (زیرنویس/تحلیل‌گر) — بازطراحی ۱۴۰۵/۰۷/۲۴ ═══ */
.env-video-composer.vu{ max-width:760px; margin:0 auto 10px; padding:0; border:none; background:none; }
.vu [hidden]{ display:none !important; }
.vu .ui-ic{ width:16px; height:16px; }
.vu-drop{ display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center; cursor:pointer;
  padding:26px 18px 20px; border-radius:20px; border:2px dashed color-mix(in srgb, var(--accent) 38%, var(--env-border));
  background: radial-gradient(120% 90% at 50% 0%, color-mix(in srgb, var(--accent) 9%, transparent), transparent 70%), var(--env-solid);
  transition: border-color .18s, transform .18s, box-shadow .18s; outline:none; }
.vu-drop:hover, .vu-drop:focus-visible{ border-color: var(--accent); box-shadow: 0 10px 30px -18px var(--accent-glow, rgba(0,0,0,.3)); }
.vu-drop--over{ border-style:solid; border-color: var(--accent); transform: scale(1.01); background: color-mix(in srgb, var(--accent) 10%, var(--env-solid)); }
.vu-drop-ic{ width:56px; height:56px; border-radius:18px; display:grid; place-items:center; color:#fff; margin-bottom:4px;
  background: linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 62%, #000)); box-shadow: 0 10px 24px -12px var(--accent); }
.vu-drop-ic .ui-ic{ width:26px; height:26px; }
.vu-drop-title{ font-size:.98rem; font-weight:800; color: var(--env-ink); line-height:1.8; }
.vu-link{ color: var(--accent); text-decoration: underline; text-underline-offset:4px; text-decoration-thickness:1.5px; }
.vu-drop-sub{ font-size:.78rem; color: var(--env-ink-muted); }
.vu-drop-feats{ display:flex; flex-wrap:wrap; justify-content:center; gap:6px; margin-top:8px; }
.vu-drop-feats i{ font-style:normal; display:inline-flex; align-items:center; gap:5px; font-size:.72rem; font-weight:700; color: var(--env-ink-muted);
  padding:5px 10px; border-radius:99px; background: var(--env-paper-2); border:1px solid var(--env-border); }
.vu-drop-feats .ui-ic{ width:13px; height:13px; color: var(--accent); }
.vu-resume-hint{ margin-top:8px; font-size:.76rem; font-weight:700; line-height:1.8; color:#92400e; background:#fef3c7; border:1px solid #fcd34d; padding:7px 12px; border-radius:12px; }

.vu-card{ display:flex; align-items:center; gap:14px; padding:14px; border-radius:20px; background: var(--env-solid);
  border:1px solid var(--env-border); box-shadow: var(--shadow-sm, 0 4px 14px -8px rgba(0,0,0,.2)); }
.vu-info{ flex:1; min-width:0; display:flex; flex-direction:column; gap:4px; }
.vu-name{ font-size:.9rem; color: var(--env-ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; direction:auto; }
.vu-sub{ font-size:.74rem; color: var(--env-ink-muted); line-height:1.7; }
.vu-acts{ display:flex; gap:6px; flex-shrink:0; }
.vu-btn{ display:inline-flex; align-items:center; gap:5px; font-family:inherit; font-size:.78rem; font-weight:700; cursor:pointer;
  padding:8px 12px; border-radius:12px; border:1px solid var(--env-border); background: var(--env-paper-2); color: var(--env-ink); transition: border-color .15s, color .15s; }
.vu-btn:hover{ border-color: var(--accent); color: var(--accent); }
.vu-btn--ghost{ background:transparent; }
.vu-btn--go{ background: var(--accent); color:#fff; border-color:transparent; }
.vu-btn--go:hover{ color:#fff; filter: brightness(1.06); }

.vu-up-ic{ width:46px; height:46px; flex-shrink:0; border-radius:14px; display:grid; place-items:center; color: var(--accent);
  background: color-mix(in srgb, var(--accent) 12%, transparent); }
.vu-up-ic .ui-ic{ width:22px; height:22px; animation: vu-bob 1.4s ease-in-out infinite; }
@keyframes vu-bob{ 50%{ transform: translateY(-3px); } }
.vu-up--paused .vu-up-ic .ui-ic, .vu-up--warn .vu-up-ic .ui-ic{ animation:none; }
.vu-up-top{ display:flex; align-items:baseline; gap:8px; }
.vu-up-top .vu-name{ flex:1; }
.vu-pct{ font-size:1.05rem; font-weight:900; color: var(--accent); font-variant-numeric: tabular-nums; }
.vu .env-video-progress{ height:9px; margin:2px 0 0; background: color-mix(in srgb, var(--accent) 12%, var(--env-border)); }
.vu .env-video-progress-fill{ border-radius:99px; background: linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 60%, #fff));
  background-size:200% 100%; animation: vu-flow 1.8s linear infinite; }
@keyframes vu-flow{ to{ background-position:-200% 0; } }
.vu-up--paused .env-video-progress-fill{ animation:none; filter: grayscale(.6); }
.vu .env-video-progress-label{ direction:rtl; text-align:start; }
.vu-up--warn .vu-sub{ color:#b45309; font-weight:700; }
.vu-up--warn .vu-up-ic{ color:#b45309; background:#fef3c7; }

.vu-ready{ flex-wrap:wrap; }
.vu-thumb{ position:relative; width:132px; aspect-ratio:16/10; flex-shrink:0; border-radius:14px; overflow:hidden; background:#0b0d17; }
.vu-thumb video{ width:100%; height:100%; object-fit:cover; display:block; }
.vu-dur{ position:absolute; bottom:6px; left:6px; font-size:.68rem; font-weight:800; color:#fff; background:rgba(0,0,0,.62); padding:2px 7px; border-radius:7px; direction:ltr; }
.vu-badge{ align-self:flex-start; display:inline-flex; align-items:center; gap:4px; font-size:.7rem; font-weight:800; color:#15803d;
  background:#dcfce7; padding:3px 9px; border-radius:99px; }
.vu-badge .ui-ic{ width:12px; height:12px; }
.vu-keep{ font-size:.7rem; color: var(--env-ink-muted); opacity:.85; }
.vu-acts--ready{ flex-direction:column; align-items:stretch; }
.vu-go{ display:inline-flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:4px 7px; font-family:inherit; font-size:.9rem; font-weight:800; cursor:pointer;
  padding:11px 18px; border-radius:14px; border:none; color:#fff; background: linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 70%, #000));
  box-shadow: 0 10px 22px -12px var(--accent); transition: transform .15s, filter .15s; }
.vu-go:hover{ transform: translateY(-1px); filter: brightness(1.05); }
.vu-go:disabled{ opacity:.55; cursor:not-allowed; transform:none; }
.vu-go em{ flex-basis:100%; font-style:normal; font-size:.7rem; font-weight:600; opacity:.85; }
.vu-go em:empty{ display:none; }
.vu-del{ display:inline-flex; align-items:center; justify-content:center; gap:5px; font-family:inherit; font-size:.76rem; font-weight:700; cursor:pointer;
  padding:7px 12px; border-radius:12px; background:transparent; color: var(--env-ink-muted); border:1px solid var(--env-border); transition: color .15s, border-color .15s; }
.vu-del:hover{ color:#dc2626; border-color:#fca5a5; }
.vu-note{ flex-basis:100%; border-top:1px dashed var(--env-border-strong, var(--env-border)); padding-top:10px; }
.vu-note-toggle{ display:inline-flex; align-items:center; gap:5px; font-family:inherit; font-size:.78rem; font-weight:700; cursor:pointer; padding:4px 2px;
  background:none; border:none; color: var(--env-ink-muted); }
.vu-note-toggle:hover, .vu-note-toggle[aria-expanded="true"]{ color: var(--accent); }
.vu-note-toggle small{ font-weight:500; opacity:.8; }
.vu-note-toggle .ui-ic{ width:14px; height:14px; transition: transform .2s; }
.vu-note-toggle[aria-expanded="true"] .ui-ic{ transform: rotate(45deg); }
.vu-note textarea{ display:block; width:100%; box-sizing:border-box; margin-top:8px; resize:vertical; min-height:64px; font-family:inherit; font-size:.85rem; line-height:1.8;
  padding:10px 12px; border-radius:12px; border:1px solid var(--env-border); background: var(--env-paper-2); color: var(--env-ink); outline:none; }
.vu-note textarea:focus{ border-color: var(--accent); }

.env-force-dark .vu-badge{ color:#86efac; background: rgba(34,197,94,.14); }
.env-force-dark .vu-resume-hint{ color:#fcd34d; background: rgba(245,158,11,.12); border-color: rgba(245,158,11,.35); }
.env-force-dark .vu-up--warn .vu-sub{ color:#fbbf24; }
.env-force-dark .vu-up--warn .vu-up-ic{ color:#fbbf24; background: rgba(245,158,11,.14); }
@media (prefers-color-scheme: dark){
  #envShell:not(.env-force-light) .vu-badge{ color:#86efac; background: rgba(34,197,94,.14); }
  #envShell:not(.env-force-light) .vu-resume-hint{ color:#fcd34d; background: rgba(245,158,11,.12); border-color: rgba(245,158,11,.35); }
  #envShell:not(.env-force-light) .vu-up--warn .vu-sub{ color:#fbbf24; }
  #envShell:not(.env-force-light) .vu-up--warn .vu-up-ic{ color:#fbbf24; background: rgba(245,158,11,.14); }
}
html.env-calm .vu-up-ic .ui-ic, html.env-calm .vu .env-video-progress-fill{ animation:none; }
@media (max-width:640px){
  .vu-drop{ padding:22px 14px 16px; }
  .vu-card{ gap:10px; padding:12px; }
  .vu-up{ flex-wrap:wrap; }
  .vu-up .vu-acts{ flex-basis:100%; }
  .vu-up .vu-btn{ flex:1; justify-content:center; }
  .vu-thumb{ width:104px; }
  .vu-acts--ready{ flex-basis:100%; flex-direction:row; }
  .vu-acts--ready .vu-go{ flex:1; }
}
.vu-note textarea:focus, .vu-note textarea:focus-visible{ outline:none !important; border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent); }

/* ═══ قفلِ خروجی تا تسویهٔ بدهی (۱۴۰۵/۰۷/۲۴) ═══ */
.env-debt-note{ display:flex; align-items:flex-start; justify-content:center; text-align:center; gap:6px; max-width:760px; margin:4px auto 0; padding:0 4px; font-size:.7rem; line-height:1.8; color: var(--env-ink-muted); }
.env-debt-note .ui-ic{ width:13px; height:13px; flex:none; margin-top:4px; color:#d97706; }
.vcs-dub-fine{ display:block; margin-top:4px; font-size:.7rem; opacity:.75; }
.env-wallet-low--debt{ border-color:#fca5a5 !important; background: color-mix(in srgb, #ef4444 9%, var(--env-solid)) !important; }
.env-wallet-low--debt > span{ background:#dc2626 !important; }
.env-msg--locked{ position:relative; }
.env-msg--locked :is(img, video, audio, .env-vcap-mount, .eap, .vcs, .env-bubble-files, .au-player, .mu-card){ filter: blur(14px) grayscale(.4); pointer-events:none; user-select:none; }
.env-msg--locked .env-bubble-files a, .env-msg--locked a[download]{ pointer-events:none; }
.env-lock-card{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:0 0 10px; padding:12px 14px; border-radius:16px; position:relative; z-index:2;
  background: linear-gradient(135deg, color-mix(in srgb, #f59e0b 14%, var(--env-solid)), var(--env-solid)); border:1px solid #fcd34d; box-shadow: var(--shadow-sm, 0 6px 18px -10px rgba(0,0,0,.25)); }
.env-lock-ic{ width:40px; height:40px; flex:none; border-radius:13px; display:grid; place-items:center; color:#fff; background: linear-gradient(135deg, #f59e0b, #b45309); }
.env-lock-ic svg{ width:20px; height:20px; }
.env-lock-card > div{ flex:1; min-width:200px; display:flex; flex-direction:column; gap:2px; }
.env-lock-card b{ font-size:.86rem; color: var(--env-ink); }
.env-lock-card small{ font-size:.74rem; line-height:1.8; color: var(--env-ink-muted); }
.env-lock-card button{ font-family:inherit; font-size:.8rem; font-weight:800; cursor:pointer; padding:9px 16px; border-radius:12px; border:none; color:#fff;
  background: linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 70%, #000)); }
@media (max-width:640px){ .env-lock-card button{ flex-basis:100%; } }
.env-msg--locked .env-img-dl, .env-msg--locked a[download], .env-msg--locked a[href*="/static/uploads/"]{ display:none !important; }
.env-debt-note{ display:block; }
.env-debt-note .ui-ic{ display:inline-block; vertical-align:-2px; margin:0 0 0 4px; }

/* ===== ۱۴۰۵/۰۷/۲۶ — کیف پولِ یکپارچهٔ استودیو: چیپِ هدر + کارتِ ورود ===== */
.hw-chip{ display:inline-flex; align-items:center; gap:9px; margin-inline-start:10px; padding:4px 4px 4px 12px; padding-inline-start:5px;
  border-radius:999px; background: var(--env-solid); border:1px solid var(--env-border-strong); color: var(--env-ink);
  box-shadow: 0 6px 18px -12px rgba(0,0,0,.35); transition: box-shadow .3s ease, border-color .3s ease; white-space:nowrap; }
.hw-chip-ic{ width:30px; height:30px; border-radius:50%; display:grid; place-items:center; color:#fff; flex-shrink:0;
  background: linear-gradient(140deg, #F59E0B, #DB2777 55%, #7C3AED); }
.hw-chip-ic .ui-ic, .hw-chip-ic svg{ width:16px; height:16px; }
.hw-chip-txt{ display:flex; flex-direction:column; line-height:1.25; }
.hw-chip-txt small{ font-size:.66rem; color: var(--env-ink-muted); font-weight:600; }
.hw-chip-txt b{ font-size:.82rem; font-weight:800; font-variant-numeric: tabular-nums; }
.hw-chip-txt b .is-neg{ color:#ef4444; }
.hw-chip-cta{ display:inline-flex; align-items:center; gap:4px; padding:7px 12px; border-radius:999px; border:0; cursor:pointer; text-decoration:none;
  font: inherit; font-size:.76rem; font-weight:800; color:#fff; background: linear-gradient(135deg, #DB2777, #7C3AED); }
.hw-chip-cta .ui-ic, .hw-chip-cta svg{ width:14px; height:14px; }
.hw-chip-cta:hover{ filter: brightness(1.08); color:#fff; }
.hw-chip--landed{ animation: hwLand 1.3s ease-out; border-color: color-mix(in srgb, #DB2777 60%, transparent); }
@keyframes hwLand{ 0%{ box-shadow: 0 0 0 0 rgba(219,39,119,.55); transform: scale(1.06); } 30%{ transform: scale(1); } 100%{ box-shadow: 0 0 0 16px rgba(219,39,119,0); } }

.hw-intro-bg{ position:fixed; inset:0; z-index:2000; background: radial-gradient(60% 50% at 50% 50%, rgba(20,14,40,.45), rgba(5,6,15,.78));
  backdrop-filter: blur(7px); -webkit-backdrop-filter: blur(7px); opacity:0; transition: opacity .5s ease; }
.hw-intro-bg.is-on{ opacity:1; }
.hw-intro{ position:fixed; left:50%; top:50%; z-index:2001; width:min(460px, calc(100vw - 32px));
  display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center; padding:30px 26px 26px; border-radius:26px;
  background: var(--env-solid); color: var(--env-ink); border:1px solid var(--env-border-strong);
  box-shadow: 0 40px 100px -30px rgba(124,58,237,.55), 0 0 0 1px rgba(255,255,255,.04);
  transform: translate(-50%, -50%) scale(.6); opacity:0; filter: blur(6px);
  transition: transform .75s cubic-bezier(.2,.95,.25,1.15), opacity .45s ease, filter .45s ease; }
.hw-intro.is-on{ transform: translate(-50%, -50%) scale(1); opacity:1; filter:none; }
.hw-intro.is-landing{ transition: transform .8s cubic-bezier(.65,0,.25,1), opacity .8s cubic-bezier(.7,0,.9,.4); opacity:0; }
.hw-intro-ic{ width:68px; height:68px; border-radius:22px; display:grid; place-items:center; color:#fff; margin-bottom:6px;
  background: linear-gradient(140deg, #F59E0B, #DB2777 55%, #7C3AED); box-shadow: 0 18px 40px -16px rgba(219,39,119,.8); }
.hw-intro-ic .ui-ic, .hw-intro-ic svg{ width:32px; height:32px; }
.hw-intro-kicker{ font-size:.78rem; font-weight:700; color:#DB2777; }
.hw-intro-title{ font-size:1.35rem; font-weight:900; line-height:1.6; }
.hw-intro-title em{ font-style:normal; background: linear-gradient(90deg, #F59E0B, #DB2777, #7C3AED); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hw-intro-bal{ font-size:.9rem; color: var(--env-ink-muted); line-height:1.9; }
.hw-intro-bal b{ color: var(--env-ink); font-size:1.15rem; font-weight:900; font-variant-numeric: tabular-nums; }
.hw-intro-tools{ display:flex; gap:7px; margin-top:10px; flex-wrap:wrap; justify-content:center; }
.hw-intro-tools > span{ animation: hwTool .5s cubic-bezier(.2,1.4,.4,1) both; animation-delay: calc(.35s + var(--k) * .08s); }
@keyframes hwTool{ from{ opacity:0; transform: translateY(8px) scale(.7); } to{ opacity:1; transform:none; } }
@media (max-width:640px){
  .hw-chip{ margin-inline-start:6px; gap:6px; padding:3px; padding-inline-end:3px; }
  .hw-chip-txt small{ display:none; }
  .hw-chip-txt b{ font-size:.76rem; }
  .hw-chip-ic{ width:26px; height:26px; }
  .hw-chip-cta[data-hw-topup] span{ display:none; }
  .hw-chip-cta[data-hw-topup]{ padding:7px; }
  .hw-chip-cta{ padding:6px 11px; }
  .hw-intro-title{ font-size:1.15rem; }
}
@media (prefers-reduced-motion: reduce){ .hw-chip--landed, .hw-intro-tools > span{ animation:none; } }
@media (max-width:640px){ .env-shell[data-studio-hub="1"] .env-topbar-title{ display:none; } }

/* ===== ۱۴۰۵/۰۷/۲۶ — تصویرساز: پنلِ تنظیمات (کیفیت/قالب/سبک) + گریدِ ایده‌ها + برگهٔ پایینیِ موبایل ===== */
.env-model-btn--off{ display:none !important; }
.igs{ width:100%; max-width:760px; margin:0 auto 10px; }
.igs[hidden]{ display:none; }
.igs-summary, .igs-scrim, .igs-sheet-head, .igs-done{ display:none; }
.igs-panel{ display:grid; gap:12px; padding:14px 16px; border-radius:20px; background: var(--env-solid); border:1px solid var(--env-border);
  box-shadow: 0 10px 30px -22px rgba(20,20,50,.45); }
.igs-group{ display:grid; grid-template-columns:52px minmax(0,1fr); align-items:center; gap:12px; }
.igs-label{ font-size:.78rem; font-weight:800; color: var(--env-ink-muted); }
.igs-quality{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:8px; }
.igs-q{ display:flex; flex-direction:column; gap:3px; text-align:right; padding:10px 12px; border-radius:14px; cursor:pointer;
  font: inherit; color: var(--env-ink); background:transparent; border:1.5px solid var(--env-border-strong);
  transition: border-color .18s, background .18s, box-shadow .18s, transform .18s; }
.igs-q:hover{ transform: translateY(-1px); border-color: color-mix(in srgb, var(--accent) 50%, var(--env-border-strong)); }
.igs-q.active{ border-color: var(--accent); background: color-mix(in srgb, var(--accent) 9%, transparent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent); }
.igs-q[hidden]{ display:none; }
.igs-q-top{ display:flex; align-items:center; justify-content:space-between; gap:6px; }
.igs-q-top b{ font-size:.86rem; font-weight:800; }
.igs-q-dots{ display:inline-flex; gap:3px; }
.igs-q-dots i{ width:6px; height:6px; border-radius:50%; background: var(--env-border-strong); }
.igs-q-dots i.on{ background: var(--accent); }
.igs-q-hint{ font-size:.7rem; color: var(--env-ink-muted); }
.igs-q-price{ font-size:.74rem; font-weight:800; color: var(--accent); font-variant-numeric: tabular-nums; }
.igs-seg{ display:flex; gap:6px; flex-wrap:wrap; }
.igs-styles{ display:flex; gap:6px; overflow-x:auto; scrollbar-width:none; padding:2px 0;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 18px, #000 calc(100% - 18px), transparent); mask-image: linear-gradient(90deg, transparent, #000 18px, #000 calc(100% - 18px), transparent); }
.igs-styles::-webkit-scrollbar{ display:none; }
.igs .env-aspect-btn{ white-space:nowrap; flex-shrink:0; }

.igx{ width:100%; max-width:880px; margin:26px auto 0; }
.igx-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
.igx-head > span{ display:inline-flex; align-items:center; gap:7px; font-size:.92rem; font-weight:800; color: var(--env-ink); }
.igx-head .ui-ic{ width:17px; height:17px; color: var(--accent); }
.igx-all{ display:inline-flex; align-items:center; gap:5px; border:0; background:none; cursor:pointer; font: inherit; font-size:.8rem; font-weight:800; color: var(--accent); }
.igx-all .ui-ic{ width:15px; height:15px; }
.igx-grid{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:10px; }
.igx-tile{ position:relative; aspect-ratio:1; padding:0; border:0; border-radius:16px; overflow:hidden; cursor:pointer; background: var(--env-border);
  animation: envRise .5s cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(var(--i) * 45ms); }
.igx-tile img{ width:100%; height:100%; object-fit:cover; display:block; transition: transform .5s cubic-bezier(.2,.8,.2,1); }
.igx-tile:hover img{ transform: scale(1.06); }
.igx-tile-txt{ position:absolute; inset:auto 0 0 0; display:flex; flex-direction:column; gap:1px; text-align:right; padding:28px 11px 9px;
  background: linear-gradient(180deg, transparent, rgba(8,8,16,.78)); color:#fff; }
.igx-tile-txt b{ font-size:.82rem; font-weight:800; line-height:1.5; }
.igx-tile-txt small{ font-size:.68rem; opacity:.82; }

@media (max-width:640px){
  .env-shell[data-family="imagegen"] .env-sub-badge{ display:none; }
  .igs{ margin-bottom:8px; }
  .igs-summary{ display:flex; align-items:center; gap:7px; width:100%; padding:9px 14px; border-radius:999px; cursor:pointer;
    font: inherit; font-size:.8rem; font-weight:700; color: var(--env-ink); background: var(--env-solid); border:1px solid var(--env-border-strong); }
  .igs-summary .ui-ic{ width:16px; height:16px; color: var(--accent); flex-shrink:0; }
  .igs-summary > i{ width:3px; height:3px; border-radius:50%; background: var(--env-ink-muted); flex-shrink:0; }
  .igs-summary > span:not(.igs-summary-chev){ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .igs-summary-chev{ margin-inline-start:auto; display:inline-flex; transform: rotate(180deg); }
  .igs-scrim{ display:block; position:fixed; inset:0; z-index:1499; background: rgba(5,6,15,.45); opacity:0; pointer-events:none; transition: opacity .25s; }
  .igs.is-open .igs-scrim{ opacity:1; pointer-events:auto; }
  .igs-panel{ position:fixed; left:0; right:0; bottom:0; z-index:1500; max-height:82vh; overflow-y:auto; gap:16px;
    padding:14px 16px calc(16px + env(safe-area-inset-bottom)); border-radius:22px 22px 0 0; border-bottom:0;
    transform: translateY(105%); transition: transform .32s cubic-bezier(.2,.9,.3,1); box-shadow: 0 -20px 50px -20px rgba(0,0,0,.4); }
  .igs.is-open .igs-panel{ transform:none; }
  .igs-sheet-head{ display:flex; align-items:center; justify-content:space-between; padding-top:4px; }
  .igs-sheet-head::before{ content:""; position:absolute; top:7px; left:50%; width:38px; height:4px; border-radius:2px; transform: translateX(-50%); background: var(--env-border-strong); }
  .igs-sheet-head b{ font-size:.95rem; }
  .igs-close{ width:34px; height:34px; border-radius:10px; border:0; display:grid; place-items:center; cursor:pointer; background: var(--env-hover); color: var(--env-ink-muted); }
  .igs-close .ui-ic{ width:16px; height:16px; }
  .igs-group{ grid-template-columns:1fr; gap:8px; }
  .igs-q{ padding:10px; }
  .igs-q-hint{ display:none; }
  .igs-styles{ flex-wrap:wrap; overflow:visible; -webkit-mask-image:none; mask-image:none; }
  .igs-done{ display:block; width:100%; padding:13px; border-radius:14px; border:0; cursor:pointer; font: inherit; font-weight:800; color:#fff; background: var(--accent); }
  .igx{ margin-top:18px; }
  .igx-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px; }
  .igx-tile{ border-radius:14px; }
}
@media (prefers-reduced-motion: reduce){ .igx-tile{ animation:none; } .igs-panel{ transition:none; } }

/* ===== ۱۴۰۵/۰۷/۲۶ — «استودیوی تصویر»: نوارِ تبِ مشترکِ ساخت از متن / جابه‌جایی چهره / عکس محصول ===== */
.ist-tabs{ position:relative; z-index:7; display:flex; align-items:center; justify-content:center; gap:14px; padding:10px 16px 2px; }
.ist-tabs-title{ display:inline-flex; align-items:center; gap:7px; font-size:.82rem; color: var(--env-ink-muted); }
.ist-tabs-title b{ color: var(--env-ink); font-weight:800; }
.ist-tabs-seg{ display:inline-flex; gap:4px; padding:4px; border-radius:999px; background: var(--env-solid); border:1px solid var(--env-border);
  box-shadow: 0 8px 24px -18px rgba(20,20,50,.5); }
.ist-tab{ display:inline-flex; align-items:center; gap:7px; padding:8px 16px; border-radius:999px; text-decoration:none; white-space:nowrap;
  font-size:.84rem; font-weight:700; color: var(--env-ink-muted); transition: background .18s, color .18s; }
.ist-tab:hover{ color: var(--env-ink); background: var(--env-hover); }
.ist-tab.is-on{ color:#fff; background: linear-gradient(135deg, #DB2777, #9D174D); box-shadow: 0 6px 16px -8px rgba(219,39,119,.8); }
.ist-tab .si{ flex-shrink:0; }
.ist-tab.is-on .si{ filter: brightness(1.15); }
@media (max-width:640px){
  .ist-tabs{ padding:8px 10px 0; }
  .ist-tabs-title{ display:none; }
  .ist-tabs-seg{ width:100%; }
  .ist-tab{ flex:1; justify-content:center; padding:8px 6px; font-size:.76rem; gap:5px; }
  .ist-tab .si{ display:none; }
}

/* ===== ۱۴۰۵/۰۷/۲۶ (۲) — تب‌هایِ «تصویرسازی» پررنگ‌تر + سربرگ/کاشی‌هایِ گالری + پنلِ جمع‌شونده در دسکتاپ ===== */
.ist-tabs{ padding:12px 16px 4px; gap:16px; }
.ist-tabs-seg{ gap:8px; padding:6px; border-radius:20px; }
.ist-tab{ gap:10px; padding:8px 14px 8px 18px; border-radius:15px; position:relative; animation: envRise .5s cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(var(--i) * 70ms); }
.ist-tab-ic{ width:38px; height:38px; border-radius:12px; display:grid; place-items:center; flex-shrink:0;
  background: color-mix(in srgb, #DB2777 10%, transparent); border:1px solid color-mix(in srgb, #DB2777 22%, transparent); }
.ist-tab-txt{ display:flex; flex-direction:column; line-height:1.4; text-align:right; }
.ist-tab-txt b{ font-size:.88rem; font-weight:800; color: var(--env-ink); }
.ist-tab-txt small{ font-size:.7rem; font-weight:600; color: var(--env-ink-muted); }
.ist-tab.is-on{ background: linear-gradient(135deg, color-mix(in srgb, #DB2777 14%, var(--env-solid)), color-mix(in srgb, #7C3AED 10%, var(--env-solid)));
  box-shadow: inset 0 0 0 1.5px #DB2777, 0 10px 24px -14px rgba(219,39,119,.9); }
.ist-tab.is-on .ist-tab-ic{ background: linear-gradient(135deg, #DB2777, #9D174D); border-color:transparent; }
.ist-tab.is-on .ist-tab-ic .si, .ist-tab.is-on .ist-tab-ic svg{ color:#fff; }
.ist-tab.is-on .ist-tab-txt b{ color: #DB2777; }
.ist-tab.is-on .ist-tab-txt small{ color: var(--env-ink); }

.igx-head{ align-items:flex-end; margin-bottom:14px; }
.igx-head-txt{ display:flex; flex-direction:column; gap:3px; }
.igx-head-txt b{ display:inline-flex; align-items:center; gap:7px; font-size:1.02rem; font-weight:900; color: var(--env-ink); }
.igx-head-txt small{ font-size:.76rem; color: var(--env-ink-muted); }
.igx-all{ padding:8px 14px; border-radius:999px; background: color-mix(in srgb, var(--accent) 10%, transparent);
  border:1px solid color-mix(in srgb, var(--accent) 30%, transparent); white-space:nowrap; }
.igx-all:hover{ background: color-mix(in srgb, var(--accent) 16%, transparent); }
.igx-tile{ box-shadow: 0 10px 24px -16px rgba(20,20,50,.6); outline:1px solid color-mix(in srgb, var(--env-ink) 8%, transparent); outline-offset:-1px; }
.igx-tile-try{ position:absolute; top:10px; inset-inline-start:10px; display:inline-flex; align-items:center; gap:5px; padding:5px 10px;
  border-radius:999px; font-size:.72rem; font-weight:800; color:#fff; background: rgba(219,39,119,.92);
  opacity:0; transform: translateY(-4px); transition: opacity .2s, transform .2s; }
.igx-tile-try .ui-ic{ width:13px; height:13px; }
.igx-tile:hover .igx-tile-try, .igx-tile:focus-visible .igx-tile-try{ opacity:1; transform:none; }

/* پنلِ تنظیمات وقتی گفتگو پیام دارد: در دسکتاپ هم فقط خلاصه، با پاپ‌آورِ بالایِ ورودی */
@media (min-width:641px){
  .igs--compact{ position:relative; }
  .igs--compact .igs-summary{ display:inline-flex; align-items:center; gap:7px; padding:7px 14px; border-radius:999px; cursor:pointer;
    font: inherit; font-size:.8rem; font-weight:700; color: var(--env-ink); background: var(--env-solid); border:1px solid var(--env-border-strong); }
  .igs--compact .igs-summary .ui-ic{ width:15px; height:15px; color: var(--accent); }
  .igs--compact .igs-summary > i{ width:3px; height:3px; border-radius:50%; background: var(--env-ink-muted); }
  .igs--compact .igs-summary-chev{ display:inline-flex; transform: rotate(180deg); }
  .igs--compact .igs-panel{ position:absolute; bottom:calc(100% + 8px); left:0; right:0; z-index:30; display:none;
    box-shadow: 0 24px 60px -24px rgba(10,10,30,.55); }
  .igs--compact.is-open .igs-panel{ display:grid; animation: envRise .22s ease both; }
  .igs--compact .igs-sheet-head{ display:flex; align-items:center; justify-content:space-between; }
  .igs--compact .igs-sheet-head b{ font-size:.9rem; }
  .igs--compact .igs-close{ width:30px; height:30px; border-radius:9px; border:0; display:grid; place-items:center; cursor:pointer; background: var(--env-hover); color: var(--env-ink-muted); }
  .igs--compact .igs-close .ui-ic{ width:15px; height:15px; }
}
@media (max-width:640px){
  .ist-tabs{ padding:8px 10px 2px; }
  .ist-tabs-seg{ gap:5px; padding:5px; border-radius:16px; }
  .ist-tab{ flex-direction:column; gap:4px; padding:7px 4px; border-radius:12px; }
  .ist-tab .si{ display:inline-flex; }
  .ist-tab-ic{ width:30px; height:30px; border-radius:10px; }
  .ist-tab-txt{ text-align:center; }
  .ist-tab-txt b{ font-size:.74rem; }
  .ist-tab-txt small{ display:none; }
  .igx-head{ flex-direction:column; align-items:stretch; gap:10px; }
  .igx-all{ justify-content:center; }
  .igx-tile-try{ opacity:1; transform:none; padding:4px 8px; font-size:.66rem; }
}
@media (prefers-reduced-motion: reduce){ .ist-tab{ animation:none; } }
.env-shell[data-family="imagegen"] .igx{ margin-top:42px; }
@media (max-width:640px){
  .env-shell[data-family="imagegen"] .env-empty-head{ display:none; }
  .env-shell[data-family="imagegen"] .igx{ margin-top:14px; }
  .igx-head-txt b{ font-size:.95rem; }
}

/* ===== ۱۴۰۵/۰۷/۲۶ (۳) — آیکن‌هایِ خطیِ صورتیِ بدونِ پس‌زمینه، بنرِ صورتیِ «گالری الهام»، تصویرِ کوچک‌تر + نمایشگرِ تمام‌صفحه ===== */
.ist-tab-ic, .ist-tab.is-on .ist-tab-ic{ width:auto; height:auto; background:none !important; border:0 !important; border-radius:0; }
.ist-tab-ic .ui-ic{ width:24px; height:24px; color:#DB2777; stroke-width:1.8; transition: transform .2s; }
.ist-tab:hover .ist-tab-ic .ui-ic{ transform: scale(1.08); }
.ist-tab.is-on .ist-tab-ic .ui-ic{ color:#BE185D; stroke-width:2.1; filter: drop-shadow(0 3px 6px rgba(219,39,119,.35)); }
.ist-tabs-title .ui-ic{ width:16px; height:16px; color:#DB2777; }
@media (max-width:640px){ .ist-tab-ic .ui-ic{ width:22px; height:22px; } }

.ig-banner{ background: linear-gradient(90deg, color-mix(in srgb, #DB2777 13%, transparent), color-mix(in srgb, #7C3AED 6%, transparent)) !important;
  border-bottom: 1px solid color-mix(in srgb, #DB2777 28%, transparent) !important; }
.ig-banner:hover{ background: linear-gradient(90deg, color-mix(in srgb, #DB2777 19%, transparent), color-mix(in srgb, #7C3AED 9%, transparent)) !important; }
.ig-banner .vg-banner-icon{ background: linear-gradient(135deg, #DB2777, #9D174D) !important; box-shadow: 0 6px 14px -8px rgba(219,39,119,.8) !important; }
.ig-banner .vg-banner-text b{ color:#BE185D; }
.ig-banner .vg-banner-arrow{ color:#DB2777 !important; }
.env-shell.env-force-dark .ig-banner .vg-banner-text b{ color:#F472B6; }
@media (prefers-color-scheme: dark){ .env-shell:not(.env-force-light) .ig-banner .vg-banner-text b{ color:#F472B6; } }

.env-img-result:has(> img){ max-width:260px; }
.env-img-result > img{ max-height:300px; width:auto; max-width:100%; object-fit:contain; cursor:zoom-in; transition: transform .2s, box-shadow .2s; }
.env-img-result > img:hover{ transform: translateY(-2px); box-shadow: 0 14px 30px -18px rgba(20,20,50,.6); }
@media (max-width:640px){ .env-img-result:has(> img){ max-width:62vw; } .env-img-result > img{ max-height:260px; } }

.env-lb{ position:fixed; inset:0; z-index:3000; display:grid; place-items:center; padding:24px; cursor:zoom-out;
  background: rgba(6,7,16,.86); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); opacity:0; transition: opacity .2s; }
.env-lb.is-on{ opacity:1; }
.env-lb img{ max-width:min(1100px, 100%); max-height:calc(100vh - 48px); border-radius:14px; box-shadow: 0 30px 80px -20px rgba(0,0,0,.7);
  transform: scale(.94); transition: transform .25s cubic-bezier(.2,.9,.3,1.1); }
.env-lb.is-on img{ transform:none; }
.env-lb-btn{ position:fixed; top:16px; width:42px; height:42px; border-radius:50%; display:grid; place-items:center; cursor:pointer;
  color:#fff; background: rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); }
.env-lb-btn svg{ width:20px; height:20px; }
.env-lb-btn:hover{ background: rgba(255,255,255,.22); }
.env-lb-close{ left:16px; }
.env-lb-dl{ left:68px; }
@media (prefers-reduced-motion: reduce){ .env-lb, .env-lb img{ transition:none; } }

/* ===== ۱۴۰۵/۰۷/۲۶ (۴) — خلاصهٔ تنظیماتِ تصویرساز واضح‌تر + بازطراحیِ داکِ «عکس محصول» ===== */
.igs-summary, .igs--compact .igs-summary{ border:1.5px solid color-mix(in srgb, #DB2777 55%, transparent) !important;
  background: linear-gradient(135deg, color-mix(in srgb, #DB2777 9%, var(--env-solid)), var(--env-solid)) !important;
  box-shadow: 0 6px 18px -10px rgba(219,39,119,.55); }
.igs-summary:hover{ border-color:#DB2777 !important; }
.igs-summary .ui-ic{ color:#DB2777 !important; }
.igs-summary > i{ background: color-mix(in srgb, #DB2777 60%, transparent) !important; }
.igs-summary-chev .ui-ic{ color:#DB2777 !important; }
@media (max-width:640px){
  .env-shell[data-family="imagegen"] .env-sub-badge, .env-shell[data-family="productphoto"] .env-sub-badge, .env-shell[data-family="faceswap"] .env-sub-badge{ display:none; }
}

/* داکِ عکس محصول: هم‌عرضِ بقیهٔ صفحه، یک ردیف (دسکتاپ) / دو ردیف (موبایل) */
.pp-dock{ max-width:760px; margin-inline:auto; padding:10px; gap:8px; }
.pp-dock-main{ gap:8px; }
.pp-more{ position:relative; flex-shrink:0; }
.pp-more-btn{ display:inline-flex; align-items:center; gap:7px; height:62px; padding:0 14px; border-radius:16px; cursor:pointer; font-family:inherit;
  color: var(--env-ink); background: linear-gradient(135deg, color-mix(in srgb, #DB2777 8%, var(--env-paper-2)), var(--env-paper-2));
  border:1.5px solid color-mix(in srgb, #DB2777 45%, transparent); }
.pp-more-btn:hover{ border-color:#DB2777; }
.pp-more-btn .ui-ic{ width:17px; height:17px; color:#DB2777; flex-shrink:0; }
.pp-more-sum{ display:inline-flex; align-items:center; gap:6px; font-size:.8rem; font-weight:800; white-space:nowrap; }
.pp-more-sum i{ width:3px; height:3px; border-radius:50%; background: color-mix(in srgb, #DB2777 60%, transparent); }
.pp-more-scrim{ display:none; }
.pp-more-panel{ position:absolute; bottom:calc(100% + 10px); inset-inline-end:0; z-index:40; width:340px; display:none; flex-direction:column; gap:8px;
  padding:14px; border-radius:18px; background: var(--env-solid); border:1px solid var(--env-border); box-shadow: 0 24px 60px -24px rgba(10,10,30,.55); }
.pp-more.is-open .pp-more-panel{ display:flex; animation: envRise .22s ease both; }
.pp-more-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:2px; }
.pp-more-head b{ font-size:.9rem; }
.pp-more-x{ width:30px; height:30px; border-radius:9px; border:0; display:grid; place-items:center; cursor:pointer; background: var(--env-hover); color: var(--env-ink-muted); }
.pp-more-x .ui-ic{ width:15px; height:15px; }
.pp-more-label{ font-size:.76rem; font-weight:800; color: var(--env-ink-muted); margin-top:4px; }
.pp-more-label small{ font-weight:600; }
.pp-seg--ar{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:6px; padding:0; background:none; border:0; }
.pp-seg--ar button{ display:flex; align-items:center; gap:9px; padding:9px 10px; border-radius:12px; border:1.5px solid var(--env-border-strong); background:transparent; font-size:.72rem; text-align:start; }
.pp-seg--ar button span{ display:flex; flex-direction:column; line-height:1.4; min-width:0; }
.pp-seg--ar button b{ font-size:.8rem; color: var(--env-ink); }
.pp-seg--ar button small{ font-size:.66rem; color: var(--env-ink-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pp-seg--ar button.on{ border-color:#DB2777; background: color-mix(in srgb, #DB2777 9%, transparent); color:#DB2777; box-shadow:none; }
.pp-seg--ar button.on b{ color:#DB2777; }
.pp-seg--n button{ padding:8px 6px; font-size:.78rem; }
.pp-seg--n button.on{ color:#DB2777; }
.pp-more-panel input[type=text]{ font-family:inherit; font-size:.82rem; padding:10px 12px; border-radius:12px; border:1px solid var(--env-border-strong);
  background: var(--env-paper-2); color: var(--env-ink); outline:none; }
.pp-more-panel input[type=text]:focus{ border-color:#DB2777; }
.pp-more-done{ margin-top:6px; padding:11px; border-radius:13px; border:0; cursor:pointer; font-family:inherit; font-weight:800; color:#fff; background: linear-gradient(135deg, #DB2777, #9D174D); }
.pp-dock-extra:not(:has(> :not([hidden]))){ display:none; }

@media (max-width:640px){
  .pp-dock{ padding:8px; border-radius:20px; }
  .pp-dock-main{ display:grid; grid-template-columns:52px minmax(0,1fr) auto; grid-template-areas:"slot chip more" "go go go"; gap:7px; }
  .pp-slot{ grid-area:slot; width:52px; height:52px; border-radius:14px; }
  .pp-chip{ grid-area:chip; height:52px; padding:4px 6px 4px 8px; }
  .pp-chip-img{ width:34px; height:42px; }
  .pp-more{ grid-area:more; }
  .pp-more-btn{ height:52px; padding:0 10px; flex-direction:column; justify-content:center; gap:2px; }
  .pp-more-sum{ font-size:.66rem; gap:4px; }
  .pp-go{ grid-area:go; height:48px; justify-content:center; }
  .pp-go-txt{ flex-direction:row; align-items:baseline; gap:8px; }
  .pp-more-scrim{ display:block; position:fixed; inset:0; z-index:1499; background: rgba(5,6,15,.45); opacity:0; pointer-events:none; transition: opacity .25s; }
  .pp-more.is-open .pp-more-scrim{ opacity:1; pointer-events:auto; }
  .pp-more-panel{ position:fixed; display:flex; left:0; right:0; bottom:0; width:auto; z-index:1500; max-height:84vh; overflow-y:auto;
    padding:16px 16px calc(16px + env(safe-area-inset-bottom)); border-radius:22px 22px 0 0; transform: translateY(105%); transition: transform .32s cubic-bezier(.2,.9,.3,1); }
  .pp-more.is-open .pp-more-panel{ transform:none; animation:none; }
  /* صفحهٔ شروعِ سبک‌تر: تصویرِ قبل/بعد کوتاه‌تر و بدونِ فهرستِ بلند */
  .env-shell[data-family="productphoto"] .env-empty-head{ display:none; }
  .pp-hero{ flex-direction:column; gap:14px; margin-top:10px; }
  .pp-ba{ flex:none; width:100%; aspect-ratio:16/11; border-radius:18px; }
  .pp-hero-body{ align-items:center; text-align:center; gap:10px; }
  .pp-hero-body h3{ font-size:1.05rem; }
  .pp-points, .pp-hero-note{ display:none; }
  .pp-hero-up{ align-self:stretch; justify-content:center; }
  .pp-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:9px; }
  .pp-inline-scenes{ margin-top:20px; }
}
@media (prefers-reduced-motion: reduce){ .pp-more-panel{ transition:none; } }

/* ===== ۱۴۰۵/۰۷/۲۶ — صفحهٔ اصلیِ استودیو: آیکنِ محصولات بدونِ کاشیِ پس‌زمینه، به رنگِ استودیویِ خودش ===== */
#envStudioHub .env-studiohub-section .env-persona-card .si--lg{
  width:auto; height:auto; border-radius:0; background:none; box-shadow:none; overflow:visible; color: var(--sec-c, var(--accent));
  margin-bottom:2px; transition: transform .3s cubic-bezier(.2,.9,.3,1.3); }
#envStudioHub .env-studiohub-section .env-persona-card .si--lg::before, #envStudioHub .env-studiohub-section .env-persona-card .si--lg::after{ display:none; }
#envStudioHub .env-studiohub-section .env-persona-card .si--lg svg{ width:34px; height:34px; stroke-width:1.6; filter: drop-shadow(0 4px 10px color-mix(in srgb, var(--sec-c, var(--accent)) 35%, transparent)); }
#envStudioHub .env-studiohub-section .env-persona-card:hover .si--lg{ transform: translateY(-2px) scale(1.08) rotate(-4deg); }
#envStudioHub .env-studiohub-section .env-persona-card{ --persona-accent: var(--sec-c) !important; }
@media (max-width:640px){ #envStudioHub .env-studiohub-section .env-persona-card .si--lg svg{ width:30px; height:30px; } }
@media (prefers-reduced-motion: reduce){ #envStudioHub .env-persona-card .si--lg{ transition:none; } }

/* ===== ۱۴۰۵/۰۷/۲۶ — نوارِ تبِ مشترکِ همهٔ محصولاتِ ادغام‌شده، به رنگِ استودیویِ خودش (--grp-c) ===== */
.ist-tabs{ --grp-c:#DB2777; }
.ist-tab.is-on{ background: linear-gradient(135deg, color-mix(in srgb, var(--grp-c) 14%, var(--env-solid)), color-mix(in srgb, var(--grp-c) 6%, var(--env-solid)));
  box-shadow: inset 0 0 0 1.5px var(--grp-c), 0 10px 24px -14px color-mix(in srgb, var(--grp-c) 90%, transparent); }
.ist-tab.is-on .ist-tab-txt b{ color: var(--grp-c); }
.ist-tab-ic .ui-ic, .ist-tabs-title .ui-ic{ color: var(--grp-c); }
.ist-tab.is-on .ist-tab-ic .ui-ic{ color: var(--grp-c); filter: drop-shadow(0 3px 6px color-mix(in srgb, var(--grp-c) 40%, transparent)); }
@media (max-width:640px){ .env-shell:not([data-tab-group=""]) .env-sub-badge{ display:none; } }

/* ===== ۱۴۰۵/۰۷/۲۶ — ویدیو: کارتِ آپلودِ جمع‌وجور بعد از شروعِ گفتگو + ویدیوهایِ کوچک‌تر در گفتگو ===== */
.vu--compact .vu-drop{ flex-direction:row; justify-content:center; gap:12px; padding:12px 16px; min-height:0; text-align:start; }
.vu--compact .vu-drop-ic{ width:40px; height:40px; margin:0; flex-shrink:0; }
.vu--compact .vu-drop-ic .ui-ic{ width:20px; height:20px; }
.vu--compact .vu-drop-title{ font-size:.86rem; }
.vu--compact .vu-drop-sub{ display:none; }
.vu--compact .vu-drop-feats{ display:none; }
.vu--compact .vu-resume-hint{ flex-basis:100%; }

.env-vid-result{ max-width:260px; }
.env-vid-result > video{ max-height:240px; width:100%; object-fit:cover; pointer-events:none; }
.env-vid-play{ position:absolute; inset:0; margin:auto; width:56px; height:56px; border-radius:50%; border:0; cursor:pointer; display:grid; place-items:center;
  color:#fff; background: rgba(10,10,20,.55); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); box-shadow: 0 10px 24px -8px rgba(0,0,0,.6); transition: transform .2s, background .2s; }
.env-vid-play svg{ width:24px; height:24px; margin-inline-start:3px; }
.env-vid-play:hover{ transform: scale(1.08); background: var(--accent); }
.env-lb video{ max-width:min(1100px, 100%); max-height:calc(100vh - 48px); border-radius:14px; background:#000; cursor:auto; }

.vcs-screen{ max-width:380px; }
.vcs-screen video{ max-height:52vh; }
@media (max-width:640px){ .vcs-screen{ max-width:100%; } .vcs-screen video{ max-height:44vh; } .env-vid-result{ max-width:62vw; } }

/* ===== ۱۴۰۵/۰۷/۲۶ — ویدیوساز: پنلِ تنظیمات هم‌سبکِ تصویرساز ===== */
.vgs .igs-summary, .vgs.igs--compact .igs-summary{ border-color: color-mix(in srgb, var(--accent) 55%, transparent) !important;
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 9%, var(--env-solid)), var(--env-solid)) !important; box-shadow: 0 6px 18px -10px var(--accent-glow); }
.vgs .igs-summary .ui-ic, .vgs .igs-summary-chev .ui-ic{ color: var(--accent) !important; }
.vgs .igs-summary > i{ background: color-mix(in srgb, var(--accent) 60%, transparent) !important; }
.vgs-quality{ grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.vgs-sound{ display:inline-flex; align-items:center; gap:3px; font-size:.64rem; font-weight:800; padding:2px 7px; border-radius:999px;
  color: var(--accent); background: color-mix(in srgb, var(--accent) 12%, transparent); }
.vgs-sound .ui-ic{ width:11px; height:11px; }
.vgs-foot{ display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:.76rem; color: var(--env-ink-muted); }
.vgs-foot #envVideoQuotePreview{ font-weight:800; color: var(--accent); }
@media (max-width:640px){ .vgs-quality{ grid-template-columns: repeat(2, minmax(0,1fr)); } .vgs .igs-q-hint{ display:block; font-size:.64rem; } }
.env-duration-btn[hidden], .igs-q[hidden]{ display:none !important; }

/* ===== ۱۴۰۵/۰۷/۲۶ — ویدیوساز با عکس: جایگاهِ عکسِ فریمِ اول ===== */
.vgf{ width:100%; max-width:760px; margin:0 auto 10px; display:flex; align-items:center; gap:14px; padding:12px; border-radius:20px;
  background: var(--env-solid); border:1px solid var(--env-border); }
.vgf[hidden]{ display:none; }
.vgf-slot{ position:relative; flex-shrink:0; width:104px; height:104px; border-radius:16px; overflow:hidden; cursor:pointer; padding:0; font-family:inherit;
  border:2px dashed color-mix(in srgb, var(--accent) 55%, transparent); background: color-mix(in srgb, var(--accent) 6%, transparent); color: var(--accent); }
.vgf-slot.drag{ border-style:solid; background: color-mix(in srgb, var(--accent) 14%, transparent); }
.vgf-slot.filled{ border-style:solid; border-color: var(--accent); }
.vgf-empty{ display:flex; flex-direction:column; align-items:center; gap:3px; }
.vgf-empty .ui-ic{ width:24px; height:24px; }
.vgf-empty b{ font-size:.7rem; font-weight:800; } .vgf-empty small{ font-size:.6rem; color: var(--env-ink-muted); }
.vgf-slot.filled .vgf-empty{ display:none; }
.vgf-slot img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.vgf-slot.filled::after{ content:"تعویض"; position:absolute; inset:auto 0 0; font-size:.62rem; font-weight:800; color:#fff; padding:3px 0; background: rgba(0,0,0,.55); }
.vgf-spin{ position:absolute; top:50%; left:50%; width:24px; height:24px; margin:-12px; border-radius:50%; border:3px solid rgba(255,255,255,.5); border-top-color:#fff; display:none; animation: rzpvSpin .8s linear infinite; }
.vgf-slot.loading .vgf-spin{ display:block; } .vgf-slot.loading img{ filter: brightness(.6); }
.vgf-txt{ display:flex; flex-direction:column; gap:4px; }
.vgf-txt b{ font-size:.9rem; font-weight:800; color: var(--env-ink); }
.vgf-txt small{ font-size:.76rem; line-height:1.8; color: var(--env-ink-muted); }
@media (max-width:640px){ .vgf{ gap:10px; padding:10px; } .vgf-slot{ width:84px; height:84px; } .vgf-txt small{ font-size:.7rem; } }

/* ===== ۱۴۰۵/۰۷/۲۶ — ویدیوساز: همان گریدِ ایده‌هایِ تصویرساز + برچسبِ پخش ===== */
.env-shell[data-family="videogen"] .igx{ margin-top:42px; }
.igx--video .igx-tile{ aspect-ratio:16/10; }
.igx--video .igx-tile-try{ background: rgba(220,38,38,.92); }
@media (max-width:640px){
  .env-shell[data-family="videogen"] .env-empty-head, .env-shell[data-family="videogen_img"] .env-empty-head{ display:none; }
  .env-shell[data-family="videogen"] .igx{ margin-top:14px; }
  .igx--video .igx-tile{ aspect-ratio:4/3; }
}
@media (min-width:641px){
  .vgs.igs--compact{ display:flex; justify-content:center; }
  .vgs.igs--compact .igs-summary{ padding:9px 18px; font-size:.84rem; }
  .vgs.igs--compact .igs-panel{ max-width:760px; margin-inline:auto; }
  .env-shell[data-family="videogen"] .igx, .env-shell[data-family="videogen"] .igx-grid{ max-width:880px; }
}

/* ===== ۱۴۰۵/۰۷/۲۶ — «دستیار شخصی»: ساده‌تر، منظم‌تر، آیکن‌هایِ خطیِ رنگی بدونِ کاشی ===== */
.pz{ max-width:1000px; margin-inline:auto; }
.pz-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:18px; flex-wrap:wrap; margin:6px 0 22px; padding-bottom:18px;
  border-bottom:1px solid var(--env-border); }
.pz-head-txt{ display:flex; flex-direction:column; gap:6px; text-align:right; }
.pz-eyebrow{ display:inline-flex; align-items:center; gap:6px; font-size:.78rem; font-weight:800; color: var(--accent); }
.pz-eyebrow .ui-ic{ width:15px; height:15px; }
.pz-head h2{ margin:0; font-size:1.5rem; font-weight:900; color: var(--env-ink); }
.pz-head p{ margin:0; font-size:.86rem; color: var(--env-ink-muted); line-height:1.9; }
.pz-head-acts{ display:flex; gap:8px; flex-wrap:wrap; }
.pz-btn{ display:inline-flex; align-items:center; gap:7px; padding:10px 16px; border-radius:13px; cursor:pointer; text-decoration:none; font-family:inherit;
  font-size:.86rem; font-weight:800; color: var(--env-ink); background: var(--env-solid); border:1px solid var(--env-border-strong); transition: transform .15s, border-color .15s; }
.pz-btn .ui-ic{ width:17px; height:17px; color: var(--accent); }
.pz-btn:hover{ transform: translateY(-1px); border-color: var(--accent); }
.pz-btn--primary{ color:#fff; border-color:transparent; background: var(--env-bubble-user, var(--accent)); box-shadow: 0 10px 22px -12px var(--accent-glow); }
.pz-btn--primary .ui-ic{ color:#fff; }

.pz-sec{ margin-bottom:26px; }
.pz-sec-head{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:12px; }
.pz-sec-head b{ display:inline-flex; align-items:center; gap:7px; font-size:1rem; font-weight:900; color: var(--env-ink); }
.pz-sec-head b .ui-ic{ width:18px; height:18px; color: var(--accent); }
.pz-sec-head small{ font-size:.76rem; color: var(--env-ink-muted); }

.pz-mine{ display:grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap:10px; }
.pz-me{ position:relative; display:flex; align-items:center; gap:12px; padding:12px 14px; border-radius:16px; text-decoration:none; color: var(--env-ink);
  background: var(--env-solid); border:1px solid var(--env-border); transition: border-color .15s, transform .15s, box-shadow .15s; }
.pz-me:hover{ transform: translateY(-2px); border-color: color-mix(in srgb, var(--pc) 60%, transparent); box-shadow: 0 12px 26px -18px color-mix(in srgb, var(--pc) 80%, transparent); }
.pz-me-av{ width:46px; height:46px; flex-shrink:0; border-radius:50%; display:grid; place-items:center; font-size:1.4rem; overflow:hidden;
  border:2px solid color-mix(in srgb, var(--pc) 70%, transparent); background: color-mix(in srgb, var(--pc) 10%, transparent); }
.pz-me-av img{ width:100%; height:100%; object-fit:cover; }
.pz-me-txt{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.pz-me-txt b{ font-size:.9rem; font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pz-me-txt small{ font-size:.74rem; color: var(--env-ink-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pz-me-pub{ color: var(--accent); display:inline-flex; } .pz-me-pub .ui-ic{ width:15px; height:15px; }
.pz .pz-me-del{ position:static !important; margin-inline-start:auto; flex-shrink:0; opacity:.45; }
.pz .pz-me:hover .pz-me-del{ opacity:1; }

/* قالب‌ها: آیکنِ خطی به رنگِ قالب، بدونِ کاشیِ پس‌زمینه */
.pz .pt-head{ display:block; margin-bottom:12px; }
.pz .pt-head .env-starters-title{ display:none; }
.pz .pt-cats{ justify-content:flex-start; flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; padding-bottom:2px; }
.pz .pt-cats::-webkit-scrollbar{ display:none; }
.pz .pt-cat{ flex-shrink:0; }
.pz .pt-grid{ grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap:10px; }
.pz .pt-card{ padding:14px; gap:12px; border-radius:16px; }
.pz .pt-ic{ width:auto !important; height:auto !important; background:none !important; box-shadow:none !important; border-radius:0 !important; color: var(--pt-c) !important; }
.pz .pt-ic .ui-ic{ width:30px !important; height:30px !important; stroke-width:1.7; color: var(--pt-c); filter: drop-shadow(0 4px 10px color-mix(in srgb, var(--pt-c) 35%, transparent)); }
.pz .pt-ic::before, .pz .pt-ic::after{ display:none !important; }
.pz .pt-card--blank .pt-ic .ui-ic{ color: var(--accent); }
.pz .pt-ntools{ display:none; }
.pz .pt-biz{ font-size:.66rem; }

/* راه‌هایِ بیشتر */
.pz-more-grid{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:10px; align-items:start; }
.pz-box{ margin:0 !important; padding:14px 16px !important; border-radius:16px !important; background: var(--env-solid) !important; border:1px solid var(--env-border) !important; box-shadow:none !important; }
.pz .pm-card-ic, .pz-box-ic{ width:auto !important; height:auto !important; background:none !important; box-shadow:none !important; color: var(--accent) !important; flex-shrink:0; }
.pz .pm-card-ic .ui-ic, .pz-box-ic .ui-ic{ width:24px !important; height:24px !important; color: var(--accent); }
.pz .pm-card-head b, .pz-box-txt b{ font-size:.9rem; }
.pz .pm-card-head span, .pz-box-txt small{ font-size:.76rem; }
.pz-biz summary{ list-style:none; display:flex; align-items:center; gap:12px; cursor:pointer; }
.pz-biz summary::-webkit-details-marker{ display:none; }
.pz-box-txt{ display:flex; flex-direction:column; gap:3px; flex:1; min-width:0; }
.pz-box-txt b{ font-weight:800; color: var(--env-ink); }
.pz-box-txt small{ color: var(--env-ink-muted); line-height:1.8; }
.pz-box-chev .ui-ic{ width:16px; height:16px; color: var(--env-ink-muted); transition: transform .2s; }
.pz-biz[open] .pz-box-chev .ui-ic{ transform: rotate(180deg); }
.pz-steps{ list-style:none; margin:14px 0 0; padding:0; display:grid; gap:8px; }
.pz-steps li{ display:flex; gap:10px; align-items:flex-start; font-size:.8rem; line-height:1.9; color: var(--env-ink-muted); }
.pz-steps li b{ color: var(--env-ink); }
.pz-steps i{ font-style:normal; width:24px; height:24px; flex-shrink:0; border-radius:50%; display:grid; place-items:center; font-size:.74rem; font-weight:800;
  color: var(--accent); border:1.5px solid color-mix(in srgb, var(--accent) 55%, transparent); }
.pz-note{ display:flex; align-items:center; gap:6px; margin:12px 0 0; font-size:.74rem; color: var(--env-ink-muted); }
.pz-note .ui-ic{ width:15px; height:15px; color: var(--accent); }

@media (max-width:640px){
  .pz-head{ flex-direction:column; align-items:stretch; margin-bottom:16px; }
  .pz-head h2{ font-size:1.25rem; }
  .pz-head-acts .pz-btn{ flex:1; justify-content:center; }
  .pz-mine{ grid-template-columns:1fr; }
  .pz .pt-grid{ grid-template-columns:1fr 1fr; }
  .pz .pt-card{ flex-direction:column; align-items:flex-start; padding:12px; }
  .pz .pt-body span{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .pz-more-grid{ grid-template-columns:1fr; }
}
.pz{ width:100%; min-width:0; box-sizing:border-box; }
.pz > *, .pz-sec, .pz .pt-head, .pz .pt-grid, .pz-mine, .pz-more-grid{ min-width:0; max-width:100%; }
.pz .pt-cats{ max-width:100%; }
.pz .pt-card{ flex-wrap:wrap; align-content:flex-start; }
.pz .pt-biz{ position:static !important; order:3; flex-basis:100%; width:fit-content; margin:2px 0 0; inset:auto !important; }
@media (max-width:640px){ .pz .pt-biz{ margin:0; } .pz-head p{ overflow-wrap:anywhere; } }
@media (max-width:640px){
  .pz .pt-grid{ grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .pz .pt-card{ min-width:0; }
  .pz .pt-body{ min-width:0; }
  .pz .pt-biz{ white-space:nowrap; font-size:.58rem; }
}
@media (max-width:640px){ .pz .pt-biz{ flex-basis:auto !important; align-self:flex-start; } }
.pz .pm-logo{ background:none !important; box-shadow:none !important; width:auto !important; height:auto !important; font-weight:900; font-size:1.1rem; }
.pz .pm-logo--telegram{ color:#229ED9 !important; } .pz .pm-logo--bale{ color:#00A884 !important; }
.pz .pm-logo .ui-ic, .pz .pm-logo svg{ width:24px; height:24px; color:inherit; }

/* ===== ۱۴۰۵/۰۷/۲۶ — ویدیوساز: نوارِ جمع‌وجورِ عکس‌هایِ مرجع (تا ۵، با توضیحِ کوتاه) ===== */
.vrf{ width:100%; max-width:760px; margin:0 auto 8px; display:flex; align-items:flex-start; gap:8px; flex-wrap:wrap; justify-content:center; }
.vrf[hidden]{ display:none; }
.vrf.drag{ outline:2px dashed var(--accent); outline-offset:4px; border-radius:16px; }
.vrf-list{ display:flex; gap:8px; flex-wrap:wrap; }
.vrf-list:empty{ display:none; }
.vrf-it{ position:relative; width:84px; display:flex; flex-direction:column; gap:4px; }
.vrf-it img{ width:84px; height:64px; object-fit:cover; border-radius:12px; border:1.5px solid color-mix(in srgb, var(--accent) 45%, transparent); display:block; }
.vrf-it.loading img{ filter: brightness(.55); }
.vrf-it.loading::after{ content:""; position:absolute; top:22px; left:32px; width:20px; height:20px; border-radius:50%; border:3px solid rgba(255,255,255,.5); border-top-color:#fff; animation: rzpvSpin .8s linear infinite; }
.vrf-n{ position:absolute; top:4px; inset-inline-start:4px; min-width:18px; height:18px; padding:0 4px; border-radius:9px; display:grid; place-items:center;
  font-size:.62rem; font-weight:800; color:#fff; background: var(--accent); }
.vrf-x{ position:absolute; top:3px; inset-inline-end:3px; width:20px; height:20px; border-radius:50%; border:0; cursor:pointer; display:grid; place-items:center;
  font-size:.9rem; line-height:1; color:#fff; background: rgba(10,10,20,.65); }
.vrf-cap{ width:100%; box-sizing:border-box; font-family:inherit; font-size:.66rem; padding:4px 6px; border-radius:8px; border:1px solid var(--env-border-strong);
  background: var(--env-solid); color: var(--env-ink); outline:none; }
.vrf-cap:focus{ border-color: var(--accent); }
.vrf-add{ display:inline-flex; align-items:center; gap:8px; height:64px; padding:0 14px; border-radius:12px; cursor:pointer; font-family:inherit; color: var(--env-ink);
  background: color-mix(in srgb, var(--accent) 5%, var(--env-solid)); border:1.5px dashed color-mix(in srgb, var(--accent) 55%, transparent); transition: background .15s; }
.vrf-add:hover{ background: color-mix(in srgb, var(--accent) 10%, var(--env-solid)); }
.vrf-add[hidden]{ display:none; }
.vrf-add .ui-ic{ width:20px; height:20px; color: var(--accent); }
.vrf-add span{ display:flex; flex-direction:column; text-align:right; line-height:1.4; }
.vrf-add b{ font-size:.8rem; font-weight:800; } .vrf-add small{ font-size:.66rem; color: var(--env-ink-muted); }
.vrf-hint{ flex-basis:100%; display:flex; align-items:center; justify-content:center; gap:5px; font-size:.72rem; color: var(--env-ink-muted); }
.vrf-hint .ui-ic{ width:13px; height:13px; color: var(--accent); }
.vrf-hint[hidden]{ display:none; }
.vrf:not(.has-refs) .vrf-add{ height:40px; }
@media (max-width:640px){ .vrf-it{ width:72px; } .vrf-it img{ width:72px; height:56px; } .vrf-add{ height:56px; padding:0 10px; } }
.vrf .vrf-cap{ height:24px !important; min-height:0 !important; padding:2px 6px !important; font-size:.64rem !important; line-height:1.4 !important;
  border-radius:7px !important; box-shadow:none !important; margin:0 !important; text-align:center; }
@media (max-width:640px){ .vrf{ flex-wrap:nowrap; justify-content:flex-start; overflow-x:auto; scrollbar-width:none; } .vrf::-webkit-scrollbar{ display:none; }
  .vrf-list{ flex-wrap:nowrap; } .vrf-hint{ display:none !important; } .vrf-add{ flex-shrink:0; } }

/* ===== ۱۴۰۵/۰۷/۲۶ (۲) — ویدیوساز: رنگِ قرمزِ ثابت، نوارِ «افزودن عکس + تنظیمات» کنارِ هم، صفحهٔ خالیِ آرام‌تر ===== */
.env-shell[data-family="videogen"], .env-shell[data-family="videogen_img"]{ --vg-c:#DC2626; --vg-c2:#B91C1C; }
.env-shell[data-family^="videogen"] :is(.vg-bar, .vgs, .vrf, .vgf, .igx--video, .vgs-panel, .igs-panel){ --accent: var(--vg-c); --accent-glow: rgba(220,38,38,.45); }
.vg-bar{ position:relative; width:100%; max-width:760px; margin:0 auto 8px; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; }
.vg-bar .vrf{ display:contents; }
.vg-bar .vrf[hidden]{ display:none; }
.vg-bar .vrf-list{ order:-2; flex-basis:100%; justify-content:center; }
.vg-bar .vrf-hint{ order:-1; flex-basis:100%; }
.vg-bar .vrf-add{ order:1; height:42px !important; padding:0 14px; border-radius:999px; border-style:dashed; }
.vg-bar .vrf-add span{ flex-direction:row; align-items:baseline; gap:6px; }
.vg-bar .vgs{ order:2; width:auto; max-width:none; margin:0; }
.vg-bar .vgs.igs--compact{ position:static; }
.vg-bar .vgs .igs-summary{ height:42px; }
@media (min-width:641px){ .vg-bar .vgs.igs--compact .igs-panel{ left:0; right:0; bottom:calc(100% + 10px); } }
.vg-bar .vgs .igs-summary, .vg-bar .vrf-add{ border-color: color-mix(in srgb, var(--vg-c) 55%, transparent) !important;
  background: linear-gradient(135deg, color-mix(in srgb, var(--vg-c) 9%, var(--env-solid)), var(--env-solid)) !important; }
.vg-bar .vgs .igs-summary .ui-ic, .vg-bar .vrf-add .ui-ic, .vg-bar .igs-summary-chev .ui-ic{ color: var(--vg-c) !important; }
.vg-bar .vgs .igs-summary > i{ background: color-mix(in srgb, var(--vg-c) 60%, transparent) !important; }

/* صفحهٔ خالی: سربرگِ تکراری حذف (عنوان در نوارِ بالا هست)، فقط یک ردیف از ایده‌ها */
.env-shell[data-family^="videogen"] .env-empty-head{ display:none; }
.env-shell[data-family="videogen"] .igx{ max-width:760px; margin-top:22px; }
.igx--video .igx-head-txt small{ display:none; }
.igx--video .igx-tile{ aspect-ratio:16/10; border-radius:14px; }
@media (min-width:641px){ .igx--video .igx-tile:nth-child(n+5){ display:none; } }
@media (max-width:640px){
  .igx--video .igx-tile:nth-child(n+5){ display:none; }
  .vg-bar{ flex-wrap:wrap; }
  .vg-bar .vrf-add{ flex:0 0 auto; }
  .vg-bar .vgs{ flex:1; min-width:0; }
  .vg-bar .vgs .igs-summary{ width:100%; }
  .vg-bar .vrf-add small{ display:none; }
}
/* ویدیوساز همیشه قرمز — حتی اگر کاربر برایِ محیط یک رنگِ تمِ شخصی انتخاب کرده باشد */
.env-shell[data-family="videogen"], .env-shell[data-family="videogen_img"]{
  --env-family-accent:#DC2626 !important; --env-family-accent-deep:#B91C1C !important; --env-family-accent-dark:#F87171 !important;
  --accent:#DC2626 !important; --accent-glow: rgba(220,38,38,.45) !important; }
@media (max-width:640px){
  .vg-bar .vrf-add{ width:42px; padding:0; justify-content:center; }
  .vg-bar .vrf-add span{ display:none; }
}

/* ===== ۱۴۰۵/۰۷/۲۶ — کارتِ «دستیار شخصی» در صفحهٔ استودیو: جمع‌وجور در موبایل ===== */
@media (max-width:640px){
  #envStudioHub .hub-featured{ display:grid !important; grid-template-columns:auto minmax(0,1fr) auto; grid-template-areas:"ic body cta" "mine mine mine";
    align-items:center; gap:4px 12px; padding:14px !important; border-radius:18px !important; text-align:right; min-height:0 !important; }
  #envStudioHub .hub-featured > .si{ grid-area:ic; width:auto !important; height:auto !important; background:none !important; box-shadow:none !important; border-radius:0 !important;
    color: var(--persona-accent) !important; overflow:visible; }
  #envStudioHub .hub-featured > .si::before, #envStudioHub .hub-featured > .si::after{ display:none !important; }
  #envStudioHub .hub-featured > .si svg{ width:34px !important; height:34px !important; stroke-width:1.6; filter: drop-shadow(0 4px 10px color-mix(in srgb, var(--persona-accent) 35%, transparent)); }
  #envStudioHub .hub-featured-body{ grid-area:body; gap:2px !important; min-width:0; }
  #envStudioHub .hub-featured-eyebrow{ font-size:.66rem !important; }
  #envStudioHub .hub-featured-body b{ font-size:.92rem !important; line-height:1.6 !important; }
  #envStudioHub .hub-featured-body > span:last-child{ font-size:.72rem !important; line-height:1.7 !important;
    display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; }
  #envStudioHub .hub-featured-cta{ grid-area:cta; width:38px !important; height:38px !important; padding:0 !important; border-radius:50% !important; font-size:0 !important;
    display:grid !important; place-items:center; margin:0 !important; }
  #envStudioHub .hub-featured-cta .ui-ic{ width:18px !important; height:18px !important; margin:0 !important; }
  #envStudioHub .hub-featured-mine{ grid-area:mine; justify-content:flex-start; margin:4px 0 0 !important; }
  #envStudioHub .hub-featured-glow{ opacity:.5; }
}
@media (max-width:640px){ #envStudioHub .hub-featured-sub{ display:none; } #envStudioHub .hub-featured-body b{ font-size:1rem !important; } }

/* ===== ۱۴۰۵/۰۷/۲۶ — انتخابِ ابعاد (تصویرساز + ویدیوساز): کاشی با قابِ هم‌نسبت + نام + کاربرد ===== */
.ar-grid{ display:flex; gap:7px; overflow-x:auto; scrollbar-width:none; padding:3px 4px; scroll-snap-type:x proximity;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 18px, #000 calc(100% - 18px), transparent); mask-image: linear-gradient(90deg, transparent, #000 18px, #000 calc(100% - 18px), transparent); }
.ar-grid::-webkit-scrollbar{ display:none; }
.ar-grid .ar-tile{ flex:0 0 auto; min-width:136px; scroll-snap-align:start; }
.igs .ar-tile{ position:relative; display:flex; align-items:center; gap:9px; min-width:0; padding:8px 10px; border-radius:13px; cursor:pointer;
  font: inherit; text-align:right; white-space:normal; color: var(--env-ink); background:transparent; border:1.5px solid var(--env-border-strong);
  transition: border-color .18s, background .18s, box-shadow .18s, transform .18s; }
.igs .ar-tile:hover{ transform: translateY(-1px); border-color: color-mix(in srgb, var(--accent) 50%, var(--env-border-strong)); }
.igs .ar-tile.active{ border-color: var(--accent); background: color-mix(in srgb, var(--accent) 9%, transparent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent); }
.ar-frame{ width:24px; height:24px; flex-shrink:0; display:grid; place-items:center; }
.ar-frame i{ display:block; border:1.8px solid var(--env-ink-muted); border-radius:3.5px; transition: border-color .18s, background .18s; }
.ar-tile.active .ar-frame i{ border-color: var(--accent); background: color-mix(in srgb, var(--accent) 16%, transparent); }
.ar-txt{ display:flex; flex-direction:column; min-width:0; line-height:1.45; }
.ar-txt b{ font-size:.78rem; font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ar-txt small{ font-size:.64rem; color: var(--env-ink-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ar-ratio{ margin-inline-start:auto; padding-inline-start:4px; align-self:flex-start; font-size:.6rem; font-weight:800; letter-spacing:.02em; color: var(--env-ink-muted); font-variant-numeric: tabular-nums; }
.ar-tile.active .ar-ratio{ color: var(--accent); }
@media (max-width:640px){
  .ar-grid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:6px; overflow:visible; padding:0; -webkit-mask-image:none; mask-image:none; }
  .ar-grid .ar-tile{ min-width:0; }
  .igs .ar-tile{ flex-direction:column; align-items:center; gap:4px; padding:10px 4px 8px; text-align:center; }
  .ar-txt{ align-items:center; width:100%; }
  .ar-txt b{ font-size:.74rem; }
  .ar-ratio{ margin:0; padding:0; align-self:center; font-size:.62rem; }
}
/* ۱۴۰۵/۰۷/۲۶ — زبانِ گفتارِ ویدیو */
.env-lang-btn .ui-ic{ width:13px; height:13px; }

/* ===== ۱۴۰۵/۰۷/۲۶ — ساختِ ویدیو با عکس: کارتِ «صحنهٔ اول» (مرحلهٔ ۱ از ۲) ===== */
.igs .ar-tile[hidden]{ display:none; }
.vsc{ width:100%; max-width:760px; margin:0 auto 10px; display:grid; grid-template-columns:auto minmax(0,1fr); gap:14px; align-items:center;
  padding:12px; border-radius:18px; background: var(--env-solid); border:1px solid var(--env-border);
  box-shadow: 0 12px 30px -22px rgba(20,20,50,.45); animation: envRise .4s cubic-bezier(.2,.8,.2,1) both; }
.vsc[hidden]{ display:none; }
.vsc-img{ position:relative; padding:0; border:0; border-radius:12px; overflow:hidden; height:170px; width:auto; aspect-ratio: var(--vsc-ar, 16/9);
  max-width:260px; background: var(--env-border); cursor:zoom-in; }
.vsc-img img{ width:100%; height:100%; object-fit:cover; display:block; transition: filter .3s, transform .4s; }
.vsc.is-busy .vsc-img{ cursor:default; }
.vsc.is-busy .vsc-img img{ filter: blur(6px) saturate(.6) brightness(.85); transform: scale(1.06); }
.vsc-spin{ display:none; position:absolute; inset:0; margin:auto; width:34px; height:34px; border-radius:50%;
  border:3px solid rgba(255,255,255,.35); border-top-color:#fff; animation: vscSpin .9s linear infinite; }
.vsc.is-busy .vsc-spin{ display:block; }
@keyframes vscSpin{ to{ transform: rotate(360deg); } }
.vsc-body{ display:flex; flex-direction:column; gap:5px; min-width:0; }
.vsc-kicker{ display:inline-flex; align-items:center; gap:5px; font-size:.7rem; font-weight:800; color: var(--accent); }
.vsc-kicker .ui-ic{ width:13px; height:13px; }
.vsc.is-ready .vsc-kicker::after{ content:"✓"; margin-inline-start:2px; }
.vsc-body > b{ font-size:.95rem; font-weight:900; color: var(--env-ink); }
.vsc-body > small{ font-size:.76rem; line-height:1.8; color: var(--env-ink-muted); }
.vsc.is-err .vsc-body > b{ color:#DC2626; }
.vsc-actions{ display:flex; gap:8px; flex-wrap:wrap; margin-top:4px; }
.vsc-actions[hidden]{ display:none; }
.vsc-actions button{ display:inline-flex; align-items:center; gap:6px; padding:9px 14px; border-radius:12px; cursor:pointer; font: inherit; font-size:.8rem; font-weight:800; }
.vsc-actions button[hidden]{ display:none; }
.vsc-actions .ui-ic{ width:16px; height:16px; }
.vsc-go{ border:0; color:#fff; background: var(--accent); box-shadow: 0 8px 18px -10px var(--accent); }
.vsc-again{ border:1.5px solid var(--env-border-strong); color: var(--env-ink); background:transparent; }
.vrf-direct{ flex-basis:100%; display:flex; align-items:center; justify-content:center; gap:7px; font-size:.74rem; color: var(--env-ink-muted); cursor:pointer; }
.vrf-direct[hidden]{ display:none; }
.vrf-direct input{ accent-color: var(--accent); width:15px; height:15px; }
@media (max-width:640px){
  .vsc{ grid-template-columns:1fr; gap:10px; padding:10px; }
  .vsc-img{ height:auto; width:100%; max-width:100%; max-height:300px; justify-self:center; }
  .vsc-img:where([style*="9 / 16"], [style*="3 / 4"]){ width:auto; height:300px; }
  .vsc-actions button{ flex:1; justify-content:center; }
}

/* ۱۴۰۵/۰۷/۳۰ — «بهبودِ متنِ ویدیو»: سوییچِ تنظیمات + بخشِ تاشوِ متنِ بهبودیافته زیرِ ویدیو */
.vg-enh-toggle{ display:flex; align-items:center; gap:10px; cursor:pointer; padding:8px 10px; border-radius:12px;
  border:1px solid var(--env-border, rgba(0,0,0,.1)); background: color-mix(in srgb, #DC2626 5%, transparent); }
.vg-enh-toggle input{ position:absolute; opacity:0; pointer-events:none; }
.vg-enh-sw{ flex:none; position:relative; width:38px; height:22px; border-radius:999px; background:#9CA3AF; transition: background .15s; }
.vg-enh-sw::after{ content:""; position:absolute; top:3px; right:3px; width:16px; height:16px; border-radius:50%; background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.25); transition: right .15s; }
.vg-enh-toggle input:checked + .vg-enh-sw{ background:#DC2626; }
.vg-enh-toggle input:checked + .vg-enh-sw::after{ right:19px; }
.vg-enh-toggle input:focus-visible + .vg-enh-sw{ outline:2px solid #DC2626; outline-offset:2px; }
.vg-enh-lbl{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.vg-enh-lbl b{ display:inline-flex; align-items:center; gap:5px; font-size:.86rem; }
.vg-enh-lbl b svg{ width:15px; height:15px; color:#DC2626; }
.vg-enh-lbl small{ font-size:.72rem; opacity:.7; line-height:1.6; }
.vg-enh{ margin-top:8px; border:1px solid var(--env-border, rgba(0,0,0,.1)); border-radius:12px; padding:8px 12px; font-size:.8rem;
  background: color-mix(in srgb, #DC2626 4%, transparent); max-width:640px; }
.vg-enh summary{ cursor:pointer; display:flex; align-items:center; gap:6px; font-weight:700; opacity:.85; list-style:none; }
.vg-enh summary::-webkit-details-marker{ display:none; }
.vg-enh summary svg{ width:14px; height:14px; color:#DC2626; flex:none; }
.vg-enh[open] summary{ margin-bottom:8px; }
.vg-enh-text{ white-space:pre-wrap; line-height:2.1; font-size:.9rem; }
/* ۱۴۰۵/۰۷/۳۰ — گزینهٔ جدایِ «ترجمه» + «بدونِ گفتار» */
.vg-tr-wrap{ display:flex; flex-direction:column; gap:8px; min-width:0; }
#envVideoLang[hidden]{ display:none !important; }
.vg-speech-dep.is-off{ opacity:.45; pointer-events:none; }
/* ۱۴۰۵/۰۷/۳۰ — فقط دسکتاپ: پاپ‌آورِ تنظیمات (که از نوارِ پایینی به بالا باز می‌شود) سقفِ ارتفاع نداشت و با
   ردیف‌هایِ تازهٔ گفتار/ترجمه/اِعراب از بالایِ صفحه بیرون می‌زد. حالا ارتفاعش به فضایِ خالیِ بالایِ نوار
   (--igs-max، با JS هنگامِ باز شدن) محدود است و داخلِ خودش اسکرول می‌شود؛ سربرگ و دکمهٔ «تأیید» چسبان‌اند.
   نمایِ موبایل (bottom-sheet) دست نخورده. */
@media (min-width:641px){
  .igs--compact .igs-panel{ max-height: var(--igs-max, calc(100vh - 180px)); overflow-y:auto; overscroll-behavior:contain;
    scrollbar-width:thin; }
  .igs--compact .igs-panel .igs-sheet-head{ position:sticky; top:-14px; z-index:2; margin:-14px -16px 0; padding:12px 16px 10px;
    background: var(--env-solid); border-bottom:1px solid var(--env-border); }
  .igs--compact .igs-panel .igs-done{ position:sticky; bottom:-14px; z-index:2; box-shadow: 0 -10px 18px -6px var(--env-solid); }
}

/* ===== ۱۴۰۵/۰۷/۳۰ — تصویرسازِ یکپارچه: نوارِ «افزودن عکس + تنظیمات» مثلِ ویدیوساز، بدونِ تب ===== */
.env-shell[data-family="imagegen"]{ --vg-c:#DB2777; --vg-c2:#BE185D; }
.env-shell[data-family="imagegen"] :is(.ig-bar, .igs, .igs-panel, .pp-gal){ --accent: var(--vg-c); --accent-glow: rgba(219,39,119,.45); }
.ig-bar .ig-modes{ order:-1; flex-basis:100%; display:flex; justify-content:center; gap:8px; flex-wrap:wrap; }
.ig-bar .ig-modes[hidden]{ display:none; }
.ig-mode{ display:inline-flex; align-items:center; gap:8px; padding:7px 14px 7px 12px; border-radius:14px; cursor:pointer; font-family:inherit;
  color: var(--env-ink); background: var(--env-solid); border:1.5px solid var(--env-border-strong); transition: border-color .15s, background .15s, box-shadow .15s; }
.ig-mode .ui-ic{ width:18px; height:18px; color: var(--env-ink-muted); flex:none; }
.ig-mode span{ display:flex; flex-direction:column; text-align:right; line-height:1.45; }
.ig-mode b{ font-size:.8rem; font-weight:800; } .ig-mode small{ font-size:.66rem; color: var(--env-ink-muted); }
.ig-mode:hover{ border-color: color-mix(in srgb, var(--vg-c) 50%, transparent); }
.ig-mode.is-on{ border-color: var(--vg-c); background: color-mix(in srgb, var(--vg-c) 9%, var(--env-solid));
  box-shadow: 0 6px 18px -10px color-mix(in srgb, var(--vg-c) 70%, transparent); }
.ig-mode.is-on .ui-ic{ color: var(--vg-c); }
.ig-scene-chip{ order:1; display:inline-flex; align-items:center; gap:8px; height:42px; padding:0 10px 0 6px; border-radius:999px; cursor:pointer;
  font-family:inherit; color: var(--env-ink); background: linear-gradient(135deg, color-mix(in srgb, var(--vg-c) 9%, var(--env-solid)), var(--env-solid));
  border:1.5px solid color-mix(in srgb, var(--vg-c) 55%, transparent); }
.ig-scene-chip[hidden]{ display:none; }
.ig-scene-chip-img{ width:32px; height:32px; border-radius:50%; overflow:hidden; display:grid; place-items:center; background: color-mix(in srgb, var(--vg-c) 14%, var(--env-solid)); flex:none; }
.ig-scene-chip-img img{ width:100%; height:100%; object-fit:cover; }
.ig-scene-chip-img img:not([hidden]) + .ig-scene-chip-ph{ display:none; }
.ig-scene-chip-ph .ui-ic{ width:16px; height:16px; color: var(--vg-c); }
.ig-scene-chip-txt{ display:flex; flex-direction:column; line-height:1.25; text-align:right; }
.ig-scene-chip-txt small{ font-size:.6rem; color: var(--env-ink-muted); } .ig-scene-chip-txt b{ font-size:.78rem; font-weight:800; }
.ig-scene-chip > .ui-ic{ width:14px; height:14px; color: var(--vg-c); transform: rotate(90deg); }
.ig-scene-chip:not(.filled){ animation: igPulse 1.8s ease-in-out infinite; }
@keyframes igPulse{ 0%,100%{ box-shadow:0 0 0 0 color-mix(in srgb, var(--vg-c) 40%, transparent); } 50%{ box-shadow:0 0 0 6px color-mix(in srgb, var(--vg-c) 0%, transparent); } }
.ig-note{ display:flex; align-items:center; gap:6px; font-size:.76rem; line-height:1.7; color: var(--env-ink-muted); }
.ig-note .ui-ic{ width:14px; height:14px; color: var(--vg-c); flex:none; }
.igs-group[hidden]{ display:none !important; }
.ig-prod-fields{ display:flex; flex-direction:column; gap:8px; min-width:0; }
.ig-prod-fields input[type=text]{ width:100%; box-sizing:border-box; font:inherit; font-size:.8rem; padding:9px 12px; border-radius:12px;
  border:1px solid var(--env-border-strong); background: var(--env-solid); color: var(--env-ink); outline:none; }
.ig-prod-fields input[type=text]:focus{ border-color: var(--vg-c); }
.ig-color{ display:inline-flex; align-items:center; gap:8px; font-size:.78rem; font-weight:700; cursor:pointer; }
.ig-color[hidden]{ display:none; }
.ig-color .ui-ic{ width:16px; height:16px; color: var(--vg-c); }
.ig-color input{ width:34px; height:26px; border:0; padding:0; background:none; cursor:pointer; }
.ig-bar .vgs-foot #igQuotePreview{ font-weight:800; color: var(--vg-c); }
.ig-refs.drag .vrf-add{ outline:2px dashed var(--vg-c); outline-offset:3px; }
.igs-seg{ display:flex; gap:6px; flex-wrap:wrap; }
@media (max-width:640px){
  .ig-bar .ig-modes{ flex-wrap:nowrap; }
  .ig-mode{ flex:1; min-width:0; padding:7px 10px; }
  .ig-mode small{ display:none; }
  .ig-bar .ig-scene-chip{ flex:1 1 100%; justify-content:flex-start; order:-1; }
}
/* تصویرسازِ یکپارچه — معرفیِ سه کار در گفتگویِ خالی */
.ig-intro{ order:-3; flex-basis:100%; display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px; margin-bottom:6px; }
.ig-intro[hidden]{ display:none; }
.ig-intro-card{ display:flex; flex-direction:column; padding:0; overflow:hidden; cursor:pointer; text-align:right; font-family:inherit; color: var(--env-ink);
  background: var(--env-solid); border:1.5px solid var(--env-border); border-radius:16px; transition: transform .18s, box-shadow .18s, border-color .18s;
  animation: envRise .35s ease both; }
.ig-intro-card:nth-child(2){ animation-delay:.06s; } .ig-intro-card:nth-child(3){ animation-delay:.12s; }
.ig-intro-card:hover{ transform: translateY(-3px); border-color: var(--vg-c); box-shadow: 0 14px 30px -16px color-mix(in srgb, var(--vg-c) 70%, transparent); }
.ig-intro-img{ display:block; aspect-ratio: 16/9; overflow:hidden; background: color-mix(in srgb, var(--vg-c) 12%, var(--env-solid)); }
.ig-intro-img img{ width:100%; height:100%; object-fit:cover; display:block; transition: transform .35s; }
.ig-intro-card:hover .ig-intro-img img{ transform: scale(1.06); }
.ig-intro-txt{ display:flex; flex-direction:column; gap:3px; padding:10px 12px 12px; }
.ig-intro-txt b{ display:flex; align-items:center; gap:6px; font-size:.84rem; font-weight:800; }
.ig-intro-txt b .ui-ic{ width:15px; height:15px; color: var(--vg-c); }
.ig-intro-txt small{ font-size:.7rem; line-height:1.6; color: var(--env-ink-muted); }
@media (max-width:640px){
  .ig-intro{ grid-template-columns:1fr; gap:8px; }
  .ig-intro-card{ flex-direction:row; align-items:stretch; }
  .ig-intro-img{ flex:0 0 96px; aspect-ratio:auto; }
  .ig-intro-txt{ justify-content:center; padding:10px 12px; }
}
@media (max-width:640px){
  .ig-intro-card{ height:70px; }
  .ig-intro-img{ flex:0 0 92px; height:70px; }
  .ig-intro-img img{ height:70px; }
}
/* ۱۴۰۵/۰۸/۰۱ — ۴۰ قالبِ ارائه: فیلترِ دسته + اسکرول */
.sl-tcats{ display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-bottom:10px; }
.sl-tcats button{ font-family:inherit; font-size:.74rem; font-weight:700; padding:5px 12px; border-radius:999px; cursor:pointer; color: var(--env-ink-muted); background: var(--env-paper-2); border:1.5px solid var(--env-border); }
.sl-tcats button.on{ color:#fff; background: var(--accent, #2563EB); border-color: transparent; }
.sl-tcount{ margin-inline-start:auto; font-size:.7rem; color: var(--env-ink-muted); }
.sl-themes--many{ max-height:560px; overflow-y:auto; padding:2px; scrollbar-width:thin; }
.sl-themes--scroll{ max-height:430px; overflow-y:auto; scrollbar-width:thin; }
.sl-theme[hidden]{ display:none; }
/* ۱۴۰۵/۰۸/۰۱ — صفحه‌ساز: سبک‌هایِ داده‌محور + گالریِ ۴۰ قالبِ آماده */
.pg-style--sw i{ background: var(--sw-bg); border:1px solid rgba(0,0,0,.06); } .pg-style--sw i b{ background: var(--sw-a); } .pg-style--sw i em{ background: var(--sw-l); }
.pg-style--brutal i{ border:2px solid #111; box-shadow: 3px 3px 0 #111; }
.pg-styles{ grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); }
.pgt{ max-width:980px; margin:0 auto 18px; display:flex; flex-direction:column; gap:10px; }
.pgt-h{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.pgt-h b{ display:inline-flex; align-items:center; gap:6px; font-size:1rem; font-weight:900; color: var(--env-ink); } .pgt-h b .ui-ic{ width:17px; height:17px; color: var(--accent); }
.pgt-h small{ font-size:.74rem; color: var(--env-ink-muted); }
.pgt-cats{ display:flex; gap:6px; overflow-x:auto; padding-bottom:4px; scrollbar-width:thin; }
.pgt-cats button{ flex:none; font-family:inherit; font-size:.74rem; font-weight:700; padding:6px 12px; border-radius:999px; cursor:pointer; color: var(--env-ink-muted); background: var(--env-paper-2); border:1.5px solid var(--env-border); }
.pgt-cats button.on{ color:#fff; background: var(--accent); border-color: transparent; }
.pgt-grid{ display:grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap:10px; max-height:430px; overflow-y:auto; padding:2px 2px 6px; scrollbar-width:thin; }
.pgt-card{ display:flex; flex-direction:column; gap:6px; padding:6px 6px 9px; border-radius:15px; cursor:pointer; font-family:inherit; text-align:center; color: var(--env-ink);
  background: var(--env-paper); border:1.5px solid var(--env-border); transition: transform .14s, border-color .14s, box-shadow .14s; }
.pgt-card[hidden]{ display:none; }
.pgt-card:hover{ transform: translateY(-2px); border-color: color-mix(in srgb, var(--accent) 45%, var(--env-border)); }
.pgt-card.on{ border-color: var(--accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 16%, transparent); }
.pgt-mock{ position:relative; display:block; aspect-ratio: 4/3; border-radius:10px; overflow:hidden; padding:10px; box-sizing:border-box; text-align:start; }
.pgt-mock b{ display:block; height:8px; width:55%; border-radius:4px; margin:16px 0 6px; }
.pgt-mock em{ display:block; height:4px; width:78%; border-radius:2px; margin-bottom:4px; opacity:.55; }
.pgt-mock s{ position:absolute; left:10px; right:10px; bottom:9px; display:flex; gap:5px; }
.pgt-mock s u{ flex:1; height:18px; border-radius:5px; background: rgba(255,255,255,.65); box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.pgt-mock--sw{ background: var(--sw-bg); } .pgt-mock--sw b{ background: var(--sw-a); } .pgt-mock--sw em{ background: var(--sw-l); }
.pgt-em{ position:absolute; top:7px; left:8px; font-size:1.25rem; filter: drop-shadow(0 2px 3px rgba(0,0,0,.2)); }
.pgt-card.pgt--clean .pgt-mock{ background:#fff; border:1px solid #E5E7EB; } .pgt-card.pgt--clean .pgt-mock b{ background:#4F46E5; } .pgt-card.pgt--clean .pgt-mock em{ background:#9CA3AF; }
.pgt-card.pgt--dark .pgt-mock{ background: radial-gradient(circle at 80% 20%, #6D28D9 0, transparent 55%), #0F172A; } .pgt-card.pgt--dark .pgt-mock b{ background:#A78BFA; } .pgt-card.pgt--dark .pgt-mock em{ background:#94A3B8; }
.pgt-card.pgt--warm .pgt-mock{ background:#FBF3E6; } .pgt-card.pgt--warm .pgt-mock b{ background:#C2410C; } .pgt-card.pgt--warm .pgt-mock em{ background:#A8A29E; }
.pgt-card.pgt--lux .pgt-mock{ background:#111; border-bottom:2px solid #C9A84C; } .pgt-card.pgt--lux .pgt-mock b{ background:#C9A84C; } .pgt-card.pgt--lux .pgt-mock em{ background:#d6d3d1; }
.pgt-card.pgt--vivid .pgt-mock{ background: linear-gradient(135deg, #F43F5E, #8B5CF6 55%, #06B6D4); } .pgt-card.pgt--vivid .pgt-mock b, .pgt-card.pgt--vivid .pgt-mock em{ background:#fff; }
.pgt-card.pgt--corp .pgt-mock{ background: linear-gradient(#1E3A8A 0 45%, #F8FAFC 45%); } .pgt-card.pgt--corp .pgt-mock b{ background:#fff; } .pgt-card.pgt--corp .pgt-mock em{ background:#93C5FD; }
.pgt-card.pgt--brutal .pgt-mock{ border:2px solid #111; } .pgt-card.pgt--brutal .pgt-mock s u{ border:2px solid #111; box-shadow: 2px 2px 0 #111; background:#fff; }
.pgt-t{ display:flex; flex-direction:column; line-height:1.5; } .pgt-t b{ font-size:.8rem; font-weight:900; } .pgt-t small{ font-size:.64rem; color: var(--env-ink-muted); }
.pg-flash{ animation: pgFlash 1s ease; } @keyframes pgFlash{ 0%{ box-shadow: 0 0 0 0 color-mix(in srgb, var(--accent) 45%, transparent); } 100%{ box-shadow: 0 0 0 14px transparent; } }
@media (max-width:640px){ .pgt-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); max-height:380px; } }
/* ۱۴۰۵/۰۸/۰۱ — گالریِ جابه‌جاییِ چهره: فیلترِ دسته/جنسیت */
.fs-gal-filters{ display:flex; flex-direction:column; gap:6px; margin:0 0 10px; }
.fs-gal-cats{ display:flex; gap:6px; overflow-x:auto; padding-bottom:3px; scrollbar-width:thin; }
.fs-gal-cats button{ flex:none; font-family:inherit; font-size:.74rem; font-weight:700; padding:5px 11px; border-radius:999px; cursor:pointer; color: var(--env-ink-muted); background: var(--env-paper-2); border:1.5px solid var(--env-border); }
.fs-gal-cats button.on{ color:#fff; background: var(--accent); border-color: transparent; }
.fs-gallery-item[hidden]{ display:none !important; }
.env-modal-content--fs-gallery .fs-gallery-grid{ max-height:60vh; overflow-y:auto; }

/* ۱۴۰۵/۰۸/۰۲ — پادکست: سه/چهار گوینده، دیالوگِ آماده، کتابِ صوتی */
.pd-turn--c .pd-spk{ color:#fff; background:#7c3aed; }
.pd-turn--d .pd-spk{ color:#fff; background:#b45309; }
.pd-turn--head .pd-txt{ font-weight:800; }
.pd-fmt-note{ font-size:.8rem; line-height:1.8; color: var(--env-ink-muted); background: var(--env-paper-2); border:1px dashed var(--env-border); border-radius:12px; padding:8px 12px; }
.pd-ch-sep{ margin:14px 0 6px; font-size:.78rem; font-weight:800; color: var(--accent); border-bottom:1px solid var(--env-border); padding-bottom:4px; }
.pd-chapters{ margin:12px 0; padding:12px; border-radius:16px; background: var(--env-paper-2); border:1px solid var(--env-border); }
.pd-ch-h{ font-size:.8rem; font-weight:800; margin-bottom:8px; color: var(--env-ink-muted); }
.pd-ch-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; max-height:320px; overflow:auto; }
.pd-ch-list li{ display:flex; align-items:center; gap:10px; padding:6px 8px; border-radius:10px; background: var(--env-paper); }
.pd-ch-list b{ flex:1; min-width:0; font-size:.84rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pd-ch-list small{ color: var(--env-ink-muted); font-size:.74rem; }
.pd-ch-n{ flex:none; width:24px; height:24px; border-radius:50%; display:grid; place-items:center; font-size:.72rem; font-weight:800; background: var(--accent-soft); color: var(--accent); }
.pd-ch-play,.pd-ch-dl{ flex:none; width:30px; height:30px; border-radius:50%; border:1px solid var(--env-border); background: var(--env-paper-2); display:grid; place-items:center; cursor:pointer; color: var(--env-ink); text-decoration:none; font-size:.74rem; }
.pd-ch-play.on{ background: var(--accent); color:#fff; border-color:transparent; }
.au-send{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:10px 0 4px; }
.au-send .nbs-btn{ margin-top:0; }
.au .au-send .au-vidbtn span{ display:inline !important; }
.au-vidbtn{ font-weight:800; }
.mu-jingle{ display:flex; align-items:center; gap:10px; width:100%; padding:10px 14px; border-radius:14px; cursor:pointer; font-family:inherit; text-align:start; font-size:1.2rem;
  border:1.5px dashed color-mix(in srgb, var(--accent) 50%, transparent); background: color-mix(in srgb, var(--accent) 7%, var(--env-paper)); color: var(--env-ink); }
.mu-jingle b{ display:block; font-size:.88rem; } .mu-jingle small{ display:block; font-size:.74rem; color: var(--env-ink-muted); margin-top:2px; }
.mu-samples{ display:grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap:8px; }
.mu-smp{ display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:14px; border:1px solid var(--env-border); background: var(--env-paper); }
.mu-smp-t{ flex:1; min-width:0; } .mu-smp-t b{ display:block; font-size:.8rem; } .mu-smp-t small{ display:block; font-size:.72rem; color: var(--env-ink-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mu-smp-play{ flex:none; width:34px; height:34px; border-radius:50%; border:none; cursor:pointer; background: var(--accent-soft); color: var(--accent); font-size:.78rem; }
.mu-smp-play.on{ background: var(--accent); color:#fff; }
.mu-smp-use{ flex:none; font-family:inherit; font-size:.72rem; font-weight:800; padding:5px 10px; border-radius:999px; border:1px solid var(--env-border); background: var(--env-paper-2); color: var(--env-ink); cursor:pointer; }
/* ۱۴۰۵/۰۸/۰۲ — ۵۰ قالبِ میز */
.wd-tpl-groups{ display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin:4px 0 10px; }
.wd-tpl-groups button{ font-family:inherit; font-size:.76rem; font-weight:700; padding:5px 12px; border-radius:999px; border:1px solid var(--env-border); background: var(--env-paper); color: var(--env-ink-muted); cursor:pointer; }
.wd-tpl-groups button.on{ background: var(--accent); color:#fff; border-color:transparent; }
.wd-tpl-groups input{ flex:1; min-width:120px; max-width:220px; margin-inline-start:auto; padding:5px 10px; border-radius:999px; border:1px solid var(--env-border); background: var(--env-paper); color: var(--env-ink); font-family:inherit; font-size:.78rem; }
.wd-tpls-grid .wd-tpl-card[hidden]{ display:none !important; }
.wd-tpl-card--hr i{ background: rgba(37,99,235,.12); color:#2563eb; }
.wd-tpl-card--biz i{ background: rgba(22,163,74,.12); color:#15803d; }
.wd-tpl-card--edu i{ background: rgba(147,51,234,.12); color:#7e22ce; }
.wd-tpls-grid{ max-height:440px; overflow-y:auto; padding:2px; }
.wd-fafix{ display:inline-flex; align-items:center; gap:6px; }
.wd-fafix small{ font-size:.66rem; font-weight:800; padding:1px 6px; border-radius:999px; background: rgba(22,163,74,.14); color:#15803d; }
.env-toast .wd-undo{ margin-inline-start:8px; font-family:inherit; font-weight:800; font-size:.76rem; padding:3px 10px; border-radius:999px; border:1px solid currentColor; background:transparent; color:inherit; cursor:pointer; }
/* ۱۴۰۵/۰۸/۰۲ — سئوکار: مقالهٔ کامل و پایشِ هفتگی */
.seo-extra{ margin:12px 0; }
.seo-art{ border:1px solid var(--env-border); border-radius:18px; background: var(--env-paper); padding:14px; }
.seo-art--cta{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; border-style:dashed; }
.seo-art--cta > div{ flex:1; min-width:220px; } .seo-art--cta b{ display:block; } .seo-art--cta small{ display:block; font-size:.78rem; color: var(--env-ink-muted); margin-top:3px; }
.seo-art-go{ width:auto !important; }
.seo-art--busy{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; } .seo-art--busy small{ color: var(--env-ink-muted); }
.seo-spin{ width:18px; height:18px; border-radius:50%; border:2.5px solid var(--accent-soft); border-top-color: var(--accent); animation: seoSpin .8s linear infinite; }
@keyframes seoSpin{ to{ transform: rotate(360deg); } }
.seo-art-h{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:10px; } .seo-art-h b{ margin-inline-end:auto; } .seo-art-h small{ color: var(--env-ink-muted); }
.seo-art-body{ max-height:520px; overflow-y:auto; padding:12px 14px; border-radius:12px; background: var(--env-paper-2); line-height:2; font-size:.9rem; }
.seo-art-body h1{ font-size:1.2rem; } .seo-art-body h2{ font-size:1.05rem; margin-top:1.2em; } .seo-art-body h3{ font-size:.95rem; }
.seo-err-s{ width:100%; margin:0; color:#b91c1c; font-size:.8rem; }
.seo-mon{ border:1px solid var(--env-border); border-radius:18px; background: var(--env-paper); padding:12px 14px; display:flex; flex-direction:column; gap:10px; }
.seo-mon-alert{ margin:0; font-size:.8rem; color:#b45309; background: rgba(217,119,6,.1); border-radius:10px; padding:8px 10px; }
.seo-hist{ display:flex; align-items:flex-end; gap:6px; height:110px; padding-top:6px; overflow-x:auto; }
.seo-hist-b{ flex:none; width:34px; height:100%; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; gap:3px; position:relative; }
.seo-hist-b i{ width:18px; border-radius:6px 6px 2px 2px; }
.seo-hist-b small{ font-size:.62rem; color: var(--env-ink-muted); } .seo-hist-b em{ font-style:normal; font-size:.66rem; font-weight:800; order:-1; }
/* ۱۴۰۵/۰۸/۰۲ — ارائه‌ساز: برند، عکسِ خودم، ویدیو */
.sl-brand{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; } .sl-brand small{ width:100%; font-size:.74rem; color: var(--env-ink-muted); line-height:1.7; }
.sl-own-img{ cursor:pointer; }
.sl-vid-p{ font-size:.8rem; line-height:1.9; color: var(--env-ink-muted); margin:0 0 10px; }
.sl-vid{ width:100%; border-radius:12px; background:#000; aspect-ratio:16/9; }
.sl-vid-act{ display:flex; align-items:center; gap:10px; margin:8px 0 14px; } .sl-vid-c{ font-size:.76rem; color: var(--env-ink-muted); }
.sl-vid-err{ color:#b91c1c; font-size:.8rem; }
.sl-vid-busy small{ display:block; margin-top:6px; font-size:.78rem; color: var(--env-ink-muted); }
.sl-vid-bar{ height:8px; border-radius:99px; background: var(--env-paper-2); overflow:hidden; } .sl-vid-bar i{ display:block; height:100%; background: var(--accent); transition: width .4s; }
.sl-vid-n{ display:block; margin-top:8px; font-size:.74rem; color: var(--env-ink-muted); line-height:1.7; }
#slVidGo{ margin-top:6px; }
/* ۱۴۰۵/۰۸/۰۲ — بستهٔ محتوای هفتگی */
.cp-art{ display:grid; grid-template-columns:repeat(7, 1fr); gap:6px; align-items:end; padding:18px; }
.cp-art-d{ display:flex; flex-direction:column; gap:5px; align-items:center; animation: cpPop .6s calc(var(--i) * 90ms) both; }
.cp-art-d b{ font-size:.72rem; color: var(--accent); } .cp-art-d i{ width:100%; height:34px; border-radius:8px; background: var(--accent-soft); }
.cp-art-d i + i{ height:14px; opacity:.6; }
@keyframes cpPop{ from{ opacity:0; transform: translateY(10px); } }
.cp-title{ font-size:1.05rem; }
.cp-strategy{ margin:10px 0; padding:10px 14px; border-radius:14px; background: var(--env-paper-2); font-size:.86rem; line-height:1.9; }
.cp-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap:12px; margin-top:12px; }
.cp-card{ display:flex; flex-direction:column; border:1px solid var(--env-border); border-radius:18px; overflow:hidden; background: var(--env-paper); min-width:0; }
.cp-img{ position:relative; aspect-ratio:1; background: var(--env-paper-2); display:grid; place-items:center; color: var(--env-ink-muted); font-size:.8rem; }
.cp-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.cp-img .nbs-btn{ position:absolute; bottom:8px; inset-inline-start:8px; margin:0; }
.cp-dl{ position:absolute; top:8px; inset-inline-end:8px; width:32px; height:32px; border-radius:50%; display:grid; place-items:center; background: rgba(0,0,0,.5); color:#fff; text-decoration:none; }
.cp-img--none{ aspect-ratio:auto; height:44px; }
.cp-body{ padding:12px 14px 14px; display:flex; flex-direction:column; gap:8px; }
.cp-meta{ display:flex; gap:6px; align-items:center; flex-wrap:wrap; font-size:.72rem; } .cp-meta b{ color: var(--accent); }
.cp-fmt, .cp-pil{ padding:2px 8px; border-radius:99px; background: var(--env-paper-2); color: var(--env-ink-muted); }
.cp-card h3{ margin:0; font-size:.95rem; }
.cp-hook{ margin:0; font-weight:800; font-size:.84rem; color: var(--env-ink); }
.cp-cap{ font-size:.84rem; line-height:1.9; white-space:pre-wrap; }
.cp-tags{ margin:0; font-size:.76rem; color: var(--accent); direction:ltr; text-align:right; word-break:break-word; }
.cp-story, .cp-cta{ font-size:.78rem; padding:7px 10px; border-radius:10px; background: var(--env-paper-2); } .cp-story small, .cp-cta small{ display:block; color: var(--env-ink-muted); font-size:.68rem; }
.cp-card [contenteditable="true"]:focus{ outline:2px solid var(--accent-soft); border-radius:6px; }
.cp-copy{ font-family:inherit; font-weight:800; font-size:.78rem; padding:7px 12px; border-radius:999px; border:1px solid var(--env-border); background: var(--env-paper-2); color: var(--env-ink); cursor:pointer; }

/* ۱۴۰۵/۰۸/۰۴ — «مدل‌هایِ بیشتر» در کیفیتِ ویدیوساز (گزینه‌هایِ اضافه پنهان تا کاربر بخواهد) */
.vgs-more{ display:flex; align-items:center; justify-content:center; gap:6px; width:100%; margin-top:8px; padding:8px 12px;
  border:1px dashed var(--line, rgba(0,0,0,.16)); border-radius:12px; background:transparent; color:inherit; opacity:.8;
  font:inherit; font-size:.82rem; font-weight:700; cursor:pointer; }
.vgs-more:hover{ opacity:1; }
.vgs-more svg{ width:14px; height:14px; transition:transform .2s; }
.vgs-more.open svg{ transform:rotate(180deg); }
.vgs-more[hidden]{ display:none !important; }
/* ۱۴۰۵/۰۸/۱۰ — نمونهٔ واقعیِ هفته در سرتیترِ بستهٔ محتوا */
.cp-art.cp-art--img{ display:flex; align-items:center; justify-content:center; padding:8px; background: color-mix(in srgb, var(--accent) 10%, var(--env-paper, #fff)) !important; }
.cp-art--img img{ width:100%; height:auto; max-height:260px; object-fit:contain; display:block; }
/* ۱۴۰۵/۰۸/۱۰ — «نمونهٔ واقعی» زیرِ سرتیترِ ابزارها */
.smp-strip{ margin:0 0 14px; border-radius:16px; border:1px solid var(--env-border); background: var(--env-paper); overflow:hidden; }
.smp-strip > summary{ list-style:none; cursor:pointer; display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:10px 14px; font-size:.82rem; }
.smp-strip > summary::-webkit-details-marker{ display:none; }
.smp-strip > summary svg{ width:17px; height:17px; color: var(--accent); }
.smp-strip > summary small{ flex-basis:100%; font-size:.7rem; color: var(--env-ink-muted); }
.smp-strip > summary::after{ content:"⌄"; margin-inline-start:auto; color: var(--accent); font-weight:800; }
.smp-strip[open] > summary::after{ content:"⌃"; }
.smp-strip img{ display:block; width:100%; max-width:720px; margin:0 auto 12px; border-radius:12px; }
@media (min-width: 701px){ .smp-strip > summary small{ flex-basis:auto; } }
/* ۱۴۰۵/۰۸/۱۰ — منوی آنلاین: دو راهِ شروع (نمونهٔ آماده حذف شد) */
.mn-starts{ grid-template-columns: repeat(2, 1fr); }
.mn-start-card{ position:relative; }
.mn-start-tag{ position:absolute; top:-9px; inset-inline-start:14px; font-style:normal; font-size:.66rem; font-weight:800; padding:2px 9px; border-radius:999px; background: var(--accent); color:#fff; }
.mn-create-note{ margin:4px 0 10px; font-size:.78rem; line-height:1.9; color: var(--env-ink-muted); padding:9px 12px; border-radius:12px; background: color-mix(in srgb, var(--accent) 8%, transparent); }
@media (max-width: 640px){ .mn-starts{ grid-template-columns: 1fr; } }

/* ۱۴۰۵/۰۸/۱۰ — انتخاب‌هایِ زیباتر (به خواستِ مالک): همهٔ .sl-chips (پادکست، موسیقی، پاورپوینت، بستهٔ محتوا، …) کاشیِ گرد با علامتِ انتخاب */
.sl-chips{ gap:8px; }
.sl-chips button{ position:relative; padding:9px 15px; border-radius:14px; font-size:.78rem; font-weight:700; color: var(--env-ink); background: var(--env-paper);
  border:1.5px solid var(--env-border); box-shadow: 0 1px 2px rgba(0,0,0,.04); transition: border-color .15s, transform .15s, box-shadow .15s, background .15s; }
.sl-chips button:hover{ transform: translateY(-1px); border-color: color-mix(in srgb, var(--accent) 50%, var(--env-border)); }
.sl-chips button.on{ color: var(--env-ink); background: color-mix(in srgb, var(--accent) 10%, var(--env-paper)); border-color: var(--accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent); }
.sl-chips button.on::after{ content:"✓"; position:absolute; top:-7px; inset-inline-start:-6px; width:19px; height:19px; border-radius:50%; display:grid; place-items:center;
  font-size:.66rem; font-weight:900; color:#fff; background: var(--accent); box-shadow: 0 0 0 2px var(--env-paper); }
/* کاشیِ آیکن‌دار: آیکن + عنوان + توضیحِ کوتاه */
.sl-tiles{ display:grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap:10px; }
.sl-tiles button{ display:flex; flex-direction:column; align-items:flex-start; gap:4px; padding:12px 13px; text-align:start; }
.sl-tiles button i{ font-style:normal; font-size:1.35rem; line-height:1; width:38px; height:38px; display:grid; place-items:center; border-radius:12px; background: var(--env-paper-2); }
.sl-tiles button.on i{ background: color-mix(in srgb, var(--accent) 18%, var(--env-paper)); }
.sl-tiles button b{ font-size:.8rem; } .sl-tiles button small{ font-size:.68rem; font-weight:500; color: var(--env-ink-muted); line-height:1.6; }
.sl-tiles--sm{ grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
.sl-tiles--sm button{ flex-direction:row; align-items:center; gap:8px; padding:9px 11px; } .sl-tiles--sm button i{ width:32px; height:32px; font-size:1.1rem; }
/* بخش‌بندیِ عددی (مدت) */
.sl-seg{ display:inline-grid; grid-auto-flow:column; grid-auto-columns:minmax(64px, 1fr); gap:0; padding:4px; border-radius:16px; background: var(--env-paper-2); border:1px solid var(--env-border); }
.sl-seg button{ display:flex; flex-direction:column; align-items:center; gap:0; border:0; box-shadow:none; background:transparent; border-radius:12px; padding:7px 10px; }
.sl-seg button b{ font-size:.95rem; } .sl-seg button small{ font-size:.62rem; font-weight:500; color: var(--env-ink-muted); }
.sl-seg button:hover{ transform:none; }
.sl-seg button.on{ background: var(--env-paper); box-shadow: 0 2px 8px rgba(0,0,0,.08), 0 0 0 2px var(--accent); }
.sl-seg button.on::after{ display:none; }
@media (max-width: 640px){ .sl-tiles{ grid-template-columns: 1fr 1fr; gap:8px; } .sl-tiles--sm{ grid-template-columns: 1fr 1fr; } .sl-seg{ display:grid; width:100%; } }

/* ۱۴۰۵/۰۸/۱۰ — صفحه‌ساز: مراحلِ شماره‌دار، فهرست‌هایِ بلند جمع‌شده، تنظیماتِ کم‌اهمیت در «تنظیماتِ بیشتر» */
.pgx-step{ display:flex; align-items:center; gap:10px; margin:18px 0 8px; }
.pgx-step--first{ margin-top:6px; }
.pgx-step > i{ flex:none; width:30px; height:30px; border-radius:10px; display:grid; place-items:center; font-style:normal; font-weight:900; color:#fff; background: var(--accent); }
.pgx-step b{ display:block; font-size:.95rem; } .pgx-step b small{ font-weight:500; font-size:.72rem; color: var(--env-ink-muted); }
.pgx-step > div > small{ display:block; font-size:.72rem; color: var(--env-ink-muted); }
.pgt:not(.pgx-open) .pgt-grid{ max-height:410px; overflow:hidden; -webkit-mask-image: linear-gradient(#000 80%, transparent); mask-image: linear-gradient(#000 80%, transparent); }
.pgx-styles:not(.pgx-open) .pg-styles{ max-height:230px; overflow:hidden; -webkit-mask-image: linear-gradient(#000 75%, transparent); mask-image: linear-gradient(#000 75%, transparent); }
.pgx-more-btn{ display:flex; margin:8px auto 4px; font:inherit; font-size:.76rem; font-weight:800; padding:6px 14px; border-radius:999px; cursor:pointer; color: var(--accent); background: var(--env-paper); border:1px solid color-mix(in srgb, var(--accent) 40%, var(--env-border)); }
.pgx-adv{ margin:14px 0 6px; border-radius:16px; border:1px dashed var(--env-border); background: var(--env-paper); padding:0 12px; }
.pgx-adv > summary{ list-style:none; cursor:pointer; display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:12px 2px; font-size:.84rem; }
.pgx-adv > summary::-webkit-details-marker{ display:none; } .pgx-adv > summary svg{ width:17px; height:17px; color: var(--accent); }
.pgx-adv > summary small{ font-size:.7rem; color: var(--env-ink-muted); } .pgx-adv > summary::after{ content:"⌄"; margin-inline-start:auto; font-weight:800; color: var(--accent); }
.pgx-adv[open] > summary::after{ content:"⌃"; } .pgx-adv[open]{ padding-bottom:12px; }
@media (max-width: 700px){
  .pg-hero{ grid-template-columns: 1fr !important; } .pg-mock{ display:none !important; }
  .pg-hero-txt h2{ font-size:1.1rem !important; } .pg-hero-txt ul, .pg-hero-txt .pg-hero-feats{ display:none !important; }
  .pgt-cats{ flex-wrap:nowrap !important; overflow-x:auto; scrollbar-width:none; }
  .pgt-grid{ display:grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap:8px !important; overflow:visible !important; }
  .pgt-grid > *{ width:auto !important; min-width:0 !important; }
  .pg-styles{ grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .pg-examples button{ font-size:.72rem; }
}
.pgt, .pgt-grid{ min-width:0; max-width:100%; } .pgt-card{ min-width:0; } .pgt-card > *{ max-width:100%; }
@media (max-width: 700px){ .pgt{ width:100%; } .pgt-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
/* ۱۴۰۵/۰۸/۱۰ — موسیقی‌ساز: فقط ۴ نمونه، بقیه با «نمایشِ همه» */
#muSamples:not(.mu-open) .mu-smp:nth-child(n+5){ display:none; }
.mu-more{ display:flex; margin:8px auto 0; font:inherit; font-size:.76rem; font-weight:800; padding:6px 14px; border-radius:999px; cursor:pointer; color: var(--accent); background: var(--env-paper); border:1px solid color-mix(in srgb, var(--accent) 40%, var(--env-border)); }
/* صفحه‌ساز در گوشی — جمع‌وجورتر */
@media (max-width: 700px){
  .pg-new{ gap:10px !important; }
  .pg-hero-txt p{ font-size:.78rem !important; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .pgx-step{ margin:12px 0 6px; } .pgx-step > div > small{ display:none; }
  .pgt:not(.pgx-open) .pgt-grid{ max-height:300px; }
  .pgt-card .pgt-thumb, .pgt-card > span:first-child{ aspect-ratio: 16/10 !important; height:auto !important; }
  .pgt-card b{ font-size:.74rem; } .pgt-card small{ display:none; }
  .pg-examples button:nth-child(n+2){ display:none; }
  #pgDesc{ min-height:84px; }
  .pgx-styles:not(.pgx-open) .pg-styles{ max-height:150px; }
  .pg-style i{ height:46px !important; } .pg-style span{ font-size:.66rem !important; }
  .pg-tiers .rs-depth{ padding:10px 12px !important; }
  .pgx-adv > summary small{ display:none; }
  .sl-form{ padding:12px !important; }
}
/* ۱۴۰۵/۰۸/۱۲ — گزینه‌هایِ موسیقی‌ساز: چهار شکلِ متفاوت، بدونِ ایموجی */
.mu-opt-h{ font-size:.66rem; font-weight:500; color: var(--env-ink-muted); margin-inline-start:4px; }
#muGenre{ grid-template-columns: repeat(6, minmax(0,1fr)); }
.mu-gen button i{ color: var(--accent); background: color-mix(in srgb, var(--accent) 10%, var(--env-paper)); }
.mu-gen button i .ui-ic{ width:19px; height:19px; }
.mu-gen button.on i{ color:#fff; background: var(--accent); }
.mu-moods, .mu-uses{ display:flex; flex-wrap:wrap; gap:8px; }
.mu-moods button{ display:inline-flex; align-items:center; gap:8px; padding:6px 14px 6px 8px; border-radius:999px; font-size:.8rem; font-weight:700; }
.mu-sw{ width:22px; height:22px; border-radius:50%; background: var(--mc); box-shadow: inset 0 0 0 2px rgba(255,255,255,.55); flex-shrink:0; transition: transform .2s; }
.mu-moods button.on{ background: var(--mc); color:#fff; border-color:transparent; text-shadow: 0 1px 2px rgba(0,0,0,.25); }
.mu-moods button.on .mu-sw{ background: rgba(255,255,255,.9); transform: scale(.6); }
.mu-moods button.on::after, .mu-uses button.on::after, .mu-voc button.on::after{ display:none; }
.mu-uses button{ display:inline-flex; align-items:center; gap:6px; padding:7px 13px; border-radius:10px; font-size:.78rem; font-weight:600; }
.mu-uses button .ui-ic{ width:15px; height:15px; color: var(--env-ink-muted); }
.mu-uses button.on .ui-ic{ color: var(--accent); }
.mu-voc{ grid-auto-columns: minmax(110px, 1fr); }
@media (max-width: 900px){ #muGenre{ grid-template-columns: repeat(4, minmax(0,1fr)); } }
@media (max-width: 640px){
  #muGenre{ grid-template-columns: 1fr 1fr; }
  #muGenre button{ display:grid; grid-template-columns:auto 1fr; column-gap:8px; row-gap:1px; align-items:center; padding:9px 10px; }
  #muGenre button i{ grid-row:span 2; width:32px; height:32px; }
  .mu-moods button{ font-size:.76rem; padding:5px 12px 5px 6px; } .mu-sw{ width:18px; height:18px; }
  .mu-voc{ grid-auto-columns: 1fr; }
}
.mu-smart{ padding:12px 14px; border-radius:14px; border:1.5px solid color-mix(in srgb, var(--accent) 35%, var(--env-border)); background: color-mix(in srgb, var(--accent) 6%, var(--env-paper)); }
.mu-smart b{ display:inline-flex; align-items:center; gap:6px; } .mu-smart b .ui-ic{ width:16px; height:16px; color: var(--accent); }
/* ۱۴۰۵/۰۸/۱۲ — «متن‌هایِ سریع» + «بهبودِ متن» در موسیقی‌ساز (هم‌شکلِ چتِ عادی؛ nb_chat_start.css این‌جا بار نمی‌شود) */
.mu-pop-wrap{ position:relative; display:flex; flex-wrap:wrap; gap:8px; margin:-4px 0 4px; }
.mu-pop-wrap .cs-pop-btn{ font:inherit; font-size:.78rem; font-weight:800; padding:7px 14px; border-radius:999px; cursor:pointer; color: var(--accent); background: var(--env-paper-2); border:1px solid var(--env-border); display:inline-flex; align-items:center; gap:5px; }
.mu-pop-wrap .cs-pop-btn:hover{ border-color: var(--accent); } .mu-pop-wrap .cs-pop-btn > span{ font-size:.72rem; } .mu-pop-wrap .cs-enh .ui-ic{ width:14px; height:14px; }
.mu-pop-wrap .cs-pop-btn:disabled{ opacity:.6; cursor:wait; }
.mu-pop-wrap .cs-pop{ position:absolute; top:calc(100% + 6px); inset-inline-start:0; z-index:20; width:min(340px, 92vw); max-height:360px; overflow:auto; padding:6px; border-radius:16px; background: var(--env-paper); border:1px solid var(--env-border); box-shadow: 0 18px 40px -16px rgba(0,0,0,.3); display:flex; flex-direction:column; gap:2px; }
.mu-pop-wrap .cs-pop[hidden]{ display:none; }
.mu-pop-wrap .cs-popi{ display:flex; flex-direction:column; gap:1px; text-align:start; padding:9px 12px; border:0; border-radius:12px; background:transparent; cursor:pointer; font:inherit; color:inherit; }
.mu-pop-wrap .cs-popi:hover{ background: color-mix(in srgb, var(--accent) 9%, var(--env-paper)); } .mu-pop-wrap .cs-popi b{ font-size:.82rem; } .mu-pop-wrap .cs-popi small{ font-size:.7rem; color: var(--env-ink-muted); }
