* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: -apple-system, "Hiragino Sans", "Yu Gothic UI", sans-serif;
  background: #f4f6f9;
  color: #1f2937;
  min-height: 100dvh;
}

header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  background: #1d4ed8;
  color: #fff;
}
header h1 { font-size: 18px; }
/* 設定やり直しボタン。不調時にこそ押されるので、タップ領域を必ず44×44px以上に保つ。
   上の button 規則の padding:14px により通常は55×55pxだが、端末のフォントで⚙️の字幅が
   細くなった場合に44pxを割らないよう min-width/min-height で下限を固定する（見た目は変わらない）。 */
#btn-reset {
  background: none;
  border: none;
  font-size: 20px;
  cursor: pointer;
  min-width: 44px;
  min-height: 44px;
}

main { max-width: 480px; margin: 0 auto; padding: 20px 16px 40px; }

.screen { display: flex; flex-direction: column; gap: 14px; }
.hidden { display: none !important; }

h2 { font-size: 17px; }

label { display: flex; flex-direction: column; gap: 4px; font-size: 14px; font-weight: 600; }

input, select, textarea {
  font-size: 16px;   /* 16px未満だとiOSでフォーカス時に画面が拡大される */
  padding: 12px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  background: #fff;
  font-weight: normal;
}
textarea { resize: vertical; }

button {
  font-size: 16px;
  font-weight: 700;
  padding: 14px;
  border: none;
  border-radius: 12px;
  background: #1d4ed8;
  color: #fff;
  cursor: pointer;
}
button:disabled { background: #94a3b8; cursor: default; }
button.secondary { background: #e2e8f0; color: #1f2937; }

.mic {
  width: 160px;
  height: 160px;
  margin: 24px auto 0;
  border-radius: 50%;
  font-size: 44px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  box-shadow: 0 6px 18px rgba(29, 78, 216, .35);
}
.mic span { font-size: 13px; font-weight: 600; }
.mic.recording { background: #dc2626; animation: pulse 1.2s infinite; }
@keyframes pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.06); }
}

.row { display: flex; gap: 10px; }
.row button { flex: 1; }

/* 期限の入力欄と曜日表示を横に並べる */
.field-row { display: flex; align-items: center; gap: 10px; }
.field-row input { flex: 1; min-width: 0; }
.due-weekday { font-size: 15px; font-weight: 700; color: #1f2937; white-space: nowrap; }

/* 編集できない確認項目（登録先リスト・メンバー） */
.readonly-field {
  font-size: 16px;
  font-weight: normal;
  padding: 12px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #eef2ff;
  min-height: 45px;
}

.note { font-size: 13px; color: #64748b; }
.error { font-size: 14px; color: #dc2626; min-height: 1.2em; }
