/* ============================================================
   Syn3Chat chat.css v1.1
   チャットUI / 3AIグリッド / 入力欄 / コメントパネル
   ============================================================ */

/* ================= 3AI GRID ================= */
#ai-grid-area{flex:1;overflow:hidden;min-height:0;border-radius:12px 12px 0 0;background:rgba(255,255,255,.65);border:1px solid rgba(0,0,0,.08);border-bottom:none;box-shadow:var(--shadow-md)}
#ai-grid{height:100%;display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:rgba(0,0,0,.08);overflow:hidden}

.ai-panel{
  background:rgba(255,255,255,.92);display:flex;flex-direction:column;min-height:0;overflow:hidden;position:relative;transition:all .2s;
}
.ai-panel.focused{box-shadow:inset 0 0 0 2px var(--brand-sky)}
.ai-panel.p-gpt.focused{box-shadow:inset 0 0 0 2px var(--gpt)}
.ai-panel.p-cld.focused{box-shadow:inset 0 0 0 2px var(--claude)}
.ai-panel.p-grk.focused{box-shadow:inset 0 0 0 2px var(--grok)}

/* ヘッダー */
.ph{padding:7px 10px;border-bottom:1px solid rgba(0,0,0,.08);flex-shrink:0;background:rgba(248,250,252,.7)}
.ph-row{display:flex;align-items:center;gap:7px;margin-bottom:4px}
.ph-icon{
  width:22px;height:22px;border-radius:7px;
  display:flex;align-items:center;justify-content:center;
  font:800 11px 'Sora',sans-serif;color:#fff;flex-shrink:0;
}
.p-gpt .ph-icon{background:linear-gradient(135deg,#10b981,#047857)}
.p-cld .ph-icon{background:linear-gradient(135deg,#f97316,#b45309)}
.p-grk .ph-icon{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}
.ph-name{flex:1;font:700 11px 'Sora',sans-serif;color:var(--txt2);letter-spacing:-.2px}
.ph-badge{
  font:800 7.5px 'JetBrains Mono',monospace;padding:2px 7px;border-radius:10px;letter-spacing:.4px;
}
.ph-badge.b-idle{background:rgba(148,163,184,.15);color:#64748b}
.ph-badge.b-busy{background:rgba(249,115,22,.15);color:var(--brand-orange);animation:gp 1s ease-in-out infinite}
.ph-badge.b-done{background:rgba(4,120,87,.12);color:var(--ok)}
.ph-badge.b-err{background:rgba(185,28,28,.1);color:var(--err)}

.gauge-wrap{height:3px;background:rgba(0,0,0,.06);border-radius:2px;overflow:hidden}
.gauge-bar{height:100%;width:0;background:linear-gradient(90deg,var(--brand-sky),var(--brand-violet));border-radius:2px;transition:width .2s ease}
.p-gpt .gauge-bar{background:linear-gradient(90deg,#10b981,#047857)}
.p-cld .gauge-bar{background:linear-gradient(90deg,#f97316,#b45309)}
.p-grk .gauge-bar{background:linear-gradient(90deg,#8b5cf6,#6d28d9)}

/* メッセージ領域 */
.p-msgs{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:8px;min-height:0}
.empty-state{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  color:var(--txt4);padding:20px;text-align:center;
}
.empty-icon{font-size:36px;opacity:.35;margin-bottom:6px}
.empty-txt{font:600 11px 'JetBrains Mono',monospace;opacity:.6}

/* チャットバブル */
.msg-bubble{
  max-width:94%;padding:8px 12px;border-radius:12px;font-size:13px;line-height:1.55;
  word-wrap:break-word;white-space:pre-wrap;
  animation:msgIn .25s ease;
}
@keyframes msgIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}

.msg-user{
  align-self:flex-end;background:linear-gradient(135deg,#0ea5e9,#0369a1);color:#fff;
  box-shadow:0 2px 8px rgba(14,165,233,.25);
}
.msg-ai{
  align-self:flex-start;background:#fff;color:var(--txt);
  border:1px solid rgba(0,0,0,.08);box-shadow:var(--shadow-sm);
}
.p-gpt .msg-ai{border-left:3px solid var(--gpt)}
.p-cld .msg-ai{border-left:3px solid var(--claude)}
.p-grk .msg-ai{border-left:3px solid var(--grok)}

.msg-meta{
  font:600 8px 'JetBrains Mono',monospace;color:var(--txt4);
  margin-top:4px;padding:0 6px;
}

/* --- 下部パネル入力欄 (各AIに直接送信) --- */
.panel-input-row{
  padding:6px 8px;border-top:1px solid rgba(0,0,0,.08);
  display:flex;align-items:center;gap:5px;flex-shrink:0;background:rgba(248,250,252,.5);
  position:relative;
}
.panel-clip-btn{
  width:26px;height:26px;border-radius:6px;cursor:pointer;
  background:rgba(14,165,233,.08);border:1px solid rgba(14,165,233,.18);
  display:flex;align-items:center;justify-content:center;
  font-size:13px;color:var(--brand-sky);transition:all .15s;
}
.panel-clip-btn:hover{background:rgba(14,165,233,.15)}
.panel-textarea{
  flex:1;resize:none;border:1px solid rgba(0,0,0,.1);border-radius:6px;
  padding:5px 8px;font:500 12px 'Noto Sans JP',sans-serif;color:var(--txt);
  outline:none;background:#fff;transition:border-color .15s;
  max-height:80px;
}
.panel-textarea:focus{border-color:rgba(14,165,233,.45)}
.panel-send-btn{
  width:28px;height:28px;border-radius:7px;cursor:pointer;border:none;
  background:linear-gradient(135deg,#0ea5e9,#0369a1);color:#fff;
  font-size:12px;font-weight:800;
  display:flex;align-items:center;justify-content:center;
  transition:all .15s;box-shadow:0 2px 6px rgba(14,165,233,.25);
}
.panel-send-btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(14,165,233,.35)}
.panel-send-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}
.p-gpt .panel-send-btn{background:linear-gradient(135deg,#10b981,#047857)}
.p-cld .panel-send-btn{background:linear-gradient(135deg,#f97316,#b45309)}
.p-grk .panel-send-btn{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}

.panel-file-badge{
  display:none;position:absolute;bottom:calc(100% + 3px);left:8px;
  padding:3px 8px;background:rgba(14,165,233,.1);border:1px solid rgba(14,165,233,.3);
  border-radius:6px;font:600 10px 'JetBrains Mono',monospace;color:var(--brand-sky);
  align-items:center;gap:5px;max-width:calc(100% - 16px);
}
.panel-file-badge.show{display:flex}
.panel-file-del{
  background:none;border:none;color:var(--err);font-size:13px;cursor:pointer;padding:0 2px;
  font-weight:700;
}

/* ================= SHARED INPUT BAR (3AI同時送信) ================= */
#shared-input-bar{
  flex-shrink:0;background:rgba(255,255,255,.92);
  border:1px solid rgba(0,0,0,.1);border-radius:0 0 12px 12px;
  padding:8px 10px 7px;position:relative;
  box-shadow:0 -2px 10px rgba(14,165,233,.08);
}
#shared-resize{
  position:absolute;top:-3px;left:50%;transform:translateX(-50%);
  width:40px;height:5px;cursor:row-resize;
  background:rgba(14,165,233,.25);border-radius:999px;z-index:3;
}
#file-badge{
  display:none;margin-bottom:6px;padding:4px 10px;
  background:rgba(14,165,233,.08);border:1px solid rgba(14,165,233,.28);border-radius:8px;
  font:600 11px 'JetBrains Mono',monospace;color:var(--brand-sky);
  align-items:center;gap:6px;
}
#file-badge.show{display:flex}
.ft-txt{padding:1px 6px;background:var(--brand-sky);color:#fff;border-radius:4px;font-size:9px;font-weight:800}
.file-del{background:none;border:none;color:var(--err);font-size:14px;cursor:pointer;margin-left:auto;font-weight:700}

#input-wrap{display:flex;align-items:flex-end;gap:6px}
.iw-btn{
  width:34px;height:34px;border-radius:8px;
  background:rgba(14,165,233,.1);border:1px solid rgba(14,165,233,.25);
  display:flex;align-items:center;justify-content:center;font-size:15px;
  color:var(--brand-sky);transition:all .15s;
}
.iw-btn:hover{background:rgba(14,165,233,.18)}
#user-input{
  flex:1;resize:none;padding:8px 12px;border-radius:9px;
  border:1px solid rgba(14,165,233,.2);
  font:500 13px 'Noto Sans JP',sans-serif;color:var(--txt);
  outline:none;background:#fff;transition:border-color .15s,box-shadow .15s;
  max-height:140px;min-height:34px;
}
#user-input:focus{border-color:var(--brand-sky);box-shadow:0 0 0 3px rgba(14,165,233,.12)}
#integrate-btn{
  padding:0 14px;height:34px;border-radius:9px;cursor:pointer;border:none;
  background:rgba(13,148,136,.1);color:var(--cmt);border:1px solid rgba(13,148,136,.3);
  font:700 11px 'Sora',sans-serif;transition:all .15s;white-space:nowrap;
}
#integrate-btn:hover:not(:disabled){background:rgba(13,148,136,.2)}
#integrate-btn:disabled{opacity:.4;cursor:not-allowed}
#send-btn{
  width:44px;height:34px;border-radius:9px;cursor:pointer;border:none;
  background:var(--brand-grad);color:#fff;font-size:15px;font-weight:800;
  display:flex;align-items:center;justify-content:center;
  transition:all .15s;box-shadow:0 3px 10px rgba(14,165,233,.3);
}
#send-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(14,165,233,.45)}
#send-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}
#input-hint{font:500 9px 'JetBrains Mono',monospace;color:var(--txt4);margin-top:4px;padding:0 4px;letter-spacing:.3px}

/* ================= コメントパネル ================= */
#comment-panel{
  flex:1;background:rgba(255,255,255,.96);border:1px solid rgba(13,148,136,.22);
  border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-height:0;
}
.cmt-header{
  display:flex;align-items:center;gap:8px;padding:8px 12px;
  background:linear-gradient(135deg,rgba(13,148,136,.08),rgba(16,185,129,.06));
  border-bottom:1px solid rgba(13,148,136,.2);flex-shrink:0;
}
.cmt-icon{font-size:16px}
.cmt-title{font:800 12px 'Sora',sans-serif;color:var(--cmt);flex:1}
.cmt-copy-btn{
  width:28px;height:24px;border-radius:6px;cursor:pointer;
  background:rgba(13,148,136,.1);border:1px solid rgba(13,148,136,.3);
  color:var(--cmt);display:flex;align-items:center;justify-content:center;position:relative;
}
.cmt-copy-btn svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2}
.cmt-copy-tip{
  display:none;position:absolute;right:calc(100% + 6px);top:50%;transform:translateY(-50%);
  background:#1e293b;color:#fff;font-size:10px;padding:3px 8px;border-radius:4px;white-space:nowrap;
}
.cmt-copy-btn.ok .cmt-copy-tip{display:block}
.cmt-tabs{display:flex;gap:3px}
.cmt-tab{padding:4px 9px;border-radius:5px;background:transparent;border:none;cursor:pointer;font:700 9px 'JetBrains Mono',monospace;color:var(--txt3);transition:all .13s}
.cmt-tab:hover{background:rgba(13,148,136,.08);color:var(--cmt)}
.cmt-tab.active{background:var(--cmt);color:#fff}
.cmt-body{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:0}
.cmt-section{display:none;flex:1;padding:10px 12px;overflow-y:auto;min-height:0}
.cmt-section.active{display:flex;flex-direction:column}

.cmt-memo{flex:1;width:100%;border:1px solid rgba(13,148,136,.2);border-radius:8px;padding:10px;font:500 12px 'Noto Sans JP',sans-serif;color:var(--txt);outline:none;resize:none;background:#fff}
.cmt-memo:focus{border-color:var(--cmt);box-shadow:0 0 0 3px rgba(13,148,136,.12)}

.cmt-list-input-row,.skill-input-row{display:flex;gap:5px;margin-bottom:8px;flex-shrink:0}
.cmt-list-input,.skill-name-input,.skill-body-input{
  padding:6px 9px;border-radius:6px;border:1px solid rgba(13,148,136,.22);
  font-size:11px;color:var(--txt);background:#fff;outline:none;
}
.cmt-list-input{flex:1}
.skill-name-input{width:110px}
.skill-body-input{flex:1}
.cmt-add-btn{
  padding:5px 12px;border-radius:6px;cursor:pointer;border:none;
  background:var(--cmt);color:#fff;font:700 10px 'Sora',sans-serif;
  transition:all .15s;
}
.cmt-add-btn:hover{background:#0f766e}
.cmt-list{list-style:none;padding:0;margin:0;flex:1;overflow-y:auto}
.cmt-list li{
  padding:6px 9px;border-radius:7px;margin-bottom:4px;background:rgba(13,148,136,.05);
  display:flex;align-items:flex-start;gap:6px;font-size:12px;
}
.cmt-list li .li-tag{padding:1px 5px;border-radius:3px;background:var(--cmt);color:#fff;font:700 7.5px 'JetBrains Mono',monospace;flex-shrink:0}
.cmt-list li .li-txt{flex:1;word-break:break-word}
.cmt-list li .li-del{background:none;border:none;color:var(--err);cursor:pointer;font-size:13px;font-weight:700;opacity:.6}
.cmt-list li .li-del:hover{opacity:1}

#skill-container{flex:1;overflow-y:auto}
.skill-item{padding:7px 10px;border-radius:7px;background:rgba(13,148,136,.06);margin-bottom:5px}
.skill-item-name{font:800 11px 'Sora',sans-serif;color:var(--cmt);margin-bottom:2px}
.skill-item-body{font-size:11px;color:var(--txt2);line-height:1.4}
