/* ===========================================================
   共通デザイン（すべてのゲームで読み込む）
   色や角丸などの基本設定をここにまとめている
   =========================================================== */

:root {
  /* 背景・文字 */
  --bg:        #fdf6f0;
  --bg-deep:   #f6e7dc;
  --panel:     #ffffff;
  --ink:       #4a3b33;
  --ink-soft:  #8b7a70;
  --line:      #eadfd6;

  /* テーマ色（ゲームカードで使う） */
  --pink:   #ff8fab;
  --mint:   #5fd0b0;
  --sky:    #6cb8f0;
  --lemon:  #f7c14b;
  --grape:  #b08ee6;

  /* ステータスバー用 */
  --hunger: #ffa34d;
  --mood:   #ff8fab;
  --clean:  #6cb8f0;
  --energy: #5fd0b0;

  --radius:    22px;
  --radius-sm: 14px;
  --shadow:    0 10px 24px rgba(120, 90, 70, 0.12);
  --shadow-sm: 0 4px 10px rgba(120, 90, 70, 0.10);
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
}

body {
  min-height: 100vh;
  background:
    radial-gradient(circle at 12% 8%,  rgba(255, 143, 171, 0.16), transparent 42%),
    radial-gradient(circle at 88% 4%,  rgba(108, 184, 240, 0.16), transparent 40%),
    radial-gradient(circle at 50% 100%, rgba(95, 208, 176, 0.14), transparent 48%),
    var(--bg);
  color: var(--ink);
  font-family: "Hiragino Maru Gothic ProN", "Yu Gothic UI", "Meiryo",
               "Segoe UI", system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  line-height: 1.6;
}

.wrap {
  width: 100%;
  max-width: 860px;
  margin: 0 auto;
  padding: 20px 16px 48px;
}

/* ---- 見出し ---- */
.page-title {
  margin: 0;
  font-size: 30px;
  letter-spacing: 0.04em;
}

.page-sub {
  margin: 6px 0 0;
  color: var(--ink-soft);
  font-size: 14px;
}

/* ---- パネル ---- */
.panel {
  background: var(--panel);
  border: 2px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 18px;
}

/* ---- ボタン ---- */
.btn {
  appearance: none;
  border: none;
  border-radius: 999px;
  padding: 11px 20px;
  font: inherit;
  font-weight: 700;
  color: #fff;
  background: var(--pink);
  cursor: pointer;
  box-shadow: var(--shadow-sm);
  transition: transform 0.12s ease, filter 0.12s ease, opacity 0.12s ease;
}
.btn:hover   { filter: brightness(1.05); }
.btn:active  { transform: translateY(2px); box-shadow: none; }
.btn:disabled{ opacity: 0.45; cursor: not-allowed; transform: none; }

.btn-ghost {
  background: #fff;
  color: var(--ink);
  border: 2px solid var(--line);
}

.btn-quiet {
  background: transparent;
  color: var(--ink-soft);
  box-shadow: none;
  border: 2px solid var(--line);
  padding: 8px 16px;
  font-weight: 600;
}

/* ---- 戻るリンク ---- */
.back-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  color: var(--ink-soft);
  font-weight: 700;
  font-size: 14px;
  background: #fff;
  border: 2px solid var(--line);
  border-radius: 999px;
  padding: 7px 16px;
  box-shadow: var(--shadow-sm);
  transition: transform 0.12s ease;
}
.back-link:hover  { color: var(--ink); }
.back-link:active { transform: translateY(2px); }

/* ---- ゲーム画面共通ヘッダー ---- */
.game-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}

.game-header h1 {
  margin: 0;
  font-size: 20px;
}

/* ---- 画面が狭いとき ---- */
@media (max-width: 480px) {
  .wrap { padding: 14px 12px 40px; }
  .page-title { font-size: 24px; }
}
