*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --bg:#07090e;--sb:#090d14;--chat:#0c1017;
  --border:#1b2432;--bubble:#111622;--user-bubble:#162235;
  --green:#00ff88;--gdim:rgba(0,255,136,.15);
  --yellow:#fbc02d;--blue:#3b82f6;--purple:#a855f7;--red:#ef4444;
  --orange:#fb923c;--text:#f1f5f9;--muted:#64748b;
  --font:'Inter',Arial,sans-serif;
}
html,body{height:100vh;width:100vw;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--font);}

/* ── SCROLLBAR (koyu tema ile uyumlu) ── */
*{scrollbar-width:thin;scrollbar-color:#2a3441 transparent;}
*::-webkit-scrollbar{width:8px;height:8px;}
*::-webkit-scrollbar-track{background:transparent;}
*::-webkit-scrollbar-thumb{background:#2a3441;border-radius:4px;}
*::-webkit-scrollbar-thumb:hover{background:#3c4a5c;}

/* ── AUTH ── */
.auth-wrap{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg);z-index:999;}
.auth-box{background:#0b0f17;padding:40px 32px;border-radius:16px;border:1px solid var(--border);width:90%;max-width:340px;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.7);}
.auth-logo{font-size:30px;font-weight:900;color:var(--green);letter-spacing:2px;margin-bottom:4px;}
.auth-sub{font-size:11px;color:var(--muted);margin-bottom:28px;letter-spacing:1.5px;}
.auth-box input{width:100%;padding:13px 14px;margin:6px 0;background:#030508;border:1px solid var(--border);color:#fff;border-radius:8px;outline:none;font-size:15px;transition:border .2s;}
.auth-box input:focus{border-color:var(--green);}
.auth-btn{width:100%;padding:13px;background:var(--gdim);border:1px solid var(--green);color:var(--green);font-weight:700;border-radius:8px;cursor:pointer;margin-top:14px;font-size:15px;letter-spacing:.5px;transition:all .2s;}
.auth-btn:hover{background:rgba(0,255,136,.25);}
#auth-err{color:var(--red);margin-top:12px;font-size:13px;min-height:18px;}

/* ── LAYOUT (CİDDİ ŞEKİLDE DARALTILDI) ── */
#chat-panel{display:none;width:100vw;height:100vh;grid-template-columns:220px 1fr 240px;overflow:hidden;}

/* ── LEFT SIDEBAR (DARALTILDI) ── */
.sidebar{background:var(--sb);border-right:1px solid var(--border);padding:15px 10px;display:flex;flex-direction:column;gap:10px;height:100vh;overflow:hidden;}
.brand-name{font-size:18px;font-weight:900;color:var(--green);letter-spacing:1px;}
.brand-sub{font-size:9px;color:var(--muted);letter-spacing:1px;margin-top:2px;}
.section-label{font-size:9.5px;color:var(--muted);font-weight:700;letter-spacing:1.5px;padding:0 2px;margin-top:4px;}
.mode-btn{display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:8px;border:1px solid rgba(251,192,45,.2);background:rgba(251,192,45,.04);color:var(--yellow);font-size:12px;font-weight:600;cursor:pointer;transition:all .25s;margin-top:2px;width:100%;text-align:left;}
.mode-btn.active-general{border-color:rgba(0,255,136,.4);background:rgba(0,255,136,.12);color:var(--green);}
.mode-btn.active-broker{border-color:rgba(251,192,45,.5);background:rgba(251,192,45,.15);color:var(--yellow);}
.mode-btn.active-music{border-color:rgba(168,85,247,.4);background:rgba(168,85,247,.12);color:var(--purple);}
.mode-btn.active-software{border-color:rgba(59,130,246,.4);background:rgba(59,130,246,.12);color:var(--blue);}
.mode-btn.active-agenda{border-color:rgba(251,146,60,.4);background:rgba(251,146,60,.12);color:var(--orange);}
.mode-btn.active-forensics{border-color:rgba(244,63,94,.4);background:rgba(244,63,94,.12);color:#f43f5e;}
.mode-btn.active-corporate{border-color:rgba(14,165,233,.4);background:rgba(14,165,233,.12);color:#0ea5e9;}
.mode-btn.active-profiler{border-color:rgba(139,92,246,.4);background:rgba(139,92,246,.12);color:#8b5cf6;}

/* ── MAIN CHAT ── */
.main-chat{display:grid;grid-template-rows:60px 1fr auto;background:var(--chat);height:100vh;overflow:hidden;}
header{display:flex;justify-content:space-between;align-items:center;padding:0 20px;border-bottom:1px solid var(--border);height:60px;flex-shrink:0;}
.header-title{font-size:14px;font-weight:700;}
.header-sub{font-size:10px;color:var(--muted);margin-top:2px;}
.status-badge{font-size:10px;color:var(--green);background:rgba(0,255,136,.06);border:1px solid rgba(0,255,136,.2);padding:4px 10px;border-radius:20px;font-weight:700;}

/* 🆕 AGENTIC DERYA: yerel Lexi Runner bağlı/değil göstergesi */
.runner-badge{font-size:10px;padding:4px 10px;border-radius:20px;font-weight:700;white-space:nowrap;transition:all .2s;}
.runner-badge.runner-on{color:var(--green);background:rgba(0,255,136,.08);border:1px solid rgba(0,255,136,.35);}
.runner-badge.runner-off{color:var(--muted);background:rgba(100,116,139,.08);border:1px solid rgba(100,116,139,.25);}

/* 🆕 (2026-07-12) MOTOR ZİNCİRİ GÖSTERGESİ (M1-M10) */
.engine-wrap{position:relative;}
.engine-badge{font-size:10px;padding:4px 10px;border-radius:20px;font-weight:700;white-space:nowrap;cursor:pointer;user-select:none;transition:all .2s;}
.engine-badge.engine-green{color:var(--green);background:rgba(0,255,136,.08);border:1px solid rgba(0,255,136,.35);}
.engine-badge.engine-yellow{color:var(--yellow);background:rgba(251,192,45,.10);border:1px solid rgba(251,192,45,.40);}
.engine-badge.engine-red{color:var(--red);background:rgba(239,68,68,.10);border:1px solid rgba(239,68,68,.40);}
.engine-badge.engine-unknown{color:var(--muted);background:rgba(100,116,139,.08);border:1px solid rgba(100,116,139,.25);}
.engine-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:120;width:290px;max-width:82vw;max-height:70vh;overflow-y:auto;background:#0b0f17;border:1px solid var(--border);border-radius:12px;box-shadow:0 18px 48px rgba(0,0,0,.65);padding:10px 8px;}
.engine-panel-head{font-size:11px;font-weight:800;color:var(--text);letter-spacing:.5px;padding:2px 6px 8px;border-bottom:1px solid var(--border);margin-bottom:6px;}
.engine-panel-head span{color:var(--muted);font-weight:600;}
.eng-row{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:7px;font-size:11px;}
.eng-row+.eng-row{margin-top:1px;}
.eng-pos{flex:0 0 30px;font-weight:800;color:var(--muted);font-variant-numeric:tabular-nums;}
.eng-name{flex:1 1 auto;color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.eng-stat{flex:0 0 auto;font-size:10px;color:var(--muted);white-space:nowrap;}
.eng-row.eng-active .eng-pos{color:var(--green);}
.eng-row.eng-active .eng-stat{color:var(--green);}
.eng-row.eng-disabled{opacity:.55;}
/* GÖREV — spam önleme: kota_sinirli (429/free-tier limiti — ARIZA DEĞİL) = sarı;
   arizali (auth/timeout/bağlantı/5xx — gerçek sorun) = kırmızı; ilk kontrol
   beklemede = nötr. */
.eng-row.eng-kota{background:rgba(251,192,45,.10);}
.eng-row.eng-kota .eng-pos{color:var(--yellow);}
.eng-row.eng-kota .eng-stat{color:var(--yellow);}
.eng-row.eng-error{background:rgba(239,68,68,.08);}
.eng-row.eng-error .eng-pos{color:var(--red);}
.eng-row.eng-error .eng-stat{color:var(--red);}
.eng-row.eng-unknown .eng-stat{color:var(--muted);}

/* 🆕 MOBİL ÜST BAR: masaüstünde tam metin görünür; kompakt (ikon/dot/baş harf)
   varyantlar sadece dar ekran media query'sinde açılır. Böylece desktop bozulmaz. */
.logout-icon{display:none;}
.greeting-initial{display:none;}

/* ── MESSAGES ── */

/* 🆕 AGENTIC DERYA: araç-kullanım canlı akış satırları */
.agentic-flow .agentic-steps{display:flex;flex-direction:column;gap:3px;background:rgba(0,255,136,.04);border:1px solid rgba(0,255,136,.15);border-left:2px solid var(--green);border-radius:8px;padding:8px 12px;}
.agentic-step-line{font-size:12px;color:var(--text);font-family:'SF Mono','Consolas',monospace;line-height:1.5;opacity:.92;animation:agenticFadeIn .25s ease;}
@keyframes agenticFadeIn{from{opacity:0;transform:translateY(-2px);}to{opacity:.92;transform:none;}}

/* 🆕 AGENTIC v2: WordPress yazma vb. için tarayıcı onay kutusu */
.agentic-approval{background:rgba(255,176,32,.06);border:1px solid rgba(255,176,32,.35);border-left:3px solid var(--orange,#ffb020);border-radius:10px;padding:12px 14px;gap:8px;animation:agenticFadeIn .25s ease;}
.agentic-approval-title{font-size:13px;font-weight:700;color:var(--orange,#ffb020);}
.agentic-approval-detail{font-size:11.5px;font-family:'SF Mono','Consolas',monospace;color:var(--text);background:rgba(0,0,0,.18);border-radius:6px;padding:8px 10px;margin:2px 0;white-space:pre-wrap;word-break:break-word;max-height:220px;overflow:auto;}
.agentic-approval-btns{display:flex;gap:8px;margin-top:4px;}
.agentic-approval-btns button{flex:0 0 auto;cursor:pointer;font-size:12.5px;font-weight:700;border-radius:8px;padding:8px 16px;border:1px solid transparent;transition:opacity .15s;}
.agentic-approval-btns button:disabled{opacity:.5;cursor:default;}
.agentic-approve-yes{background:rgba(0,255,136,.15);border-color:rgba(0,255,136,.45)!important;color:var(--green);}
.agentic-approve-no{background:rgba(255,80,80,.12);border-color:rgba(255,80,80,.4)!important;color:#ff6b6b;}
.agentic-approval-result{font-size:12px;font-weight:600;margin-top:2px;opacity:.9;}
.dedupe-reanalyze{margin-top:-6px;}
.dedupe-reanalyze-btn{cursor:pointer;font-size:12px;font-weight:700;border-radius:8px;padding:7px 14px;border:1px solid rgba(255,176,32,.4);background:rgba(255,176,32,.08);color:var(--orange,#ffb020);transition:opacity .15s;}
.dedupe-reanalyze-btn:disabled{opacity:.5;cursor:default;}

/* 🆕 TTSG UNVAN SORGULAMA — insan-döngüde CAPTCHA paneli (Firma Analiz Ajanı
   / "Ece" sky-blue vurgusuyla aynı ton, bkz. .mode-btn.active-corporate). */
.ttsg-panel{background:rgba(14,165,233,.06);border:1px solid rgba(14,165,233,.3);border-left:3px solid #0ea5e9;border-radius:10px;padding:12px 14px;gap:8px;max-width:340px;}
.ttsg-panel-title{font-size:13px;font-weight:700;color:#0ea5e9;}
.ttsg-panel-desc{font-size:11.5px;color:var(--muted);line-height:1.4;margin:4px 0 8px;}
.ttsg-panel-body{display:flex;flex-direction:column;gap:8px;}
.ttsg-input{width:100%;padding:9px 11px;background:#030508;border:1px solid var(--border);color:#fff;border-radius:8px;outline:none;font-size:13px;transition:border .2s;}
.ttsg-input:focus{border-color:#0ea5e9;}
.ttsg-panel-row{display:flex;align-items:center;gap:10px;}
.ttsg-panel-row .ttsg-input{flex:1 1 auto;}
.ttsg-captcha-img{align-self:flex-start;border-radius:6px;border:1px solid var(--border);background:#fff;max-width:100%;}
.ttsg-refresh-link{font-size:11.5px;color:#0ea5e9;text-decoration:underline;white-space:nowrap;cursor:pointer;}
.ttsg-panel-error{font-size:11.5px;color:var(--red);min-height:14px;}
.ttsg-btn{cursor:pointer;font-size:12px;font-weight:700;border-radius:8px;padding:8px 14px;border:1px solid rgba(14,165,233,.4);background:rgba(14,165,233,.1);color:#0ea5e9;transition:opacity .15s;align-self:flex-start;}
.ttsg-btn:disabled{opacity:.5;cursor:default;}
.ttsg-panel-result{font-size:12.5px;color:var(--text);line-height:1.4;}
.ttsg-panel-link{font-size:12px;color:#0ea5e9;text-decoration:underline;}
.messages{overflow-y:auto;padding:10px 20px;display:flex;flex-direction:column;gap:7px;min-height:0;scroll-behavior:smooth;}
.msg-wrapper{display:flex;flex-direction:column;max-width:85%;}
.msg-wrapper.user{align-self:flex-end;}
.msg-wrapper.assistant{align-self:flex-start;}
.msg-meta{font-size:9.5px;font-weight:700;letter-spacing:.5px;}
.msg-meta.user{color:#5dade2;text-align:right;}
.msg-meta.assistant{color:var(--green);}
.msg-meta.agenda-alert{color:var(--orange);}

/* Gönderen etiketi + kopyala düğmesi aynı satırda; buton mobilde de her zaman
   görünür (hover'a bağlı değil), dokunma alanı >=36x36px. */
.msg-meta-row{display:flex;align-items:center;gap:4px;margin-bottom:2px;}
.msg-wrapper.user .msg-meta-row{justify-content:flex-end;}
.msg-copy-btn{
  width:36px;height:36px;min-width:36px;min-height:36px;
  display:flex;align-items:center;justify-content:center;
  background:transparent;border:none;border-radius:8px;
  font-size:14px;line-height:1;color:var(--muted);cursor:pointer;
  flex-shrink:0;-webkit-tap-highlight-color:transparent;
  transition:background .15s,color .15s;
}
.msg-copy-btn:hover,.msg-copy-btn:active{background:rgba(0,255,136,.12);color:var(--green);}
.msg-copy-btn.copied{color:var(--green);}
.msg-bubble{padding:6px 10px;border-radius:10px;font-size:13.5px;line-height:1.42;background:var(--bubble);border:1px solid var(--border);word-break:break-word;}
.msg-bubble .md-li{margin:2px 0;}
.msg-bubble .md-h2,.msg-bubble .md-h3{display:block;margin:6px 0 2px;}
.msg-bubble .md-alert{margin:4px 0;}
.msg-wrapper.user .msg-bubble{background:var(--user-bubble);border-color:#283d5c;}
.msg-bubble code{display:inline-block;background:#030508;border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-family:monospace;font-size:12px;color:#7dd3fc;}
.msg-bubble pre{background:#030508;border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin:8px 0;overflow-x:auto;font-family:monospace;font-size:11.5px;color:#7dd3fc;white-space:pre;}
.msg-bubble strong{color:#f1f5f9;font-weight:700;}

/* 🆕 SİSTEM teşhis mesajları (konum/durak/otobüs/bağlantı teşhisi gibi
   istenmeden gelen bilgi satırları) — bilgi kaybolmuyor, sadece varsayılan
   olarak daralmış ve soluk geliyor; ▾ ile genişletilebilir/daraltılabilir. */
.msg-wrapper.system-diag .msg-meta{color:var(--muted);}
.msg-wrapper.system-diag .msg-bubble{font-size:11px;color:var(--muted);padding:3px 8px;background:transparent;border-style:dashed;opacity:.75;}
.msg-bubble.system-collapsed{max-height:18px;overflow:hidden;}
.msg-bubble.system-collapsed.expanded{max-height:none;opacity:1;}
.msg-toggle-btn{
  width:22px;height:22px;min-width:22px;
  display:flex;align-items:center;justify-content:center;
  background:transparent;border:none;border-radius:6px;
  font-size:11px;line-height:1;color:var(--muted);cursor:pointer;
  flex-shrink:0;-webkit-tap-highlight-color:transparent;
  transition:background .15s,color .15s;
}
.msg-toggle-btn:hover,.msg-toggle-btn:active{background:rgba(0,255,136,.12);color:var(--green);}

/* 🆕 Açılıştaki 3 SİSTEM mesajı (konum/durak/varış) artık tek katlanmış
   "Sistem hazır ▸" satırında birleşiyor — detay tıklanınca aynı balonun
   içinde açılır. */
.system-summary-line{cursor:pointer;user-select:none;}
.system-summary-line:hover{color:var(--green);}
.system-summary-detail{display:none;white-space:pre-wrap;}
.msg-bubble.system-collapsed.expanded .system-summary-detail{display:block;margin-top:6px;padding-top:6px;border-top:1px dashed var(--border);}
.system-summary-sep{border:none;border-top:1px dashed var(--border);margin:6px 0;opacity:.6;}

/* 🚀 DÜZELTME: .speed-tag (⏱ X.XXs göstergesi) için hiç CSS kuralı yoktu,
   bu yüzden tarayıcı varsayılan (büyük) fontla render ediyordu. */
.speed-tag{font-size:9px;color:var(--muted);margin-top:1px;letter-spacing:.3px;}

/* 🆕 GÖREV 1: mesaj kaybı korumasında kullanılan bekleme/başarısızlık göstergeleri. */
.msg-bubble.msg-pending{opacity:.65;}
.msg-bubble.msg-failed{border-color:var(--red);}
.msg-retry-wrap{margin-top:4px;display:flex;justify-content:flex-end;}
.msg-retry-btn{background:rgba(239,68,68,.1);border:1px solid var(--red);color:var(--red);font-size:11px;font-weight:600;padding:5px 10px;border-radius:6px;cursor:pointer;transition:background .15s;}
.msg-retry-btn:hover,.msg-retry-btn:active{background:rgba(239,68,68,.2);}

/* ── RIGHT SIDEBAR (DARALTILDI) ── */
.status-sidebar{background:var(--sb);border-left:1px solid var(--border);padding:15px 10px;display:flex;flex-direction:column;gap:10px;height:100vh;overflow-y:hidden;}
.status-card{background:#030508;border:1px solid var(--border);padding:10px;border-radius:8px;}
.status-card h4{font-size:9.5px;color:var(--muted);margin-bottom:6px;letter-spacing:1px;font-weight:700;}
.status-card p{font-size:12px;font-weight:700;}

/* AJANDA DARALTILDI */
.agenda-add{display:flex;flex-direction:column;gap:5px;margin-bottom:8px;}
.agenda-input{width:100%;padding:6px 8px;background:#030508;border:1px solid var(--border);color:#fff;border-radius:6px;font-size:11px;outline:none;}
.agenda-input:focus{border-color:var(--orange);}
.agenda-add-btn{width:100%;padding:6px;background:rgba(251,146,60,.1);border:1px solid rgba(251,146,60,.3);color:var(--orange);border-radius:6px;cursor:pointer;font-size:11px;font-weight:600;transition:all .2s;}
.agenda-add-btn:hover{background:rgba(251,146,60,.2);}
.agenda-list{display:flex;flex-direction:column;gap:5px;max-height:90px;overflow-y:auto;}

/* 🚀 DÜZELTME: .agenda-item / .agenda-item-title / .agenda-item-time için hiç
   CSS kuralı yoktu, bu yüzden tarayıcı varsayılan (büyük) fontla render
   ediyordu — diğer her şeyle aynı küçük punto setine çekiyoruz. */
.agenda-item{background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:6px;padding:6px 8px;font-size:11px;position:relative;}
.agenda-item-title{font-size:11px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.agenda-item-time{font-size:10px;color:var(--muted);margin-top:2px;}
.agenda-item.overdue .agenda-item-time{color:var(--red);}
.agenda-item.notified{opacity:.5;}
.agenda-del{position:absolute;top:4px;right:6px;background:none;border:none;color:var(--muted);font-size:11px;cursor:pointer;padding:2px;line-height:1;}
.agenda-del:hover{color:var(--red);}

/* LOG KUTUSU (KESİN 5 SATIR - 95PX) */
.terminal{flex-shrink:0;background:#030508;border:1px solid var(--border);padding:8px;border-radius:8px;font-family:monospace;font-size:9.5px;color:var(--green);overflow-y:auto;line-height:1.6;height:95px;min-height:95px;margin-bottom:0;}

/* ── INPUT ── */
#file-preview{display:none;background:var(--bubble);border:1px solid var(--yellow);padding:7px 14px;border-radius:7px;color:var(--yellow);font-size:12px;margin:0 22px 5px;justify-content:space-between;align-items:center;}
.input-area{padding:10px 20px;display:flex;gap:6px;border-top:1px solid var(--border);background:var(--chat);align-items:flex-end;flex-shrink:0;}
.input-area textarea{flex:1;min-height:40px;max-height:150px;padding:10px 12px;background:var(--bubble);border:1px solid var(--border);color:#fff;border-radius:8px;font-size:13.5px;outline:none;transition:border .2s;resize:none;font-family:var(--font);line-height:20px;overflow-y:auto;}
.input-area textarea:focus{border-color:var(--green);}
.action-btn{width:40px;height:40px;background:var(--bubble);border:1px solid var(--border);border-radius:8px;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s;flex-shrink:0;}
.action-btn:hover{color:var(--green);border-color:var(--green);}
.voice-btn{width:40px;height:40px;background:rgba(0,255,136,.06);border:1px solid rgba(0,255,136,.25);border-radius:8px;color:var(--green);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s;flex-shrink:0;}
.voice-btn:hover{background:rgba(0,255,136,.15);}
.send-btn{width:70px;height:40px;background:var(--gdim);border:1px solid var(--green);color:var(--green);font-weight:700;border-radius:8px;cursor:pointer;font-size:13px;transition:all .2s;flex-shrink:0;}
.send-btn:hover{background:rgba(0,255,136,.25);}

/* ── VOICE OVERLAY ── */
#voice-overlay{display:none;position:fixed;inset:0;background:rgba(7,9,14,.93);z-index:500;flex-direction:column;align-items:center;justify-content:center;gap:24px;}
#voice-overlay.active{display:flex;}
.voice-orb{width:120px;height:120px;border-radius:50%;border:3px solid var(--green);display:flex;align-items:center;justify-content:center;font-size:48px;}
.voice-orb.listening{animation:orb-pulse 1s ease-in-out infinite;}
.voice-status{font-size:16px;font-weight:600;}
.voice-transcript{font-size:13px;color:var(--muted);max-width:360px;text-align:center;min-height:20px;}
.voice-close{padding:10px 28px;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.3);color:#f87171;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;}

@keyframes orb-pulse{0%,100%{box-shadow:0 0 0 0 rgba(0,255,136,.4);}50%{box-shadow:0 0 0 20px rgba(0,255,136,0);}}

/* ── MOBİL RESPONSIVE (Telefon / Dar Ekran) ── */
.mobile-menu-btn{display:none;}
.mobile-overlay-bg{display:none;}

@media (max-width: 820px){
  /* Eskiden sabit 220px 1fr 240px idi; telefonda yan paneller toplamı
     ekran genişliğini aşıyor ve ortadaki sohbet alanı sıkışıp kesiliyordu. */
  #chat-panel{grid-template-columns:1fr;grid-template-rows:1fr;}

  .sidebar,.status-sidebar{
    position:fixed;top:0;height:100vh;width:240px;max-width:80vw;
    z-index:300;transition:transform .25s ease;box-shadow:0 0 30px rgba(0,0,0,.6);
  }
  .sidebar{left:0;transform:translateX(-100%);}
  .status-sidebar{right:0;left:auto;transform:translateX(100%);}
  .sidebar.mobile-open{transform:translateX(0);}
  .status-sidebar.mobile-open{transform:translateX(0);}

  .main-chat{width:100vw;height:100vh;}

  .mobile-menu-btn{
    display:flex;align-items:center;justify-content:center;
    width:36px;height:36px;background:var(--bubble);border:1px solid var(--border);
    border-radius:8px;color:var(--green);font-size:16px;cursor:pointer;flex-shrink:0;
  }

  .mobile-overlay-bg{
    display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:250;
  }
  .mobile-overlay-bg.active{display:block;}

  header{padding:0 10px;gap:8px;}
  .header-title{font-size:13px;}
  .status-badge{display:none;}

  /* 🚨 DÜZELTME (Chatbox görünmüyor / metin sağa taşıyor sorunu):
     Flex/grid öğeleri varsayılan olarak min-width:auto alır — yani içindeki
     en uzun kırılmaz metne göre genişler ve ekranın dışına taşar. min-width:0
     ile bunu zorla kapatıp, gerçekten sarmasını (wrap) sağlıyoruz. */
  #chat-panel, .main-chat, .messages, .msg-wrapper, .input-area, .input-area textarea {
    min-width: 0;
  }
  .msg-bubble {
    max-width: 100%;
    overflow-wrap: break-word;
    word-break: break-word;
  }

  /* Input satırı (📎🎙️🔊🗣️ + yazı kutusu + Gönder) dar ekranda düzgün
     yerleşsin: ikon butonlar üst satıra sarar, yazı kutusu + "Gönder" alt
     satırda yan yana durur (Gönder hep input'un yanında, ekran dışına taşmaz). */
  .input-area {
    flex-wrap: wrap;
    gap: 6px;
  }
  .action-btn, .voice-btn {
    width: 38px; height: 38px; font-size: 15px;
  }
  .input-area textarea {
    flex: 1 1 60%;      /* 60% flex-basis → ikonlarla aynı satıra sığmaz, alt satıra iner */
    min-width: 0;
  }
  .send-btn {
    flex: 0 0 auto;     /* yazı kutusunun yanında kalır */
    width: auto;
    min-width: 66px;
    padding: 0 16px;
  }

  /* Android Chrome'da 100vh, alttaki adres çubuğu/gezinme çubuğunu hesaba
     katmıyor — bu da sayfanın görünür alandan taşıp chatbox'ın ekran dışına
     kaymasına sebep olabiliyor. 100dvh (dynamic viewport height) destekleyen
     tarayıcılarda gerçek görünür alanı kullanır. */
  html, body, #chat-panel, .sidebar, .status-sidebar, .main-chat {
    height: 100dvh;
  }

  /* 🆕 GÜVENLİ ALAN (iOS/Android çentik + alt gezinme çubuğu): input alanı ve
     yan panellerin alt/yan boşluklarına env(safe-area-inset-*) ekleniyor ki
     içerik çentiğin/alt barın altında kalmasın. */
  .input-area {
    padding-left: max(10px, env(safe-area-inset-left));
    padding-right: max(10px, env(safe-area-inset-right));
    padding-bottom: max(10px, env(safe-area-inset-bottom));
  }
  header {
    padding-left: max(10px, env(safe-area-inset-left));
    padding-right: max(10px, env(safe-area-inset-right));
  }
  .status-sidebar { padding-right: max(10px, env(safe-area-inset-right)); }
  .sidebar { padding-left: max(10px, env(safe-area-inset-left)); }

  /* Yatay taşma güvenliği: hiçbir çocuk öğe ekranı yanlara zorlamasın. */
  html, body { overflow-x: hidden; }

  /* Sağ panel (motor/ajanda/log + SOHBETLER) drawer olarak açılınca içerik
     dikeyde taşabilir; kaydırılabilir olsun ki sohbet listesine erişilebilsin. */
  .status-sidebar { overflow-y: auto; }
}

/* 🆕 ≤600px KOMPAKT ÜST BAR (telefon): başlık kısalır, alt yazı gizlenir,
   "Merhaba, {ad}" → baş harf rozeti, "Çıkış" → ikon, Runner → renkli nokta.
   Hepsi tek satıra sığsın diye. */
@media (max-width: 600px){
  header{gap:6px;}
  .header-sub{display:none;}
  .header-title{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:38vw;}

  /* "Merhaba, Merthan" yerine baş harf rozeti */
  .greeting-full{display:none;}
  .greeting-initial{
    display:inline-flex;align-items:center;justify-content:center;
    width:26px;height:26px;border-radius:50%;
    background:var(--gdim);border:1px solid rgba(0,255,136,.4);
    color:var(--green);font-size:12px;font-weight:800;
  }

  /* "Çıkış" yazısı → çıkış ikonu (⎋) */
  .logout-text{display:none;}
  .logout-icon{display:inline;font-size:15px;line-height:1;}
  #logout-btn{padding:5px 8px;}

  /* Runner: sadece renkli emoji nokta, yazı gizli, yuvarlak kompakt rozet */
  .runner-text{display:none;}
  .runner-badge{padding:4px 7px;}

  /* 🆕 Motor göstergesi: "M: x/10" mobilde de kalır (kritik bilgi), rozet
     daralır; panel ise ekran genişliğine göre sağa hizalı açılır. */
  .engine-badge{padding:4px 7px;}
  .engine-panel{width:min(290px, 92vw);}
}

@media (max-width: 420px){
  .msg-wrapper{max-width:94%;}
  .input-area{padding:8px max(10px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));}
}

/* ── 🆕 KOD MODU (Derya): kod bloğu + araç çubuğu (kopyala / indir / katla) ── */
.code-block{margin:10px 0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#030508;}
.code-toolbar{display:flex;align-items:center;gap:6px;padding:5px 8px;background:#0c1017;border-bottom:1px solid var(--border);}
.code-lang{margin-right:auto;font-size:10px;font-weight:700;letter-spacing:.6px;color:var(--muted);font-family:monospace;}
.code-btn{background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:5px;padding:2px 8px;font-size:11px;cursor:pointer;transition:all .15s;white-space:nowrap;}
.code-btn:hover,.code-btn:active{color:var(--green);border-color:var(--green);background:rgba(0,255,136,.1);}
/* Sarmalayıcı içindeki pre: dış kenarlık/margin sarmalayıcıya taşındı */
.code-block pre{margin:0;border:none;border-radius:0;max-height:none;}
.code-block pre code{background:transparent;border:none;padding:0;display:block;}
/* highlight.js teması (atom-one-dark) yüklenince kendi arka planını dayatır;
   kod bloğu için bizim koyu zeminimizi (—#030508) koruyoruz, token renkleri kalsın. */
.code-block pre code.hljs{background:transparent;padding:0;}
/* Katlanmış uzun kod: yükseklik sınırlı + alt kısımda soluklaşma ipucu */
.code-block.code-collapsed pre{max-height:220px;overflow:hidden;}
.code-block.code-collapsed{position:relative;}
.code-block.code-collapsed::after{content:"";position:absolute;left:0;right:0;bottom:0;height:44px;pointer-events:none;background:linear-gradient(transparent,#030508);}