/* =========================================================
   共通スタイル
========================================================= */

.pa-editor,
.pa-viewer {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  border: 1px solid #ddd;
  padding: 16px;
  margin: 16px 0;
  max-width: 480px;
  width: 100%;
  box-sizing: border-box;
  background: #fff;
}

.pa-title {
  font-size: 18px;
  margin: 0 0 12px 0;
}

/* =========================================================
   ラベル & 入力
========================================================= */

.pa-field-row {
  margin-bottom: 10px;
}

.pa-label {
  display: inline-block;
  min-width: 90px;
  font-size: 14px;
  margin-bottom: 4px;
}

.pa-text-input,
.pa-viewer-url {
  width: 100%;
  max-width: 300px;
  padding: 6px 8px;
  font-size: 14px;
  box-sizing: border-box;
  border: 1px solid #ccc;
}

.pa-color-input {
  width: 60px;
  height: 30px;
  padding: 0;
  border: 1px solid #ccc;
}

/* =========================================================
   ツールボタン
========================================================= */

.pa-tools {
  margin: 8px 0;
}

.pa-btn,
.pa-tool-btn {
  padding: 5px 10px;
  font-size: 13px;
  border: 1px solid #444;
  background: #fff;
  cursor: pointer;
  border-radius: 2px;
}

.pa-btn:hover,
.pa-tool-btn:hover {
  background: #f0f0f0;
}

.pa-tool-btn.is-active {
  background: #444;
  color: #fff;
}

/* =========================================================
   キャンバス（描画エリア）
========================================================= */

.pa-canvas-wrapper,
.pa-viewer-canvas-wrapper {
  margin: 12px 0;
  overflow: auto;
}

.pa-canvas,
.pa-viewer-canvas {
  display: grid;
  gap: 1px;
  margin: 0 auto;
}

.pa-cell {
  width: 20px;
  height: 20px;
  background: #ffffff;
  border: 1px solid #ddd;
  box-sizing: border-box;
  cursor: pointer;
}

/* =========================================================
   ボタンエリア
========================================================= */

.pa-buttons {
  margin: 8px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* =========================================================
   出力
========================================================= */

.pa-export-textarea,
.pa-viewer-raw-json {
  width: 100%;
  min-height: 140px;
  font-size: 12px;
  font-family: monospace;
  box-sizing: border-box;
  padding: 8px;
  border: 1px solid #ccc;
}

/* =========================================================
   ステータス
========================================================= */

.pa-status {
  font-size: 12px;
  margin: 8px 0 4px 0;
  white-space: pre-line;
  color: #333;
}

/* =========================================================
   ミントUI（注意書き + 進捗）
========================================================= */

.pa-mint-ui {
  margin-top: 10px;
}

.pa-mint-note {
  font-size: 12px;
  line-height: 1.4;
  color: #b00020;      /* 赤系 */
  background: #fff5f5; /* 薄い赤 */
  border: 1px solid #f3b3b3;
  padding: 8px;
  border-radius: 4px;
  margin-bottom: 8px;
}

.pa-mint-steps {
  margin: 6px 0 8px 0;
}

.pa-step {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  padding: 6px 8px;
  border-radius: 4px;
  border: 1px solid #ddd;
  margin-bottom: 6px;
}

.pa-step-icon {
  font-size: 12px;
  line-height: 1;
}

.pa-step.is-todo {
  background: #fff8e1;   /* 目立つ未完了色（薄い黄） */
  border-color: #f0d48a;
  color: #6a4b00;
}

.pa-step.is-doing {
  background: #e8f0fe;   /* 実行中（薄い青） */
  border-color: #a7c0ff;
  color: #1a3c8a;
}

.pa-step.is-done {
  background: #e9f7ef;   /* 完了（薄い緑） */
  border-color: #88d19b;
  color: #1f6b33;
}

.pa-step.is-error {
  background: #ffecec;   /* 失敗（薄い赤） */
  border-color: #ffb3b3;
  color: #a10000;
}

/* =========================================================
   追加: 詳細（JSON/ログ）を普段は隠す
========================================================= */

.pa-is-hidden {
  display: none;
}

/* 「詳細」ボタンを控えめにボタンっぽく */
.pa-btn-export {
  border-style: dashed;
  opacity: 0.9;
}

/* =========================================================
   スマホ向け（画面幅が狭い時）
========================================================= */

@media (max-width: 480px) {
  .pa-editor {
    padding: 12px;
  }

  .pa-label {
    min-width: 80px;
    font-size: 13px;
  }

  .pa-text-input,
  .pa-viewer-url {
    width: 100%;
    max-width: 100%;
  }

  /* スマホではセルを 16px に縮めてはみ出し防止 */
  .pa-cell {
    width: 16px;
    height: 16px;
  }

  .pa-buttons {
    gap: 6px;
  }

  .pa-btn,
  .pa-tool-btn {
    font-size: 12px;
    padding: 4px 8px;
  }
}