/* 看圖美化：checkin（_build/polish.py） */
body .c-demo-banner { border-radius: var(--r-input); gap: var(--sp-3); text-align: left; }
body .c-demo-banner > :first-child { flex: 1 1 auto; min-width: 0; }
body .c-demo-banner .c-btn { flex: none; white-space: nowrap; min-height: 36px; padding: 0 var(--sp-4); font-size: var(--fs-footnote); }

/* ---------- 頁面骨架 ---------- */
body .s-checkin { display: flex; flex-direction: column; gap: var(--sp-4); padding-bottom: var(--sp-6); }
body .s-checkin [hidden] { display: none; }
@container view (min-width: 640px) {
  body .s-checkin { gap: var(--sp-5); }
}

/* ---------- 日期列 ---------- */
body .s-checkin__datebar {
  display: flex; align-items: center; justify-content: space-between; gap: var(--sp-2);
  padding: 4px; background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--r-chip); box-shadow: var(--shadow-1);
}
body .s-checkin__datebar .c-btn { flex: none; }
body .s-checkin__date {
  flex: 1; min-width: 0; text-align: center;
  font-size: var(--fs-body); line-height: 1.3; font-weight: 600; color: var(--text);
  font-variant-numeric: tabular-nums;
}

/* ---------- 感覺卡：標題列 ---------- */
body .s-checkin .c-card { padding: var(--sp-5); }
@container view (min-width: 640px) {
  body .s-checkin .c-card { padding: var(--sp-6); }
}
body .s-checkin .c-card:has(> .c-checkin) {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: var(--sp-3);
}
body .s-checkin .c-card:has(> .c-checkin) > * { grid-column: 1 / -1; min-width: 0; }
body .s-checkin .c-card:has(> .c-checkin) > h2 {
  grid-column: 1; grid-row: 1; margin: 0;
  font-size: var(--fs-title3); line-height: var(--lh-title3); font-weight: var(--fw-title2); letter-spacing: var(--ls-title);
}
body .s-checkin .c-card:has(> .c-checkin) > .s-checkin__summary {
  grid-column: 2; grid-row: 1; justify-self: end;
  display: inline-flex; flex-direction: row; align-items: center;
  padding: 4px var(--sp-3); border-radius: var(--r-chip);
  background: var(--surface-2); color: var(--text-2);
  font-size: var(--fs-footnote); line-height: 1.3; font-weight: 600; font-variant-numeric: tabular-nums;
}
body .s-checkin .c-card:has(> .c-checkin) > p {
  margin: var(--sp-1) 0 var(--sp-2);
  font-size: var(--fs-callout); line-height: var(--lh-callout); color: var(--text-2);
}

/* ---------- 四個項目 ---------- */
body .s-checkin .c-checkin { display: flex; flex-direction: column; }
body .s-checkin .c-checkin__row { display: grid; row-gap: var(--sp-3); padding: var(--sp-4) 0; }
body .s-checkin .c-checkin__row + .c-checkin__row { border-top: 1px solid var(--divider); }
body .s-checkin .c-checkin__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-3); min-width: 0; }
body .s-checkin .c-checkin__label {
  margin: 0; font-size: var(--fs-body); line-height: 1.3; font-weight: 600; color: var(--text);
}
body .s-checkin .c-checkin__status {
  font-size: var(--fs-footnote); line-height: 1.3; color: var(--text-3); text-align: right;
}
body .s-checkin .c-checkin__row:has(.c-scale__opt[aria-checked="true"]) .c-checkin__status {
  color: var(--primary); font-weight: 600;
}

/* 程度選項：等寬格、中性色（不暗示好壞） */
body .s-checkin .c-scale {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-2);
}
body .s-checkin .c-scale__opt {
  width: 100%; min-width: 0; min-height: var(--tap); padding: var(--sp-2) var(--sp-3);
  border: 2px solid transparent; border-radius: var(--r-input);
  background: var(--surface-2); color: var(--text-2);
  font-size: 0.875rem; line-height: 1.25; font-weight: 500; text-align: center;
  transform: none;
  transition: background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease);
}
body .s-checkin .c-scale__opt[aria-checked="true"],
body .s-checkin .c-scale__opt.is-active {
  background: var(--primary-soft); border-color: var(--primary); color: var(--primary);
  font-weight: 600; transform: none;
}
@container view (min-width: 480px) {
  body .s-checkin .c-scale { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* 清除：低調的文字按鈕，靠右 */
body .s-checkin .c-scale__clear {
  --btn-fg: var(--text-2);
  justify-self: end; min-height: 36px; padding: 0 var(--sp-3); margin-top: calc(-1 * var(--sp-2));
  border-radius: var(--r-chip); font-size: var(--fs-footnote); font-weight: 500; text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
  body .s-checkin .c-scale__clear:hover { background: var(--surface-2); }
}

/* 寬版：四個項目排成 2 欄卡格，善用寬度 */
@container view (min-width: 640px) {
  body .s-checkin .c-checkin {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-3); margin-top: var(--sp-2);
  }
  body .s-checkin .c-checkin__row,
  body .s-checkin .c-checkin__row + .c-checkin__row {
    align-content: start; padding: var(--sp-4); border: 1px solid var(--border);
    border-radius: var(--r-card); background: var(--surface);
  }
  body .s-checkin .c-scale { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- 輔助訊息 ---------- */
body .s-checkin .s-checkin__help:not(:empty) {
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--sp-3);
  margin-top: var(--sp-3); padding: var(--sp-4); border-radius: var(--r-input);
  background: var(--accent-soft); color: var(--text);
  font-size: var(--fs-callout); line-height: var(--lh-callout);
}
body .s-checkin .s-checkin__help p { margin: 0; }

/* ---------- 備註與輸入框 ---------- */
body .s-checkin .c-card > .c-field:last-child { margin-top: var(--sp-4); padding-top: var(--sp-4); border-top: 1px solid var(--divider); }
body .s-checkin .c-field { gap: var(--sp-2); }
body .s-checkin .c-field__label { font-size: var(--fs-footnote); color: var(--text-2); }
body .s-checkin .c-field__input {
  width: 100%; min-height: 48px; padding: 0 var(--sp-4);
  background: var(--surface-2); color: var(--text);
  border: 1px solid transparent; border-radius: var(--r-input); outline: 0;
  font-size: max(16px, 1rem); line-height: 1.4;
  transition: border-color var(--dur-1) var(--ease), background var(--dur-1) var(--ease);
}
body .s-checkin textarea.c-field__input { min-height: 88px; padding: var(--sp-3) var(--sp-4); resize: vertical; }
body .s-checkin .c-field__input:focus { border-color: var(--primary); background: var(--surface); }
body .s-checkin .c-field__input::placeholder { color: var(--text-3); }

/* ---------- 活動卡 ---------- */
body .s-checkin .c-card:has(> .s-checkin__acts) { display: flex; flex-direction: column; }
body .s-checkin .c-card:has(> .s-checkin__acts) > h2 {
  margin: 0 0 var(--sp-3);
  font-size: var(--fs-title3); line-height: var(--lh-title3); font-weight: var(--fw-title2); letter-spacing: var(--ls-title);
}
body .s-checkin .c-card:has(> .s-checkin__acts) > .c-chips { margin: 0 0 var(--sp-4); gap: var(--sp-2); }
body .s-checkin .c-card:has(> .s-checkin__acts) > .c-field { margin: 0 0 var(--sp-4); }

body .s-checkin .c-chips > .c-chip { flex: 1 1 0; justify-content: center; min-height: 40px; padding: 0 var(--sp-4); }
@media (pointer: coarse) {
  body .s-checkin .c-chips > .c-chip { min-height: var(--tap); }
}
@container view (min-width: 640px) {
  body .s-checkin .c-chips > .c-chip { flex: 0 0 auto; padding: 0 var(--sp-5); }
}

/* 分鐘步進器 */
body .s-checkin .c-stepper {
  display: flex; align-items: center; justify-content: space-between; gap: var(--sp-2);
  width: 100%; max-width: 320px; padding: 4px; border-radius: var(--r-chip); background: var(--surface-2);
}
body .s-checkin .c-stepper .c-btn { --btn-bg: var(--surface); box-shadow: var(--shadow-1); flex: none; }
body .s-checkin .c-stepper__value {
  flex: 1; min-width: 0; text-align: center;
  font-size: var(--fs-title3); line-height: 1.2; font-weight: 600; color: var(--text); font-variant-numeric: tabular-nums;
}

/* 加入按鈕 */
body .s-checkin .c-card:has(> .s-checkin__acts) > .c-btn--primary { margin: 0; }
@container view (min-width: 640px) {
  body .s-checkin .c-card:has(> .s-checkin__acts) > .c-btn--primary {
    align-self: flex-start; width: auto; min-width: 200px; padding: 0 var(--sp-8);
  }
}

/* 這天的活動 */
body .s-checkin .c-card:has(> .s-checkin__acts) > h3 {
  margin: var(--sp-6) 0 var(--sp-2); padding-top: var(--sp-5); border-top: 1px solid var(--divider);
  font-size: var(--fs-body); line-height: 1.3; font-weight: 600; color: var(--text);
}
body .s-checkin .s-checkin__acts { list-style: none; margin: 0; padding: 0; }
body .s-checkin .s-checkin__act {
  display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: var(--sp-3);
  min-height: 52px; padding: var(--sp-1) 0;
}
body .s-checkin .s-checkin__act + .s-checkin__act { border-top: 1px solid var(--divider); }
body .s-checkin .s-checkin__act-name { font-size: var(--fs-body); line-height: 1.4; font-weight: 500; overflow-wrap: anywhere; }
body .s-checkin .s-checkin__act .u-text-2 { font-size: var(--fs-callout); color: var(--text-2); font-variant-numeric: tabular-nums; white-space: nowrap; }
body .s-checkin .s-checkin__act .c-btn { --btn-fg: var(--text-3); width: 40px; height: 40px; min-height: 40px; }
@media (hover: hover) and (pointer: fine) {
  body .s-checkin .s-checkin__act .c-btn:hover { --btn-fg: var(--danger); background: var(--danger-soft); }
}
body .s-checkin .s-checkin__acts + p {
  margin: var(--sp-2) 0 0; padding: var(--sp-3) var(--sp-4); border-radius: var(--r-input);
  background: var(--surface-2); color: var(--text-3);
  font-size: var(--fs-callout); line-height: var(--lh-callout); text-align: center;
}
body .s-checkin .c-card:has(> .s-checkin__acts) > p:last-child {
  margin: var(--sp-4) 0 0; padding: var(--sp-3) var(--sp-4); border-radius: var(--r-input);
  background: var(--primary-tint); color: var(--text-2);
  font-size: var(--fs-callout); line-height: var(--lh-callout); font-weight: 500; font-variant-numeric: tabular-nums;
}
