/* prompt_builder.css
   Styles for prompt_builder.html
   Save as: css/tools_css/prompt_builder.css
   おすすめ調整版 - 2026-07-07
*/

/* ページ全体 */
body {
  max-width: 900px;
  margin: 0 auto;
  padding: 20px;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, sans-serif;
  color: #222;
  background: #fff;
  line-height: 1.6;
}

/* 見出し */
h1 { font-size: 1.6rem; margin: 0 0 12px 0; }
h2 { font-size: 1.15rem; margin: 12px 0; color: #1f2937; }

/* 共通テキストエリア */
textarea {
  width: 100%; box-sizing: border-box;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, "Courier New", monospace;
  font-size: 0.95rem; padding: 10px;
  border: 1px solid #d1d5db; border-radius: 6px;
  background: #fff; color: #111; resize: vertical;
}

/* JSON入力エリアのカード風 */
.json-input-area {
  background: #f8fafc; padding: 16px; border-radius: 10px;
  margin-bottom: 20px; border: 1px solid #e6eef6;
  box-shadow: 0 1px 0 rgba(16,24,40,0.02);
}

/* 情報パネル */
.info-panel { font-size: 0.9rem; color: #6b7280; margin-bottom: 10px; }

/* 共有リンク領域 */
#shared-links-container {
  border-bottom: 2px solid #f1f5f9; margin-bottom: 20px; padding-bottom: 10px;
  min-height: 24px;
}

/* ステータスバッジ */
.status-badge {
  display: inline-block; padding: 4px 10px; border-radius: 999px;
  font-size: 0.8rem; background: #eef2ff; color: #3730a3;
  border: 1px solid rgba(99,102,241,0.12);
}

/* 表示制御補助 */
.hidden { display: none!important; }

/* コントロール群 - おすすめ: 下部に吸着 */
.controls {
  margin-top: 12px; display: flex; gap: 12px;
  align-items: center; flex-wrap: wrap;
  position: sticky; bottom: 0;
  background: #f8fafc; padding-top: 8px; padding-bottom: 6px;
  z-index: 10; border-top: 1px solid #e6eef6;
}

/* ボタン共通 */
.action-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 12px; border-radius: 8px; border: 1px solid #cbd5e1;
  background: #ffffff; color: #0f172a; cursor: pointer;
  font-size: 0.95rem; transition: background 120ms ease, transform 80ms ease;
}
.action-btn:hover { background: #f1f5f9; transform: translateY(-1px); }
.action-btn:active { transform: translateY(0); }

/* プライマリボタン */
.action-btn.primary {
  background: linear-gradient(180deg,#2563eb,#1e40af); color: #fff;
  border: 1px solid rgba(30,64,175,0.9); box-shadow: 0 4px 10px rgba(37,99,235,0.12);
}
.action-btn.primary:hover { filter: brightness(1.03); }

/* コピー用ボタン */
.copy-btn { margin-top: 8px; background: #f8fafc; border: 1px solid #cbd5e1; }

/* 結果エリア */
#result-area { margin-top: 14px; }
#result-area.hidden { display: none; }
#resultOutput[readonly] { background: #f8fafc; }

/* ネガティブプロンプトセクション */
.negative-section { margin-top: 18px; padding-top: 6px; }

/* 水平線 */
hr { border: none; border-top: 1px solid #eef2f7; margin: 20px 0; }

/* 小さい画面向け調整 */
@media (max-width: 640px) {
  body { padding: 14px; }
 .controls { gap: 8px; bottom: -1px; }
 .action-btn { padding: 8px 10px; font-size: 0.9rem; flex: 1 1 auto; }
}

/* 補助ユーティリティ */
.text-muted { color: #6b7280; font-size: 0.9rem; }
.small { font-size: 0.85rem; }
