/* === うっすらパン基調のスタイル === */
:root {
  /* 生地・小麦 */
  --bg-base: #FAF5EC;       /* 生地ベージュ */
  --bg-card: #FFFFFF;       /* 白い断面 */
  --border-soft: #E8DCC4;   /* 薄い小麦色 */
  --line-faint: #F0E6D2;    /* 罫線控えめ */

  /* 文字 */
  --text-main: #2E2624;     /* 焦茶 */
  --text-sub: #6B5B4E;      /* 中間褐色 */
  --text-faint: #998873;    /* 薄褐色 */

  /* アクション */
  --crust: #C97B4B;         /* 焼き色 */
  --crust-deep: #A6633A;    /* 濃い焼き */
  --crust-darker: #8B5A2B;  /* 深い焼き */

  /* 評価系（控えめに） */
  --positive: #7A9E55;      /* 練り込まれた青菜 */
  --neutral: #B89058;       /* 薄焼き */
  --critical: #B03A3A;      /* 焼き加減超過 */
}

* { box-sizing: border-box; }

html, body { height: 100%; }

body {
  font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", "Meiryo", system-ui, sans-serif;
  margin: 0;
  background: var(--bg-base);
  color: var(--text-main);
  line-height: 1.7;
  letter-spacing: 0.01em;
}

/* 数字を品よく — 出願番号・日付など */
.serif, input[type="text"][inputmode="numeric"], code, .pattern-name {
  font-family: "Georgia", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-style: italic;
  letter-spacing: 0.02em;
}

header {
  background: var(--bg-card);
  color: var(--text-main);
  padding: 16px 24px;
  border-bottom: 1px solid var(--border-soft);
}
header h1 {
  margin: 0;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--crust-darker);
}

main {
  max-width: 880px;
  margin: 32px auto;
  padding: 0 16px;
}

footer {
  text-align: center;
  padding: 24px 16px 32px;
  color: var(--text-faint);
  font-size: 12px;
}
footer .signature {
  display: inline-block;
  margin-top: 6px;
  font-family: "Georgia", "Yu Mincho", serif;
  font-style: italic;
  font-size: 11px;
  color: var(--text-faint);
  letter-spacing: 0.08em;
}
footer .signature::before { content: "— "; opacity: 0.6; }

.card {
  background: var(--bg-card);
  border: 1px solid var(--border-soft);
  border-radius: 10px;
  padding: 28px 28px 24px;
  box-shadow: 0 2px 6px rgba(95, 70, 35, 0.04);
}

h2 {
  margin: 0 0 16px;
  font-size: 17px;
  font-weight: 600;
  color: var(--text-main);
  border-bottom: 1px solid var(--line-faint);
  padding-bottom: 12px;
}

label {
  display: block;
  margin: 16px 0;
  font-size: 13px;
  color: var(--text-sub);
}

input[type="text"], input[type="password"], textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--border-soft);
  border-radius: 6px;
  font-size: 14px;
  font-family: inherit;
  color: var(--text-main);
  background: #FFFEFC;
  transition: border-color 0.15s ease;
}
input[type="text"]:focus, input[type="password"]:focus, textarea:focus {
  border-color: var(--crust);
  outline: none;
  box-shadow: 0 0 0 3px rgba(201, 123, 75, 0.12);
}

textarea {
  resize: vertical;
  min-height: 240px;
  font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", system-ui, sans-serif;
  line-height: 1.8;
}

button {
  padding: 9px 18px;
  border: none;
  border-radius: 6px;
  background: var(--crust);
  color: #FFFFFF;
  cursor: pointer;
  font-size: 14px;
  font-family: inherit;
  margin-right: 8px;
  margin-top: 8px;
  letter-spacing: 0.03em;
  transition: background 0.15s ease;
}
button:hover { background: var(--crust-deep); }
button:active { background: var(--crust-darker); }
button:disabled,
button:disabled:hover {
  background: #D9D2C5;
  color: #8C8478;
  cursor: not-allowed;
}

.btn-like { background: var(--positive); }
.btn-like:hover { background: #688748; }
.btn-pref { background: var(--neutral); }
.btn-pref:hover { background: #997848; }
.btn-critical { background: var(--critical); }
.btn-critical:hover { background: #963131; }

.error {
  color: var(--critical);
  padding: 10px 14px;
  background: #FBEDEA;
  border-left: 3px solid var(--critical);
  border-radius: 3px;
  font-size: 14px;
  margin: 12px 0;
}

.status { padding: 8px 0; color: var(--text-sub); font-size: 14px; }
.hint { color: var(--text-faint); font-size: 13px; }
.meta { font-size: 13px; color: var(--text-sub); margin: 10px 0; }
.actions { display: flex; flex-wrap: wrap; gap: 6px; margin: 16px 0 8px; }

.critical-detail {
  margin-top: 18px;
  padding: 14px 16px;
  background: #FBF5E9;
  border: 1px solid var(--border-soft);
  border-radius: 6px;
}
.critical-detail p { margin: 0 0 8px; font-size: 14px; }

.note {
  color: var(--text-faint);
  font-size: 12px;
  letter-spacing: 0.03em;
}

a { color: var(--crust-darker); text-decoration: underline dotted; }
a:hover { color: var(--crust); }

/* スマホ */
@media (max-width: 600px) {
  main { margin: 16px auto; }
  .card { padding: 20px 18px; border-radius: 8px; }
}
