body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }
code, pre { font-family: ui-monospace, "SF Mono", Menlo, monospace; }
audio { height: 38px; }
details summary { cursor: pointer; user-select: none; color: #555; }
details[open] summary { color: #000; font-weight: 600; }
.card.h-100 { display: flex; flex-direction: column; }

/* 클라우드별 브랜드 색상 배지 */
.badge.bg-cloud-google { background-color: #4285F4 !important; color: #fff; }
.badge.bg-cloud-aws    { background-color: #FF9900 !important; color: #000; }
.badge.bg-cloud-azure  { background-color: #0078D4 !important; color: #fff; }
.badge.bg-cloud-openai { background-color: #10A37F !important; color: #fff; }

/* 모델 카테고리 배지 */
.badge.cat-llm      { background-color: #9333ea !important; color: #fff; }
.badge.cat-neural   { background-color: #0ea5e9 !important; color: #fff; }
.badge.cat-standard { background-color: #6b7280 !important; color: #fff; }

/* 별점 UI */
.rating { display: inline-flex; gap: 2px; line-height: 1; user-select: none; }
.rating .star {
  cursor: pointer; font-size: 1.15em; color: #d0d0d0;
  transition: color 0.1s;
}
.rating .star.active { color: #f5b300; }
.rating:hover .star { color: #d0d0d0; }
.rating .star:hover, .rating .star:hover ~ .star { color: #d0d0d0; }
.rating .star:hover, .rating .star.hover-pre { color: #ffd54f !important; }
.rating .clear-rating {
  cursor: pointer; font-size: 0.75em; color: #999;
  margin-left: 4px; user-select: none;
}
.rating .clear-rating:hover { color: #dc3545; }
