/* ============================================================
   「AIで定時退社」 — 議事録完成ツール (gijiroku) v1.0
   Brand tokens: 生成り #FAF7F2 / 夜紺 #1E2A4A / ローズ #E56B8C / 墨グレー #5B6472
   Mobile-first. style.css の .btn を再利用。shindan/eigo-mail と同一トーン。
   ============================================================ */

/* ---- ヒーロー ---- */
.gr-hero { padding: 56px 0 8px; text-align: center; }
.gr-hero h1 { font-size: 32px; margin: 0 0 16px; }
.gr-hero h1 .accent { color: var(--rose); }
.gr-hero .lead { font-size: 16px; color: var(--sumi); max-width: 640px; margin: 0 auto 14px; }
.gr-hero-note {
  font-size: 12px; color: var(--sumi); max-width: 640px; margin: 0 auto;
  padding: 10px 14px; border: 1px dashed var(--line); border-radius: 10px;
  background: rgba(255,255,255,.55);
}
.gr-badge {
  display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .05em;
  color: var(--white); background: var(--yorukon); border-radius: 999px; padding: 3px 12px;
  margin-bottom: 14px;
}

/* ---- ツールカード ---- */
.gr-card {
  background: var(--white); border-radius: var(--radius);
  box-shadow: var(--shadow); padding: 30px 24px; margin: 8px 0 24px;
  border: 1px solid var(--line);
}
@media (min-width: 640px) { .gr-card { padding: 40px 44px; } }

.gr-title { font-family: var(--serif); font-weight: 700; font-size: 20px; color: var(--yorukon); margin: 0 0 10px; line-height: 1.7; }
.gr-lead { font-size: 14.5px; color: var(--sumi); margin: 0 0 8px; line-height: 1.7; }
.gr-step { font-size: 16px; font-weight: 700; color: var(--yorukon); margin: 30px 0 12px; padding-bottom: 6px; border-bottom: 2px solid var(--line); }
.gr-step:first-of-type { margin-top: 18px; }
.gr-hint { font-size: 12.5px; color: var(--sumi); margin: 0 0 10px; line-height: 1.7; }

/* ---- Step 1: 基本情報 ---- */
.gr-form { display: grid; gap: 14px; }
@media (min-width: 640px) { .gr-form { grid-template-columns: repeat(2, 1fr); } }
.gr-field { display: block; }
.gr-flabel { display: block; font-size: 13px; font-weight: 700; color: var(--yorukon); margin-bottom: 6px; }
.gr-field input[type="text"] {
  width: 100%; font-family: var(--sans); font-size: 15px; color: var(--yorukon);
  background: var(--white); border: 1.5px solid var(--line); border-radius: 10px;
  padding: 11px 14px; line-height: 1.6;
}
.gr-field input[type="text"]:focus { outline: none; border-color: var(--rose); }

/* ---- Step 2: メモ ---- */
.gr-memo {
  width: 100%; font-family: var(--sans); font-size: 15px; color: var(--yorukon);
  background: var(--white); border: 1.5px solid var(--line); border-radius: 10px;
  padding: 12px 14px; line-height: 1.7; resize: vertical; margin-bottom: 12px;
}
.gr-memo:focus { outline: none; border-color: var(--rose); }

/* ---- Step 3: チップ ---- */
.gr-chips { display: grid; gap: 10px; }
.gr-empty { font-size: 13.5px; color: var(--sumi); margin: 4px 0; }
.gr-chip {
  background: var(--kinari); border: 1px solid var(--line); border-radius: 12px;
  padding: 12px 14px;
}
.gr-chip-text { font-size: 14.5px; color: var(--yorukon); margin: 0 0 10px; line-height: 1.6; word-break: break-word; }
.gr-chip-cats { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.gr-cat {
  font-family: var(--sans); font-size: 12px; font-weight: 500; cursor: pointer;
  color: var(--sumi); background: var(--white);
  border: 1.5px solid var(--line); border-radius: 999px; padding: 4px 12px;
  transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.gr-cat:hover { border-color: var(--rose); }
.gr-cat.on { color: var(--white); font-weight: 700; }
.gr-cat-gidai.on { background: var(--yorukon); border-color: var(--yorukon); }
.gr-cat-kettei.on { background: var(--rose); border-color: var(--rose); }
.gr-cat-todo.on { background: #C46A1B; border-color: #C46A1B; }
.gr-cat-other.on { background: var(--sumi); border-color: var(--sumi); }
.gr-del {
  font-family: var(--sans); font-size: 12px; cursor: pointer; margin-left: auto;
  color: #B03A5B; background: transparent; border: none; text-decoration: underline; padding: 4px 2px;
}

/* ---- Step 4: 出力 ---- */
.gr-output-wrap { margin-top: 18px; }
.gr-output {
  font-family: var(--sans); font-size: 14.5px; line-height: 1.9; color: var(--yorukon);
  background: var(--kinari); border: 1px solid var(--line); border-radius: 12px;
  padding: 18px 20px; white-space: pre-wrap; word-break: break-word; margin: 0 0 14px;
}
.gr-copy-row { display: flex; flex-wrap: wrap; gap: 10px; }
.gr-feedback { font-size: 13px; color: var(--yorukon); margin: 12px 0 0; min-height: 1.4em; }
.gr-feedback.show { font-weight: 700; }
.gr-note { font-size: 12px; color: var(--sumi); margin-top: 8px; }
