/*
 * AonePlus 2026 redesign — shared user-page layer.
 *
 * This file is intentionally an override layer for the existing templates.
 * The marketing home page is styled separately. The CBT examination shell and
 * the eBook reading workspace keep their task-specific layouts.
 */

:root {
  --rd-font: "Pretendard Variable", Pretendard, "Noto Sans KR", "Malgun Gothic", sans-serif;
  --rd-white: #fff;
  --rd-gray-5: #f8f8f8;
  --rd-gray-10: #f0f0f0;
  --rd-gray-20: #e4e4e4;
  --rd-gray-30: #d8d8d8;
  --rd-gray-50: #8e8e8e;
  --rd-gray-60: #717171;
  --rd-gray-70: #555;
  --rd-gray-80: #2d2d2d;
  --rd-gray-90: #1d1d1d;
  --rd-primary-5: #edf3ff;
  --rd-primary-10: #daeaff;
  --rd-primary-20: #b3d6ff;
  --rd-primary-50: #0068ff;
  --rd-primary-60: #104ff3;
  --rd-primary-70: #003ddd;
  --rd-primary-80: #14299f;
  --rd-primary-90: #07205f;
  --rd-secondary-5: #edfffa;
  --rd-secondary-20: #b3fffb;
  --rd-secondary-50: #00c1af;
  --rd-secondary-70: #008f82;
  --rd-point-5: #fff1f3;
  --rd-point-20: #ffccd6;
  --rd-point-50: #f6295d;
  --rd-point-70: #c10f4a;
  --rd-success: #087a55;
  --rd-warning: #a15c00;
  --rd-danger: #c10f4a;
  --rd-line: #e4e4e4;
  --rd-surface: #f8f8f8;
  --rd-radius-sm: 12px;
  --rd-radius: 20px;
  --rd-radius-lg: 24px;
  --rd-pill: 999px;
  --rd-shadow: 0 14px 40px rgba(7, 32, 95, 0.08);
  --rd-shadow-hover: 0 20px 48px rgba(7, 32, 95, 0.14);
  --rd-content: 1440px;
  --rd-reading: 1120px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  .page-section,
  .legal-hero,
  .legal-page,
  .content-hero,
  .content-page,
  .support-hero
) {
  font-family: var(--rd-font);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .page-section {
  min-height: 0;
  padding: 56px 0 112px;
  background: var(--rd-surface);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .page-section > .page-width {
  width: min(var(--rd-content), calc(100% - 80px));
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  .legal-hero,
  .legal-page,
  .content-hero,
  .content-page
) > .page-width {
  width: min(1240px, calc(100% - 80px));
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .breadcrumb {
  margin-bottom: 28px;
  color: var(--rd-gray-60);
  font-size: 13px;
  font-weight: 600;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .breadcrumb a:hover {
  color: var(--rd-primary-60);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.page-heading, .cbt-heading) {
  margin-bottom: 44px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.page-heading h1, .cbt-heading h1) {
  margin-bottom: 14px;
  color: var(--rd-gray-90);
  font-size: clamp(38px, 3.2vw, 48px);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.22;
  word-break: keep-all;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.page-heading p, .cbt-heading p) {
  max-width: 760px;
  color: var(--rd-gray-60);
  font-size: 17px;
  line-height: 1.7;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .page-heading > strong {
  color: var(--rd-primary-60);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  .button,
  .product-buy,
  .ebook-button,
  .member-submit
) {
  min-height: 52px;
  border-radius: var(--rd-pill);
  padding-right: 28px;
  padding-left: 28px;
  font-weight: 700;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.button.primary, .product-buy) {
  border-color: var(--rd-primary-60);
  background: var(--rd-primary-60);
  color: var(--rd-white);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.button.secondary, .button.outline) {
  border-color: var(--rd-gray-30);
  background: var(--rd-white);
  color: var(--rd-gray-90);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.button, .product-buy, .ebook-button) {
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.button, .product-buy, .ebook-button):hover {
  box-shadow: 0 10px 24px rgba(7, 32, 95, 0.14);
  transform: translateY(-1px);
}

/* Catalog and book cards */
body:not(.kcbt-body):not(.ebook-reader-workspace) .catalog-toolbar {
  margin-bottom: 32px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .filter-pills {
  flex-wrap: wrap;
  gap: 8px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  .filter-pills button,
  .sort-button,
  .catalog-sort select
) {
  min-height: 44px;
  border-color: var(--rd-gray-20);
  border-radius: var(--rd-pill);
  background: var(--rd-white);
  color: var(--rd-gray-70);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .filter-pills button.active {
  border-color: var(--rd-primary-60);
  background: var(--rd-primary-60);
  color: var(--rd-white);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  .catalog-series-heading,
  .subheading,
  .support-section-heading,
  .review-heading
) {
  border-color: var(--rd-gray-20);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .catalog-series-heading h2 {
  color: var(--rd-gray-90);
  font-size: 32px;
  letter-spacing: -0.025em;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .catalog-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .catalog-grid .product-card {
  min-height: 250px;
  padding: 24px;
  border-color: var(--rd-gray-20);
  border-radius: var(--rd-radius-lg);
  background: linear-gradient(145deg, var(--rd-white), var(--book-soft));
  box-shadow: none;
  gap: 22px;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .catalog-grid .product-card:hover {
  border-color: var(--rd-primary-20);
  box-shadow: var(--rd-shadow);
  transform: translateY(-3px);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .catalog-grid .product-card::before {
  height: 0;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .catalog-grid .product-card img {
  width: 122px;
  height: 184px;
  border-radius: 5px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .catalog-grid .product-card h3 {
  color: var(--rd-gray-90);
  font-size: 20px;
  letter-spacing: -0.02em;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .catalog-grid .product-card-copy > a {
  right: 24px;
  bottom: 22px;
  color: var(--rd-primary-60);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .catalog-format-guide {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  min-height: 48px;
  margin: -16px 0 24px;
  padding: 10px 16px;
  border: 1px solid var(--rd-primary-10);
  border-radius: var(--rd-radius-sm);
  background: var(--rd-primary-5);
  color: var(--rd-gray-60);
  font-size: 13px;
  line-height: 1.6;
  gap: 6px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .catalog-format-guide > strong {
  margin-right: 4px;
  color: var(--rd-primary-80);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .format-tags {
  align-items: center;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .format-tags .format-tag,
body:not(.kcbt-body):not(.ebook-reader-workspace) .catalog-format-guide .format-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 3px 10px;
  border: 1px solid currentColor;
  border-radius: var(--rd-pill);
  font-size: 12px;
  font-weight: 750;
  line-height: 1;
  white-space: nowrap;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .format-tag--paper {
  background: var(--rd-white);
  color: var(--rd-primary-80);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .format-tag--ebook {
  border-color: var(--rd-secondary-70);
  background: var(--rd-secondary-70);
  color: var(--rd-white);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.summary-book-grid, .published-book-grid) {
  gap: 24px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.summary-book-card, .published-book-card) {
  border: 1px solid var(--rd-gray-20);
  border-radius: var(--rd-radius-lg);
  box-shadow: none;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.summary-book-card, .published-book-card):hover {
  border-color: var(--rd-primary-20);
  box-shadow: var(--rd-shadow);
  transform: translateY(-3px);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .summary-book-card {
  min-height: 250px;
  padding: 22px;
  background: linear-gradient(145deg, var(--rd-white), var(--summary-soft));
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .published-book-card {
  min-height: 420px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .published-book-cover {
  background: var(--rd-gray-5);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.summary-book-copy h3, .published-book-copy h2) {
  color: var(--rd-gray-90);
  letter-spacing: -0.025em;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .published-book-link {
  color: var(--rd-primary-60);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .catalog-empty {
  border: 1px dashed var(--rd-gray-30);
  border-radius: var(--rd-radius-lg);
  background: var(--rd-white);
  color: var(--rd-gray-60);
}

/* Product detail */
body:not(.kcbt-body):not(.ebook-reader-workspace) .product-detail-page {
  background: var(--rd-white);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .product-detail {
  grid-template-columns: minmax(400px, 520px) minmax(0, 1fr);
  align-items: start;
  min-height: 0;
  margin-bottom: 56px;
  gap: clamp(48px, 6vw, 96px);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .product-visual {
  min-height: 650px;
  border: 1px solid var(--rd-gray-20);
  border-radius: 32px;
  background: linear-gradient(145deg, var(--rd-white), var(--book-soft));
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .product-visual img {
  border-radius: 6px;
  box-shadow: 0 22px 44px rgba(29, 29, 29, 0.18);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .product-visual button {
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid var(--rd-gray-20);
  border-radius: 999px;
  background: var(--rd-white);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .product-kicker {
  color: var(--rd-primary-60);
  font-size: 14px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .product-info h1 {
  color: var(--rd-gray-90);
  font-size: clamp(38px, 3.5vw, 52px);
  font-weight: 700;
  letter-spacing: -0.04em;
  word-break: keep-all;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .product-description {
  color: var(--rd-gray-60);
  font-size: 17px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .product-stock-note {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin: 18px 0;
  color: var(--rd-gray-70);
  gap: 10px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .product-stock-note > strong {
  color: var(--rd-success);
  font-size: 14px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .product-stock-note .format-tags {
  display: flex;
  gap: 6px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .purchase-details {
  border-color: var(--rd-gray-20);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .purchase-details > div {
  min-height: 68px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.choice, .quantity-input) {
  border-color: var(--rd-gray-30);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .choice {
  min-height: 44px;
  border-radius: var(--rd-pill);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .format-options .choice:has(input:checked) {
  border-color: var(--rd-primary-60);
  background: var(--rd-primary-60);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .format-options {
  flex-wrap: wrap;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .format-options .format-choice {
  min-width: 142px;
  min-height: 56px;
  padding: 8px 16px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .format-choice-copy {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  line-height: 1.25;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .format-choice-copy strong {
  font-size: 14px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .format-options .format-choice .format-choice-copy small {
  margin: 3px 0 0;
  color: inherit;
  font-size: 11px;
  opacity: 0.76;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .format-unavailable {
  flex: 1 0 100%;
  margin: 2px 0 0;
  color: var(--rd-gray-60);
  font-size: 12px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .quantity-help {
  display: inline-block;
  margin-left: 10px;
  color: var(--rd-gray-60);
  font-size: 12px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .purchase-actions {
  flex-wrap: wrap;
  gap: 10px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  .purchase-actions .outline,
  .purchase-actions .wish,
  .product-buy
) {
  min-height: 56px;
  border-radius: var(--rd-pill);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .product-buy {
  background: var(--rd-primary-60);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .purchase-actions .outline {
  border-color: var(--rd-gray-30);
  color: var(--rd-gray-90);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .purchase-benefits {
  min-height: 104px;
  border: 1px solid var(--rd-primary-10);
  border-radius: var(--rd-radius);
  background: var(--rd-primary-5);
  color: var(--rd-primary-80);
}

@media (min-width: 901px) {
  body:not(.kcbt-body):not(.ebook-reader-workspace) .purchase-benefits.paper-only {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .detail-tabs {
  border-color: var(--rd-gray-20);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .detail-tabs a {
  min-height: 64px;
  color: var(--rd-gray-60);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .detail-tabs a.active {
  color: var(--rd-primary-60);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .detail-tabs a.active::after {
  height: 3px;
  background: var(--rd-primary-60);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .detail-lower {
  gap: 48px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.detail-intro, .detail-preview, .detail-resources) {
  border-color: var(--rd-gray-20);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .linked-resource-pills a {
  min-height: 48px;
  border-color: var(--rd-gray-20);
  border-radius: var(--rd-pill);
  color: var(--rd-primary-60);
}

/* Library and account overview (the eBook reader itself is excluded). */
body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  .summary-strip,
  .account-sidebar,
  .resource-sidebar,
  .mypage-layout > aside,
  .ebook-row,
  .profile-strip,
  .my-stats article,
  .recent-order,
  .recent-learning
) {
  border-color: var(--rd-gray-20);
  border-radius: var(--rd-radius-lg);
  background: var(--rd-white);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .summary-strip {
  height: auto;
  min-height: 112px;
  overflow: hidden;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .summary-strip > div {
  padding: 22px 28px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .summary-strip > div + div {
  border-color: var(--rd-gray-20);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .library-layout,
body:not(.kcbt-body):not(.ebook-reader-workspace) .mypage-layout,
body:not(.kcbt-body):not(.ebook-reader-workspace) .resource-layout {
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 32px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  .account-sidebar,
  .resource-sidebar,
  .mypage-layout > aside
) {
  padding: 24px;
  box-shadow: none;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  .account-sidebar nav a,
  .resource-sidebar a,
  .mypage-layout > aside a
) {
  min-height: 44px;
  border-radius: var(--rd-pill);
  padding: 11px 16px;
  color: var(--rd-gray-70);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  .account-sidebar nav a.active,
  .resource-sidebar a.active,
  .mypage-layout > aside a.active
) {
  background: var(--rd-primary-5);
  color: var(--rd-primary-60);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .ebook-row {
  min-height: 164px;
  padding: 22px 24px;
  gap: 28px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .ebook-row + .ebook-row {
  margin-top: 16px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .ebook-row h3 {
  color: var(--rd-gray-90);
  font-size: 20px;
  letter-spacing: -0.02em;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .ebook-progress i,
body:not(.kcbt-body):not(.ebook-reader-workspace) .recent-learning i {
  height: 7px;
  background: var(--rd-gray-10);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .ebook-progress u,
body:not(.kcbt-body):not(.ebook-reader-workspace) .recent-learning u {
  background: var(--rd-primary-60);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .ebook-button,
body:not(.kcbt-body):not(.ebook-reader-workspace) .recent-learning a {
  border-radius: var(--rd-pill);
  background: var(--rd-primary-60);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .profile-strip {
  min-height: 148px;
  height: auto;
  padding: 28px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .profile-strip > span {
  background: var(--rd-primary-5);
  color: var(--rd-primary-60);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .profile-strip b {
  background: var(--rd-secondary-5);
  color: var(--rd-success);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .my-stats {
  gap: 20px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .my-stats article {
  min-height: 142px;
  height: auto;
  padding: 24px;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .my-stats article:hover {
  border-color: var(--rd-primary-20);
  box-shadow: var(--rd-shadow);
  transform: translateY(-2px);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .my-stats strong {
  color: var(--rd-gray-90);
  font-size: 30px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .my-stats a {
  color: var(--rd-primary-60);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.recent-order, .recent-learning) {
  min-height: 150px;
  padding: 26px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .recent-order > div:first-child > b {
  background: #fff5e8;
  color: var(--rd-warning);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  .profile-strip > button,
  .recent-order button,
  .profile-strip > .button
) {
  min-height: 48px;
  border-color: var(--rd-gray-30);
  border-radius: var(--rd-pill);
  background: var(--rd-white);
  color: var(--rd-primary-60);
}

/* CBT catalog, history, and result pages. The .kcbt-* exam shell is untouched. */
body:not(.kcbt-body):not(.ebook-reader-workspace) .cbt-heading {
  grid-template-columns: minmax(0, 1fr) minmax(420px, 560px);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .cbt-heading aside {
  min-height: 128px;
  padding: 28px 190px 28px 32px;
  overflow: hidden;
  border-radius: var(--rd-radius-lg);
  background: linear-gradient(135deg, var(--rd-primary-90), var(--rd-primary-60));
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .cbt-heading aside strong {
  font-size: 24px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .cbt-heading aside a {
  top: 38px;
  right: 28px;
  width: 150px;
  min-height: 52px;
  border-radius: var(--rd-pill);
  color: var(--rd-primary-80);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .cbt-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .cbt-card {
  min-height: 230px;
  padding: 28px;
  border-color: var(--rd-gray-20);
  border-radius: var(--rd-radius-lg);
  box-shadow: none;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .cbt-card::before {
  top: 28px;
  bottom: auto;
  left: 0;
  width: 5px;
  height: 40px;
  border-radius: 0 5px 5px 0;
  background: var(--rd-primary-60);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .cbt-card:hover {
  border-color: var(--rd-primary-20);
  box-shadow: var(--rd-shadow);
  transform: translateY(-3px);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .cbt-card h2 {
  margin-left: 0;
  color: var(--rd-gray-90);
  font-size: 22px;
  letter-spacing: -0.025em;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .cbt-card > div {
  flex-wrap: wrap;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .cbt-card > div span {
  background: var(--rd-primary-5);
  color: var(--rd-primary-70);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  .cbt-card > div a,
  .cbt-card > div form button
) {
  width: auto;
  min-width: 122px;
  min-height: 46px;
  border-radius: var(--rd-pill);
  padding: 0 20px;
  background: var(--rd-primary-60);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .result-summary {
  grid-template-columns: minmax(360px, 0.8fr) minmax(0, 1.2fr);
  gap: 24px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.score-card, .performance-card) {
  height: auto;
  min-height: 310px;
  border-radius: var(--rd-radius-lg);
  padding: 32px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .score-card {
  background: linear-gradient(145deg, var(--rd-primary-90), var(--rd-primary-60));
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .score-card > strong {
  font-size: 64px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .score-card > div b {
  background: var(--rd-secondary-50);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .score-card > a {
  min-height: 48px;
  border-radius: var(--rd-pill);
  color: var(--rd-primary-70);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .performance-card {
  border-color: var(--rd-gray-20);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.review-table-wrap, .answer-review) {
  border-radius: var(--rd-radius);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .answer-review {
  border-color: var(--rd-gray-20);
  border-left: 6px solid var(--rd-success);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .answer-review.wrong {
  border-left-color: var(--rd-danger);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .cbt-question-block {
  border-color: var(--rd-gray-20);
  border-radius: var(--rd-radius);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .cbt-question-block li label {
  min-height: 54px;
  border-color: var(--rd-gray-20);
  border-radius: var(--rd-radius-sm);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .cbt-question-block li label:has(input:checked) {
  border-color: var(--rd-primary-60);
  background: var(--rd-primary-5);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .cbt-submit-bar {
  border-color: var(--rd-gray-20);
  border-radius: var(--rd-radius);
  box-shadow: 0 -10px 32px rgba(7, 32, 95, 0.08);
}

/* Commerce and transactional pages */
body:not(.kcbt-body):not(.ebook-reader-workspace) .narrow-page {
  width: min(var(--rd-reading), calc(100% - 80px));
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.commerce-layout, .checkout-layout) {
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 28px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  .cart-items,
  .checkout-fields > section,
  .order-summary,
  .order-detail-grid > section,
  .content-form,
  .completion-panel,
  .message-thread,
  .reply-form,
  .data-list
) {
  border-color: var(--rd-gray-20);
  border-radius: var(--rd-radius-lg);
  background: var(--rd-white);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  .cart-items > h2,
  .checkout-fields > section > h2,
  .order-summary > h2,
  .order-detail-grid > section > h2
) {
  min-height: 72px;
  padding: 24px 28px;
  border-color: var(--rd-gray-20);
  color: var(--rd-gray-90);
  font-size: 21px;
  letter-spacing: -0.02em;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .cart-row {
  min-height: 144px;
  padding: 24px 28px;
  border-color: var(--rd-gray-20);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .cart-row h3 {
  color: var(--rd-gray-90);
  font-size: 19px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  .cart-row input,
  .quantity-input,
  .checkout-payment select
) {
  min-height: 44px;
  border-color: var(--rd-gray-30);
  border-radius: var(--rd-radius-sm);
  background: var(--rd-white);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .cart-row button {
  min-height: 44px;
  color: var(--rd-primary-60);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .order-summary {
  top: 120px;
  overflow: hidden;
  padding-bottom: 26px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .order-summary dl > div:last-child {
  border-color: var(--rd-gray-20);
  color: var(--rd-gray-90);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  .order-summary > .button,
  .order-summary > a,
  .order-summary > button
) {
  min-height: 52px;
  border-radius: var(--rd-pill);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .checkout-fields {
  gap: 20px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .form-grid {
  padding: 28px;
  gap: 20px 22px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  .form-grid input,
  .form-grid select,
  .content-form input,
  .content-form select,
  .content-form textarea,
  .reply-form textarea,
  .checkout-payment select,
  .search-main-form input,
  .resource-filters input,
  .resource-filters select
) {
  min-height: 50px;
  border: 1px solid var(--rd-gray-30);
  border-radius: var(--rd-radius-sm);
  background: var(--rd-white);
  color: var(--rd-gray-90);
  outline: none;
  transition: border-color 150ms ease, box-shadow 150ms ease;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  .form-grid input,
  .form-grid select,
  .content-form input,
  .content-form select,
  .content-form textarea,
  .reply-form textarea,
  .checkout-payment select,
  .search-main-form input,
  .resource-filters input,
  .resource-filters select
):focus {
  border-color: var(--rd-primary-60);
  box-shadow: 0 0 0 4px rgba(16, 79, 243, 0.12);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .checkout-item {
  min-height: 88px;
  padding: 16px 28px;
  border-color: var(--rd-gray-20);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .completion-panel {
  padding: 80px clamp(32px, 7vw, 96px);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .completion-icon {
  width: 76px;
  height: 76px;
  background: var(--rd-secondary-5);
  color: var(--rd-success);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .completion-panel h1 {
  color: var(--rd-gray-90);
  font-size: 40px;
  letter-spacing: -0.03em;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .notice-box {
  border-left-color: var(--rd-warning);
  border-radius: var(--rd-radius-sm);
  background: #fff8ee;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .data-list {
  overflow: hidden;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .data-list > a {
  min-height: 96px;
  padding: 20px 28px;
  border-color: var(--rd-gray-20);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .data-list > a:hover {
  background: var(--rd-primary-5);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.empty-state, .inline-empty, .catalog-empty) {
  border: 1px dashed var(--rd-gray-30);
  border-radius: var(--rd-radius-lg);
  background: var(--rd-white);
  color: var(--rd-gray-60);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .empty-state {
  padding: 80px 32px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .empty-state h2 {
  color: var(--rd-gray-90);
  font-size: 24px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .order-detail-grid {
  gap: 24px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .status-pill {
  min-height: 34px;
  border-color: var(--rd-secondary-20);
  background: var(--rd-secondary-5);
  color: var(--rd-success);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .content-form {
  padding: 32px;
  gap: 22px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .content-form > div:last-child {
  flex-wrap: wrap;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .content-form .product-buy {
  width: auto;
  min-width: 180px;
  background: var(--rd-primary-60);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .message-thread article {
  padding: 28px 32px;
  border-color: var(--rd-gray-20);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .message-thread article.staff {
  background: var(--rd-primary-5);
}

/* Resources and tables */
body:not(.kcbt-body):not(.ebook-reader-workspace) .resource-filters {
  min-height: 96px;
  height: auto;
  margin-bottom: 28px;
  padding: 20px;
  border-color: var(--rd-gray-20);
  border-radius: var(--rd-radius-lg);
  background: var(--rd-white);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .resource-filters .button {
  min-height: 50px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .resource-table-wrap {
  border-color: var(--rd-gray-20);
  border-radius: var(--rd-radius-lg);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.resource-table, .review-table, .exam-timetable) {
  border-collapse: separate;
  border-spacing: 0;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  .resource-table th,
  .review-table th,
  .exam-timetable th
) {
  background: var(--rd-gray-5);
  color: var(--rd-gray-70);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  .resource-table th,
  .resource-table td,
  .review-table th,
  .review-table td,
  .exam-timetable th,
  .exam-timetable td
) {
  border-color: var(--rd-gray-20);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .resource-table tr:nth-child(even) td {
  background: var(--rd-gray-5);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .resource-table td button {
  min-height: 44px;
  border-color: var(--rd-gray-30);
  border-radius: var(--rd-pill);
  color: var(--rd-primary-60);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .type-tag {
  background: var(--rd-primary-5);
  color: var(--rd-primary-70);
}

/* Support, policy, notices, FAQ, and other content pages */
body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.legal-hero, .content-hero) {
  padding: 72px 0 68px;
  border-top: 0;
  border-bottom-color: var(--rd-gray-20);
  background:
    radial-gradient(circle at 85% 20%, rgba(179, 214, 255, 0.46), transparent 26%),
    var(--rd-primary-5);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.legal-eyebrow, .content-eyebrow) {
  color: var(--rd-primary-60);
  font-size: 13px;
  letter-spacing: 0.06em;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.legal-hero h1, .content-hero h1) {
  color: var(--rd-gray-90);
  font-size: clamp(40px, 4vw, 56px);
  font-weight: 700;
  letter-spacing: -0.04em;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  .legal-hero > div > p:not(.legal-eyebrow),
  .content-hero > div > p:not(.content-eyebrow)
) {
  color: var(--rd-gray-60);
  font-size: 17px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .legal-meta span {
  border-color: var(--rd-primary-20);
  background: rgba(255, 255, 255, 0.8);
  color: var(--rd-primary-70);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.legal-page, .content-page) {
  min-height: 0;
  padding: 72px 0 112px;
  background: var(--rd-surface);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  .legal-layout,
  .content-layout,
  .faq-layout
) {
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 40px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  .legal-navigation,
  .content-navigation,
  .faq-category-nav
) {
  top: 120px;
  padding: 24px;
  border: 1px solid var(--rd-gray-20);
  border-radius: var(--rd-radius-lg);
  background: var(--rd-white);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  .legal-navigation > nav a,
  .content-navigation > nav a,
  .faq-category-nav > nav a
) {
  min-height: 44px;
  border-left: 0;
  border-radius: var(--rd-pill);
  color: var(--rd-gray-70);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  .legal-navigation > nav a:hover,
  .content-navigation > nav a:hover,
  .faq-category-nav > nav a:hover,
  .legal-navigation > nav a[aria-current="page"],
  .content-navigation > nav a[aria-current="page"]
) {
  background: var(--rd-primary-5);
  color: var(--rd-primary-60);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.legal-contents, .content-contents) {
  border-color: var(--rd-gray-20);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.legal-document, .content-document) {
  padding: 18px clamp(28px, 5vw, 64px) 0;
  border-color: var(--rd-gray-20);
  border-radius: var(--rd-radius-lg);
  background: var(--rd-white);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.legal-section, .content-section, .faq-group) {
  border-color: var(--rd-gray-20);
  scroll-margin-top: 124px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.legal-section h2, .content-section h2, .faq-group h2) {
  color: var(--rd-gray-90);
  font-size: 24px;
  letter-spacing: -0.025em;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  .legal-section p,
  .content-section p,
  .legal-section li,
  .content-section li
) {
  color: var(--rd-gray-70);
  font-size: 15px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.legal-info-list, .content-info-list) {
  overflow: hidden;
  border: 1px solid var(--rd-gray-20);
  border-radius: var(--rd-radius-sm);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  .legal-info-list > div,
  .content-info-list > div
) {
  border-color: var(--rd-gray-20);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  .legal-info-list dt,
  .content-info-list dt
) {
  background: var(--rd-gray-5);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .legal-section .legal-note {
  border-left-color: var(--rd-secondary-50);
  border-radius: var(--rd-radius-sm);
  background: var(--rd-secondary-5);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .content-section .content-note {
  border-left-color: var(--rd-primary-60);
  border-radius: var(--rd-radius-sm);
  background: var(--rd-primary-5);
  color: var(--rd-primary-90);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  .legal-contact,
  .content-document-footer > a
) {
  min-height: 46px;
  border-color: var(--rd-primary-60);
  border-radius: var(--rd-pill);
  color: var(--rd-primary-60);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .faq-details,
body:not(.kcbt-body):not(.ebook-reader-workspace) .faq-list {
  overflow: hidden;
  border-color: var(--rd-gray-20);
  border-radius: var(--rd-radius-lg);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  .faq-details summary,
  .support-faq-preview summary
) {
  min-height: 72px;
  padding-right: 28px;
  padding-left: 28px;
  color: var(--rd-gray-90);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .faq-details summary::after,
body:not(.kcbt-body):not(.ebook-reader-workspace) .support-faq-preview summary::after {
  color: var(--rd-primary-60);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .faq-details details > div {
  border-color: var(--rd-gray-20);
  background: var(--rd-gray-5);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .notice-board {
  overflow: hidden;
  border: 1px solid var(--rd-gray-20);
  border-radius: var(--rd-radius-lg);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .notice-board-head {
  background: var(--rd-gray-5);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .notice-board :is(summary, .notice-body) {
  border-color: var(--rd-gray-20);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .notice-board summary {
  min-height: 88px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .notice-body {
  background: var(--rd-gray-5);
}

/* Customer support landing */
body:not(.kcbt-body):not(.ebook-reader-workspace) .support-hero {
  height: auto;
  min-height: 340px;
  background:
    radial-gradient(circle at 86% 18%, rgba(179, 255, 251, 0.74), transparent 25%),
    var(--rd-primary-5);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .support-hero > div {
  width: min(var(--rd-content), calc(100% - 80px));
  min-height: 340px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .support-hero h1 {
  color: var(--rd-gray-90);
  font-size: clamp(40px, 4vw, 56px);
  letter-spacing: -0.04em;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .support-search-link {
  width: min(760px, 100%);
  min-height: 64px;
  height: auto;
  border-color: var(--rd-gray-20);
  border-radius: var(--rd-pill);
  color: var(--rd-primary-60);
  box-shadow: 0 10px 28px rgba(7, 32, 95, 0.07);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .support-hero > div > strong {
  color: var(--rd-primary-80);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .quick-help {
  gap: 20px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .quick-help a {
  min-height: 180px;
  height: auto;
  padding: 28px;
  border: 1px solid transparent;
  border-radius: var(--rd-radius-lg);
  background: var(--rd-primary-5);
  color: var(--rd-primary-70);
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .quick-help a:hover {
  border-color: var(--rd-primary-20);
  box-shadow: var(--rd-shadow);
  transform: translateY(-3px);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .quick-help a.teal {
  background: var(--rd-secondary-5);
  color: var(--rd-secondary-70);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .quick-help a.orange {
  background: #fff7ed;
  color: var(--rd-warning);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .quick-help a.purple {
  background: #f4f0ff;
  color: #5b35a5;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .support-lower {
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 24px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .support-lower > aside {
  height: auto;
  min-height: 320px;
  padding: 34px;
  border-radius: var(--rd-radius-lg);
  background: linear-gradient(145deg, var(--rd-primary-90), var(--rd-primary-60));
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .support-lower > aside .support-contact-button {
  min-height: 52px;
  border-radius: var(--rd-pill);
  color: var(--rd-primary-70);
}

/* Search */
body:not(.kcbt-body):not(.ebook-reader-workspace) .search-main-form {
  grid-template-columns: minmax(0, 1fr) 112px;
  max-width: 820px;
  margin: 24px 0 48px;
  gap: 10px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .search-main-form input {
  min-height: 58px;
  border-radius: var(--rd-pill);
  padding: 0 24px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .search-main-form .button {
  min-height: 58px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .search-results {
  gap: 24px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .search-results section {
  overflow: hidden;
  border: 1px solid var(--rd-gray-20);
  border-radius: var(--rd-radius-lg);
  background: var(--rd-white);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .search-results h2 {
  padding: 24px 28px 16px;
  color: var(--rd-gray-90);
  font-size: 22px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .search-results section > a {
  padding: 20px 28px;
  border-color: var(--rd-gray-20);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .search-results section > a:hover {
  background: var(--rd-primary-5);
}

/* Exam information and structured public content */
body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-update-band {
  min-height: 200px;
  padding: 38px 44px;
  overflow: hidden;
  border-left: 0;
  border-radius: var(--rd-radius-lg);
  background: linear-gradient(135deg, var(--rd-primary-90), var(--rd-primary-60));
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-update-band span {
  color: var(--rd-secondary-20);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-update-band h2 {
  font-size: 38px;
  letter-spacing: -0.03em;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-update-band > a {
  min-height: 52px;
  border: 0;
  border-radius: var(--rd-pill);
  color: var(--rd-primary-70);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-stat-grid {
  gap: 16px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-stat-grid article {
  min-height: 170px;
  padding: 28px;
  border: 1px solid var(--rd-gray-20);
  border-radius: var(--rd-radius-lg);
  background: var(--rd-white);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-stat-grid article:nth-child(n) {
  border-top-color: var(--rd-gray-20);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-stat-grid article::before {
  display: block;
  width: 40px;
  height: 5px;
  margin-bottom: 18px;
  border-radius: 5px;
  background: var(--rd-primary-60);
  content: "";
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-stat-grid article:nth-child(2)::before {
  background: var(--rd-secondary-50);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-stat-grid article:nth-child(3)::before {
  background: #7a4bd2;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-stat-grid article:nth-child(4)::before {
  background: #e77518;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-content-section {
  padding: 36px 40px;
  border-color: var(--rd-gray-20);
  border-radius: var(--rd-radius-lg);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-document-section {
  border-top: 1px solid var(--rd-gray-20);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-section-heading h2 {
  color: var(--rd-gray-90);
  font-size: 28px;
  letter-spacing: -0.025em;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-section-heading span {
  color: var(--rd-primary-60);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-document-meta {
  border-color: var(--rd-gray-20);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-document-navigation a {
  color: var(--rd-primary-60);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-check-list li::before {
  background: var(--rd-primary-5);
  color: var(--rd-primary-60);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-passing-band {
  min-height: 150px;
  border-left: 0;
  border-radius: var(--rd-radius-lg);
  background: #fff8ee;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-source-row > a {
  min-height: 48px;
  border-color: var(--rd-primary-60);
  border-radius: var(--rd-pill);
  color: var(--rd-primary-60);
}

/* Sitemap and placeholder/detail pages */
body:not(.kcbt-body):not(.ebook-reader-workspace) .sitemap-jump-nav a {
  min-height: 44px;
  border-color: var(--rd-gray-20);
  color: var(--rd-gray-70);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .sitemap-jump-nav a:hover,
body:not(.kcbt-body):not(.ebook-reader-workspace) .sitemap-jump-nav a:focus-visible {
  border-color: var(--rd-primary-60);
  color: var(--rd-primary-60);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .sitemap-jump-nav small {
  background: var(--rd-primary-5);
  color: var(--rd-primary-60);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .sitemap-group {
  padding: 0 36px 38px;
  border-color: var(--rd-gray-20);
  border-radius: var(--rd-radius-lg);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .sitemap-group > header {
  min-height: 92px;
  border-color: var(--rd-primary-90);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .sitemap-group > header > span {
  background: var(--rd-primary-60);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .sitemap-subgroups a:hover,
body:not(.kcbt-body):not(.ebook-reader-workspace) .sitemap-subgroups a:focus-visible {
  color: var(--rd-primary-60);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.menu-detail-card, .menu-detail-related) {
  border-color: var(--rd-gray-20);
  border-radius: var(--rd-radius-lg);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .menu-detail-card {
  min-height: 360px;
  padding: 52px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .menu-detail-status {
  background: var(--rd-secondary-5);
  color: var(--rd-success);
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .menu-detail-card h2 {
  color: var(--rd-gray-90);
  font-size: 34px;
  letter-spacing: -0.03em;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .menu-detail-related {
  padding: 32px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) .menu-detail-related > span,
body:not(.kcbt-body):not(.ebook-reader-workspace) .menu-detail-related nav a:hover,
body:not(.kcbt-body):not(.ebook-reader-workspace) .menu-detail-related nav a[aria-current="page"] {
  color: var(--rd-primary-60);
}

/* Universal keyboard treatment for branded user pages. */
body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
  a[href],
  button,
  input,
  select,
  textarea,
  summary,
  [tabindex]:not([tabindex="-1"])
):focus-visible {
  outline: 3px solid var(--rd-primary-60);
  outline-offset: 3px;
}

body:not(.kcbt-body):not(.ebook-reader-workspace) :is(button, .button, input, select, summary) {
  touch-action: manipulation;
}

/* Medium desktop: preserve generous spacing without allowing fixed grids to spill. */
@media (max-width: 1439px) {
  body:not(.kcbt-body):not(.ebook-reader-workspace) .page-section > .page-width,
  body:not(.kcbt-body):not(.ebook-reader-workspace) .support-hero > div {
    width: min(var(--rd-content), calc(100% - 56px));
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
    .legal-hero,
    .legal-page,
    .content-hero,
    .content-page
  ) > .page-width,
  body:not(.kcbt-body):not(.ebook-reader-workspace) .narrow-page {
    width: min(var(--rd-reading), calc(100% - 56px));
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
    .catalog-grid,
    .summary-book-grid,
    .published-book-grid,
    .cbt-card-grid
  ) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .product-detail {
    grid-template-columns: minmax(360px, 440px) minmax(0, 1fr);
    gap: 48px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .product-visual {
    min-height: 580px;
    height: auto;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .detail-lower {
    grid-template-columns: 1fr 1fr;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .detail-lower > :last-child {
    grid-column: 1 / -1;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .support-lower {
    grid-template-columns: minmax(0, 1fr) 330px;
  }
}

/* Tablet and compact desktop */
@media (max-width: 1023px) {
  body:not(.kcbt-body):not(.ebook-reader-workspace) .page-section {
    padding: 44px 0 88px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.page-heading, .cbt-heading) {
    margin-bottom: 34px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.page-heading h1, .cbt-heading h1) {
    font-size: clamp(34px, 5vw, 42px);
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .product-detail {
    grid-template-columns: minmax(300px, 38%) minmax(0, 1fr);
    gap: 36px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .product-visual {
    min-height: 520px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
    .library-layout,
    .resource-layout,
    .mypage-layout,
    .legal-layout,
    .content-layout,
    .faq-layout
  ) {
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 24px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .cbt-heading {
    grid-template-columns: 1fr;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .cbt-heading aside {
    max-width: none;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.commerce-layout, .checkout-layout) {
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 20px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .support-lower {
    grid-template-columns: 1fr;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .support-lower > aside {
    min-height: 260px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.legal-hero, .content-hero) {
    padding: 56px 0;
  }
}

/* Tablet portrait and mobile */
@media (max-width: 767px) {
  body:not(.kcbt-body):not(.ebook-reader-workspace) .page-section > .page-width,
  body:not(.kcbt-body):not(.ebook-reader-workspace) .support-hero > div,
  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
    .legal-hero,
    .legal-page,
    .content-hero,
    .content-page
  ) > .page-width,
  body:not(.kcbt-body):not(.ebook-reader-workspace) .narrow-page {
    width: calc(100% - 32px);
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .page-section {
    padding: 32px 0 72px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .breadcrumb {
    margin-bottom: 20px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.page-heading, .cbt-heading) {
    display: grid;
    margin-bottom: 28px;
    gap: 14px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.page-heading h1, .cbt-heading h1) {
    font-size: clamp(30px, 8.5vw, 38px);
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.page-heading p, .cbt-heading p) {
    font-size: 15px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .catalog-toolbar {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .filter-pills {
    flex-wrap: nowrap;
    padding: 2px 2px 6px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .filter-pills button {
    flex: 0 0 auto;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.sort-button, .catalog-sort, .catalog-sort select) {
    width: 100%;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
    .catalog-grid,
    .summary-book-grid,
    .published-book-grid,
    .cbt-card-grid
  ) {
    grid-template-columns: 1fr;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .catalog-series-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .catalog-series-heading h2 {
    font-size: 26px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .product-detail {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .product-visual {
    min-height: 480px;
    padding: 28px 20px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .product-visual img {
    width: min(270px, 70vw);
    height: auto;
    max-height: 400px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .product-info h1 {
    font-size: clamp(32px, 9vw, 40px);
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .purchase-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 20px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .detail-tabs {
    display: flex;
    max-width: 100%;
    margin-right: 0;
    padding-right: 16px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .detail-tabs a {
    flex: 0 0 148px;
  }

  /*
   * Keep the compact horizontal navigation pattern, but make the hidden
   * continuation visible. The fade is purely presentational; links remain
   * keyboard reachable and the native horizontal scroller stays intact.
   */
  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
    .detail-tabs,
    .faq-category-nav > nav,
    .resource-sidebar
  ) {
    -webkit-mask-image: linear-gradient(
      90deg,
      #000 0,
      #000 calc(100% - 42px),
      transparent 100%
    );
    mask-image: linear-gradient(
      90deg,
      #000 0,
      #000 calc(100% - 42px),
      transparent 100%
    );
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .detail-lower {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .detail-lower > :last-child {
    grid-column: auto;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .summary-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .summary-strip > div + div {
    border-left: 0;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .summary-strip > div:nth-child(even) {
    border-left: 1px solid var(--rd-gray-20);
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .summary-strip > div:nth-child(n + 3) {
    border-top: 1px solid var(--rd-gray-20);
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
    .library-layout,
    .resource-layout,
    .mypage-layout,
    .legal-layout,
    .content-layout,
    .faq-layout
  ) {
    grid-template-columns: 1fr;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
    .legal-navigation,
    .content-navigation,
    .faq-category-nav,
    .account-sidebar,
    .resource-sidebar,
    .mypage-layout > aside
  ) {
    position: static;
    min-width: 0;
    padding: 14px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
    .legal-navigation > nav,
    .content-navigation > nav,
    .faq-category-nav > nav,
    .account-sidebar nav,
    .resource-sidebar,
    .mypage-layout > aside
  ) {
    display: flex;
    padding-bottom: 4px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    gap: 6px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
    .legal-navigation > nav a,
    .content-navigation > nav a,
    .faq-category-nav > nav a,
    .account-sidebar nav a,
    .resource-sidebar a,
    .mypage-layout > aside a
  ) {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .ebook-row {
    grid-template-columns: 76px minmax(0, 1fr);
    min-height: 0;
    padding: 18px;
    gap: 12px 18px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .ebook-row > img {
    grid-row: 1 / 3;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .ebook-progress {
    grid-column: 2;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .ebook-row .ebook-button {
    grid-column: 1 / -1;
    justify-self: stretch;
    width: 100%;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .my-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.recent-order, .recent-learning) {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .recent-order > div:last-child {
    text-align: left;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .cbt-heading aside {
    min-height: 0;
    padding: 26px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .cbt-heading aside a {
    position: static;
    width: 100%;
    margin-top: 20px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .result-summary {
    grid-template-columns: 1fr;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.commerce-layout, .checkout-layout) {
    grid-template-columns: 1fr;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .order-summary {
    position: static;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .form-grid {
    grid-template-columns: 1fr;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .form-grid label:nth-child(n) {
    grid-column: auto;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .order-detail-grid {
    grid-template-columns: 1fr;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
    .resource-table-wrap,
    .review-table-wrap,
    .order-table-wrap,
    .exam-table-scroll
  ) {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.resource-table, .review-table) {
    min-width: 720px;
  }

  /*
   * Data rows keep their 720px table and horizontal scrolling. An empty
   * result has no columns to compare, so it should read as a responsive card
   * instead of being centred inside an off-screen desktop table.
   */
  body:not(.kcbt-body):not(.ebook-reader-workspace) .resource-table:has(.empty-state) {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .resource-table:has(.empty-state) thead {
    display: none;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .resource-table:has(.empty-state) td[colspan] {
    width: 100%;
    padding: 0;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .resource-table:has(.empty-state) .empty-state {
    width: 100%;
    min-width: 0;
    min-height: 220px;
    padding: 32px 20px;
    text-align: center;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.legal-hero, .content-hero) {
    padding: 48px 0;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.legal-page, .content-page) {
    padding: 44px 0 80px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.legal-document, .content-document) {
    padding: 10px 24px 0;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .support-hero > div {
    grid-template-columns: 1fr;
    min-height: 380px;
    padding: 48px 0;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .support-hero > div > strong {
    text-align: left;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .quick-help {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .search-main-form {
    grid-template-columns: minmax(0, 1fr) 104px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-update-band {
    align-items: stretch;
    flex-direction: column;
    padding: 30px;
    gap: 24px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-update-band > a {
    width: 100%;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-content-section {
    padding: 28px 24px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-passing-band {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .menu-detail-layout {
    grid-template-columns: 1fr;
  }
}

/* Small phones, including the 390px verification viewport. */
@media (max-width: 479px) {
  body:not(.kcbt-body):not(.ebook-reader-workspace) .page-section > .page-width,
  body:not(.kcbt-body):not(.ebook-reader-workspace) .support-hero > div,
  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
    .legal-hero,
    .legal-page,
    .content-hero,
    .content-page
  ) > .page-width,
  body:not(.kcbt-body):not(.ebook-reader-workspace) .narrow-page {
    width: calc(100% - 24px);
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .page-section {
    padding-top: 24px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.page-heading h1, .cbt-heading h1) {
    font-size: 30px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .catalog-grid .product-card {
    grid-template-columns: 104px minmax(0, 1fr);
    min-height: 218px;
    padding: 18px;
    gap: 16px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .catalog-grid .product-card img {
    width: 104px;
    height: 158px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .catalog-grid .product-card h3 {
    font-size: 17px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .catalog-grid .product-card-copy > a {
    right: 18px;
    bottom: 17px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .summary-book-card {
    grid-template-columns: 108px minmax(0, 1fr);
    min-height: 210px;
    padding: 16px;
    gap: 16px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .summary-book-cover img {
    width: 108px;
    height: auto;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .published-book-card {
    grid-template-columns: 112px minmax(0, 1fr);
    min-height: 320px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .published-book-cover {
    padding: 16px 10px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .published-book-cover img {
    width: 98px;
    height: auto;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .published-book-copy {
    padding: 18px 14px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .published-book-copy h2 {
    font-size: 18px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .product-visual {
    min-height: 420px;
    border-radius: var(--rd-radius-lg);
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .product-visual img {
    width: min(220px, 66vw);
    max-height: 330px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .purchase-details > div {
    grid-template-columns: 96px minmax(0, 1fr);
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .format-options .format-choice {
    justify-content: flex-start;
    width: 100%;
    min-width: 0;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .quantity-help {
    display: block;
    margin: 8px 0 0;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .purchase-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 56px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .product-buy {
    grid-column: 1 / -1;
    width: 100%;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .purchase-actions .outline {
    width: 100%;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .purchase-actions .wish {
    width: 56px;
    padding: 0;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .purchase-benefits {
    grid-template-columns: 1fr;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.summary-strip, .my-stats) {
    grid-template-columns: 1fr;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .summary-strip > div:nth-child(n) {
    border-top: 1px solid var(--rd-gray-20);
    border-left: 0;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .summary-strip > div:first-child {
    border-top: 0;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .profile-strip {
    grid-template-columns: 54px minmax(0, 1fr);
    padding: 18px;
    gap: 14px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .profile-strip > span {
    width: 54px;
    height: 54px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .profile-actions {
    grid-column: 1 / -1;
    width: 100%;
    margin-left: 0;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .profile-actions :is(.button, form, button) {
    width: 100%;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .cbt-card {
    min-height: 0;
    padding: 24px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.score-card, .performance-card) {
    min-height: 0;
    padding: 26px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .score-card > strong {
    font-size: 54px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .score-card > a {
    position: static;
    width: 100%;
    margin-top: 24px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
    .cart-items > h2,
    .checkout-fields > section > h2,
    .order-summary > h2,
    .order-detail-grid > section > h2,
    .cart-row,
    .form-grid,
    .content-form,
    .message-thread article
  ) {
    padding-right: 20px;
    padding-left: 20px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .cart-row {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .cart-row > * {
    grid-column: 1;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .cart-row form {
    flex-wrap: wrap;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .completion-panel {
    padding: 52px 20px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .completion-panel h1 {
    font-size: 31px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
    .legal-hero h1,
    .content-hero h1,
    .support-hero h1
  ) {
    font-size: 36px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.legal-document, .content-document) {
    padding: 6px 18px 0;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.legal-section, .content-section, .faq-group) {
    padding: 30px 0;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
    .legal-info-list > div,
    .content-info-list > div
  ) {
    grid-template-columns: 1fr;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .notice-board-head {
    display: none;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .notice-board summary {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 20px;
    gap: 8px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .notice-board time {
    text-align: left;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .notice-body {
    padding: 20px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .quick-help {
    grid-template-columns: 1fr;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .quick-help a {
    min-height: 152px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .support-lower > aside {
    display: flex;
    align-items: stretch;
    flex-direction: column;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .support-lower > aside .support-contact-button,
  body:not(.kcbt-body):not(.ebook-reader-workspace) .support-lower > aside > a:not(.support-contact-button) {
    float: none;
    width: 100%;
    margin-top: 14px;
    text-align: center;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .support-lower > aside .support-contact-button {
    margin-top: 24px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .search-main-form {
    grid-template-columns: 1fr;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .search-main-form .button {
    width: 100%;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-update-band {
    padding: 24px 20px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-update-band h2 {
    font-size: 30px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-stat-grid {
    gap: 10px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-stat-grid article {
    min-height: 150px;
    padding: 18px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-content-section {
    padding: 24px 18px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-section-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-document-meta {
    grid-template-columns: 1fr;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .exam-document-meta > div:nth-child(n) {
    padding: 12px 0;
    border-top: 1px solid var(--rd-gray-20);
    border-left: 0;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .sitemap-group {
    padding: 0 20px 26px;
  }

  /* Match the 12px small-phone page gutter; the older -16px edge bleed
     produced a 394px document on a 390px viewport. */
  body:not(.kcbt-body):not(.ebook-reader-workspace) .sitemap-jump-nav {
    max-width: calc(100% + 12px);
    margin-right: -12px;
    padding-right: 12px;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) .sitemap-subgroups {
    grid-template-columns: 1fr;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(.menu-detail-card, .menu-detail-related) {
    padding: 24px;
  }
}

@media (hover: none) {
  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
    .button,
    .product-buy,
    .ebook-button,
    .catalog-grid .product-card,
    .summary-book-card,
    .published-book-card,
    .cbt-card,
    .my-stats article,
    .quick-help a
  ):hover {
    box-shadow: none;
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  body:not(.kcbt-body):not(.ebook-reader-workspace) *,
  body:not(.kcbt-body):not(.ebook-reader-workspace) *::before,
  body:not(.kcbt-body):not(.ebook-reader-workspace) *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

@media (forced-colors: active) {
  body:not(.kcbt-body):not(.ebook-reader-workspace) :is(
    .filter-pills button.active,
    .button.primary,
    .product-buy,
    .ebook-button,
    .status-pill
  ) {
    border: 2px solid ButtonText;
  }
}
