body.page .entry-content.kpsc-ready {
  --kpsc-text: #1e2b26;
  --kpsc-muted: #596b62;
  --kpsc-panel: #ffffff;
  --kpsc-border: rgba(71, 175, 126, 0.24);
  --kpsc-shadow: 0 16px 36px rgba(34, 74, 54, 0.14);
  --kpsc-green: #29b47f;
  --kpsc-green-dark: #13895d;
  color: var(--kpsc-text);
}

.kpsc-sponsor-board {
  --kpsc-text: #1e2b26;
  --kpsc-muted: #596b62;
  --kpsc-panel: #ffffff;
  --kpsc-border: rgba(71, 175, 126, 0.24);
  --kpsc-shadow: 0 16px 36px rgba(34, 74, 54, 0.14);
  --kpsc-green: #29b47f;
  --kpsc-green-dark: #13895d;
  color: var(--kpsc-text);
}

.kpsc-section {
  margin: 42px 0;
  padding: 26px;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(225, 250, 235, 0.92), rgba(242, 249, 255, 0.92));
  border: 1px solid rgba(84, 188, 143, 0.22);
  box-shadow: 0 14px 32px rgba(24, 70, 48, 0.08);
}

.kpsc-section-header {
  margin-bottom: 22px;
}

.kpsc-section-header h2,
.kpsc-section-header h3 {
  display: inline-flex;
  align-items: center;
  width: auto;
  margin: 0 !important;
  padding: 10px 18px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--kpsc-green), #70d6a8) !important;
  color: #ffffff !important;
  font-size: clamp(18px, 2vw, 24px) !important;
  line-height: 1.25 !important;
  box-shadow: none !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18) !important;
}

.kpsc-grid {
  display: grid;
  gap: 20px;
}

.kpsc-grid-premium {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}

.kpsc-grid-standard,
.kpsc-grid-ambassador {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  justify-content: center;
}

.kpsc-grid-light {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
}

.kpsc-light-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: center;
}

.kpsc-light-link {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(41, 180, 127, 0.22);
  color: var(--kpsc-green-dark) !important;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none !important;
  box-shadow: 0 6px 14px rgba(29, 83, 57, 0.08);
}

a.kpsc-light-link:hover {
  background: #ffffff;
  color: #0f6f4d !important;
}

.kpsc-empty {
  margin: 0;
  padding: 18px 20px;
  border-radius: 14px;
  border: 1px dashed rgba(41, 180, 127, 0.34);
  background: rgba(255, 255, 255, 0.72);
  color: var(--kpsc-muted);
  font-weight: 700;
  text-align: center;
}

.kpsc-card {
  min-width: 0;
  background: var(--kpsc-panel);
  border: 1px solid var(--kpsc-border);
  border-radius: 16px;
  box-shadow: var(--kpsc-shadow);
  overflow: hidden;
  color: var(--kpsc-text);
}

.kpsc-card > * {
  margin-left: 18px;
  margin-right: 18px;
}

.kpsc-card > :last-child {
  margin-bottom: 18px;
}

.kpsc-card-title {
  margin: 0 0 16px !important;
  padding: 14px 18px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, var(--kpsc-green-dark), var(--kpsc-green)) !important;
  color: #ffffff !important;
  font-size: 1.08rem !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  text-align: center;
  box-shadow: none !important;
}

.kpsc-card-title::before,
.kpsc-card-title::after {
  content: none !important;
}

.kpsc-card-image {
  display: block;
  width: 100%;
  max-width: 512px;
  max-height: 512px;
  height: 100%;
  object-fit: contain;
  background: transparent;
  border-radius: 12px;
  margin: 0 !important;
}

.kpsc-card-image-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(512px, calc(100% - 36px));
  max-width: 512px;
  aspect-ratio: 1 / 1;
  margin: 0 auto 18px !important;
  padding: 0;
  border-radius: 14px;
  background: #ffffff;
  overflow: hidden;
}

.kpsc-card p,
.kpsc-card li {
  color: var(--kpsc-text);
  font-size: 0.95rem;
  line-height: 1.75;
}

.kpsc-card-intro {
  width: calc(100% - 44px);
  max-width: none;
  margin: 0 22px;
  padding: 18px 20px;
  border: 1px solid rgba(41, 180, 127, 0.28);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(232, 250, 240, 0.96), rgba(241, 248, 255, 0.96));
  box-shadow: 0 12px 28px rgba(29, 83, 57, 0.12);
  box-sizing: border-box;
}

.kpsc-card-intro > :first-child {
  margin-top: 0;
}

.kpsc-card-intro > :last-child {
  margin-bottom: 0;
}

.kpsc-card-intro p {
  margin-left: 0;
  margin-right: 0;
}

.kpsc-card .speech-wrap,
.kpsc-card .wp-block-cocoon-blocks-balloon-ex-box-1 {
  margin-top: 12px;
}

.kpsc-card-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: calc(100% - 36px);
  padding: 9px 14px;
  border-radius: 999px;
  background: #12855b;
  color: #ffffff !important;
  font-weight: 700;
  text-decoration: none !important;
  box-shadow: 0 6px 14px rgba(18, 133, 91, 0.22);
  overflow-wrap: anywhere;
}

.kpsc-card-link:hover {
  background: #0f6f4d;
  color: #ffffff !important;
}

.kpsc-card-link.is-x {
  background: #111111;
  color: #ffffff !important;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.22);
}

.kpsc-card-link.is-x:hover {
  background: #000000;
  color: #ffffff !important;
}

.kpsc-card-link.is-youtube {
  background: #ff0033;
  color: #ffffff !important;
  box-shadow: 0 6px 14px rgba(255, 0, 51, 0.24);
}

.kpsc-card-link.is-youtube:hover {
  background: #d9002b;
  color: #ffffff !important;
}

.kpsc-card-link.is-twitch {
  background: #9146ff;
  color: #ffffff !important;
  box-shadow: 0 6px 14px rgba(145, 70, 255, 0.24);
}

.kpsc-card-link.is-twitch:hover {
  background: #772ce8;
  color: #ffffff !important;
}

.kpsc-button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: center;
  margin-top: 18px;
  width: auto;
}

.kpsc-button-row .kpsc-card-link {
  max-width: 100%;
  margin: 0;
}

.kpsc-card-premium {
  border-radius: 18px;
  border-color: rgba(38, 171, 116, 0.34);
  box-shadow: 0 20px 46px rgba(22, 90, 57, 0.18);
}

.kpsc-card-premium > * {
  margin-left: 22px;
  margin-right: 22px;
}

.kpsc-card-premium > :last-child {
  margin-bottom: 22px;
}

.kpsc-card-premium .kpsc-card-title {
  padding: 18px 22px !important;
  font-size: clamp(1.18rem, 2vw, 1.55rem) !important;
}

.kpsc-card-premium .kpsc-card-title + .kpsc-premium-image-wrap {
  margin-top: 0 !important;
}

.kpsc-card-premium .kpsc-card-image {
  width: 100%;
  max-width: 512px;
  max-height: 512px;
  height: 100%;
  margin: 0 !important;
  border-radius: 14px;
}

.kpsc-card-premium .kpsc-premium-image-wrap {
  width: min(512px, 100%);
  max-width: 512px;
  aspect-ratio: 1 / 1;
  margin: 0 auto 18px !important;
}

.kpsc-card-premium .kpsc-premium-image-wrap .kpsc-card-image {
  margin: 0 auto !important;
}

.kpsc-card-premium p,
.kpsc-card-premium li {
  font-size: 1rem;
}

.kpsc-card-premium p,
.kpsc-card-premium ul,
.kpsc-card-premium ol,
.kpsc-card-premium .wp-block-group,
.kpsc-card-premium .speech-wrap {
  width: calc(100% - 44px);
  max-width: none;
  box-sizing: border-box;
}

.kpsc-card .speech-wrap,
.kpsc-card .wp-block-cocoon-blocks-balloon-ex-box-1,
.kpsc-card .cocoon-block-balloon {
  display: block !important;
  clear: both;
  width: calc(100% - 44px) !important;
  max-width: none !important;
  margin-left: 22px !important;
  margin-right: 22px !important;
  padding: 0 !important;
}

.kpsc-card .speech-person,
.kpsc-card .speech-icon,
.kpsc-card .speaker,
.kpsc-card .speech-name {
  display: none !important;
}

.kpsc-card .speech-balloon,
.kpsc-card .speech-wrap.sbp-l .speech-balloon,
.kpsc-card .speech-wrap.sbp-r .speech-balloon,
.kpsc-card .speech-wrap .speech-balloon {
  display: block !important;
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 16px 18px !important;
  box-sizing: border-box;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
}

.kpsc-card .speech-balloon::before,
.kpsc-card .speech-balloon::after,
.kpsc-card .speech-wrap.sbp-l .speech-balloon::before,
.kpsc-card .speech-wrap.sbp-l .speech-balloon::after,
.kpsc-card .speech-wrap.sbp-r .speech-balloon::before,
.kpsc-card .speech-wrap.sbp-r .speech-balloon::after {
  content: none !important;
}

.kpsc-card-standard,
.kpsc-card-ambassador,
.kpsc-card-light {
  box-shadow: 0 12px 28px rgba(33, 74, 55, 0.12);
}

.kpsc-card-standard,
.kpsc-card-ambassador {
  width: auto;
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  grid-template-areas:
    "image title"
    "image intro"
    "image buttons";
  align-items: start;
  gap: 12px 16px;
  padding: 14px;
}

.kpsc-card-standard > *,
.kpsc-card-ambassador > * {
  margin-left: 0;
  margin-right: 0;
}

.kpsc-card-standard .kpsc-card-title,
.kpsc-card-ambassador .kpsc-card-title,
.kpsc-card-light .kpsc-card-title {
  font-size: 1rem !important;
  padding: 12px 14px !important;
}

.kpsc-card-standard .kpsc-card-title,
.kpsc-card-ambassador .kpsc-card-title {
  grid-area: title;
  margin: 0 !important;
  border-radius: 12px !important;
}

.kpsc-card-standard .kpsc-card-image-wrap,
.kpsc-card-ambassador .kpsc-card-image-wrap {
  grid-area: image;
  width: 200px;
  max-width: 200px;
  height: 200px;
  margin: 0 !important;
}

.kpsc-card-standard .kpsc-card-image,
.kpsc-card-ambassador .kpsc-card-image {
  max-width: 200px;
  max-height: 200px;
}

.kpsc-card-standard .kpsc-card-intro,
.kpsc-card-ambassador .kpsc-card-intro {
  grid-area: intro;
  width: 100%;
  margin: 0;
  padding: 14px 16px;
}

.kpsc-card-standard .kpsc-button-row,
.kpsc-card-ambassador .kpsc-button-row {
  grid-area: buttons;
  justify-content: flex-start;
  margin: 0;
  width: 100%;
}

@media (max-width: 1320px) {
  .kpsc-grid-standard,
  .kpsc-grid-ambassador {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 920px) {
  .kpsc-grid-premium {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kpsc-grid-standard,
  .kpsc-grid-ambassador {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .kpsc-grid-standard,
  .kpsc-grid-ambassador {
    grid-template-columns: 1fr;
  }

  .kpsc-card-standard,
  .kpsc-card-ambassador {
    grid-template-columns: 160px minmax(0, 1fr);
  }

  .kpsc-card-standard .kpsc-card-image-wrap,
  .kpsc-card-ambassador .kpsc-card-image-wrap {
    width: 160px;
    max-width: 160px;
    height: 160px;
  }

  .kpsc-card-standard .kpsc-card-image,
  .kpsc-card-ambassador .kpsc-card-image {
    max-width: 160px;
    max-height: 160px;
  }
}

@media (max-width: 680px) {
  .kpsc-section {
    margin: 30px 0;
    padding: 16px;
    border-radius: 16px;
  }

  .kpsc-grid,
  .kpsc-grid-premium,
  .kpsc-grid-standard,
  .kpsc-grid-ambassador,
  .kpsc-grid-light {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .kpsc-card-standard,
  .kpsc-card-ambassador {
    width: 100%;
    grid-template-columns: 1fr;
    grid-template-areas:
      "title"
      "image"
      "intro"
      "buttons";
  }

  .kpsc-card-standard .kpsc-card-image-wrap,
  .kpsc-card-ambassador .kpsc-card-image-wrap {
    width: 200px;
    max-width: 200px;
    height: 200px;
    margin: 0 auto 14px !important;
  }

  .kpsc-card-standard .kpsc-card-image,
  .kpsc-card-ambassador .kpsc-card-image {
    max-width: 200px;
    max-height: 200px;
  }

  .kpsc-card-standard .kpsc-button-row,
  .kpsc-card-ambassador .kpsc-button-row {
    justify-content: center;
  }

  .kpsc-card > *,
  .kpsc-card-premium > * {
    margin-left: 14px;
    margin-right: 14px;
  }

  .kpsc-card-image-wrap,
  .kpsc-card-premium .kpsc-card-image-wrap,
  .kpsc-card-premium .kpsc-premium-image-wrap {
    width: calc(100% - 28px);
    margin-left: 14px !important;
    margin-right: 14px !important;
  }

  .kpsc-card > :last-child,
  .kpsc-card-premium > :last-child {
    margin-bottom: 14px;
  }
}
