/* MergenHub AI asistanı — hem uygulama-içi dock (index.html) hem ayrı pencere (ai.html).
   Bileşenler app.css'teki kg-* tasarım sistemine dayanır; burada yalnız asistan-özel düzen var. */

/* ── dock (uygulama içi) ── */
.kg-aidock{width:460px;flex-shrink:0;border-left:1px solid hsl(var(--border));background:hsl(var(--background));display:flex;min-width:0;min-height:0;position:relative;overflow:hidden}
.ai-root.embedded{overflow:hidden}
.kg-aidock[hidden]{display:none}
.kg-aidock.wide{width:min(56vw,980px)}
.kg-aidock .ai-resizer{position:absolute;left:-4px;top:0;bottom:0;width:8px;cursor:col-resize;z-index:3}
.kg-aidock .ai-resizer:hover,.kg-aidock .ai-resizer.on{background:hsl(var(--primary)/.25)}
@media (max-width:1100px){ .kg-aidock{position:absolute;right:0;top:0;bottom:0;width:min(100vw,520px);z-index:40;box-shadow:-12px 0 32px rgba(0,0,0,.18)} .kg-aidock.wide{width:100vw} .kg-aidock .ai-resizer{display:none} }

/* ── kök ── */
.ai-root{display:flex;flex:1;min-width:0;min-height:0;position:relative;background:hsl(var(--background));color:hsl(var(--foreground));font-size:13.5px}
.ai-standalone{height:100vh;width:100vw}
.ai-root *{box-sizing:border-box}
.ai-root button{font-family:inherit}

/* ── sol geçmiş sütunu (ayrı pencerede sabit; dock'ta kaydırmalı panel) ── */
.ai-hist{width:272px;flex-shrink:0;border-right:1px solid hsl(var(--border));background:hsl(var(--card));display:flex;flex-direction:column;min-height:0}
.ai-root.embedded .ai-hist{position:absolute;left:0;top:0;bottom:0;z-index:6;width:min(300px,86%);box-shadow:8px 0 24px rgba(0,0,0,.16);transform:translateX(-102%);transition:transform .18s ease}
.ai-root.embedded .ai-hist.on{transform:none}
.ai-hist-hd{display:flex;align-items:center;gap:8px;padding:12px 12px 8px}
.ai-hist-hd b{font-size:13px}
.ai-hist-hd .kg-spacer{flex:1}
.ai-hist .ai-search{margin:0 12px 8px;display:flex;align-items:center;gap:7px;border:1px solid hsl(var(--input));border-radius:8px;padding:6px 10px;background:hsl(var(--background))}
.ai-hist .ai-search input{border:0;background:transparent;color:inherit;font:inherit;font-size:12.5px;outline:none;flex:1;min-width:0}
.ai-hist .ai-search i{color:hsl(var(--muted-foreground))}
.ai-convs{flex:1;overflow:auto;padding:0 8px 8px}
.ai-grp{font-size:10px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:hsl(var(--muted-foreground));padding:10px 8px 4px;display:flex;align-items:center;gap:6px;cursor:pointer;user-select:none}
.ai-grp .chev{transition:transform .15s;font-size:11px}
.ai-grp.closed .chev{transform:rotate(-90deg)}
.ai-grp .n{margin-left:auto;font-weight:600;opacity:.8}
.ai-conv{display:flex;align-items:center;gap:7px;padding:7px 6px 7px 10px;border-radius:8px;cursor:pointer;font-size:13px;color:hsl(var(--foreground))}
.ai-conv:hover{background:hsl(var(--muted))}
.ai-conv.on{background:hsl(var(--primary)/.12);font-weight:600;box-shadow:inset 3px 0 0 hsl(var(--primary))}
.ai-conv .t{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-conv i.ic{color:hsl(var(--muted-foreground));font-size:14px;flex-shrink:0}
.ai-conv.on i.ic{color:hsl(var(--primary))}
.ai-conv .m{opacity:0;width:24px;height:24px;border:0;background:none;border-radius:6px;cursor:pointer;color:hsl(var(--muted-foreground));display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.ai-conv:hover .m,.ai-conv.on .m{opacity:1}
.ai-conv .m:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}
.ai-hist-ft{border-top:1px solid hsl(var(--border));padding:8px 10px;display:flex;align-items:center;gap:6px;font-size:12px;color:hsl(var(--muted-foreground))}
.ai-hist-ft .who{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ── ana sütun ── */
.ai-main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;position:relative}
.ai-top{display:flex;align-items:center;gap:6px;padding:0 10px;height:48px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--card));flex-shrink:0;min-width:0}
.ai-top .ttl{flex:1;min-width:60px;font-weight:600;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:text;padding:4px 6px;border-radius:6px}
.ai-top .ttl:hover{background:hsl(var(--muted)/.6)}
.ai-top .ttl input{font:inherit;font-weight:600;background:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:6px;padding:3px 6px;color:inherit;width:100%;outline:none}
.ai-top .kg-iconbtn{width:32px;height:32px;flex-shrink:0}
.ai-top .kg-iconbtn i{font-size:15px}
.ai-sub{display:flex;align-items:center;gap:6px;padding:6px 10px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--card)/.6);flex-wrap:wrap;min-height:36px}
.ai-pill{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:11.5px;color:hsl(var(--muted-foreground));background:hsl(var(--muted));border:1px solid hsl(var(--border));padding:3px 9px;border-radius:20px;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.ai-pill b{color:hsl(var(--foreground));font-weight:600}
.ai-pill.btn{cursor:pointer}
.ai-pill.btn:hover{border-color:hsl(var(--primary));color:hsl(var(--foreground))}
.ai-pill.ok{background:hsl(var(--success)/.12);border-color:hsl(var(--success)/.4);color:hsl(var(--success))}
.ai-pill.warn{background:#f59e0b1a;border-color:#f59e0b88;color:#b45309}
.ai-pill.off{background:hsl(var(--destructive)/.1);border-color:hsl(var(--destructive)/.4);color:hsl(var(--destructive))}
.ai-meter{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:hsl(var(--muted-foreground));cursor:pointer;padding:3px 6px;border-radius:20px}
.ai-meter:hover{background:hsl(var(--muted))}
.ai-meter .bar{width:56px;height:6px;border-radius:3px;background:hsl(var(--border));overflow:hidden}
.ai-meter .bar i{display:block;height:100%;background:hsl(var(--success));border-radius:3px}
.ai-meter.warn .bar i{background:#f59e0b}
.ai-meter.bad .bar i{background:hsl(var(--destructive))}

/* ── akış ── */
.ai-scroll{flex:1;overflow:auto;min-height:0;scroll-behavior:smooth}
.ai-thread{max-width:860px;margin:0 auto;padding:18px 18px 8px;display:flex;flex-direction:column;gap:16px}
.ai-msg{display:flex;gap:10px;align-items:flex-start;min-width:0}
.ai-msg .av{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px;margin-top:1px}
.ai-msg.user{flex-direction:row-reverse}
.ai-msg.user .av{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}
.ai-msg.asst .av{background:hsl(var(--primary)/.14);color:hsl(var(--primary))}
.ai-msg .body{min-width:0;max-width:100%}
.ai-msg.user .body{background:hsl(var(--primary)/.1);border:1px solid hsl(var(--primary)/.25);border-radius:14px 4px 14px 14px;padding:9px 13px;white-space:pre-wrap;word-break:break-word;max-width:78%;line-height:1.5}
.ai-msg.asst .body{flex:1}
.ai-msg .who{font-size:11px;color:hsl(var(--muted-foreground));margin:4px 0 6px;display:flex;gap:8px;align-items:center}
.ai-md{line-height:1.58;word-break:break-word}
.ai-md p{margin:0 0 10px}.ai-md p:last-child{margin-bottom:0}
.ai-md h1,.ai-md h2,.ai-md h3,.ai-md h4{margin:14px 0 8px;line-height:1.3;font-weight:650}
.ai-md h1{font-size:17px}.ai-md h2{font-size:15.5px}.ai-md h3{font-size:14px}.ai-md h4{font-size:13.5px}
.ai-md ul,.ai-md ol{margin:4px 0 10px;padding-left:22px}.ai-md li{margin:3px 0}
.ai-md code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.3px;background:hsl(var(--muted));padding:1px 5px;border-radius:4px}
.ai-md pre{background:hsl(var(--muted)/.6);border:1px solid hsl(var(--border));border-radius:9px;padding:10px 12px;overflow:auto;margin:6px 0 10px}
.ai-md pre code{background:none;padding:0;font-size:12.3px}
.ai-md table{border-collapse:separate;border-spacing:0;margin:6px 0 12px;font-size:12.8px;max-width:100%;display:block;overflow:auto;border:1px solid hsl(var(--border));border-radius:9px}
.ai-md th,.ai-md td{padding:7px 11px;text-align:left;vertical-align:top;border-bottom:1px solid hsl(var(--border));border-right:1px solid hsl(var(--border))}
.ai-md th:last-child,.ai-md td:last-child{border-right:0}
.ai-md tr:last-child td{border-bottom:0}
.ai-md th{background:hsl(var(--muted)/.7);font-weight:600;color:hsl(var(--muted-foreground))}
.ai-md blockquote{border-left:3px solid hsl(var(--primary)/.5);margin:6px 0 10px;padding:2px 12px;color:hsl(var(--muted-foreground))}
.ai-md a{color:hsl(var(--primary))}
.ai-md hr{border:0;border-top:1px solid hsl(var(--border));margin:12px 0}
.ai-md img{max-width:100%;border-radius:9px;border:1px solid hsl(var(--border))}
.ai-cursor::after{content:'▍';color:hsl(var(--primary));animation:ai-blink 1s steps(2) infinite;margin-left:1px}
@keyframes ai-blink{to{opacity:0}}
@keyframes ai-spin{to{transform:rotate(360deg)}}
.ai-spin{animation:ai-spin 1s linear infinite;display:inline-block}
.ai-think{border:1px solid hsl(var(--border));border-left:3px solid hsl(var(--primary)/.45);background:hsl(var(--card));border-radius:9px;margin:0 0 10px;font-size:12.5px;overflow:hidden}
.ai-think .hd{display:flex;align-items:center;gap:7px;padding:6px 10px;cursor:pointer;color:hsl(var(--muted-foreground));user-select:none}
.ai-think .hd:hover{background:hsl(var(--muted)/.5)}
.ai-think .bd{display:none;padding:2px 12px 10px;white-space:pre-wrap;color:hsl(var(--muted-foreground));line-height:1.5;max-height:320px;overflow:auto}
.ai-think.open .bd{display:block}
/* ADIM LİSTESİ — araç çağrıları alt alta düzinelerce kart olarak yığılıyordu; ekran doluyor ve
   "şu an ne yapıyor" kayboluyordu. Artık ardışık çağrılar TEK bir kutuda, solda hiyerarşi rayıyla
   toplanır: biten adımlar tek satır, çalışan adım vurgulu; başlığa tıklayınca hepsi katlanır. */
.ai-steps{border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--card));margin:8px 0;overflow:hidden}
.ai-steps>.sh{display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;user-select:none;font-size:12px;color:hsl(var(--muted-foreground));background:hsl(var(--muted)/.35)}
.ai-steps>.sh:hover{background:hsl(var(--muted)/.6)}
.ai-steps>.sh .cnt{font-weight:600;color:hsl(var(--foreground))}
.ai-steps>.sh .cur{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11.5px}
.ai-steps>.sh .caret{margin-left:auto;transition:transform .15s}
.ai-steps.folded>.sh .caret{transform:rotate(-90deg)}
.ai-steps>.sb{padding:2px 0 4px 0}
.ai-steps.folded>.sb{display:none}
/* Hiyerarşi rayı: her adım soldaki dikey çizgiye bağlı bir dal */
.ai-steps .ai-tool{border:0;border-radius:0;background:transparent;margin:0;position:relative;padding-left:26px}
.ai-steps .ai-tool::before{content:"";position:absolute;left:12px;top:0;bottom:0;width:1px;background:hsl(var(--border))}
.ai-steps .ai-tool::after{content:"";position:absolute;left:12px;top:16px;width:9px;height:1px;background:hsl(var(--border))}
.ai-steps .ai-tool:last-child::before{bottom:auto;height:16px}
.ai-steps .ai-tool .hd{padding:4px 10px 4px 4px}
.ai-steps .ai-tool .hd .ico{width:19px;height:19px;font-size:11px;border-radius:5px}
.ai-steps .ai-tool.run .hd .nm{color:hsl(var(--primary))}
.ai-steps .ai-tool .bd{border-top:0;background:transparent;padding:2px 10px 8px 4px}
.ai-tool{border:1px solid hsl(var(--border));border-radius:10px;background:hsl(var(--card));margin:6px 0;overflow:hidden;font-size:12.5px}
.ai-tool .hd{display:flex;align-items:center;gap:8px;padding:7px 10px;cursor:pointer;user-select:none;min-width:0}
.ai-tool .hd:hover{background:hsl(var(--muted)/.5)}
.ai-tool .hd>i{color:hsl(var(--primary));font-size:14px;flex-shrink:0}
.ai-tool .hd .nm{font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.ai-tool .hd .st{margin-left:auto;font-size:11px;color:hsl(var(--muted-foreground));display:flex;gap:5px;align-items:center;flex-shrink:0}
.ai-tool .hd .chip{flex-shrink:0}
.ai-tool .bd{display:none;border-top:1px solid hsl(var(--border));padding:8px 10px;background:hsl(var(--background))}
.ai-tool.open .bd{display:block}
.ai-tool .bd .lb{font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:hsl(var(--muted-foreground));margin:4px 0}
.ai-tool .bd pre{margin:0 0 6px;max-height:280px;overflow:auto;background:hsl(var(--muted)/.5);border-radius:7px;padding:8px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11.5px;white-space:pre-wrap;word-break:break-word}
.ai-tool .bd img{max-width:100%;border-radius:7px;border:1px solid hsl(var(--border))}
.ai-tool.err .hd .nm{color:hsl(var(--destructive))}
.ai-sysnote{font-size:11.5px;color:hsl(var(--muted-foreground));display:flex;align-items:center;gap:8px}
.ai-sysnote::before,.ai-sysnote::after{content:'';flex:1;border-top:1px dashed hsl(var(--border))}

/* boş durum */
.ai-empty{max-width:720px;margin:6vh auto 0;padding:0 18px;text-align:center}
.ai-empty .logo{width:52px;height:52px;border-radius:14px;background:hsl(var(--primary)/.12);color:hsl(var(--primary));display:inline-flex;align-items:center;justify-content:center;font-size:26px}
.ai-empty h1{font-size:19px;margin:14px 0 6px;font-weight:650}
.ai-empty p{color:hsl(var(--muted-foreground));margin:0 0 18px;font-size:13px}
.ai-sugs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:9px;text-align:left}
.ai-sug{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:11px;padding:11px 13px;cursor:pointer;display:flex;gap:10px;align-items:flex-start;transition:border-color .12s,background .12s}
.ai-sug:hover{border-color:hsl(var(--primary)/.6);background:hsl(var(--primary)/.05)}
.ai-sug i{color:hsl(var(--primary));font-size:18px;margin-top:1px;flex-shrink:0}
.ai-sug b{display:block;font-size:13px;margin-bottom:2px}
.ai-sug span{font-size:12px;color:hsl(var(--muted-foreground));line-height:1.35}

/* yazma alanı */
.ai-compose{border-top:1px solid hsl(var(--border));background:hsl(var(--card));padding:10px 12px 10px;flex-shrink:0}
.ai-compose .in{max-width:860px;margin:0 auto}
.ai-box{display:flex;align-items:flex-end;gap:8px;border:1px solid hsl(var(--input));border-radius:12px;background:hsl(var(--background));padding:7px 7px 7px 13px;transition:border-color .12s,box-shadow .12s}
.ai-box:focus-within{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary)/.18)}
.ai-box textarea{flex:1;border:0;background:transparent;color:inherit;font:inherit;font-size:13.5px;resize:none;outline:none;max-height:200px;min-height:24px;line-height:1.45;padding:4px 0}
.ai-box textarea::placeholder{color:hsl(var(--muted-foreground))}
.ai-send{width:34px;height:34px;border-radius:9px;border:0;background:hsl(var(--primary));color:hsl(var(--primary-foreground));cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.ai-send:hover{filter:brightness(1.07)}
.ai-send:disabled{opacity:.45;cursor:default}
.ai-send.stop{background:hsl(var(--destructive))}
.ai-hint{display:flex;gap:10px;align-items:center;font-size:11px;color:hsl(var(--muted-foreground));margin-top:6px;flex-wrap:wrap}
.ai-hint .sp{flex:1}
.ai-err{margin:0 12px 8px;padding:8px 12px;border-radius:9px;background:hsl(var(--destructive)/.1);border:1px solid hsl(var(--destructive)/.4);color:hsl(var(--destructive));font-size:12.5px;display:none;align-items:center;gap:10px}
.ai-err.soft{background:#f59e0b14;border-color:#f59e0b88;color:#b45309}
.ai-err span{flex:1}
.ai-err .kg-btn{padding:4px 9px;font-size:12px}

/* ── açılır: menü + model seçici ── */
.ai-pop{position:fixed;z-index:1200;background:hsl(var(--popover,var(--card)));color:hsl(var(--popover-foreground,var(--foreground)));border:1px solid hsl(var(--border));border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.2);display:none}
.ai-pop.on{display:flex;flex-direction:column}
.ai-menu{min-width:200px;padding:4px}
.ai-menu button{display:flex;align-items:center;gap:9px;width:100%;text-align:left;border:0;background:none;padding:8px 11px;border-radius:7px;cursor:pointer;font-size:13px;color:inherit}
.ai-menu button:hover{background:hsl(var(--muted))}
.ai-menu button i{color:hsl(var(--muted-foreground));font-size:15px}
.ai-menu button.danger,.ai-menu button.danger i{color:hsl(var(--destructive))}
.ai-menu hr{border:0;border-top:1px solid hsl(var(--border));margin:4px 0}
.ai-picker{width:min(400px,94vw);max-height:70vh;overflow:hidden}
.ai-picker .ph2{display:flex;gap:6px;padding:8px;border-bottom:1px solid hsl(var(--border))}
.ai-picker select,.ai-picker input{font:inherit;font-size:13px;color:inherit;background:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:7px;padding:6px 9px;outline:none;min-width:0}
.ai-picker select{flex:0 0 150px}
.ai-picker input{flex:1}
.ai-picker .list{overflow:auto;padding:4px;flex:1}
.ai-picker .it{display:flex;align-items:center;gap:8px;padding:6px 9px;border-radius:7px;cursor:pointer;font-size:12.5px}
.ai-picker .it:hover{background:hsl(var(--muted))}
.ai-picker .it.on{background:hsl(var(--primary)/.12);font-weight:600}
.ai-picker .it i{color:hsl(var(--muted-foreground))}
.ai-picker .it .id{font-family:ui-monospace,Menlo,Consolas,monospace;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.ai-picker .it .cx{font-size:10.5px;color:hsl(var(--muted-foreground))}
.ai-picker .foot{padding:6px 8px;border-top:1px solid hsl(var(--border));display:flex;gap:6px;align-items:center}
.ai-picker .foot input{font-size:12px}

/* ── paneller (ayarlar / araçlar): kökün içinde tam-alan ── */
.ai-panel{position:absolute;inset:0;background:hsl(var(--background));display:none;flex-direction:column;z-index:8}
.ai-panel.on{display:flex}
.ai-panel .ai-phd{display:flex;align-items:center;gap:10px;padding:0 14px;height:48px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--card));flex-shrink:0}
.ai-panel .ai-phd>i{font-size:18px;color:hsl(var(--primary))}
.ai-panel .ai-phd .ttl{flex:1;font-weight:650;font-size:14px}
.ai-panel .pb{flex:1;overflow:auto;padding:16px;min-height:0}
.ai-panel .pb .in{max-width:900px;margin:0 auto}
.ai-tabs{display:flex;gap:2px;padding:0 10px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--card));overflow:auto;flex-shrink:0}
.ai-tabs button{border:0;background:none;padding:10px 12px;cursor:pointer;border-bottom:2px solid transparent;color:hsl(var(--muted-foreground));font-weight:500;font-size:13px;white-space:nowrap;display:inline-flex;gap:6px;align-items:center}
.ai-tabs button:hover{color:hsl(var(--foreground))}
.ai-tabs button.on{color:hsl(var(--primary));border-bottom-color:hsl(var(--primary));font-weight:600}
.ai-panel .kg-card{margin-bottom:14px}
.ai-panel .kg-card .kg-card-head p,.ai-wizard .kg-card-head p{margin:2px 0 0;font-size:12px;color:hsl(var(--muted-foreground));font-weight:400}
.ai-panel .kg-card-body,.ai-wizard .kg-card-body{padding:14px 16px}
.ai-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px 14px}
.ai-grid .kg-field{margin:0}
.ai-panel .kg-field textarea{width:100%;background:hsl(var(--background));color:hsl(var(--foreground));border:1px solid hsl(var(--input));padding:8px 11px;border-radius:8px;font-size:13px;font-family:inherit;line-height:1.45;resize:vertical}
.ai-panel .kg-field textarea.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.3px;min-height:240px}
.ai-panel .kg-field .row,.ai-wizard .kg-field .row{display:flex;gap:6px;align-items:center}
.ai-panel .kg-field .row input,.ai-panel .kg-field .row select,.ai-wizard .kg-field .row input,.ai-wizard .kg-field .row select{flex:1;min-width:0}
.ai-panel .kg-field .h,.ai-wizard .kg-field .h{display:block;font-size:11px;color:hsl(var(--muted-foreground));margin-top:4px}
.ai-sw{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:13px;padding:8px 10px;border:1px solid hsl(var(--border));border-radius:9px;background:hsl(var(--background))}
.ai-sw:hover{border-color:hsl(var(--primary)/.5)}
.ai-sw input{width:16px;height:16px;accent-color:hsl(var(--primary));margin-top:2px;flex-shrink:0}
.ai-sw .h{font-size:11.5px;color:hsl(var(--muted-foreground));margin-top:2px}
.ai-prof{border:1px solid hsl(var(--border));border-radius:11px;background:hsl(var(--background));margin-bottom:10px;overflow:hidden}
.ai-prof.active{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary)/.12)}
.ai-prof .hd{display:flex;align-items:center;gap:8px;padding:9px 12px;flex-wrap:wrap;cursor:pointer}
.ai-prof .hd:hover{background:hsl(var(--muted)/.4)}
.ai-prof .hd b{font-size:13.5px}
.ai-prof .hd .kg-spacer{flex:1}
.ai-prof .hd input[type=radio]{accent-color:hsl(var(--primary));width:15px;height:15px;cursor:pointer}
.ai-prof .bd{border-top:1px solid hsl(var(--border));padding:12px}
.ai-prof .note{font-size:12px;color:hsl(var(--muted-foreground));margin-top:10px;padding:8px 10px;background:hsl(var(--muted)/.5);border-radius:8px}
.ai-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin:6px 0 12px}
.ai-gal{border:1px solid hsl(var(--border));border-radius:10px;padding:10px 12px;cursor:pointer;background:hsl(var(--background));transition:border-color .12s,background .12s}
.ai-gal:hover{border-color:hsl(var(--primary));background:hsl(var(--primary)/.05)}
.ai-gal b{display:block;font-size:13px}
.ai-gal span{font-size:11px;color:hsl(var(--muted-foreground));display:block;margin-top:2px;line-height:1.35}
.ai-galhd{font-size:10px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:hsl(var(--muted-foreground));margin:12px 0 4px;display:flex;align-items:center;gap:6px}
.ai-note{font-size:12.5px;padding:9px 12px;border-radius:9px;background:hsl(var(--muted)/.6);color:hsl(var(--muted-foreground));margin-bottom:10px}
.ai-note.ok{background:hsl(var(--success)/.12);color:hsl(var(--success))}
.ai-note.bad{background:hsl(var(--destructive)/.1);color:hsl(var(--destructive))}
.ai-note.warn{background:#f59e0b1a;color:#b45309}
.ai-srv{border:1px solid hsl(var(--border));border-radius:10px;padding:12px;margin-bottom:8px;background:hsl(var(--background))}
.ai-tools-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px;font-size:12px}
.ai-tools-list div{padding:6px 9px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11.5px}
.ai-tools-list div i{color:hsl(var(--primary));margin-right:5px}
.ai-tools-list div.w i{color:#b45309}
.ai-skill{border:1px solid hsl(var(--border));border-radius:10px;padding:10px 12px;margin-bottom:8px;background:hsl(var(--background))}
.ai-skill .hd{display:flex;align-items:center;gap:8px}
.ai-skill .hd b{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.ai-skill .ds{font-size:12px;color:hsl(var(--muted-foreground));margin-top:4px}
.ai-skill.edit{border-color:hsl(var(--primary))}
.ai-savebar{position:sticky;bottom:0;display:flex;gap:8px;justify-content:flex-end;align-items:center;padding:12px 0 2px;background:linear-gradient(transparent,hsl(var(--background)) 35%)}
.ai-root .kg-btn.sm{padding:5px 9px;font-size:12px}
.ai-toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%) translateY(20px);background:hsl(var(--foreground));color:hsl(var(--background));padding:8px 14px;border-radius:8px;font-size:13px;opacity:0;transition:.2s;pointer-events:none;z-index:1300}
.ai-toast.show{opacity:1;transform:translateX(-50%)}

/* ── durum satırı (shimmer) + tıklanabilir referanslar ── */
.ai-status{margin-top:6px}
.ai-shimmer{display:inline-block;font-size:12px;font-weight:500;background:linear-gradient(90deg,hsl(var(--muted-foreground)) 0%,hsl(var(--foreground)) 45%,hsl(var(--primary)) 50%,hsl(var(--foreground)) 55%,hsl(var(--muted-foreground)) 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:ai-shimmer 1.6s linear infinite}
@keyframes ai-shimmer{0%{background-position:120% 0}100%{background-position:-120% 0}}
.ai-md code.ai-ref{cursor:pointer;color:hsl(var(--primary));background:hsl(var(--primary)/.1);border:1px solid hsl(var(--primary)/.25);padding:1px 7px 1px 5px;border-radius:6px;transition:background .12s}
.ai-md code.ai-ref::before{content:'⌖';margin-right:4px;font-size:11px;opacity:.75}
.ai-md code.ai-ref:hover{background:hsl(var(--primary)/.2)}
.kg-node.ai-off,#aiBtn.ai-off{opacity:.55}

/* ── ekler ── */
.ai-attach{width:30px;height:30px;flex-shrink:0;align-self:center;color:hsl(var(--muted-foreground))}
.ai-atts{display:none;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.ai-att{display:inline-flex;align-items:center;gap:6px;border:1px solid hsl(var(--border));background:hsl(var(--background));border-radius:8px;padding:3px 4px 3px 4px;font-size:12px;max-width:220px}
.ai-att img{width:34px;height:34px;object-fit:cover;border-radius:5px}
.ai-att i.ph-file{font-size:18px;color:hsl(var(--primary));padding:0 4px}
.ai-att .n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}
.ai-att button{border:0;background:none;cursor:pointer;color:hsl(var(--muted-foreground));width:22px;height:22px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center}
.ai-att button:hover{background:hsl(var(--muted));color:hsl(var(--destructive))}
.ai-compose.drag .ai-box{border-color:hsl(var(--primary));background:hsl(var(--primary)/.06)}
.ai-msg-atts{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.ai-msg-atts img{width:120px;height:90px;object-fit:cover;border-radius:8px;border:1px solid hsl(var(--border));display:block}
.ai-msg-atts a.chip{display:inline-flex;align-items:center;gap:5px;text-decoration:none;color:inherit}

/* ── araç kartı kategorileri, rozetler, tablo sonuçlar, kopyalama ── */
.ai-tool .hd .ico{width:24px;height:24px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-size:13px}
.ai-tool.cat-write .hd .ico{background:#f59e0b22;color:#b45309}
.ai-tool.cat-scada .hd .ico{background:#7c3aed1f;color:#7c3aed}
.ai-tool.cat-net .hd .ico{background:#0ea5e91f;color:#0284c7}
.ai-tool.cat-alarm .hd .ico{background:#e5484d1f;color:#e5484d}
.ai-tool.cat-hist .hd .ico{background:#10b9811f;color:#059669}
.ai-tool.cat-sys .hd .ico{background:hsl(var(--primary)/.15);color:hsl(var(--primary))}
.ai-tool.cat-ext .hd .ico{background:hsl(var(--primary)/.15);color:hsl(var(--primary))}
.ai-tool.cat-skill .hd .ico{background:#6366f11f;color:#4f46e5}
.ai-tool .hd .as{font-size:11.5px;color:hsl(var(--muted-foreground));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}
.ai-tool .hd .chip.w{background:#f59e0b22;color:#b45309}
.ai-badge{display:inline-block;font-size:11px;font-weight:600;padding:1px 8px;border-radius:999px;line-height:1.6}
.ai-badge.ok{background:hsl(var(--success)/.14);color:hsl(var(--success))}
.ai-badge.bad{background:hsl(var(--destructive)/.12);color:hsl(var(--destructive))}
.ai-badge.warn{background:#f59e0b22;color:#b45309}
.ai-badge.muted{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}
.ai-tbl{overflow:auto;border:1px solid hsl(var(--border));border-radius:8px;margin:2px 0 4px;max-height:360px}
.ai-tbl .kg-table{width:100%;font-size:12px;border-collapse:collapse}
.ai-tbl .kg-table th{position:sticky;top:0;background:hsl(var(--card));z-index:1;font-size:11px;text-transform:uppercase;letter-spacing:.4px}
.ai-tbl .kg-table th,.ai-tbl .kg-table td{padding:6px 10px;white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis}
.ai-tbl .num{font-variant-numeric:tabular-nums}
.ai-kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;font-size:12.5px;padding:4px 2px}
.ai-kv .k{color:hsl(var(--muted-foreground))}
.ai-kv .v{word-break:break-word}
.mut{color:hsl(var(--muted-foreground))}
.ai-md pre,.ai-tool .bd pre{position:relative}
.ai-md pre .cp,.ai-tool .bd pre .cp{position:absolute;top:6px;right:6px;width:26px;height:26px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--card));color:hsl(var(--muted-foreground));cursor:pointer;display:none;align-items:center;justify-content:center}
.ai-md pre:hover .cp,.ai-tool .bd pre:hover .cp{display:inline-flex}
.ai-msg.asst .acts{opacity:0;transition:opacity .12s;align-self:flex-start;margin-top:2px}
.ai-msg.asst:hover .acts{opacity:1}
.ai-msg.asst .body>.ai-md:first-child{padding-top:3px}

/* ── yazma onayı ── */
.ai-tool.pending{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b22}
.ai-confirm{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;padding:10px 12px;border-radius:9px;background:#f59e0b14;border:1px solid #f59e0b66;font-size:12.5px}
.ai-confirm>i{font-size:18px;color:#b45309}
/* GERİ ALINAMAZ İŞLEM: sarı "onay" kartından ayırt edilsin — kullanıcı alışkanlıkla onaylamasın. */
.ai-confirm.ai-critical{background:hsl(var(--destructive)/.10);border-color:hsl(var(--destructive)/.55)}
.ai-confirm.ai-critical>i{color:hsl(var(--destructive))}
/* Sembol önizlemesi: kullanıcı kütüphaneye girecek ÇİZİMİ görsün (ham SVG metnini değil). */
.ai-symprev{margin:8px 0;border:1px solid hsl(var(--border));border-radius:8px;background:#fff;overflow:hidden}
.ai-symprev iframe{display:block;width:100%;height:170px;border:0;background:#fff}
.ai-confirm>span{flex:1;min-width:160px}
.ai-confirm .kg-btn{padding:5px 11px;font-size:12px}
.ai-confirm .kg-btn.danger{color:hsl(var(--destructive));border-color:hsl(var(--destructive)/.4)}
/* kurulum sihirbazı (sohbet alanında; .ai-panel dışında) — dar dock'ta tek kolon, satır içi göz/test düğmeleri */
.ai-wizard{padding:0 14px 14px}
.ai-wizard .kg-card{max-width:640px;margin:3vh auto 0;width:100%}
.ai-wizard .kg-card-head{display:flex;align-items:flex-start;gap:10px;padding:14px 16px 10px;border-bottom:1px solid hsl(var(--border))}
.ai-wizard .kg-card-head h3{margin:0;font-size:15px;font-weight:650;display:flex;align-items:center;gap:7px}
.ai-wizard .kg-field{margin:0 0 12px}
.ai-wizard .kg-field label{display:block;font-size:11.5px;font-weight:600;color:hsl(var(--muted-foreground));margin-bottom:5px}
.ai-wizard .kg-field input,.ai-wizard .kg-field select{width:100%;height:34px;background:hsl(var(--background));color:hsl(var(--foreground));border:1px solid hsl(var(--input));padding:6px 10px;border-radius:8px;font-size:13px;font-family:inherit}
.ai-wizard .kg-field .row .kg-btn{flex:none;height:34px;white-space:nowrap}
.ai-wizard .kg-field .row .kg-iconbtn{width:34px;padding:0;display:inline-flex;align-items:center;justify-content:center}
.ai-wizard .kg-field .h a{color:hsl(var(--primary));text-decoration:none}
.ai-wizard .ai-grid{margin-top:0}
.ai-wizard .foot{display:flex;gap:8px;justify-content:flex-end;margin-top:6px;align-items:center;flex-wrap:wrap}
@media (max-width:520px){ .ai-wizard .ai-grid{grid-template-columns:1fr} }
/* Ayrı pencere / dar dock (≤ 640px): ayar kartları tek kolon, kart başlığı alt alta, düğmeler sığar */
.ai-panel .kg-card-head{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}
.ai-panel .kg-card-head>div:first-child{flex:1 1 220px;min-width:0}
.ai-panel .kg-card-head .kg-btn{white-space:nowrap}
.ai-panel .ai-phd .kg-btn{flex:none}
.ai-panel .ai-phd .ttl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:640px){
  .ai-panel .kg-card-head{flex-direction:column}
  .ai-panel .kg-card-head>div:last-child{display:flex;gap:6px;flex-wrap:wrap;width:100%}
  .ai-panel .kg-card-head .kg-btn{flex:1 1 auto;justify-content:center}
  .ai-panel .ai-grid{grid-template-columns:1fr}
  .ai-panel .pb .in{padding:10px}
  .ai-panel .kg-card-body{padding:12px}
  .ai-panel .ai-phd .ttl{font-size:13px}
}
/* Ayrı pencere: ayar/araç paneli geçmiş kenar çubuğu dahil TÜM pencereyi kaplar (dar pencerede sıkışmaz);
   760px altında geçmiş listesi çekmece olur (liste düğmesiyle açılır). */
.ai-root.ai-standalone .ai-panel{position:fixed;inset:0}
@media (max-width:760px){
  .ai-root.ai-standalone .ai-hist{position:absolute;left:0;top:0;bottom:0;z-index:6;width:min(300px,86%);box-shadow:8px 0 24px rgba(0,0,0,.16);transform:translateX(-102%);transition:transform .18s ease}
  .ai-root.ai-standalone .ai-hist.on{transform:none}
}
/* Masaüstü kabuğu: pencere düğmeleri çubuğu dock'un üstünde durur; dock içeriği o kadar aşağıdan başlar (üst şerit kart rengi) */
.kg-aidock.shell-pad::before{content:"";position:absolute;left:0;right:0;top:0;height:var(--mh-shell-h,56px);background:hsl(var(--card));border-bottom:1px solid hsl(var(--border))}
/* ✨ düğmesi: kapalıyken vurgu rengi; dock AÇIKKEN dolgu vurgu, ikon açık renk (aynı renk üst üste → görünmez olmasın) */
#aiBtn{color:hsl(var(--primary))}
#aiBtn.on,#aiBtn.on:hover{background:hsl(var(--primary));border-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}
#aiBtn.on i{color:hsl(var(--primary-foreground))}
@media (max-width:640px){ .ai-tabs{flex-wrap:wrap;overflow:visible} .ai-tabs button{padding:8px 10px;font-size:12.5px} }
@media (max-width:640px){ .ai-panel .kg-card-head>div:first-child{flex:0 0 auto} }
/* onay kartı: hatırlama seçenekleri + kalıcı izin listesi */
.ai-confirm .rem{display:flex;flex-direction:column;gap:3px;flex-basis:100%;font-size:11.5px;color:hsl(var(--muted-foreground))}
.ai-confirm .rem label{display:flex;gap:6px;align-items:center;cursor:pointer}
.ai-autolist{display:flex;flex-wrap:wrap;gap:6px;min-height:22px}
.ai-autolist .chip{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;background:hsl(var(--success)/.12);color:hsl(var(--success));font-size:12px;font-family:ui-monospace,Menlo,Consolas,monospace}
.ai-autolist .chip a{color:inherit;text-decoration:none;font-weight:700}
/* veri işleme onayı kartı */
.ai-consent{border:1px solid hsl(var(--border));border-radius:12px;padding:12px 14px;background:hsl(var(--card));display:flex;flex-direction:column;gap:8px;font-size:12.5px}
.ai-consent.ok{border-color:hsl(var(--success)/.5)}
.ai-consent .hd{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ai-consent .hd>i{font-size:18px;color:hsl(var(--primary))}
.ai-consent .hd b{font-size:13px}
.ai-consent .st{font-size:11.5px;color:#b45309}
.ai-consent .st.ok{color:hsl(var(--success))}
.ai-consent .tx{line-height:1.5;color:hsl(var(--muted-foreground))}
.ai-consent .tx a{color:hsl(var(--primary))}
.ai-consent .full{line-height:1.55;font-size:12px;padding:10px 12px;border-radius:9px;background:hsl(var(--muted)/.4);max-height:260px;overflow:auto}
.ai-consent .ck{display:flex;gap:8px;align-items:flex-start;font-weight:600;cursor:pointer}
.ai-consent .ck input{margin-top:2px}
.ai-consent .ft{display:flex;justify-content:flex-end}
.ai-consent.shake{animation:ai-shake .5s}
@keyframes ai-shake{20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}
/* kurulum sonrası bağlanma kartı */
.ai-onb{max-width:520px;margin:6vh auto 0;padding:18px 20px;border:1px solid hsl(var(--border));border-radius:14px;background:hsl(var(--card));display:flex;gap:16px;align-items:flex-start}
.ai-onb .logo{width:44px;height:44px;border-radius:12px;background:hsl(var(--primary)/.12);color:hsl(var(--primary));display:flex;align-items:center;justify-content:center;font-size:22px;flex:none;animation:ai-glow 1.4s ease-in-out infinite}
@keyframes ai-glow{50%{box-shadow:0 0 0 8px hsl(var(--primary)/.12)}}
.ai-onb .lines{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}
.ai-onb .ln{display:flex;align-items:center;gap:8px;font-size:13px;color:hsl(var(--muted-foreground))}
.ai-onb .ln .ic{font-size:16px;color:hsl(var(--primary))}
.ai-onb .ln.ok{color:hsl(var(--foreground))}
.ai-onb .ln.ok .ic{color:hsl(var(--success))}
.ai-onb .ln.bad .ic{color:hsl(var(--destructive))}
.ai-onb .ln .v{margin-left:auto;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
/* uyum defteri */
.ai-ledger{margin-top:12px;border-top:1px dashed hsl(var(--border));padding-top:10px;display:flex;flex-direction:column;gap:6px;font-size:12px}
.ai-ledger .hd{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ai-ledger .hd>i{color:hsl(var(--primary));font-size:16px}
.ai-ledger .st{font-size:11.5px;margin-left:auto;color:hsl(var(--muted-foreground))}
.ai-ledger .st.ok{color:hsl(var(--success))}
.ai-ledger .st.bad{color:hsl(var(--destructive));font-weight:700}
.ai-ledger .h{font-size:11.5px;color:hsl(var(--muted-foreground));line-height:1.45}
.ai-ledger .rows{max-height:220px;overflow:auto;border:1px solid hsl(var(--border));border-radius:8px}
.ai-ledger .row{display:grid;grid-template-columns:130px 130px 90px 1fr;gap:8px;padding:4px 8px;border-bottom:1px solid hsl(var(--border)/.5);font-size:11.5px;align-items:baseline}
.ai-ledger .row .ts{color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums;white-space:nowrap}
.ai-ledger .row .k{font-family:ui-monospace,Menlo,Consolas,monospace;color:hsl(var(--primary))}
.ai-ledger .row .u{font-weight:600;overflow:hidden;text-overflow:ellipsis}
.ai-ledger .row .d{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* sohbet içi yazma izni kartı */
.ai-confirm.ai-perm{flex-wrap:wrap}
.ai-confirm.ai-perm>span{flex:1 1 100%}
.ai-confirm.ai-perm .rs{font-size:11.5px;color:hsl(var(--muted-foreground));margin-top:3px}
.ai-confirm.ai-perm .rs.warn{color:#b45309}
.ai-permexp{margin-top:12px;padding:10px 12px;border-radius:9px;background:hsl(var(--primary)/.06);font-size:12px;line-height:1.55}
.ai-permexp b{display:block;margin-bottom:4px}

/* Betik kum havuzu kartı (Ayarlar › Davranış) */
.ai-script{display:flex;flex-direction:column;gap:8px;border:1px solid hsl(var(--border));border-radius:10px;padding:12px;margin-top:12px;background:hsl(var(--muted)/.25)}
.ai-script .hd{display:flex;align-items:center;gap:8px;font-size:13px}
.ai-script .hd .st{margin-left:auto;font-size:11px;padding:2px 8px;border-radius:999px;background:hsl(var(--muted));color:hsl(var(--muted-foreground))}
.ai-script .hd .st.ok{background:hsl(142 70% 45%/.15);color:hsl(142 70% 35%)}
.ai-script .h{font-size:11.5px;color:hsl(var(--muted-foreground));line-height:1.5}
.ai-script .chips{display:flex;flex-wrap:wrap;gap:6px}
.ai-script .chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:3px 8px;border-radius:999px;border:1px solid hsl(var(--border));background:hsl(var(--background))}
.ai-script .chip.ok{color:hsl(142 70% 35%);border-color:hsl(142 70% 45%/.4)}
.ai-script .chip.bad{color:hsl(0 72% 51%);border-color:hsl(0 72% 51%/.4)}
.ai-script .row2{display:flex;gap:8px;flex-wrap:wrap}
.ai-script .row2 label{flex:1;min-width:120px;display:flex;flex-direction:column;gap:4px;font-size:11.5px;color:hsl(var(--muted-foreground))}
.ai-script input[type=number],.ai-script textarea{width:100%;padding:6px 8px;border:1px solid hsl(var(--border));border-radius:8px;background:hsl(var(--background));color:hsl(var(--foreground));font-size:12px;font-family:inherit}
.ai-script textarea{font-family:ui-monospace,Consolas,monospace;resize:vertical}
.ai-script .acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.ai-script .ai-btn.danger{background:hsl(0 72% 51%);color:#fff;border-color:hsl(0 72% 51%)}
.ai-risk{border:1px solid hsl(var(--border));border-radius:8px;padding:8px 10px;background:hsl(var(--background))}
.ai-risk summary{cursor:pointer;font-size:12px;font-weight:600}
.ai-risk>div{font-size:11.5px;line-height:1.6;color:hsl(var(--muted-foreground));margin-top:8px}
.ai-ck{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.45;cursor:pointer}
.ai-ck input{margin-top:2px}

/* Onay kartı: "ne olacak" özeti (betikte kodun kendisi) */
.ai-intent{margin:8px 0;border:1px solid hsl(var(--border));border-radius:9px;padding:9px 11px;background:hsl(var(--background));display:flex;flex-direction:column;gap:6px}
.ai-intent .rs{font-size:12.5px;line-height:1.5}
.ai-intent .lg{font-size:11.5px;color:hsl(var(--muted-foreground));display:flex;align-items:center;gap:6px}
.ai-intent .kv{display:flex;gap:8px;font-size:12px;align-items:baseline}
.ai-intent .kv span{color:hsl(var(--muted-foreground));min-width:96px;flex:none}
.ai-intent .kv b{font-weight:600;word-break:break-word}
.ai-intent .warn{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:hsl(0 72% 51%)}
.ai-intent .code{margin:0;padding:9px 10px;border-radius:8px;background:hsl(var(--muted)/.5);font-family:ui-monospace,Consolas,monospace;font-size:11.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow:auto}
.ai-intent.script{border-color:hsl(32 95% 44%/.5)}

.ai-script .h.note{display:flex;gap:6px;align-items:flex-start;color:hsl(32 95% 34%)}

.ai-intent .tg{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding-bottom:6px;border-bottom:1px solid hsl(var(--border))}

/* ── ALT AJAN ── Uzun araştırma işi ayrı bağlamda koşarken kullanıcı sessizlikte kalmasın:
   run_subagent kartının içinde canlı ilerleme satırı (tur / araç / bitiş + token-maliyet). */
.ai-subrun{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted,#64748b);
  padding:6px 8px;margin:0 0 6px;border-radius:8px;background:rgba(99,102,241,.08);
  border:1px solid rgba(99,102,241,.18)}
.ai-subrun .ph{font-size:14px;color:#6366f1}

/* ── BAĞLAYICI DİZİNİ ── Dış sunucu eklemek eskiden boş bir ad/adres/anahtar satırı doldurmaktı;
   kullanıcı hangi adresi yazacağını bilmiyordu. Dizin, kartla seçilen hazır bağlayıcıları sunar. */
.ai-dirbar{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.ai-dirbar>input{width:100%;padding:9px 12px;border:1px solid hsl(var(--border));border-radius:9px;
  background:hsl(var(--background));color:inherit;font-size:13px}
.ai-chips{display:flex;flex-wrap:wrap;gap:6px}
.ai-chip{padding:4px 12px;border:1px solid hsl(var(--border));border-radius:999px;background:transparent;
  color:hsl(var(--muted-foreground));font-size:12px;cursor:pointer}
.ai-chip.on{background:hsl(var(--primary));color:#fff;border-color:transparent}
.ai-dirgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.ai-dircard{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid hsl(var(--border));
  border-radius:11px;background:hsl(var(--card));cursor:pointer;text-align:left;position:relative}
.ai-dircard:hover{border-color:hsl(var(--primary));transform:translateY(-1px)}
.ai-dircard.on{border-color:#16a34a}
.ai-dircard .ic{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:17px;flex-shrink:0}
.ai-dircard .tx{display:flex;flex-direction:column;min-width:0;flex:1}
.ai-dircard .tx b{font-size:13px}
.ai-dircard .tx small{font-size:11px;color:hsl(var(--muted-foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-dircard .badge{font-size:9px;font-weight:700;letter-spacing:.5px;color:hsl(var(--muted-foreground));
  border:1px solid hsl(var(--border));border-radius:5px;padding:1px 5px;flex-shrink:0}
.ai-dircard .okmark{position:absolute;right:6px;top:6px;color:#16a34a;font-size:14px}
.ai-pill{font-size:11.5px;padding:5px 10px;border-radius:999px;background:hsl(var(--muted));
  color:hsl(var(--muted-foreground))}
.ai-pill.ok{background:rgba(22,163,74,.14);color:#16a34a}
.ai-srv.flash{outline:2px solid hsl(var(--primary));outline-offset:2px;border-radius:10px}

/* ── BECERİ EDİTÖRÜ ── Düz bir metin kutusu Markdown'ın nasıl görüneceğini göstermiyordu;
   yaz/önizle geçişi ve okunur bir yazı alanı eklendi. */
.ai-skbody{width:100%;min-height:280px;resize:vertical;line-height:1.55;font-size:12.5px;
  padding:10px 12px;border-radius:9px;border:1px solid hsl(var(--border));background:hsl(var(--background));color:inherit}
.ai-skprev{min-height:280px;max-height:520px;overflow:auto;padding:12px 14px;border-radius:9px;
  border:1px solid hsl(var(--border));background:hsl(var(--card))}
.ai-skprev h1,.ai-skprev h2,.ai-skprev h3{margin:.6em 0 .3em}
.ai-skprev table{border-collapse:collapse;width:100%;font-size:12px}
.ai-skprev th,.ai-skprev td{border:1px solid hsl(var(--border));padding:4px 8px;text-align:left}
.ai-skill .chip.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}

/* ── Model rozetleri + LM Studio yükle/kaldır (3.4.2) ─────────────────────────
   Sağlayıcı bilgi veriyorsa satırda görünür: ● bellekte yüklü · beyin=düşünme kipleri ·
   anahtar=araç çağrısı · göz=görsel · GB=dosya boyutu. Bulut sağlayıcılarda rozet çıkmaz. */
.mbs{display:inline-flex;gap:4px;align-items:center;margin:0 6px;color:hsl(var(--muted-foreground));font-size:11px}
.mb{display:inline-flex;align-items:center;gap:2px;padding:0 4px;border-radius:4px;background:hsl(var(--muted)/.6);line-height:18px}
.mb.ok{color:hsl(var(--success));background:transparent;font-size:12px}
.mbtn{width:24px;height:24px;margin-left:4px;flex:none}
.ai-mlist{margin-top:6px;max-height:260px;overflow:auto;border:1px solid hsl(var(--border));border-radius:8px;padding:4px 8px;font-size:12px}
.ai-mlist .it:hover{background:hsl(var(--muted)/.5)}
.ai-mlist .cx{margin-left:auto;color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums}
