:root {
  --bg: #F7F6F2;
  --surface: #FFFFFF;
  --border: rgba(0,0,0,0.07);
  --border-2: rgba(0,0,0,0.13);
  --text: #262520;
  --text-2: #6A6963;
  --text-3: #ADACA8;

  --p: #7F77DD;
  --p-light: #EEEDFE;
  --p-text: #3C3489;

  --t: #1D9E75;
  --t-light: #E1F5EE;
  --t-text: #085041;

  --ok: #1D9E75;
  --ok-bg: #E1F5EE;
  --ng: #D85A30;
  --ng-bg: #FAECE7;
  --ng-text: #993C1D;

  --amber: #BA7517;
  --amber-bg: #FAEEDA;

  --radius: 19px;
  --radius-sm: 9px;
}

/* ── PACKAGE CARD ── */
.package-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
}

.package-card__head {
  border-bottom: 1px solid var(--border);
  padding: 24px 27px 19px;
}

.package-card__tag {
  font-family: var(--font-en);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 5px;
  text-transform: uppercase;
}

.package-card__tag--illust { color: var(--p); }
.package-card__tag--live2d { color: var(--t); }

.package-card__title {
  font-size: 23px;
  font-weight: 700;
}

.package-card__body {
  padding: 24px 27px;
}

.package-card__label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-bottom: 13px;
  text-transform: uppercase;
}

.package-card__label--ok { color: var(--ok); }
.package-card__label--ng { color: var(--ng); }

.package-card__list {
  list-style: none;
  margin-bottom: 24px;
}

.package-card__divider {
  background: var(--border);
  border: none;
  height: 1px;
  margin: 21px 0;
}

/* ── PACKAGE ITEM ── */
.package-item {
  border-bottom: 1px solid var(--border);
  display: flex;
  gap: 12px;
  padding: 11px 0;
}

.package-item:last-child {
  border-bottom: none;
}

.package-item__icon {
  align-items: center;
  border-radius: 50%;
  display: flex;
  flex-shrink: 0;
  font-size: 13px;
  font-weight: 700;
  height: 25px;
  justify-content: center;
  margin-top: 3px;
  width: 25px;
}

.package-item__icon--ok { background: var(--ok-bg); color: var(--ok); }
.package-item__icon--ng { background: var(--ng-bg); color: var(--ng); }

.package-item__content {
  flex: 1;
}

.package-item__title {
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 4px;
}

.package-item__note {
  color: var(--text-2);
  font-size: 15px;
  line-height: 1.5;
}

/* ── COMPONENTS: BADGES & PILLS ── */
.file-badge {
  border-radius: 4px;
  display: inline-block;
  font-family: var(--font-en);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin: 0 1px 3px;
  padding: 3px 8px;
  vertical-align: middle;
}

.file-badge--psd  { background: #E6F1FB; color: #0C447C; }
.file-badge--png  { background: #EAF3DE; color: #27500A; }
.file-badge--moc3 { background: #E1F5EE; color: #085041; }
.file-badge--json { background: #FAEEDA; color: #633806; }
.file-badge--mp4, 
.file-badge--mov  { background: #FBEAF0; color: #72243E; }
.file-badge--cmo3, 
.file-badge--can3 { background: #F1EFE8; color: #5F5E5A; }

.pill {
  border-radius: 13px;
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  margin-right: 5px;
  padding: 3px 9px;
  vertical-align: middle;
}

.pill--export { background: var(--t-light); color: var(--t-text); }
.pill--source { background: var(--p-light); color: var(--p-text); }
.pill--option { background: var(--amber-bg); color: var(--amber); }

/* ── CALLOUT ── */
.callout-box {
  background: var(--ng-bg);
  border-left: 4px solid var(--ng);
  border-radius: 0 8px 8px 0;
  color: var(--ng-text);
  font-size: 15px;
  line-height: 1.6;
  margin-top: 13px;
  padding: 12px 16px;
}

/* ── LEGEND ── */
.legend-strip {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  color: var(--text-2);
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  justify-content: center;
  margin-top: 43px;
  padding: 21px 27px;
}

.legend-strip__item {
  align-items: center;
  display: flex;
  font-size: 16px;
  gap: 8px;
}