/* kamishibai (紙芝居サミット / フロント / フォロー) 共用スタイル。
   セレクタは #page-kamishibai-summit / #page-kamishibai-front / #page-kamishibai-followup で
   始める(SPEC: CSS の規律)。predai.css と同じ粒度。 */

#page-kamishibai-summit .kb-textarea,
#page-kamishibai-front .kb-textarea,
#page-kamishibai-followup .kb-textarea {
  width: 100%; min-height: 72px; font-size: 14px; line-height: 1.6; resize: vertical;
}
#page-kamishibai-summit .kb-req,
#page-kamishibai-front .kb-req,
#page-kamishibai-followup .kb-req { color: var(--danger, #dc2626); font-size: 12px; margin-left: 6px; }
#page-kamishibai-summit .kb-fold,
#page-kamishibai-front .kb-fold,
#page-kamishibai-followup .kb-fold {
  margin: 14px 0; border: 1px solid var(--border, #e2e2e2); border-radius: 8px; padding: 6px 12px;
}
#page-kamishibai-summit .kb-fold > summary,
#page-kamishibai-front .kb-fold > summary,
#page-kamishibai-followup .kb-fold > summary { cursor: pointer; font-weight: 600; padding: 6px 0; }
#page-kamishibai-summit .kb-select,
#page-kamishibai-front .kb-select,
#page-kamishibai-followup .kb-select { font-size: 14px; padding: 4px 8px; }
#page-kamishibai-summit .kb-result,
#page-kamishibai-front .kb-result,
#page-kamishibai-followup .kb-result { font-size: 14px; line-height: 1.7; white-space: pre-wrap; }
#page-kamishibai-summit .kb-note-block,
#page-kamishibai-front .kb-note-block,
#page-kamishibai-followup .kb-note-block { margin-top: 16px; }
#page-kamishibai-summit .kb-actions,
#page-kamishibai-front .kb-actions,
#page-kamishibai-followup .kb-actions { display: flex; gap: 8px; margin-top: 16px; flex-wrap: wrap; }

#page-kamishibai-summit { max-width: 980px; }
#page-kamishibai-summit .kb-page-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
#page-kamishibai-summit .kb-page-header h2 { margin: 0 0 6px; font-size: 28px; }
#page-kamishibai-summit .kb-page-header p { margin: 0; color: var(--text-muted); line-height: 1.7; }
#page-kamishibai-summit .kb-draft-badge { padding: 6px 10px; border-radius: 999px; background: #fff7ed; color: #9a3412; font-size: 11px; font-weight: 700; white-space: nowrap; }
#page-kamishibai-summit .kb-summary { font-size: 14px; line-height: 1.7; }
#page-kamishibai-summit .kb-steps { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin: 18px 0; }
#page-kamishibai-summit .kb-steps span { padding: 9px 10px; border-radius: 8px; background: #f1f5f9; color: var(--text-muted); font-size: 11px; font-weight: 700; text-align: center; }
#page-kamishibai-summit .kb-steps span.is-current { background: #111827; color: #fff; }
#page-kamishibai-summit .kb-note-block p,
#page-kamishibai-summit .kb-material-note { margin: 5px 0 10px; color: var(--text-muted); font-size: 12px; line-height: 1.6; }
#page-kamishibai-summit .kb-result-note { margin-top: 18px; padding: 12px; border-radius: 8px; background: #f8fafc; color: var(--text-muted); font-size: 12px; }
#page-kamishibai-summit .kb-error { margin-top: 10px; color: var(--danger, #dc2626); font-size: 14px; }
#page-kamishibai-summit .kb-textarea.is-invalid { border-color: var(--danger, #dc2626); }
@media (max-width: 700px) {
  #page-kamishibai-summit .kb-page-header { display: block; }
  #page-kamishibai-summit .kb-draft-badge { display: inline-block; margin-top: 10px; }
  #page-kamishibai-summit .kb-steps { grid-template-columns: repeat(2,1fr); }
}

#page-kamishibai-front { max-width: 980px; }
#page-kamishibai-front .kb-page-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:18px; }
#page-kamishibai-front .kb-page-header h2 { margin:0 0 6px; font-size:28px; }
#page-kamishibai-front .kb-page-header p { margin:0; color:var(--text-muted); line-height:1.7; }
#page-kamishibai-front .kb-draft-badge { padding:6px 10px; border-radius:999px; background:#fff7ed; color:#9a3412; font-size:11px; font-weight:700; white-space:nowrap; }
#page-kamishibai-front .kb-summary { font-size:14px; line-height:1.7; }
#page-kamishibai-front .kb-closing-card { margin:18px 0; }
#page-kamishibai-front .kb-closing-card h3 { margin-top:0; }
#page-kamishibai-front .kb-closing-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
#page-kamishibai-front .kb-closing-option { display:flex; gap:9px; align-items:flex-start; padding:13px; border:1px solid var(--border,#e2e2e2); border-radius:9px; cursor:pointer; }
#page-kamishibai-front .kb-closing-option strong { display:block; }
#page-kamishibai-front .kb-closing-option small { display:block; margin-top:3px; color:var(--text-muted); }
#page-kamishibai-front .kb-steps { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin:18px 0; }
#page-kamishibai-front .kb-steps span { padding:9px 8px; border-radius:8px; background:#f1f5f9; color:var(--text-muted); font-size:11px; font-weight:700; text-align:center; }
#page-kamishibai-front .kb-steps span.is-current { background:#111827; color:#fff; }
#page-kamishibai-front .kb-note-block p,
#page-kamishibai-front .kb-material-note { margin:5px 0 10px; color:var(--text-muted); font-size:12px; line-height:1.6; }
#page-kamishibai-front .kb-result-note { margin-top:18px; padding:12px; border-radius:8px; background:#f8fafc; color:var(--text-muted); font-size:12px; }
#page-kamishibai-front .kb-error { margin-top:10px; color:var(--danger,#dc2626); font-size:14px; }
#page-kamishibai-front .kb-textarea.is-invalid { border-color:var(--danger,#dc2626); }
@media (max-width:700px) {
  #page-kamishibai-front .kb-page-header { display:block; }
  #page-kamishibai-front .kb-draft-badge { display:inline-block; margin-top:10px; }
  #page-kamishibai-front .kb-steps { grid-template-columns:repeat(2,1fr); }
  #page-kamishibai-front .kb-closing-options { grid-template-columns:1fr; }
}

#page-kamishibai-followup { max-width:980px; }
#page-kamishibai-followup .kb-page-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:18px; }
#page-kamishibai-followup .kb-page-header h2 { margin:0 0 6px; font-size:28px; }
#page-kamishibai-followup .kb-page-header p { margin:0; color:var(--text-muted); line-height:1.7; }
#page-kamishibai-followup .kb-draft-badge { padding:6px 10px; border-radius:999px; background:#fff7ed; color:#9a3412; font-size:11px; font-weight:700; white-space:nowrap; }
#page-kamishibai-followup .kb-summary { font-size:14px; line-height:1.7; }
#page-kamishibai-followup .kb-boundary-note,
#page-kamishibai-followup .kb-result-note { margin:18px 0; padding:12px; border-radius:8px; background:#f8fafc; color:var(--text-muted); font-size:12px; line-height:1.6; }
#page-kamishibai-followup .kb-steps { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin:18px 0; }
#page-kamishibai-followup .kb-steps span { padding:9px 8px; border-radius:8px; background:#f1f5f9; color:var(--text-muted); font-size:11px; font-weight:700; text-align:center; }
#page-kamishibai-followup .kb-steps span.is-current { background:#111827; color:#fff; }
#page-kamishibai-followup .kb-note-block p,
#page-kamishibai-followup .kb-material-note { margin:5px 0 10px; color:var(--text-muted); font-size:12px; line-height:1.6; }
#page-kamishibai-followup .kb-error { margin-top:10px; color:var(--danger,#dc2626); font-size:14px; }
#page-kamishibai-followup .kb-textarea.is-invalid { border-color:var(--danger,#dc2626); }
@media (max-width:700px) {
  #page-kamishibai-followup .kb-page-header { display:block; }
  #page-kamishibai-followup .kb-draft-badge { display:inline-block; margin-top:10px; }
  #page-kamishibai-followup .kb-steps { grid-template-columns:repeat(2,1fr); }
}
