/* nr-today-menu.css — ホーム「今日のメニュー」セクション (nr-today-menu.js が描画) */
.nr-today-menu {
  max-width: 640px;
  margin: 0 auto;
  padding: 0 20px 8px;
}
.nr-tm-card {
  background: var(--card, #ffffff);
  border: 1px solid var(--border, #e5dfd2);
  border-radius: 20px;
  padding: 22px 20px 20px;
}
.nr-tm-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}
.nr-tm-title {
  font-size: 18px;
  font-weight: 900;
  color: var(--text-1, rgba(51,65,74,0.88));
  letter-spacing: 0;
}
.nr-tm-progress {
  font-size: 12px;
  font-weight: 700;
  color: var(--text-3, rgba(51,65,74,0.42));
}
.nr-tm-chips {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 6px 0 16px;
}
.nr-tm-chip {
  font-size: 12px;
  font-weight: 700;
  color: var(--text-2, rgba(51,65,74,0.62));
  background: var(--bg, #f6f3ec);
  border: 1px solid var(--border, #e5dfd2);
  border-radius: 9999px;
  padding: 4px 12px;
}
.nr-tm-chip em {
  font-style: normal;
  color: #186f83;
}
.nr-tm-step {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 10px;
  min-height: 56px;
  border-radius: 14px;
  text-decoration: none;
  border: 1px solid transparent;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.nr-tm-step:hover {
  background: var(--bg, #f6f3ec);
  border-color: var(--border, #e5dfd2);
}
.nr-tm-step + .nr-tm-step { margin-top: 2px; }
.nr-tm-check {
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  border-radius: 9999px;
  border: 1.5px solid var(--border-strong, #D9D4C9);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 900;
  color: #fff;
  background: transparent;
}
.nr-tm-step.done .nr-tm-check {
  background: #1d7f96;
  border-color: #1d7f96;
}
.nr-tm-step.done .nr-tm-step-title { opacity: 0.55; text-decoration: line-through; }
.nr-tm-step-body { flex: 1 1 auto; min-width: 0; }
.nr-tm-step-eyebrow {
  display: block;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-3, rgba(51,65,74,0.42));
  margin-bottom: 2px;
}
.nr-tm-step-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--text-1, rgba(51,65,74,0.88));
  line-height: 1.4;
}
.nr-tm-step-sub {
  font-size: 12.5px;
  color: var(--text-2, rgba(51,65,74,0.62));
  margin-top: 1px;
}
.nr-tm-step-min {
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 700;
  color: var(--text-3, rgba(51,65,74,0.42));
}
.nr-tm-start {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 52px;
  margin-top: 14px;
  border: none;
  border-radius: 9999px;
  background: linear-gradient(135deg, #186f83, #1d7f96, #8dc2cd);
  color: #fff;
  font-size: 15.5px;
  font-weight: 900;
  cursor: pointer;
  text-decoration: none;
  transition: transform 0.15s ease, box-shadow 0.2s ease;
}
.nr-tm-start:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(29,127,150, 0.35);
}
.nr-tm-done-msg {
  margin-top: 14px;
  padding: 12px;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  color: var(--text-1, rgba(51,65,74,0.88));
  background: var(--bg, #f6f3ec);
  border: 1px solid var(--border, #e5dfd2);
  border-radius: 14px;
}
.nr-tm-foot {
  margin-top: 10px;
  text-align: center;
  font-size: 12px;
  color: var(--text-3, rgba(51,65,74,0.42));
}
.nr-tm-foot a {
  color: var(--text-2, rgba(51,65,74,0.62));
  font-weight: 700;
  text-decoration: none;
}
.nr-tm-foot a:hover { color: #186f83; }

/* コーチの挨拶 + 完走祝福 */
.nr-tm-greeting {
  font-size: 13px;
  font-weight: 700;
  color: var(--text-2, rgba(51,65,74,0.62));
  margin-bottom: 8px;
}
.nr-tm-card.celebrate {
  animation: nrTmCelebrate 0.5s ease-out 1;
  border-color: #1d7f96;
  box-shadow: 0 0 0 3px rgba(29,127,150, 0.18);
}
@keyframes nrTmCelebrate {
  0% { transform: scale(0.97); opacity: 0.6; }
  60% { transform: scale(1.01); }
  100% { transform: scale(1); opacity: 1; }
}

/* 今日の素材 (ニュース) カード — Phase E。ティール系 (Design v2 へのブリッジ) */
.nr-tm-news {
  display: block;
  padding: 12px 14px;
  margin-bottom: 12px;
  border: 1px solid rgba(29,127,150, 0.25);
  border-radius: 14px;
  background: #eaf5f7;
  text-decoration: none;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.nr-tm-news:hover { border-color: rgba(29,127,150, 0.55); transform: translateY(-1px); }
.nr-tm-news-eyebrow {
  display: block;
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: 0.06em;
  color: #14596a;
  margin-bottom: 3px;
}
.nr-tm-news-title {
  display: block;
  font-size: 14.5px;
  font-weight: 700;
  color: var(--text-1, rgba(51,65,74,0.88));
  line-height: 1.55;
}
.nr-tm-news-sub {
  display: block;
  font-size: 12px;
  font-weight: 700;
  color: #1d7f96;
  margin-top: 4px;
}

/* ── PRO ティーザー (コーチメニューの Pro 専用化・2026-07-15) ── */
.nr-tm-card--teaser { position: relative; }
.nr-tm-probadge {
  display: inline-block;
  margin-left: 6px;
  padding: 2px 10px;
  border-radius: 9999px;
  background: #ef8577;
  box-shadow: 0 2px 0 #d96c5e;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  vertical-align: 2px;
}
.nr-tm-teaser-line {
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.8;
  color: rgba(51,65,74,0.78);
  margin: 10px 0 14px;
}
.nr-tm-teaser-line em { font-style: normal; font-weight: 900; color: #e2695a; }
.nr-tm-teaser-steps {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.nr-tm-tstep {
  padding: 8px 14px;
  border: 1.5px dashed rgba(51,65,74,0.25);
  border-radius: 10px;
  font-size: 12px;
  font-weight: 700;
  color: rgba(51,65,74,0.5);
  background: rgba(51,65,74,0.03);
}
a.nr-tm-start--pro {
  display: block;
  text-align: center;
  text-decoration: none;
  background: #ef8577;
  box-shadow: 0 4px 0 #d96c5e;
}
a.nr-tm-start--pro:hover { background: #f0937f; }
a.nr-tm-start--pro:active { transform: translateY(3px); box-shadow: 0 1px 0 #d96c5e; }
.nr-tm-pro-sub {
  text-align: center;
  font-size: 11.5px;
  font-weight: 700;
  color: rgba(51,65,74,0.55);
  margin-top: 8px;
  line-height: 1.6;
}

/* ── Free「今日の一手」(2026-07-16 オーナー改訂: Free にも編成の一部を毎日1ステップ) ── */
.nr-tm-card--free .nr-tm-step--locked {
  opacity: 0.5;
  cursor: default;
}
.nr-tm-card--free .nr-tm-step--locked:hover { background: none; border-color: transparent; }
.nr-tm-card--free .nr-tm-step--locked .nr-tm-check { border-style: dashed; }

/* ── 週次ボス (2026-07-15) ── */
.nr-tm-boss {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 12px;
  padding: 12px 14px;
  border: 2px solid #f0a496;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(239,133,119,0.08), rgba(239,133,119,0.02));
}
.nr-tm-boss.done { border-style: dashed; opacity: 0.85; }
.nr-tm-boss-head { font-size: 13.5px; font-weight: 900; color: rgba(51,65,74,0.92); }
.nr-tm-boss-sub { flex: 1; min-width: 0; font-size: 12px; font-weight: 600; color: rgba(51,65,74,0.62); }
.nr-tm-boss-btn {
  padding: 9px 18px;
  border: none;
  border-radius: 9999px;
  background: #ef8577;
  box-shadow: 0 3px 0 #d96c5e;
  color: #fff;
  font-size: 12.5px;
  font-weight: 900;
  cursor: pointer;
}
.nr-tm-boss-btn:active { transform: translateY(2px); box-shadow: 0 1px 0 #d96c5e; }
