.eha-container {
  max-width: 1100px;
}

.eha-blink,
.eha-intro {
  margin-bottom: 18px;
}

.eha-label {
  display: block;
  font-weight: 600;
  margin-bottom: 10px;
  color: #31125f;
}

.eha-textarea {
  width: 100%;
  min-height: 340px;
  resize: vertical;
  border: 1px solid #cfc2f7;
  border-radius: 12px;
  padding: 16px;
  font: 14px/1.55 Consolas, Monaco, monospace;
  color: #24164f;
  background: #fbf9ff;
}

.eha-textarea:focus {
  outline: none;
  border-color: #7c3aed;
  box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.12);
}

.eha-result {
  margin-top: 24px;
}

.eha-score-grid,
.eha-grid-2,
.eha-raw-grid {
  display: grid;
  gap: 16px;
}

.eha-score-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  margin-bottom: 20px;
}

.eha-grid-2 {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  margin-bottom: 18px;
}

.eha-panel,
.eha-stat-card {
  background: #fff;
  border: 1px solid #ddd4fb;
  border-radius: 14px;
  padding: 16px;
  box-shadow: 0 8px 24px rgba(49, 18, 95, 0.06);
}

.eha-stat-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.eha-stat-label {
  font-size: 0.95rem;
  color: #5d4f83;
  font-weight: 600;
}

.eha-stat-value {
  font-size: 1.4rem;
  font-weight: 700;
  color: #28145c;
}

.eha-badge {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  justify-content: center;
  padding: 7px 12px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.badge-pass { background: #e7f8ee; color: #0b7a34; }
.badge-warn { background: #fff3db; color: #9a6100; }
.badge-fail { background: #feeaea; color: #b42318; }
.badge-neutral { background: #eee9fb; color: #5b3fa8; }

.eha-summary-item,
.eha-raw-item {
  padding: 12px;
  border-radius: 10px;
  background: #faf8ff;
  border: 1px solid #ebe5ff;
}

.eha-summary-item strong,
.eha-raw-item strong {
  display: block;
  margin-bottom: 6px;
  color: #2a185d;
}

.eha-warning-list {
  display: grid;
  gap: 12px;
}

.eha-warning {
  padding: 12px 14px;
  border-left: 4px solid #b42318;
  background: #fff5f5;
  border-radius: 8px;
  color: #6f1d1b;
}

.eha-warning.safe {
  border-left-color: #0b7a34;
  background: #effaf3;
  color: #116530;
}

.eha-raw-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

@media (max-width: 768px) {
  .eha-textarea {
    min-height: 280px;
  }
}
