.knc-card, .knc-report-card {
  max-width:640px;
  margin:30px auto;
  background:#fff;
  padding:20px;
  border-radius:10px;
  box-shadow:0 2px 8px rgba(0,0,0,0.08);
  border:1px solid #eee;
  font-family:inherit;
  font-size:15px;
}
.knc-title{ text-align:center; font-size:1.05rem; margin-bottom:0; padding-bottom:20px; font-weight:600; }
.knc-label{ display:block; margin-bottom:6px; font-weight:500; }
.knc-input{ width:100%; padding:10px; border:1px solid #e6e6ef; border-radius:8px; font-size:0.95rem; margin-bottom:14px; }
.knc-buttons{ display:flex; gap:10px; justify-content:center; margin-top:20px; }
.knc-btn{ padding:8px 14px; border-radius:8px; border:none; cursor:pointer; font-weight:600; min-width:120px; }
.knc-generate{ background:#1d2d06; color:#fff; width:40%; }
.knc-reset{ background:#e0e0e0; color:#000; width:40%; }
.knc-result-wrap{ margin-top:18px; }
.knc-report-title{ text-align:center; font-size:1.05rem; margin-bottom:8px; font-weight:700; padding:20px 0; }
.knc-break-line{ font-size:0.95rem; font-weight:600; margin-bottom:6px; }
.knc-date{ font-size:0.9rem; color:#6b7280; margin-bottom:12px; }
.knc-summary-table{ width:100%; border-collapse:collapse; margin-bottom:12px; }
.knc-summary-table th, .knc-summary-table td{ border:1px solid #eef0f5; padding:10px; text-align:left; }
.knc-section-title{ font-weight:700; color:inherit; margin-top:12px; margin-bottom:6px; }
.knc-interpretation{ font-size:0.95rem; line-height:1.7; text-align:justify; }
.knc-note{ margin-top:14px; font-size:0.9rem; color:#333; }
@media(max-width:640px){ .knc-buttons{ flex-direction:column; } .knc-generate, .knc-reset{ width:100%; } }
