/* 文字数カウント（/moji-count/・2026-11-12）: 色は深い青緑（--mc）。ナカミドの共通の部品（.btn・.section・.prose・.eyebrow・.lead）の上に足す */
.mc { --mc: #0f6e8c; --mc-t: #e3f1f5; --mc-over: #c2334d; padding-top: 22px; display: grid; gap: 14px; }
.mc-eb { color: var(--mc); }
.mc h1 { font-size: clamp(26px, 7.6vw, 32px); }

.mc-tool { display: grid; gap: 12px; min-width: 0; }
/* 大きな数字の帯（枠のすぐ上） */
.mc-bar { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 4px 12px; padding: 10px 14px; border-radius: 14px; background: var(--mc); color: #fff; }
.mc-bar-main b { font-family: var(--f-round); font-size: 30px; font-weight: 800; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.mc-bar-main small { margin-left: 4px; font-size: 14px; font-weight: 700; }
.mc-bar-sub { font-size: 13px; font-weight: 600; }
.mc-bar-sub b { font-size: 16px; font-variant-numeric: tabular-nums; margin-left: 2px; }
.mc-text { display: block; width: 100%; box-sizing: border-box; min-height: 220px; padding: 12px 14px; border: 1.5px solid var(--line); border-radius: 14px; background: var(--card); color: var(--ink); font: inherit; font-size: 16px; line-height: 1.75; resize: vertical; }
.mc-text:focus { outline: none; border-color: var(--mc); box-shadow: 0 0 0 3px var(--mc-t); }
.mc-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.mc-undo { justify-self: center; min-height: 44px; font-size: 14px; }

/* 目標の文字数 */
.mc-goal { display: grid; gap: 8px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--card); }
.mc-goal-label { font-weight: 700; font-size: 14px; }
.mc-goal-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.mc-goal-row input { flex: 1 1 110px; min-width: 0; height: 44px; box-sizing: border-box; padding: 0 12px; border: 1.5px solid var(--line); border-radius: 10px; font: inherit; font-size: 16px; }
.mc-goal-row input:focus { outline: none; border-color: var(--mc); }
.mc-seg { display: inline-flex; flex: 0 0 auto; border: 1.5px solid var(--line); border-radius: 10px; overflow: hidden; }
.mc-seg button { min-height: 41px; padding: 0 12px; border: 0; background: var(--card); color: var(--ink2); font: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer; white-space: nowrap; }
.mc-seg button + button { border-left: 1.5px solid var(--line); }
.mc-seg button[aria-checked="true"] { background: var(--mc); color: #fff; }
.mc-meter { height: 10px; border-radius: 99px; background: var(--mc-t); overflow: hidden; }
.mc-meter span { display: block; height: 100%; width: 0; background: var(--mc); border-radius: inherit; transition: width .15s; }
.mc-meter.is-over span { background: var(--mc-over); }
.mc-goal-text { margin: 0; font-size: 14px; font-weight: 600; color: var(--ink2); }
.mc-meter.is-over + .mc-goal-text { color: var(--mc-over); }

/* 数の表 */
.mc-stats { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.mc-stats > div { display: grid; align-content: start; gap: 2px; padding: 10px 12px; border-radius: 12px; background: var(--mc-t); min-width: 0; }
.mc-stats dt { font-size: 12px; color: var(--ink2); line-height: 1.4; }
.mc-stats dd { margin: 0; font-size: 13px; color: var(--ink2); overflow-wrap: anywhere; }
.mc-stats dd b { font-family: var(--f-round); font-size: 21px; font-weight: 800; color: var(--ink); font-variant-numeric: tabular-nums; margin-right: 2px; }
.mc-stats dd small { display: block; font-size: 11.5px; color: var(--muted); }
.mc-stats .mc-x { grid-column: 1 / -1; }
.mc-stats .mc-x.is-over dd b { color: var(--mc-over); }
.mc-note { margin: 0; font-size: 12.5px; color: var(--muted); line-height: 1.7; }

/* 説明 */
.mc-doc { margin-top: 8px; }
.mc-doc ol, .mc-doc ul { padding-left: 1.3em; }
.mc-fig { margin: 8px auto; display: grid; gap: 6px; max-width: 420px; }
.mc-fig svg { display: block; width: 100%; height: auto; }
.mc-fig figcaption { font-size: 13px; color: var(--ink2); line-height: 1.6; }
.mc-faq details { border-bottom: 1px solid var(--line); }
.mc-faq summary { padding: 12px 0; font-weight: 700; cursor: pointer; }
.mc-faq details p { margin: 0 0 12px; font-size: 14.5px; line-height: 1.8; color: var(--ink2); }

@media (min-width: 700px) {
  .mc-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
