@charset "UTF-8";

/* 共通キャストカード：カードタイプ
 * このファイルを直接編集します。追加の上書き用CSSは作成しません。
 * ページ範囲は :where() で限定し、既存の詳細度を保持しています。
 */

html:where([data-pc-page="top"], [data-pc-page="schedule"], [data-pc-page="girls-list"], [data-pc-page="event"]) body.natural-theme.natural-pc .pc-compact-status {
  background: linear-gradient(180deg,var(--ui-pc-tone-cast-card-pc-compact-status-background-2a6ff, var(--ui-pc-profile-bg)) 0%,var(--ui-pc-tone-cast-card-pc-compact-status-background-cb7e8, var(--ui-pc-profile-bg-variant-2)) 100%) !important;
  color: var(--ui-pc-tone-cast-card-pc-compact-status-color-136e3, var(--ui-pc-profile-text)) !important;
  border-color: var(--ui-pc-profile-border) !important;
}

:where(html[data-pc-page="top"], html[data-pc-page="schedule"], html[data-pc-page="girls-list"], html[data-pc-page="event"]) .pc-schedule-page .schedule_in_bg.pc-schedule-grid.pc-card-mode-grid {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 10px !important;
  align-items: start !important;
  width: 100% !important;
  min-height: 0 !important;
}

:where(html[data-pc-page="top"], html[data-pc-page="schedule"], html[data-pc-page="girls-list"], html[data-pc-page="event"]) .pc-schedule-page .pc-card-mode-grid>.clear {
  display: none !important;
}

:where(html[data-pc-page="top"], html[data-pc-page="schedule"], html[data-pc-page="girls-list"], html[data-pc-page="event"]) .pc-compact-cast-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--ui-pc-card-border);
  border-radius: 4px;
  background: var(--ui-pc-card-bg);
  box-shadow: 0 2px 8px var(--ui-pc-card-shadow);
  box-sizing: border-box;
}

:where(html[data-pc-page="top"], html[data-pc-page="schedule"], html[data-pc-page="girls-list"], html[data-pc-page="event"]) .pc-compact-status {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  padding: 0 6px;
  overflow: hidden;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  text-overflow: ellipsis;
  box-sizing: border-box;
}

:where(html[data-pc-page="top"], html[data-pc-page="schedule"], html[data-pc-page="girls-list"], html[data-pc-page="event"]) .pc-compact-photo {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 2/3;
  overflow: hidden;
  background: var(--ui-pc-profile-bg-variant-3);
}

:where(html[data-pc-page="top"], html[data-pc-page="schedule"], html[data-pc-page="girls-list"], html[data-pc-page="event"]) .pc-compact-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

:where(html[data-pc-page="top"], html[data-pc-page="schedule"], html[data-pc-page="girls-list"], html[data-pc-page="event"]) .pc-compact-new {
  position: static;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  height: 15px;
  padding: 0 4px;
  border: 1px solid var(--ui-pc-profile-border-variant-2);
  border-radius: 3px;
  background: var(--ui-pc-profile-bg-variant-4);
  color: var(--ui-pc-profile-text-variant-2);
  font: 800 9px/1 Arial,sans-serif;
  letter-spacing: .08em;
  box-sizing: border-box;
}

:where(html[data-pc-page="top"], html[data-pc-page="schedule"], html[data-pc-page="girls-list"], html[data-pc-page="event"]) .pc-compact-new-label {
  display: block;
  position: relative;
  top: 0;
  line-height: 9px;
}

:where(html[data-pc-page="top"], html[data-pc-page="schedule"], html[data-pc-page="girls-list"], html[data-pc-page="event"]) .pc-compact-info {
  display: block;
  min-width: 0;
  min-height: 58px;
  padding: 8px 5px 7px;
  background: var(--ui-pc-profile-bg-variant-5);
  color: var(--ui-pc-profile-text-variant-3);
  text-align: center;
  text-decoration: none;
  box-sizing: border-box;
}

:where(html[data-pc-page="top"], html[data-pc-page="schedule"], html[data-pc-page="girls-list"], html[data-pc-page="event"]) .pc-compact-name {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--ui-pc-profile-border-variant-3);
  color: var(--ui-pc-profile-text-variant-3);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.05;
  white-space: nowrap;
  text-overflow: ellipsis;
}

/* Keep age and NEW together. Long names ellipsize without hiding the badge. */
:where(html[data-pc-page="top"], html[data-pc-page="schedule"], html[data-pc-page="girls-list"], html[data-pc-page="event"]) .pc-compact-name-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

:where(html[data-pc-page="top"], html[data-pc-page="schedule"], html[data-pc-page="girls-list"], html[data-pc-page="event"]) .pc-compact-name-meta {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 4px;
  margin-left: 3px;
  white-space: nowrap;
}

:where(html[data-pc-page="top"], html[data-pc-page="schedule"], html[data-pc-page="girls-list"], html[data-pc-page="event"]) .pc-compact-name-meta:empty {
  display: none;
}

:where(html[data-pc-page="top"], html[data-pc-page="schedule"], html[data-pc-page="girls-list"], html[data-pc-page="event"]) .pc-compact-name small {
  margin-left: 0;
  color: var(--ui-pc-top-compact-meta-foreground, var(--ui-pc-tone-cast-card-pc-compact-name-small-color-44a45, var(--pc-top-secondary-text, #5e665e)));
  font-size: 13px;
  font-weight: 700;
}

:where(html[data-pc-page="top"], html[data-pc-page="schedule"], html[data-pc-page="girls-list"], html[data-pc-page="event"]) .pc-compact-size {
  display: block;
  overflow: hidden;
  padding-top: 6px;
  color: var(--ui-pc-top-compact-meta-foreground, var(--ui-pc-tone-cast-card-pc-compact-size-color-731fa, var(--pc-top-secondary-text, #5e665e)));
  font: 700 13px/1.1 Arial,sans-serif;
  letter-spacing: -.01em;
  white-space: nowrap;
  text-overflow: ellipsis;
}

:where(html[data-pc-page="top"], html[data-pc-page="schedule"], html[data-pc-page="girls-list"], html[data-pc-page="event"]) .pc-compact-cast-card:hover {
  border-color: var(--ui-pc-card-border-variant-2);
  box-shadow: 0 4px 12px var(--ui-pc-card-shadow-variant-2);
}
