/* ===== سوکات AI — «شبِ بنفش» theme (v1.2.0) ===== */
@font-face{
  font-family:"Vazirmatn";src:url("fonts/Vazirmatn-Regular.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Vazirmatn";src:url("fonts/Vazirmatn-Bold.woff2") format("woff2");
  font-weight:700;font-style:normal;font-display:swap;
}
:root{
  --bg:#0c0716; --bg2:#130a21; --panel:#1a1030; --panel2:#241544;
  --border:#31215a; --border-soft:rgba(168,85,247,.22);
  --text:#f0eaf9; --muted:#a79ac7; --muted2:#7e6fa3;
  --accent:#a855f7; --accent2:#7c3aed; --pink:#f472b6;
  --ok:#3ddc97; --err:#ff5d73;
  --grad:linear-gradient(135deg,#a855f7,#7c3aed 55%,#f472b6);
  --glow:0 6px 26px rgba(168,85,247,.35);
  --radius:18px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:"Vazirmatn","Segoe UI",Tahoma,Roboto,sans-serif;
  color:var(--text); overflow:hidden;
  background:
    radial-gradient(1100px 560px at 85% -12%, rgba(124,58,237,.20), transparent 60%),
    radial-gradient(820px 460px at -12% 112%, rgba(244,114,182,.12), transparent 60%),
    var(--bg);
}
.en{font-family:Consolas,"Segoe UI",monospace}

/* ===== icons ===== */
.ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-3px}
.ic-sm{width:15px;height:15px}
.ic-lg{width:21px;height:21px}

/* ===== layout ===== */
#app{display:flex;height:100vh;height:100dvh}
#sidebar{
  width:272px;min-width:272px;position:relative;
  background:linear-gradient(180deg,rgba(26,16,48,.96),rgba(16,9,29,.98));
  border-inline-end:1px solid var(--border-soft);
  display:flex;flex-direction:column;padding:16px 12px 12px;gap:10px;
  transition:margin .28s ease;
}
#sidebar.hidden{margin-inline-start:-284px}
#main{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}

/* ===== sidebar ===== */
.brand{display:flex;align-items:center;gap:11px;padding:4px 6px 10px}
.brand-logo{
  width:46px;height:46px;border-radius:14px;object-fit:cover;
  border:1px solid rgba(168,85,247,.5);box-shadow:0 4px 18px rgba(168,85,247,.45);
}
.brand-text{display:flex;flex-direction:column;line-height:1.45}
.brand-text b{font-size:15.5px}
.brand-text span{font-size:10.5px;color:var(--muted2);font-family:Consolas,monospace;direction:ltr;text-align:right}
.chat-list-label{font-size:11px;color:var(--muted2);padding:6px 8px 2px;letter-spacing:.4px}
.chat-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding-bottom:6px}
.chat-item{
  display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:12px;cursor:pointer;
  font-size:13px;color:var(--muted);border:1px solid transparent;
}
.chat-item .ic{width:15px;height:15px;color:var(--muted2)}
.chat-item span.title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-item:hover{background:var(--panel);color:var(--text)}
.chat-item.active{
  background:linear-gradient(135deg,rgba(168,85,247,.18),rgba(244,114,182,.12));
  border-color:var(--border-soft);color:var(--text);
  box-shadow:inset 0 0 0 1px rgba(168,85,247,.12);
}
.chat-item .del{
  opacity:0;background:none;border:none;color:var(--muted2);cursor:pointer;
  width:24px;height:24px;border-radius:8px;display:grid;place-items:center;
}
.chat-item:hover .del{opacity:1}
.chat-item .del:hover{color:#fff;background:var(--err)}
.chat-item .del .ic{width:13px;height:13px}
.side-tool{
  display:flex;align-items:center;gap:9px;width:100%;padding:10px 12px;border-radius:13px;
  background:linear-gradient(135deg,rgba(168,85,247,.16),rgba(124,58,237,.10));
  border:1px solid var(--border-soft);color:var(--text);font-family:inherit;font-size:13px;
  cursor:pointer;transition:all .18s ease;
}
.side-tool:hover{border-color:rgba(168,85,247,.55);box-shadow:var(--glow);transform:translateY(-1px)}
.side-tool.tg{text-decoration:none;background:linear-gradient(135deg,rgba(41,134,220,.20),rgba(41,134,220,.08))}
.side-tool.tg:hover{border-color:rgba(70,160,255,.6);box-shadow:0 4px 18px rgba(41,134,220,.35)}
.side-tool.tg .ic{color:#54a9ff}
.sidebar-footer{
  display:flex;flex-direction:column;gap:8px;
  border-top:1px solid var(--border-soft);padding-top:10px;
}
.conn{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.dot-off{background:var(--err);box-shadow:0 0 8px rgba(255,93,115,.6)}
.dot-on{background:var(--ok);box-shadow:0 0 8px rgba(61,220,151,.6);animation:pulse 2.2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.55}}
.creator-chip{
  display:flex;align-items:center;gap:8px;justify-content:center;
  background:linear-gradient(135deg,rgba(244,114,182,.16),rgba(168,85,247,.14));
  border:1px solid rgba(244,114,182,.35);color:var(--text);
  padding:8px 10px;border-radius:11px;font-family:inherit;font-size:12px;cursor:pointer;
  transition:all .18s ease;
}
.creator-chip:hover{box-shadow:0 4px 18px rgba(244,114,182,.35);transform:translateY(-1px)}
.creator-chip b{color:var(--pink)}
.creator-chip .ic{color:var(--pink)}
#sidebar-toggle{
  position:fixed;top:14px;inset-inline-start:14px;z-index:30;display:none;
  background:rgba(26,16,48,.92);border:1px solid var(--border-soft);color:var(--text);
  width:40px;height:40px;border-radius:12px;cursor:pointer;place-items:center;
  backdrop-filter:blur(6px);
}

/* ===== topbar ===== */
#topbar{
  position:relative;z-index:6;
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:12px 18px;border-bottom:1px solid var(--border-soft);
  background:rgba(19,10,33,.75);backdrop-filter:blur(10px);
}
.topbar-left{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}
.cat-badge{cursor:pointer;transition:all .18s ease;color:var(--text);font-family:inherit;font-size:12px}
.cat-badge:hover{border-color:rgba(168,85,247,.6);box-shadow:var(--glow)}
.cat-badge .ic{color:var(--pink);width:14px;height:14px}
.cat-badge .cat-name{font-weight:700}
.model-badge{
  display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);
  background:rgba(26,16,48,.9);border:1px solid var(--border-soft);
  padding:7px 13px;border-radius:99px;max-width:70%;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.model-badge .ic{color:var(--pink);width:14px;height:14px}
/* v1.9.0: دکمهٔ انتخاب مدل — قابل کلیک با پیکان و افکت لمس */
.model-badge-btn{cursor:pointer;font-family:inherit;transition:all .18s ease;max-width:46%}
.model-badge-btn .chev{color:var(--muted2);width:13px;height:13px;transition:transform .2s ease}
.model-badge-btn:active{transform:scale(.97)}
.model-badge-btn:hover{border-color:rgba(168,85,247,.6);box-shadow:var(--glow);color:var(--text)}
.model-badge-btn:hover .chev{transform:translateY(2px);color:var(--accent)}
.model-badge-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.topbar-actions{display:flex;gap:8px}

/* ===== buttons ===== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:1px solid var(--border);background:var(--panel);color:var(--text);
  padding:10px 16px;border-radius:13px;cursor:pointer;font-family:inherit;font-size:14px;
  transition:all .18s ease;
}
.btn:hover{background:var(--panel2);transform:translateY(-1px)}
.btn-primary{
  background:var(--grad);border:none;font-weight:700;color:#fff;box-shadow:var(--glow);
}
.btn-primary:hover{filter:brightness(1.14);box-shadow:0 8px 30px rgba(168,85,247,.5)}
.btn-ghost{background:transparent}
.btn-danger:hover{border-color:var(--err);color:var(--err)}
.btn-sm{padding:7px 12px;font-size:12px;border-radius:11px}
.btn-block{width:100%}
.icon-btn{
  width:38px;height:38px;display:grid;place-items:center;border-radius:11px;cursor:pointer;
  background:rgba(26,16,48,.9);border:1px solid var(--border-soft);color:var(--muted);
  transition:all .18s ease;
}
.icon-btn:hover{color:var(--text);border-color:rgba(168,85,247,.55);box-shadow:var(--glow);transform:translateY(-1px)}

/* ===== messages ===== */
#messages{flex:1;overflow-y:auto;padding:24px 18px;display:flex;flex-direction:column;gap:18px;scroll-behavior:smooth}
.msg{display:flex;gap:11px;max-width:860px;width:100%;margin:0 auto;animation:fadein .28s ease}
@keyframes fadein{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.msg .avatar{width:36px;height:36px;min-width:36px;border-radius:12px;display:grid;place-items:center;overflow:hidden}
.msg.bot .avatar{border:1px solid rgba(168,85,247,.5);box-shadow:0 3px 14px rgba(168,85,247,.35)}
.msg.bot .avatar img{width:100%;height:100%;object-fit:cover}
.msg.user .avatar{background:var(--panel2);border:1px solid var(--border);color:var(--muted)}
.msg .bubble{
  padding:13px 17px;border-radius:var(--radius);font-size:14.5px;line-height:1.95;
  overflow-wrap:break-word;word-break:break-word;min-width:0;
}
.msg.user{flex-direction:row-reverse;align-self:flex-start;margin-inline-start:auto}
.msg.user .bubble{
  background:linear-gradient(135deg,#7c3aed,#a855f7);border-start-end-radius:5px;color:#fff;
  box-shadow:0 4px 18px rgba(124,58,237,.4);
}
.msg.bot .bubble{
  background:rgba(26,16,48,.88);border:1px solid var(--border-soft);border-start-start-radius:5px;
  box-shadow:0 2px 12px rgba(0,0,0,.25);
}
.msg .bubble p{margin:0 0 8px} .msg .bubble p:last-child{margin:0}
.msg .bubble ul,.msg .bubble ol{margin:6px 22px 8px 0;padding-inline-start:14px}
.msg .bubble li{margin:4px 0}
.msg .bubble code.inline{background:#0d0722;border:1px solid var(--border-soft);padding:1px 7px;border-radius:7px;font-family:Consolas,monospace;font-size:13px;direction:ltr;display:inline-block;color:#e6d7ff}
.msg .bubble pre{
  background:#0d0722;border:1px solid var(--border-soft);border-radius:0 0 13px 13px;padding:13px 15px;
  overflow-x:auto;margin:0;direction:ltr;text-align:left;
}
.msg .bubble pre code{font-family:Consolas,monospace;font-size:13px;line-height:1.75;color:#dcc9ff}
/* code block with copy bar */
.codeblock{margin:8px 0;border:1px solid var(--border-soft);border-radius:13px;overflow:hidden;background:#0d0722}
.codeblock .code-bar{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  background:linear-gradient(135deg,rgba(168,85,247,.18),rgba(124,58,237,.10));
  border-bottom:1px solid var(--border-soft);padding:6px 12px;
}
.codeblock .code-bar .lang{font-size:10.5px;color:var(--muted);letter-spacing:1px;font-family:Consolas,monospace}
.code-copy{
  display:inline-flex;align-items:center;gap:6px;background:rgba(13,7,25,.65);border:1px solid var(--border-soft);
  color:var(--text);font-family:inherit;font-size:11px;padding:4px 11px;border-radius:9px;cursor:pointer;
  transition:all .16s ease;
}
.code-copy:hover{background:var(--panel2);border-color:rgba(168,85,247,.6);box-shadow:0 2px 10px rgba(168,85,247,.35)}
.code-copy.copied{color:#062;background:var(--ok);border-color:var(--ok);font-weight:700}
.code-copy.copied .ic{stroke:#062}
.msg .meta{font-size:11px;color:var(--muted2);margin-top:7px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.msg .meta button{
  display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--muted2);
  cursor:pointer;font-size:11px;padding:3px 8px;border-radius:8px;font-family:inherit;
}
.msg .meta button:hover{color:var(--text);background:var(--panel2)}
.msg .meta button.speaking{color:var(--pink);background:rgba(244,114,182,.14);animation:speakPulse 1.1s infinite}
@keyframes speakPulse{0%,100%{box-shadow:0 0 0 0 rgba(244,114,182,.45)}55%{box-shadow:0 0 0 7px rgba(244,114,182,0)}}
.src-chip{
  display:inline-flex;align-items:center;gap:5px;font-size:10.5px;color:var(--muted);
  background:rgba(13,7,25,.7);border:1px solid var(--border-soft);border-radius:99px;padding:3px 10px;
}
.src-chip .ic{width:12px;height:12px;color:var(--accent)}
.searching-note{display:inline-flex;align-items:center;gap:9px;color:var(--muted);font-size:13px}
.searching-note .ic{width:15px;height:15px;color:var(--accent);animation:spinGlobe 1.6s linear infinite}
@keyframes spinGlobe{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.typing{display:inline-flex;gap:5px;padding:5px 0}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:blink 1.2s infinite}
.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,80%,100%{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}
.thinking-note{
  display:inline-flex;align-items:center;gap:9px;color:var(--muted);font-size:13px;
}
.thinking-note .ic{width:15px;height:15px;color:var(--pink);animation:pulse 1.4s infinite}

/* ===== category cards ===== */
.cat-grid{
  display:grid;grid-template-columns:repeat(2,minmax(190px,240px));gap:10px;margin-top:12px;
}
.cat-card{
  display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:right;
  background:rgba(26,16,48,.85);border:1px solid var(--border-soft);color:var(--text);
  padding:13px 15px;border-radius:15px;cursor:pointer;font-family:inherit;transition:all .18s ease;
}
.cat-card .ic{width:20px;height:20px;color:var(--pink)}
.cat-card b{font-size:13.5px}
.cat-card span{font-size:11px;color:var(--muted2);line-height:1.7}
.cat-card:hover{background:var(--panel2);border-color:rgba(168,85,247,.6);box-shadow:var(--glow);transform:translateY(-2px)}
.cat-card.active{
  border-color:rgba(168,85,247,.75);
  background:linear-gradient(135deg,rgba(168,85,247,.2),rgba(244,114,182,.12));
  box-shadow:inset 0 0 0 1px rgba(168,85,247,.25),0 4px 18px rgba(168,85,247,.3);
}
.cat-card.active .ic{color:var(--accent)}
.modal-cats{grid-template-columns:repeat(2,1fr)}

/* ===== web search toggle ===== */
.web-btn{
  width:42px;height:42px;min-width:42px;border-radius:13px;cursor:pointer;place-items:center;
  display:grid;background:rgba(13,7,25,.7);border:1px solid rgba(168,85,247,.45);color:var(--accent);
  transition:all .18s ease;
}
.web-btn:hover{border-color:var(--accent);box-shadow:var(--glow);transform:translateY(-1px)}
.web-btn.mode-off{color:var(--muted2);border-color:var(--border);opacity:.75}
.web-btn.mode-always{
  background:var(--grad);color:#fff;border:none;box-shadow:var(--glow);
}
.web-btn.mode-always:hover{filter:brightness(1.12)}

/* ===== welcome (v1.9.0 — قابل اسکرول کامل) ===== */
.welcome{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  padding:10px 14px;text-align:center;background:transparent;z-index:5;
  overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
}
/* نکتهٔ مهم: به‌جای justify-content:center (باگ کلاسیک برشِ بالا در فلکس + اسکرول)،
   محتوا در یک wrapper با margin:auto قرار گرفت — هم وسط‌چین است و هم کاملاً اسکرول می‌شود */
.welcome-inner{
  margin:auto;display:flex;flex-direction:column;align-items:center;gap:9px;
  padding:18px 4px;width:100%;max-width:860px;
}
.welcome.hidden{display:none}
.welcome-chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:2px}
.w-chip{
  display:inline-flex;align-items:center;gap:7px;padding:5px 13px;border-radius:99px;
  background:rgba(26,16,48,.75);border:1px solid var(--border-soft);
  color:var(--muted);font-size:11.5px;
}
.w-chip .dot{width:8px;height:8px}
.w-chip .ic{width:12px;height:12px;color:var(--accent)}
.w-chip.w-ver{color:var(--text)}
.w-stats{
  display:grid;grid-template-columns:repeat(4,minmax(90px,150px));gap:8px;margin-top:4px;width:100%;
  max-width:640px;
}
.w-stat{
  display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;
  background:rgba(26,16,48,.72);border:1px solid var(--border-soft);border-radius:14px;
}
.w-stat b{font-size:17px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-family:Consolas,"Vazirmatn",monospace}
.w-stat span{font-size:10px;color:var(--muted2);line-height:1.6}
.w-how{
  width:100%;max-width:640px;margin-top:4px;padding:11px 14px;border-radius:14px;
  background:rgba(26,16,48,.72);border:1px dashed var(--border-soft);text-align:right;
}
.w-how-title{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:bold;color:var(--text);margin-bottom:8px}
.w-how-title .ic{color:var(--pink)}
.w-steps{display:flex;flex-direction:column;gap:6px}
.w-steps span{display:flex;align-items:flex-start;gap:8px;font-size:11.5px;color:var(--muted);line-height:1.8}
.w-steps i{
  font-style:normal;width:19px;height:19px;min-width:19px;border-radius:7px;display:grid;place-items:center;
  background:var(--grad);color:#fff;font-size:10.5px;font-weight:bold;margin-top:3px;
}
.w-foot{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--muted2);margin-top:6px}
.w-foot b{color:var(--pink)}
.w-heart{color:var(--pink);fill:var(--pink);width:13px;height:13px;animation:pulse 1.8s infinite}
.petals{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.petals i{
  position:absolute;top:-30px;width:11px;height:11px;opacity:0;
  background:linear-gradient(135deg,#f9a8d4,#e879f9);
  border-radius:100% 0 100% 0;
  animation:fall linear infinite;
}
.petals i:nth-child(1){left:8%;animation-duration:11s;animation-delay:0s}
.petals i:nth-child(2){left:22%;animation-duration:14s;animation-delay:2.5s;width:8px;height:8px}
.petals i:nth-child(3){left:38%;animation-duration:12s;animation-delay:5s}
.petals i:nth-child(4){left:52%;animation-duration:15s;animation-delay:1s;width:9px;height:9px}
.petals i:nth-child(5){left:66%;animation-duration:10s;animation-delay:4s}
.petals i:nth-child(6){left:80%;animation-duration:13s;animation-delay:6.5s;width:8px;height:8px}
.petals i:nth-child(7){left:92%;animation-duration:12s;animation-delay:3s}
@keyframes fall{
  0%{transform:translateY(0) rotate(0);opacity:0}
  8%{opacity:.55}
  100%{transform:translateY(105vh) rotate(340deg);opacity:0}
}
.hero-ring{position:relative;border-radius:30px;padding:3px;background:var(--grad);box-shadow:0 10px 50px rgba(168,85,247,.5);animation:float 4s ease-in-out infinite}
.hero{width:170px;height:170px;border-radius:27px;display:block;object-fit:cover}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.welcome h1{font-size:21px;margin-top:6px}
.welcome .sub{color:var(--muted);font-size:13.5px}
.welcome .sub b{color:var(--pink)}
.welcome .sub2{color:var(--muted2);font-size:11px;font-family:Consolas,monospace}
.welcome-tg{
  display:inline-flex;align-items:center;gap:8px;margin-top:13px;padding:9px 18px;border-radius:999px;
  border:1px solid rgba(70,160,255,.42);background:rgba(41,134,220,.12);color:#cfe4ff;
  font-size:13px;text-decoration:none;transition:all .18s ease;
}
.welcome-tg:hover{background:rgba(41,134,220,.22);box-shadow:0 4px 18px rgba(41,134,220,.35);transform:translateY(-1px)}
.welcome-tg .ic{color:#54a9ff}
.suggestions{display:grid;grid-template-columns:repeat(2,minmax(210px,300px));gap:10px;margin-top:10px}
.suggestion{
  display:flex;align-items:flex-start;gap:9px;text-align:right;
  background:rgba(26,16,48,.85);border:1px solid var(--border-soft);color:var(--text);padding:12px 14px;
  border-radius:14px;cursor:pointer;font-family:inherit;font-size:12.5px;line-height:1.8;transition:all .18s;
}
.suggestion .ic{color:var(--pink);margin-top:2px}
.suggestion:hover{background:var(--panel2);border-color:rgba(168,85,247,.55);box-shadow:var(--glow);transform:translateY(-2px)}
.composer-hint b{color:var(--pink)}

/* ===== settings extras ===== */
.field.check-field{flex-direction:row;align-items:center;gap:10px}
.field.check-field input[type=checkbox]{
  width:19px;height:19px;accent-color:var(--accent);cursor:pointer;flex:none;
}
.field.check-field span{font-size:13px;color:var(--text);cursor:pointer}

/* ===== composer ===== */
#composer-wrap{position:relative;z-index:6;padding:12px 18px calc(14px + env(safe-area-inset-bottom));background:rgba(19,10,33,.8);border-top:1px solid var(--border-soft);backdrop-filter:blur(10px)}
#composer{
  max-width:860px;margin:0 auto;display:flex;gap:10px;align-items:flex-end;
  background:rgba(26,16,48,.92);border:1px solid var(--border-soft);border-radius:20px;padding:10px 12px;
  transition:box-shadow .2s ease,border-color .2s ease;
}
#composer:focus-within{border-color:rgba(168,85,247,.65);box-shadow:0 0 0 4px rgba(168,85,247,.14),var(--glow)}
#input{
  flex:1;background:none;border:none;outline:none;color:var(--text);font-family:inherit;
  font-size:14.5px;resize:none;max-height:140px;line-height:1.8;padding:4px 6px;
}
#input::placeholder{color:var(--muted2)}
.send-btn{
  width:46px;height:46px;min-width:46px;border-radius:15px;border:none;cursor:pointer;
  display:grid;place-items:center;color:#fff;background:var(--grad);box-shadow:var(--glow);
  transition:all .18s ease;
}
.send-btn:hover{filter:brightness(1.15);transform:translateY(-1px)}
.send-btn .i-stop{display:none;color:#ffdce5}
.send-btn.busy{background:linear-gradient(135deg,#e11d48,#f43f5e);box-shadow:0 4px 20px rgba(244,63,94,.45)}
.send-btn.busy .i-send{display:none}
.send-btn.busy .i-stop{display:block}
.composer-hint{max-width:860px;margin:8px auto 0;text-align:center;font-size:10.5px;color:var(--muted2)}

/* ===== v1.4.0: پیوست فایل و عکس ===== */
#main{position:relative}
#main.dragging::after{
  content:'عکس یا فایل را همین‌جا رها کن';
  position:absolute;inset:12px;z-index:60;pointer-events:none;
  border:2px dashed rgba(168,85,247,.85);border-radius:18px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(18,9,31,.78);color:var(--text);font-weight:bold;font-size:15px;
}
.attach-bar{display:flex;flex-wrap:wrap;gap:8px;max-width:860px;margin:0 auto 8px;padding:0 2px}
.attach-bar.hidden{display:none}
.attach-chip{
  display:inline-flex;align-items:center;gap:7px;padding:4px 6px;
  background:rgba(255,255,255,.06);border:1px solid var(--border-soft);
  border-radius:11px;font-size:11px;color:var(--text);
}
.attach-chip.is-img{padding:3px 6px 3px 3px}
.attach-chip img{width:36px;height:36px;object-fit:cover;border-radius:8px;display:block}
.attach-chip .ic{color:var(--accent);width:17px;height:17px}
.attach-chip .nm{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:ltr}
.attach-chip button{
  display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;
  border-radius:6px;background:rgba(255,93,115,.16);color:#ffb3be;border:none;cursor:pointer;padding:0;
}
.attach-chip button:hover{background:rgba(255,93,115,.34)}
#btn-attach{color:var(--accent)}
.att-grid{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 7px}
.att-img{width:112px;height:112px;object-fit:cover;border-radius:11px;border:1px solid var(--border-soft)}
.att-files{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 7px}
.att-file{
  display:inline-flex;align-items:center;gap:6px;padding:5px 9px;
  background:rgba(168,85,247,.14);border:1px solid rgba(168,85,247,.35);
  border-radius:9px;font-size:11px;color:var(--text);
}
.att-file .ic{color:#c084fc;width:14px;height:14px}
.dot-live{animation-duration:1.5s}

/* ===== modals ===== */
.backdrop{
  position:fixed;inset:0;background:rgba(6,3,12,.74);backdrop-filter:blur(8px);
  display:grid;place-items:center;z-index:50;padding:16px;overflow-y:auto;
}
.backdrop.hidden{display:none}
.modal{
  width:100%;max-width:530px;position:relative;
  background:linear-gradient(180deg,#1c1136,#150c29);
  border:1px solid var(--border-soft);border-radius:22px;padding:22px;
  max-height:92vh;max-height:92dvh;overflow-y:auto;
  overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  animation:fadein .22s ease;
  box-shadow:0 20px 70px rgba(0,0,0,.55),0 0 40px rgba(168,85,247,.12);
}
.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.modal-header h2{display:flex;align-items:center;gap:9px;font-size:16px}
.modal-header h2 .ic{color:var(--pink)}
.modal-desc{font-size:12px;color:var(--muted);line-height:2;margin-bottom:14px}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.field>span{font-size:12.5px;color:var(--muted)}
.field .req{color:var(--err)}
.field .hint{font-size:11px;color:var(--muted2);line-height:1.8}
.field input,.field select,.field textarea{
  background:rgba(13,7,25,.9);border:1px solid var(--border);border-radius:12px;color:var(--text);
  padding:11px 13px;font-family:inherit;font-size:13.5px;outline:none;width:100%;
}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(168,85,247,.14)}
.field input[type=range]{padding:0;height:36px;accent-color:var(--accent)}
.field textarea{resize:vertical;line-height:1.8}
.field select option{background:#150c29}
.modal-actions{display:flex;gap:10px;margin-top:6px}
.modal-actions .btn{flex:1}
.test-result{margin-top:12px;font-size:12.5px;line-height:2;min-height:20px;white-space:pre-wrap}
.test-result.ok{color:var(--ok)} .test-result.err{color:var(--err)}
.hidden{display:none!important}

/* ===== memory (brain) modal ===== */
.mem-add{display:flex;gap:8px;margin-bottom:12px}
.mem-add input{
  flex:1;background:rgba(13,7,25,.9);border:1px solid var(--border);border-radius:12px;
  color:var(--text);padding:11px 13px;font-family:inherit;font-size:13.5px;outline:none;
}
.mem-add input:focus{border-color:var(--accent)}
.mem-count{font-size:11.5px;color:var(--muted2);margin-bottom:8px;display:flex;align-items:center;gap:7px}
.mem-count .ic{width:13px;height:13px;color:var(--pink)}
.mem-list{display:flex;flex-direction:column;gap:8px;max-height:38vh;overflow-y:auto;margin-bottom:6px}
.mem-item{
  display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:12px;
  background:rgba(26,16,48,.85);border:1px solid var(--border-soft);font-size:13px;line-height:1.9;
  animation:fadein .2s ease;
}
.mem-item .ic{width:14px;height:14px;color:var(--pink);margin-top:5px}
.mem-item .txt{flex:1;overflow-wrap:break-word}
.mem-item .when{font-size:10px;color:var(--muted2);margin-top:2px}
.mem-item button{
  background:none;border:none;color:var(--muted2);cursor:pointer;width:24px;height:24px;
  border-radius:7px;display:grid;place-items:center;flex:none;
}
.mem-item button:hover{color:#fff;background:var(--err)}
.mem-item button .ic{width:13px;height:13px;color:currentColor;margin:0}
.mem-empty{color:var(--muted2);font-size:12.5px;text-align:center;padding:18px 0;line-height:2}

/* ===== about modal ===== */
.modal.about{text-align:center;max-width:380px}
.about-close{position:absolute;top:12px;inset-inline-end:12px}
.about-ring{margin:6px auto 4px;animation:float 4.5s ease-in-out infinite;border-radius:24px;padding:3px;background:var(--grad);box-shadow:0 8px 40px rgba(168,85,247,.45)}
.about-hero{width:120px;height:120px;border-radius:21px;display:block;object-fit:cover}
.about-name{font-size:19px;margin-top:10px}
.about-ver{font-size:11px;color:var(--muted2);font-family:Consolas,monospace;margin:3px 0 10px}
.about-desc{font-size:12.5px;color:var(--muted);line-height:2.1}
.about-creator{
  display:inline-flex;align-items:center;gap:8px;margin-top:13px;
  background:linear-gradient(135deg,rgba(244,114,182,.16),rgba(168,85,247,.14));
  border:1px solid rgba(244,114,182,.4);padding:9px 18px;border-radius:99px;font-size:13px;
}
.about-creator .ic{color:var(--pink)}
.about-creator b{color:var(--pink)}
.about-tech{font-size:11px;color:var(--muted2);margin-top:12px}
.about-tg{
  display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:8px 16px;border-radius:999px;
  border:1px solid rgba(70,160,255,.42);background:rgba(41,134,220,.12);color:#cfe4ff;
  font-size:13px;text-decoration:none;transition:all .18s ease;
}
.about-tg:hover{background:rgba(41,134,220,.22);box-shadow:0 4px 18px rgba(41,134,220,.35)}
.about-tg .ic{color:#54a9ff}
.about-tg b{color:#54a9ff}

/* ===== ابزارهای عامل (حالت انجام کار) ===== */
.tool-note{
  display:flex;align-items:center;gap:9px;
  color:#cfe4ff;font-size:12.5px;
  background:rgba(41,134,220,.14);border:1px solid rgba(70,160,255,.4);
  padding:10px 14px;border-radius:12px;margin:4px 0;
}
.tool-note .ic{color:#54a9ff;flex:none}

/* ===== toast ===== */
.toast{
  position:fixed;bottom:26px;left:50%;transform:translateX(-50%);z-index:80;
  background:rgba(28,17,54,.96);border:1px solid rgba(168,85,247,.45);color:var(--text);
  padding:10px 20px;border-radius:99px;font-size:13px;box-shadow:var(--glow);
  animation:fadein .2s ease;max-width:88vw;text-align:center;
}
.toast.err{border-color:rgba(255,93,115,.5)}

/* ===== scrollbar ===== */
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#31215a;border-radius:8px}
::-webkit-scrollbar-thumb:hover{background:#4a338a}

/* ===== v1.5.0: تب‌بندی تنظیمات ===== */
.tab-bar{
  display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 14px;
  border-bottom:1px solid var(--border-soft);padding-bottom:10px;
}
.tab-btn{
  flex:1;min-width:88px;padding:9px 6px;border-radius:11px;
  background:rgba(13,7,25,.6);border:1px solid var(--border);color:var(--muted);
  font-family:inherit;font-size:12px;cursor:pointer;transition:all .16s ease;
}
.tab-btn:hover{color:var(--text);border-color:rgba(168,85,247,.5)}
.tab-btn.active{background:var(--grad);color:#fff;border:none;font-weight:700;box-shadow:var(--glow)}
.sub-box{
  border:1px solid var(--border-soft);border-radius:14px;
  padding:12px 12px 0;margin-bottom:14px;background:rgba(13,7,25,.35);
}
.sub-title{font-size:12.5px;font-weight:bold;color:var(--accent);margin-bottom:10px}

/* ===== v1.5.0: حالت ساخت عکس ===== */
.web-btn.mode-img{
  background:var(--grad);color:#fff;border:none;box-shadow:var(--glow);
}
.web-btn.mode-img:hover{filter:brightness(1.12)}
.gen-img-wrap{margin:2px 0 4px}
.gen-img{
  max-width:min(100%,430px);width:100%;border-radius:14px;
  border:1px solid var(--border-soft);display:block;
  box-shadow:0 6px 24px rgba(0,0,0,.4);background:#0d0722;
}
.gen-caption{font-size:12px;color:var(--muted);margin-top:8px;line-height:1.9}
.img-actions{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.img-actions button{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(168,85,247,.14);border:1px solid rgba(168,85,247,.4);
  color:var(--text);font-family:inherit;font-size:11.5px;padding:6px 12px;border-radius:10px;
  cursor:pointer;transition:all .16s ease;
}
.img-actions button:hover{background:rgba(168,85,247,.3);border-color:var(--accent)}
.img-actions button .ic{width:14px;height:14px;color:#d8b4fe}
.gen-badge{
  display:inline-flex;align-items:center;gap:6px;font-size:10.5px;color:#e9d5ff;
  background:rgba(168,85,247,.2);border:1px solid rgba(168,85,247,.45);
  border-radius:99px;padding:3px 11px;margin-bottom:4px;
}
.gen-badge .ic{width:12px;height:12px;color:#d8b4fe}
.img-loading{
  display:flex;flex-direction:column;align-items:center;gap:12px;
  padding:24px 10px;text-align:center;color:var(--muted);font-size:13px;line-height:2;
}
.img-loading .brush{
  width:36px;height:36px;color:var(--pink);animation:spinGlobe 2.4s linear infinite;
}

/* ===== v1.5.0: دکمهٔ اجرای بازی روی بلوک کد ===== */
.code-run .ic{color:#f9a8d4}

/* ===== v1.5.0: اجرای زندهٔ بازی/کد ===== */
.run-backdrop{
  position:fixed;inset:0;z-index:90;background:rgba(6,3,12,.94);
  display:flex;flex-direction:column;padding:10px;gap:8px;
}
.run-backdrop.hidden{display:none}
.run-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.run-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:bold;color:var(--text)}
.run-title .ic{color:var(--pink)}
.run-actions{display:flex;gap:8px}
#run-frame{
  flex:1;width:100%;border:1px solid var(--border-soft);
  border-radius:14px;background:#ffffff;
}

/* ===== responsive ===== */
@media (max-width:760px){
  #sidebar{position:fixed;inset-inline-start:0;top:0;bottom:0;z-index:40;box-shadow:10px 0 40px rgba(0,0,0,.55)}
  #sidebar.hidden{margin-inline-start:-290px}
  #sidebar-toggle{display:grid}
  .suggestions{grid-template-columns:1fr}
  .cat-grid{grid-template-columns:repeat(2,minmax(140px,1fr));width:100%}
  .modal-cats{grid-template-columns:1fr}
  .hero{width:118px;height:118px}
  #messages{padding:16px 12px}
  #composer-wrap{padding:10px 12px calc(12px + env(safe-area-inset-bottom))}
  .topbar-left{gap:6px}
  .cat-badge{padding:6px 10px;font-size:11px}
  /* v1.9.0: نشان مدل روی موبایل هم دیده شود — انتخاب‌گر اصلی مدل است */
  .model-badge-btn{display:flex;padding:6px 10px;font-size:11px;max-width:44%}
  #btn-clear-chat{display:none}
  .w-stats{grid-template-columns:repeat(2,1fr);max-width:420px}
  .theme-grid{grid-template-columns:repeat(2,1fr)}
  .welcome{padding:8px 10px}
  .welcome-inner{padding:14px 2px}
}

/* ===== v1.6.0: ۸ تب تنظیمات (واکنش‌گرا) ===== */
.tab-bar{display:flex;gap:6px;overflow-x:auto;padding-bottom:10px;border-bottom:1px solid var(--border-soft);margin:4px 0 14px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.tab-bar::-webkit-scrollbar{display:none}
.tab-btn{flex:1;min-width:78px;max-width:110px;padding:9px 6px;border-radius:11px;background:rgba(13,7,25,.6);border:1px solid var(--border);color:var(--muted);font-family:inherit;font-size:11.5px;cursor:pointer;transition:all .16s ease;display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}
.tab-btn .ic{width:13px;height:13px}
.tab-btn:hover{color:var(--text);border-color:rgba(168,85,247,.5)}
.tab-btn.active{background:var(--grad);color:#fff;border:none;font-weight:700;box-shadow:var(--glow)}

/* ===== v1.6.0: استودیوی ساخت عکس ===== */
.style-chips{display:flex;flex-wrap:wrap;gap:7px}
.style-chip{
  padding:7px 13px;border-radius:99px;font-family:inherit;font-size:12px;cursor:pointer;
  background:rgba(13,7,25,.65);border:1px solid var(--border);color:var(--muted);transition:all .15s ease;
}
.style-chip:hover{color:var(--text);border-color:rgba(168,85,247,.55)}
.style-chip.active{background:var(--grad);color:#fff;border:none;font-weight:700;box-shadow:var(--glow)}
.studio-result{margin-top:14px;border:1px solid var(--border-soft);border-radius:16px;padding:12px;background:rgba(13,7,25,.4)}
.studio-recent-wrap{margin-top:16px}
.studio-recent{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.recent-thumb{border:1px solid var(--border-soft);border-radius:11px;overflow:hidden;padding:0;cursor:pointer;background:#0d0722;aspect-ratio:1;transition:all .15s ease}
.recent-thumb:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--glow)}
.recent-thumb img{width:100%;height:100%;object-fit:cover;display:block}
#btn-studio-go.busy{opacity:.75;pointer-events:none}
#btn-studio-go .brush{animation:spinGlobe 2.4s linear infinite}

/* ===== v1.6.0: خطای اجرای بازی + ویرایشگر کد ===== */
.run-errors{
  background:rgba(255,93,115,.12);border:1px solid rgba(255,93,115,.5);border-radius:13px;
  padding:10px 13px;margin-bottom:8px;max-height:26vh;overflow-y:auto;
}
.run-err-head{display:flex;align-items:center;gap:8px;color:#ffb3be;font-size:13px;margin-bottom:6px}
.run-err-head .ic{color:var(--err)}
.fix-btn{
  display:inline-flex;align-items:center;gap:6px;margin-inline-start:auto;
  background:rgba(255,93,115,.2);border:1px solid rgba(255,93,115,.5);color:#ffd9df;
  font-family:inherit;font-size:11.5px;padding:5px 12px;border-radius:9px;cursor:pointer;transition:all .15s;
}
.fix-btn:hover{background:rgba(255,93,115,.34)}
#run-err-list{font-family:Consolas,monospace;font-size:11.5px;color:#ffcdd4;white-space:pre-wrap;direction:ltr;text-align:left;margin:0;max-height:14vh;overflow-y:auto}
.run-body{flex:1;display:flex;gap:8px;min-height:0}
.run-body iframe{flex:1}
.run-editor{
  width:44%;min-width:280px;display:flex;flex-direction:column;gap:8px;
  background:rgba(13,7,25,.85);border:1px solid var(--border-soft);border-radius:14px;padding:10px;
}
.run-editor.hidden{display:none}
.run-ed-head{display:flex;align-items:baseline;gap:10px;font-size:13px}
.run-editor textarea{
  flex:1;width:100%;background:#0d0722;border:1px solid var(--border);border-radius:11px;color:#dcc9ff;
  font-family:Consolas,monospace;font-size:12px;line-height:1.7;direction:ltr;text-align:left;
  resize:none;outline:none;padding:10px;
}
.run-editor textarea:focus{border-color:var(--accent)}
.run-editor .modal-actions{margin:0}

/* ===== v1.6.0: بنر بزرگ اجرای بازی ===== */
.run-banner{
  display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
  margin:10px 0 2px;padding:11px;border-radius:13px;cursor:pointer;
  background:var(--grad);color:#fff;font-family:inherit;font-size:13.5px;font-weight:700;
  border:none;box-shadow:var(--glow);transition:all .16s ease;animation:fadein .3s ease;
}
.run-banner:hover{filter:brightness(1.12);transform:translateY(-1px)}
.run-banner .ic{color:#fff}

/* ===== v1.6.0: تم‌های واقعی ===== */
/* — اقیانوس آبی — */
body[data-theme="ocean"]{
  --accent:#38bdf8;--accent2:#0369a1;--pink:#22d3ee;--err:#ff5d73;--ok:#34d399;
  --grad:linear-gradient(135deg,#38bdf8,#0369a1 55%,#22d3ee);
  --glow:0 6px 26px rgba(56,189,248,.35);
  --border-soft:rgba(56,189,248,.24);
  --panel:#0b1a2e;--panel2:#122744;--border:#1d3a5f;
  background:
    radial-gradient(1100px 560px at 85% -12%, rgba(3,105,161,.28), transparent 60%),
    radial-gradient(820px 460px at -12% 112%, rgba(34,211,238,.12), transparent 60%),
    #060d1a;
}
body[data-theme="ocean"] #sidebar{background:linear-gradient(180deg,rgba(11,26,46,.96),rgba(6,13,26,.98))}
body[data-theme="ocean"] .msg.bot .bubble{background:rgba(11,26,46,.88)}
body[data-theme="ocean"] .msg.user .bubble{background:linear-gradient(135deg,#0369a1,#38bdf8);box-shadow:0 4px 18px rgba(3,105,161,.4)}
body[data-theme="ocean"] .cat-card.active{background:linear-gradient(135deg,rgba(56,189,248,.2),rgba(34,211,238,.12))}
body[data-theme="ocean"] .codeblock .code-bar{background:linear-gradient(135deg,rgba(56,189,248,.18),rgba(3,105,161,.10))}
body[data-theme="ocean"] .brand-logo{border-color:rgba(56,189,248,.5);box-shadow:0 4px 18px rgba(56,189,248,.45)}
body[data-theme="ocean"] .msg.bot .avatar{border-color:rgba(56,189,248,.5)}
body[data-theme="ocean"] #topbar,body[data-theme="ocean"] #composer-wrap{background:rgba(9,20,36,.78)}
body[data-theme="ocean"] .modal{background:linear-gradient(180deg,#0e2036,#0a1526)}
body[data-theme="ocean"] .attach-file,body[data-theme="ocean"] .att-file{background:rgba(56,189,248,.14);border-color:rgba(56,189,248,.35)}
body[data-theme="ocean"] .petals i{background:linear-gradient(135deg,#a5f3fc,#38bdf8)}

/* — روشن — */
body[data-theme="light"]{
  --bg:#f1ecfb;--bg2:#ffffff;--panel:#ffffff;--panel2:#ece4fb;
  --border:#d9cdf0;--border-soft:rgba(124,58,237,.28);
  --text:#241a3d;--muted:#5d5478;--muted2:#8d84a8;
  --accent:#7c3aed;--accent2:#6d28d9;--pink:#db2777;
  --grad:linear-gradient(135deg,#8b5cf6,#7c3aed 55%,#ec4899);
  --glow:0 6px 22px rgba(124,58,237,.25);
  background:
    radial-gradient(1100px 560px at 85% -12%, rgba(139,92,246,.14), transparent 60%),
    radial-gradient(820px 460px at -12% 112%, rgba(236,72,153,.10), transparent 60%),
    #f1ecfb;
}
body[data-theme="light"] #sidebar{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(243,239,252,.98))}
body[data-theme="light"] .msg.bot .bubble{background:#ffffff;border-color:var(--border-soft)}
body[data-theme="light"] .msg.user .bubble{background:linear-gradient(135deg,#7c3aed,#8b5cf6);color:#fff}
body[data-theme="light"] #topbar,body[data-theme="light"] #composer-wrap{background:rgba(250,248,255,.85)}
body[data-theme="light"] .modal{background:linear-gradient(180deg,#ffffff,#f6f2fd)}
body[data-theme="light"] .field input,body[data-theme="light"] .field select,body[data-theme="light"] .field textarea,
body[data-theme="light"] .mem-add input{background:#f4f0fc;color:var(--text)}
body[data-theme="light"] .field select option{background:#fff}
body[data-theme="light"] #composer{background:#ffffff}
body[data-theme="light"] .codeblock,body[data-theme="light"] .msg .bubble pre{background:#221539}
body[data-theme="light"] .cat-card,body[data-theme="light"] .suggestion,body[data-theme="light"] .side-tool{background:#ffffff}
body[data-theme="light"] .chat-item:hover{background:#f1eafb}
body[data-theme="light"] .tab-btn{background:#f1eafb}
body[data-theme="light"] .studio-result,body[data-theme="light"] .sub-box{background:#f6f2fd}
body[data-theme="light"] .brand-logo{border-color:rgba(124,58,237,.5)}
body[data-theme="light"] .petals i{background:linear-gradient(135deg,#c4b5fd,#f9a8d4)}
body[data-theme="light"] .recent-thumb,body[data-theme="light"] .run-editor textarea{background:#221539}
body[data-theme="light"] .icon-btn{background:#ffffff}
body[data-theme="light"] .toast{background:#ffffff;color:var(--text)}
/* v1.9.0: پوشش تم روشن برای اجزای جدید */
body[data-theme="light"] .w-stat,body[data-theme="light"] .w-chip,body[data-theme="light"] .w-how{background:#ffffff;border-color:var(--border-soft)}
body[data-theme="light"] .theme-card{background:#ffffff;border-color:var(--border)}
body[data-theme="light"] .model-card,body[data-theme="light"] .pick-trigger{background:#ffffff;border-color:var(--border)}

/* — جنگل زمردی (v1.9.0) — */
body[data-theme="emerald"]{
  --accent:#34d399;--accent2:#059669;--pink:#6ee7b7;--err:#ff5d73;--ok:#34d399;
  --grad:linear-gradient(135deg,#34d399,#059669 55%,#a7f3d0);
  --glow:0 6px 26px rgba(52,211,153,.32);
  --border-soft:rgba(52,211,153,.22);
  --panel:#0a1f16;--panel2:#0f2c1f;--border:#1c4433;
  background:
    radial-gradient(1100px 560px at 85% -12%, rgba(5,150,105,.22), transparent 60%),
    radial-gradient(820px 460px at -12% 112%, rgba(110,231,183,.10), transparent 60%),
    #04120c;
}
body[data-theme="emerald"] #sidebar{background:linear-gradient(180deg,rgba(10,31,22,.96),rgba(4,18,12,.98))}
body[data-theme="emerald"] .msg.bot .bubble{background:rgba(10,31,22,.88)}
body[data-theme="emerald"] .msg.user .bubble{background:linear-gradient(135deg,#059669,#34d399);box-shadow:0 4px 18px rgba(5,150,105,.4)}
body[data-theme="emerald"] .cat-card.active{background:linear-gradient(135deg,rgba(52,211,153,.2),rgba(110,231,183,.12))}
body[data-theme="emerald"] .codeblock .code-bar{background:linear-gradient(135deg,rgba(52,211,153,.18),rgba(5,150,105,.10))}
body[data-theme="emerald"] .brand-logo{border-color:rgba(52,211,153,.5);box-shadow:0 4px 18px rgba(52,211,153,.45)}
body[data-theme="emerald"] .msg.bot .avatar{border-color:rgba(52,211,153,.5)}
body[data-theme="emerald"] #topbar,body[data-theme="emerald"] #composer-wrap{background:rgba(7,24,17,.78)}
body[data-theme="emerald"] .modal{background:linear-gradient(180deg,#0c231a,#081a12)}
body[data-theme="emerald"] .petals i{background:linear-gradient(135deg,#a7f3d0,#34d399)}

/* — غروب نارنجی (v1.9.0) — */
body[data-theme="sunset"]{
  --accent:#fb923c;--accent2:#ea580c;--pink:#fbbf24;--err:#ff5d73;--ok:#4ade80;
  --grad:linear-gradient(135deg,#fb923c,#ea580c 55%,#fbbf24);
  --glow:0 6px 26px rgba(251,146,60,.32);
  --border-soft:rgba(251,146,60,.22);
  --panel:#241209;--panel2:#331a0d;--border:#4f2a14;
  background:
    radial-gradient(1100px 560px at 85% -12%, rgba(234,88,12,.22), transparent 60%),
    radial-gradient(820px 460px at -12% 112%, rgba(251,191,36,.10), transparent 60%),
    #150a04;
}
body[data-theme="sunset"] #sidebar{background:linear-gradient(180deg,rgba(36,18,9,.96),rgba(21,10,4,.98))}
body[data-theme="sunset"] .msg.bot .bubble{background:rgba(36,18,9,.88)}
body[data-theme="sunset"] .msg.user .bubble{background:linear-gradient(135deg,#ea580c,#fb923c);box-shadow:0 4px 18px rgba(234,88,12,.4)}
body[data-theme="sunset"] .cat-card.active{background:linear-gradient(135deg,rgba(251,146,60,.2),rgba(251,191,36,.12))}
body[data-theme="sunset"] .codeblock .code-bar{background:linear-gradient(135deg,rgba(251,146,60,.18),rgba(234,88,12,.10))}
body[data-theme="sunset"] .brand-logo{border-color:rgba(251,146,60,.5);box-shadow:0 4px 18px rgba(251,146,60,.45)}
body[data-theme="sunset"] .msg.bot .avatar{border-color:rgba(251,146,60,.5)}
body[data-theme="sunset"] #topbar,body[data-theme="sunset"] #composer-wrap{background:rgba(28,14,7,.78)}
body[data-theme="sunset"] .modal{background:linear-gradient(180deg,#2a150b,#1d0f07)}
body[data-theme="sunset"] .petals i{background:linear-gradient(135deg,#fed7aa,#fb923c)}

/* — نیمه‌شبِ مشکی (v1.9.0) — */
body[data-theme="midnight"]{
  --accent:#8b95f8;--accent2:#6366f1;--pink:#c7d2fe;--err:#ff5d73;--ok:#3ddc97;
  --grad:linear-gradient(135deg,#8b95f8,#6366f1 55%,#c7d2fe);
  --glow:0 6px 26px rgba(99,102,241,.28);
  --border-soft:rgba(139,149,248,.20);
  --panel:#101320;--panel2:#181c2e;--border:#252a42;
  background:
    radial-gradient(1100px 560px at 85% -12%, rgba(99,102,241,.14), transparent 60%),
    radial-gradient(820px 460px at -12% 112%, rgba(199,210,254,.07), transparent 60%),
    #05060c;
}
body[data-theme="midnight"] #sidebar{background:linear-gradient(180deg,rgba(16,19,32,.97),rgba(5,6,12,.99))}
body[data-theme="midnight"] .msg.bot .bubble{background:rgba(16,19,32,.9)}
body[data-theme="midnight"] .msg.user .bubble{background:linear-gradient(135deg,#6366f1,#8b95f8);box-shadow:0 4px 18px rgba(99,102,241,.38)}
body[data-theme="midnight"] .cat-card.active{background:linear-gradient(135deg,rgba(139,149,248,.18),rgba(199,210,254,.10))}
body[data-theme="midnight"] .codeblock .code-bar{background:linear-gradient(135deg,rgba(139,149,248,.16),rgba(99,102,241,.10))}
body[data-theme="midnight"] .brand-logo{border-color:rgba(139,149,248,.5);box-shadow:0 4px 18px rgba(99,102,241,.4)}
body[data-theme="midnight"] .msg.bot .avatar{border-color:rgba(139,149,248,.5)}
body[data-theme="midnight"] #topbar,body[data-theme="midnight"] #composer-wrap{background:rgba(10,12,22,.82)}
body[data-theme="midnight"] .modal{background:linear-gradient(180deg,#12152a,#0a0c18)}
body[data-theme="midnight"] .petals i{background:linear-gradient(135deg,#c7d2fe,#8b95f8)}

/* ===== v1.6.0: اندازهٔ متن پیام + حالت کم‌انیمیشن ===== */
.msg .bubble{font-size:var(--msgfs,14.5px)}
body.no-anim *{animation-duration:.001s!important;transition-duration:.001s!important}
body.no-anim .petals{display:none}

/* ===== v1.6.0: موبایل ===== */
@media (max-width:760px){
  .tab-btn{min-width:64px;font-size:10.5px;padding:8px 4px}
  .run-body{flex-direction:column}
  .run-editor{width:100%;min-width:0;max-height:38vh}
  .studio-recent{grid-template-columns:repeat(3,1fr)}
}

/* ===== v1.7.0: نشان سوییچ خودکار سرویس ===== */
.prov-note{
  display:flex;align-items:center;gap:6px;margin-top:8px;padding:6px 10px;
  border-radius:10px;background:rgba(61,220,151,.12);color:var(--ok);font-size:12px;
}

/* ===== v1.9.0: انتخاب‌گر تم — کارت‌های لمسی با پیش‌نمایش زنده ===== */
.theme-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:9px;
}
.theme-card{
  display:flex;flex-direction:column;align-items:center;gap:7px;
  background:rgba(13,7,25,.55);border:1.5px solid var(--border);border-radius:15px;
  padding:11px 6px 9px;cursor:pointer;font-family:inherit;color:var(--muted);
  transition:all .16s ease;
}
.theme-card:hover{border-color:rgba(168,85,247,.55);color:var(--text);transform:translateY(-2px)}
.theme-card.active{
  border-color:var(--accent);color:var(--text);font-weight:bold;
  background:linear-gradient(135deg,rgba(168,85,247,.16),rgba(244,114,182,.08));
  box-shadow:0 0 0 3px rgba(168,85,247,.14),var(--glow);
}
.theme-card.active::after{content:'✓';position:relative}
.theme-card .swatch{
  width:100%;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 0 12px rgba(0,0,0,.25);
}
.theme-card b{font-size:11.5px;font-weight:600}
.theme-card i{font-style:normal;font-size:9.5px;color:var(--muted2)}
.sw-night{background:linear-gradient(135deg,#a855f7,#7c3aed 55%,#f472b6)}
.sw-ocean{background:linear-gradient(135deg,#38bdf8,#0369a1 55%,#22d3ee)}
.sw-emerald{background:linear-gradient(135deg,#34d399,#059669 55%,#a7f3d0)}
.sw-sunset{background:linear-gradient(135deg,#fb923c,#ea580c 55%,#fbbf24)}
.sw-light{background:linear-gradient(135deg,#ede9fe,#c4b5fd 55%,#fbcfe8);border-color:rgba(0,0,0,.12)!important}
.sw-midnight{background:linear-gradient(135deg,#1f2937,#030712 60%,#4b5563)}

/* ===== v1.9.0: دکمهٔ ماشینهٔ مدل در تنظیمات ===== */
.pick-trigger{
  display:flex;align-items:center;gap:11px;width:100%;text-align:right;
  background:rgba(13,7,25,.7);border:1.5px solid var(--border);border-radius:14px;
  padding:11px 13px;cursor:pointer;font-family:inherit;color:var(--text);
  transition:all .16s ease;
}
.pick-trigger:hover{border-color:rgba(168,85,247,.6);box-shadow:var(--glow)}
.pick-trigger:active{transform:scale(.985)}
.pick-trigger>.ic{color:var(--pink);width:20px;height:20px}
.pick-trigger .pt-body{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0}
.pick-trigger .pt-body b{font-size:13.5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pick-trigger .pt-body i{font-style:normal;font-size:10.5px;color:var(--muted2)}
.pick-trigger .chev{color:var(--muted2)}

/* ===== v1.9.0: شیت انتخاب مدل — کارت‌های مدل ===== */
.backdrop-top{z-index:70}
.model-sheet{max-width:480px}
.model-list{display:flex;flex-direction:column;gap:9px;margin:4px 0 6px}
.model-card{
  display:flex;align-items:flex-start;gap:11px;width:100%;text-align:right;
  background:rgba(13,7,25,.55);border:1.5px solid var(--border);border-radius:16px;
  padding:13px 13px;cursor:pointer;font-family:inherit;color:var(--text);
  transition:all .16s ease;animation:fadein .22s ease;
}
.model-card:hover{border-color:rgba(168,85,247,.6);box-shadow:var(--glow);transform:translateY(-1px)}
.model-card:active{transform:scale(.985)}
.model-card.active{
  border-color:var(--accent);
  background:linear-gradient(135deg,rgba(168,85,247,.18),rgba(244,114,182,.10));
  box-shadow:inset 0 0 0 1px rgba(168,85,247,.3),var(--glow);
}
.mc-radio{
  width:21px;height:21px;min-width:21px;border-radius:50%;margin-top:2px;
  border:2px solid var(--muted2);display:grid;place-items:center;transition:all .15s ease;
}
.model-card.active .mc-radio{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 4px rgba(168,85,247,.18)}
.model-card.active .mc-radio::after{content:'';width:8px;height:8px;border-radius:50%;background:#fff}
.mc-body{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}
.mc-body>b{font-size:13.5px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.mc-body .mc-desc{font-size:11.5px;color:var(--muted);line-height:1.85}
.mc-tags{display:flex;gap:5px;flex-wrap:wrap}
.mc-tags i{
  font-style:normal;font-size:9.5px;color:var(--muted);
  background:rgba(168,85,247,.12);border:1px solid var(--border-soft);
  border-radius:99px;padding:2px 9px;
}
.mc-tag{
  font-style:normal;font-size:9.5px;font-weight:bold;color:#fff;
  background:var(--grad);border:none;border-radius:99px;padding:2.5px 9px;
}
/* v1.10.0: تیترِ گروه‌بندی مدل‌ها در انتخاب‌گر کلادفلر */
.mg-title{
  font-size:11.5px;font-weight:bold;color:var(--muted);
  display:flex;align-items:center;gap:7px;
  margin:9px 2px -1px;letter-spacing:.2px;
}
.mg-title::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--border),transparent)}
body[data-theme="light"] .mg-title{color:#6b6480}

/* ============================================================
   v1.14.0 — گفتگوی صوتی زنده: دایرهٔ بزرگِ رنگین + زیرنویس زنده
   حالت‌های دایره: idle (نفس‌کشِ آبی) / listening (سبز + حلقه‌ها)
   / thinking (بنفشِ چرخان) / speaking (رنگین‌چرخان با hue-rotate)
   ============================================================ */
.voice-backdrop{
  position:fixed;inset:0;z-index:95;display:flex;flex-direction:column;gap:12px;
  background:radial-gradient(1200px 700px at 50% -10%,rgba(124,58,237,.35),transparent 60%),
             linear-gradient(180deg,#150b28 0%,#0c0716 55%,#0a0614 100%);
  padding:14px 16px calc(14px + env(safe-area-inset-bottom));
  overflow-y:auto;animation:fadein .2s ease;
}
.voice-backdrop.hidden{display:none}
.vc-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.vc-title{display:inline-flex;align-items:center;gap:8px;font-weight:bold;font-size:14px;color:var(--text)}
.vc-title .ic{color:var(--accent)}
.vc-stage{display:flex;flex-direction:column;align-items:center;gap:10px;padding:10px 0 4px}
.vc-stage p{font-size:13px;color:var(--muted);margin:2px 0 0}
.vc-orb{
  --vc-a:#a855f7;--vc-b:#7c3aed;
  position:relative;width:min(230px,62vw);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.35),transparent 42%),
             linear-gradient(135deg,var(--vc-a),var(--vc-b) 60%,var(--vc-a));
  box-shadow:0 0 60px rgba(168,85,247,.45),0 0 130px rgba(124,58,237,.25),inset 0 0 40px rgba(255,255,255,.08);
  transition:background .5s ease,box-shadow .5s ease;
}
.vc-orb>i{position:absolute;inset:-14px;border-radius:50%;border:2px solid var(--vc-a);opacity:0;pointer-events:none}
/* — idle: نفس‌کشِ آرام — */
.vc-orb[data-state="idle"]{animation:vcBreathe 3.6s ease-in-out infinite}
/* — listening: سبزِ پرچم + حلقه‌های پخش‌شونده — */
.vc-orb[data-state="listening"]{--vc-a:#3ddc97;--vc-b:#0e9f6e;animation:vcPulse 1.15s ease-in-out infinite}
.vc-orb[data-state="listening"]>i{opacity:.75;animation:vcRing 1.8s ease-out infinite}
.vc-orb[data-state="listening"]>i.r2{animation-delay:.6s}
.vc-orb[data-state="listening"]>i.r3{animation-delay:1.2s}
/* — thinking: بنفشِ چرخان — */
.vc-orb[data-state="thinking"]{--vc-a:#c084fc;--vc-b:#6d28d9;animation:vcSpin 1.5s linear infinite}
/* — speaking: رنگین‌چرخان — رنگ دایره مدام عوض می‌شود — */
.vc-orb[data-state="speaking"]{animation:vcBounce .8s ease-in-out infinite,vcHue 5s linear infinite}
@keyframes vcBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
@keyframes vcPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.09)}}
@keyframes vcRing{0%{transform:scale(.92);opacity:.8}100%{transform:scale(1.55);opacity:0}}
@keyframes vcSpin{0%{transform:scale(1) rotate(0)}50%{transform:scale(1.05) rotate(180deg)}100%{transform:scale(1) rotate(360deg)}}
@keyframes vcBounce{0%,100%{transform:scale(1)}30%{transform:scale(1.07)}60%{transform:scale(.97)}}
@keyframes vcHue{0%{filter:hue-rotate(0deg) saturate(1.2)}100%{filter:hue-rotate(360deg) saturate(1.2)}}
.vc-unsup{
  max-width:420px;text-align:center;font-size:12px;color:var(--muted);
  background:rgba(168,85,247,.10);border:1px dashed var(--border-soft);
  border-radius:14px;padding:10px 14px;line-height:2;
}
.vc-transcript{display:flex;flex-direction:column;gap:7px;max-width:560px;width:100%;margin:0 auto}
.vc-line{
  font-size:13px;line-height:2;color:var(--text);
  background:rgba(13,7,25,.6);border:1px solid var(--border);
  border-radius:14px;padding:9px 13px;min-height:20px;word-break:break-word;
}
.vc-line.user{border-color:var(--border-soft)}
.vc-line.bot{background:rgba(168,85,247,.12)}
.vc-line .vc-hint{color:var(--muted2);font-size:12px}
.vc-type-row{display:flex;gap:8px;max-width:560px;width:100%;margin:0 auto}
.vc-type-row input{
  flex:1;min-width:0;background:rgba(13,7,25,.7);border:1.5px solid var(--border);
  border-radius:14px;padding:11px 14px;color:var(--text);font-family:inherit;font-size:13.5px;outline:none;
}
.vc-type-row input:focus{border-color:var(--accent)}
.vc-controls{display:flex;align-items:center;justify-content:center;gap:16px;padding:2px 0 6px}
.vc-mic{
  width:64px;height:64px;border-radius:50%;border:none;cursor:pointer;color:#fff;
  background:var(--grad);box-shadow:var(--glow);
  display:grid;place-items:center;transition:transform .15s ease,box-shadow .2s ease;
}
.vc-mic:hover{transform:scale(1.05)}
.vc-mic:active{transform:scale(.94)}
.vc-mic.listening{background:linear-gradient(135deg,#3ddc97,#0e9f6e);box-shadow:0 0 34px rgba(61,220,151,.5);animation:vcPulse 1.15s ease-in-out infinite}
.vc-btn2{
  width:48px;height:48px;border-radius:50%;border:1.5px solid var(--border);cursor:pointer;
  background:rgba(13,7,25,.7);color:var(--muted);display:grid;place-items:center;transition:all .15s ease;
}
.vc-btn2:hover{color:var(--text);border-color:var(--accent)}
body[data-theme="light"] .voice-backdrop{background:radial-gradient(1200px 700px at 50% -10%,rgba(124,58,237,.18),transparent 60%),linear-gradient(180deg,#f3edfd,#ffffff)}
body[data-theme="light"] .vc-line{background:#ffffff;border-color:var(--border)}
body[data-theme="light"] .vc-line.bot{background:#f3ecff}
body[data-theme="light"] .vc-type-row input{background:#ffffff}

/* — v1.14.0: چیپ «با مغز …» زیر هر پاسخ — */
.brain-tag{
  display:inline-flex;align-items:center;gap:4px;font-size:10.5px;color:var(--muted);
  background:rgba(168,85,247,.10);border:1px solid var(--border-soft);
  border-radius:99px;padding:2.5px 10px;
}
.brain-tag.hidden{display:none}
.brain-tag .ic{color:var(--accent)}
/* — شمارندهٔ ثانیه روی حبابِ تایپ — */
.t-sec{font-size:11px;color:var(--muted2);margin-inline-start:7px}
/* — دکمهٔ میکروفون کامپوزر (حالت فعال) — */
.btn-voice{color:var(--accent)}
.btn-voice:hover{border-color:rgba(168,85,247,.6)}
body.no-anim .vc-orb,body.no-anim .vc-orb>i,body.no-anim .vc-mic.listening{animation:none}

/* — v1.14.0: تم‌های رنگی دایرهٔ گفتگوی صوتی (۶ تم) — */
#voice-backdrop[data-vtheme="blue"] .vc-orb{--vc-a:#38bdf8;--vc-b:#0369a1}
#voice-backdrop[data-vtheme="blue"] .vc-orb[data-state="listening"]{--vc-a:#22d3ee;--vc-b:#0e7490}
#voice-backdrop[data-vtheme="green"] .vc-orb{--vc-a:#34d399;--vc-b:#059669}
#voice-backdrop[data-vtheme="green"] .vc-orb[data-state="listening"]{--vc-a:#a7f3d0;--vc-b:#10b981}
#voice-backdrop[data-vtheme="orange"] .vc-orb{--vc-a:#fb923c;--vc-b:#ea580c}
#voice-backdrop[data-vtheme="orange"] .vc-orb[data-state="listening"]{--vc-a:#fdba74;--vc-b:#f97316}
#voice-backdrop[data-vtheme="pink"] .vc-orb{--vc-a:#f472b6;--vc-b:#db2777}
#voice-backdrop[data-vtheme="pink"] .vc-orb[data-state="listening"]{--vc-a:#fbcfe8;--vc-b:#ec4899}
#voice-backdrop[data-vtheme="rainbow"] .vc-orb{--vc-a:#a855f7;--vc-b:#3b82f6}
#voice-backdrop[data-vtheme="rainbow"] .vc-orb[data-state="listening"]{--vc-a:#3ddc97;--vc-b:#0e9f6e}
#voice-backdrop[data-vtheme="rainbow"] .vc-orb[data-state="thinking"]{--vc-a:#fbbf24;--vc-b:#d97706}
#voice-backdrop[data-vtheme="rainbow"] .vc-orb[data-state="speaking"]{--vc-a:#f472b6;--vc-b:#38bdf8}

/* ===== v1.15.0: پنل پارامترهای هوش مصنویی (مثل پنل Parameters فری‌مدل) ===== */
.params-sheet{max-width:480px}
.seg{display:flex;gap:6px;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:5px;margin-bottom:14px}
.seg-btn{flex:1;padding:10px 6px;border-radius:10px;font-size:12.5px;color:var(--muted);background:transparent;border:0;cursor:pointer;font-family:inherit;transition:.18s;white-space:nowrap}
.seg-btn:hover{color:var(--text)}
.seg-btn.active{background:linear-gradient(135deg,rgba(168,85,247,.28),rgba(99,102,241,.28));color:var(--text);font-weight:bold;box-shadow:inset 0 0 0 1px var(--border-soft)}
.chip-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}
.chip-row button{font-size:11px;padding:7px 11px;border-radius:999px;background:var(--panel2);border:1px solid var(--border);color:var(--muted);cursor:pointer;font-family:inherit;transition:.15s}
.chip-row button:hover{color:var(--text);border-color:var(--border-soft)}
.chip-row button.active{color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2));border-color:transparent;box-shadow:0 3px 14px rgba(168,85,247,.4)}
#btn-params{position:relative}
#btn-params.has-params::after{content:'';position:absolute;top:7px;inset-inline-end:7px;width:8px;height:8px;border-radius:50%;background:var(--pink);box-shadow:0 0 8px var(--pink)}
.field input[type=range].off{opacity:.35;pointer-events:none}
#pt-sys{min-height:74px}
@media (max-width:760px){
  .params-sheet{max-width:100%}
  .seg-btn{font-size:12px;padding:9px 4px}
  .chip-row button{padding:8px 12px}
}
