/* 48-color continuous spectrum for public marketing pages only.
   Amber → citron → spring green → mint → jade → cyan → sky → blue →
   indigo → violet → orchid → magenta → rose → coral. Surface luminance
   decreases at every step; darker matching accents keep text readable.
   Colors are distributed across a whole reading column, not reset per group.
   Without the enhancement script, existing public card styles remain readable.
   Photographs, QR images, primary actions and layout are not recolored. */
body.public-site {
  --spectrum-body: #50445f;
  --spectrum-accent-1: #685818; --spectrum-soft-1: #faf8ed; --spectrum-line-1: #ded3a9;
  --spectrum-accent-2: #615a17; --spectrum-soft-2: #f9f8e8; --spectrum-line-2: #d9d49e;
  --spectrum-accent-3: #5a5c16; --spectrum-soft-3: #f7f8e2; --spectrum-line-3: #d4d594;
  --spectrum-accent-4: #545d16; --spectrum-soft-4: #f5f8e2; --spectrum-line-4: #ced696;
  --spectrum-accent-5: #4d5f16; --spectrum-soft-5: #f2f8e2; --spectrum-line-5: #c7d798;
  --spectrum-accent-6: #466016; --spectrum-soft-6: #f0f8e1; --spectrum-line-6: #c1d799;
  --spectrum-accent-7: #3e6117; --spectrum-soft-7: #edf7e1; --spectrum-line-7: #bbd89a;
  --spectrum-accent-8: #366217; --spectrum-soft-8: #eaf7e1; --spectrum-line-8: #b5d89b;
  --spectrum-accent-9: #2e6217; --spectrum-soft-9: #e7f7e0; --spectrum-line-9: #afd89c;
  --spectrum-accent-10: #266317; --spectrum-soft-10: #e5f7e0; --spectrum-line-10: #a9d99d;
  --spectrum-accent-11: #1e6317; --spectrum-soft-11: #e2f7e0; --spectrum-line-11: #a2d99d;
  --spectrum-accent-12: #176319; --spectrum-soft-12: #dff7df; --spectrum-line-12: #9dd99f;
  --spectrum-accent-13: #176321; --spectrum-soft-13: #ddf6e0; --spectrum-line-13: #9bd8a3;
  --spectrum-accent-14: #17622a; --spectrum-soft-14: #dbf6e2; --spectrum-line-14: #99d7a8;
  --spectrum-accent-15: #176132; --spectrum-soft-15: #d9f5e3; --spectrum-line-15: #96d6ad;
  --spectrum-accent-16: #17613a; --spectrum-soft-16: #d7f5e5; --spectrum-line-16: #94d5b2;
  --spectrum-accent-17: #166041; --spectrum-soft-17: #d5f4e7; --spectrum-line-17: #91d4b8;
  --spectrum-accent-18: #165f49; --spectrum-soft-18: #d2f4ea; --spectrum-line-18: #8ed3be;
  --spectrum-accent-19: #165e50; --spectrum-soft-19: #d0f3ec; --spectrum-line-19: #8bd2c4;
  --spectrum-accent-20: #165d57; --spectrum-soft-20: #cef3ef; --spectrum-line-20: #88d1cb;
  --spectrum-accent-21: #165c5e; --spectrum-soft-21: #cdf2f3; --spectrum-line-21: #89cfd1;
  --spectrum-accent-22: #185b65; --spectrum-soft-22: #d2eff4; --spectrum-line-22: #93ccd5;
  --spectrum-accent-23: #1a596e; --spectrum-soft-23: #d6edf5; --spectrum-line-23: #9bc9d8;
  --spectrum-accent-24: #1c5778; --spectrum-soft-24: #d9ebf6; --spectrum-line-24: #a1c6db;
  --spectrum-accent-25: #1f5484; --spectrum-soft-25: #dceaf6; --spectrum-line-25: #a7c3dd;
  --spectrum-accent-26: #225192; --spectrum-soft-26: #dee8f7; --spectrum-line-26: #abc1de;
  --spectrum-accent-27: #264ca3; --spectrum-soft-27: #dfe7f7; --spectrum-line-27: #afbee0;
  --spectrum-accent-28: #2b45b5; --spectrum-soft-28: #e1e5f7; --spectrum-line-28: #b3bce1;
  --spectrum-accent-29: #2f3cca; --spectrum-soft-29: #e2e4f8; --spectrum-line-29: #b6bae3;
  --spectrum-accent-30: #3a35d0; --spectrum-soft-30: #e3e2f8; --spectrum-line-30: #b9b7e3;
  --spectrum-accent-31: #4730cf; --spectrum-soft-31: #e4e1f8; --spectrum-line-31: #bcb5e2;
  --spectrum-accent-32: #542ec5; --spectrum-soft-32: #e6e0f7; --spectrum-line-32: #bfb3e2;
  --spectrum-accent-33: #602cbb; --spectrum-soft-33: #e7def7; --spectrum-line-33: #c2b1e1;
  --spectrum-accent-34: #6929b0; --spectrum-soft-34: #e9ddf6; --spectrum-line-34: #c6aee0;
  --spectrum-accent-35: #7127a5; --spectrum-soft-35: #ebdbf6; --spectrum-line-35: #caacdf;
  --spectrum-accent-36: #77249b; --spectrum-soft-36: #edd9f6; --spectrum-line-36: #cea9de;
  --spectrum-accent-37: #7c2292; --spectrum-soft-37: #f0d8f5; --spectrum-line-37: #d2a6dc;
  --spectrum-accent-38: #812089; --spectrum-soft-38: #f2d6f5; --spectrum-line-38: #d7a3db;
  --spectrum-accent-39: #841f80; --spectrum-soft-39: #f4d4f3; --spectrum-line-39: #daa0d8;
  --spectrum-accent-40: #851f77; --spectrum-soft-40: #f4d3ef; --spectrum-line-40: #daa0d2;
  --spectrum-accent-41: #87206d; --spectrum-soft-41: #f4d3ec; --spectrum-line-41: #da9fcb;
  --spectrum-accent-42: #892062; --spectrum-soft-42: #f4d2e8; --spectrum-line-42: #da9fc4;
  --spectrum-accent-43: #8a2058; --spectrum-soft-43: #f4d2e4; --spectrum-line-43: #d99ebd;
  --spectrum-accent-44: #8b214c; --spectrum-soft-44: #f4d1df; --spectrum-line-44: #d99eb6;
  --spectrum-accent-45: #8c2141; --spectrum-soft-45: #f3d1db; --spectrum-line-45: #d99daf;
  --spectrum-accent-46: #8c2135; --spectrum-soft-46: #f3d0d7; --spectrum-line-46: #d99da8;
  --spectrum-accent-47: #8d2129; --spectrum-soft-47: #f3cfd2; --spectrum-line-47: #d99ca1;
  --spectrum-accent-48: #8a2420; --spectrum-soft-48: #f3cfce; --spectrum-line-48: #d89c9a;
}

html[data-theme="blue"] body.public-site {
  --spectrum-body: #415169;
  --spectrum-accent-1: #655918; --spectrum-soft-1: #faf8ec; --spectrum-line-1: #dcd4a5;
  --spectrum-accent-2: #5e5b16; --spectrum-soft-2: #f9f8e6; --spectrum-line-2: #d8d599;
  --spectrum-accent-3: #575d16; --spectrum-soft-3: #f7f8e3; --spectrum-line-3: #d1d696;
  --spectrum-accent-4: #515e16; --spectrum-soft-4: #f4f8e3; --spectrum-line-4: #cbd798;
  --spectrum-accent-5: #4a5f16; --spectrum-soft-5: #f1f8e2; --spectrum-line-5: #c5d799;
  --spectrum-accent-6: #426017; --spectrum-soft-6: #eff8e2; --spectrum-line-6: #bfd89a;
  --spectrum-accent-7: #3b6117; --spectrum-soft-7: #ecf8e2; --spectrum-line-7: #b9d89b;
  --spectrum-accent-8: #336217; --spectrum-soft-8: #e9f8e1; --spectrum-line-8: #b3d99c;
  --spectrum-accent-9: #2b6317; --spectrum-soft-9: #e7f7e1; --spectrum-line-9: #add99d;
  --spectrum-accent-10: #236317; --spectrum-soft-10: #e4f7e0; --spectrum-line-10: #a6d99e;
  --spectrum-accent-11: #1a6417; --spectrum-soft-11: #e1f7e0; --spectrum-line-11: #a0d99e;
  --spectrum-accent-12: #17631d; --spectrum-soft-12: #dff7e1; --spectrum-line-12: #9dd9a1;
  --spectrum-accent-13: #176325; --spectrum-soft-13: #ddf6e2; --spectrum-line-13: #9bd8a6;
  --spectrum-accent-14: #17622d; --spectrum-soft-14: #dbf6e3; --spectrum-line-14: #98d7ab;
  --spectrum-accent-15: #176135; --spectrum-soft-15: #d9f5e4; --spectrum-line-15: #96d6b0;
  --spectrum-accent-16: #17613d; --spectrum-soft-16: #d7f5e6; --spectrum-line-16: #93d5b5;
  --spectrum-accent-17: #166045; --spectrum-soft-17: #d4f4e9; --spectrum-line-17: #90d4bb;
  --spectrum-accent-18: #165f4c; --spectrum-soft-18: #d2f4eb; --spectrum-line-18: #8ed3c1;
  --spectrum-accent-19: #165e53; --spectrum-soft-19: #d0f3ee; --spectrum-line-19: #8bd2c7;
  --spectrum-accent-20: #165d5a; --spectrum-soft-20: #cdf3f1; --spectrum-line-20: #88d1ce;
  --spectrum-accent-21: #175c61; --spectrum-soft-21: #d0f1f3; --spectrum-line-21: #8eced3;
  --spectrum-accent-22: #195a69; --spectrum-soft-22: #d5eef4; --spectrum-line-22: #97cbd7;
  --spectrum-accent-23: #1b5873; --spectrum-soft-23: #d8edf5; --spectrum-line-23: #9ec8d9;
  --spectrum-accent-24: #1d567e; --spectrum-soft-24: #dbebf6; --spectrum-line-24: #a4c5dc;
  --spectrum-accent-25: #20538a; --spectrum-soft-25: #dde9f7; --spectrum-line-25: #a9c2de;
  --spectrum-accent-26: #244f9a; --spectrum-soft-26: #dfe8f7; --spectrum-line-26: #aec0df;
  --spectrum-accent-27: #284aab; --spectrum-soft-27: #e0e6f7; --spectrum-line-27: #b1bee1;
  --spectrum-accent-28: #2d42bf; --spectrum-soft-28: #e2e5f8; --spectrum-line-28: #b5bbe2;
  --spectrum-accent-29: #3338cf; --spectrum-soft-29: #e3e4f8; --spectrum-line-29: #b8b9e3;
  --spectrum-accent-30: #4034cf; --spectrum-soft-30: #e4e2f8; --spectrum-line-30: #bab7e3;
  --spectrum-accent-31: #4d30cb; --spectrum-soft-31: #e5e1f7; --spectrum-line-31: #bdb5e2;
  --spectrum-accent-32: #5a2dc1; --spectrum-soft-32: #e7dff7; --spectrum-line-32: #c1b3e1;
  --spectrum-accent-33: #642bb6; --spectrum-soft-33: #e8def7; --spectrum-line-33: #c4b0e0;
  --spectrum-accent-34: #6d28ac; --spectrum-soft-34: #eadcf6; --spectrum-line-34: #c8aedf;
  --spectrum-accent-35: #7426a1; --spectrum-soft-35: #ecdbf6; --spectrum-line-35: #ccabde;
  --spectrum-accent-36: #7a2397; --spectrum-soft-36: #eed9f6; --spectrum-line-36: #d0a8dd;
  --spectrum-accent-37: #7f218e; --spectrum-soft-37: #f1d7f5; --spectrum-line-37: #d4a5dc;
  --spectrum-accent-38: #821f85; --spectrum-soft-38: #f4d5f5; --spectrum-line-38: #d9a2db;
  --spectrum-accent-39: #851f7c; --spectrum-soft-39: #f4d4f2; --spectrum-line-39: #daa1d6;
  --spectrum-accent-40: #862073; --spectrum-soft-40: #f4d4ee; --spectrum-line-40: #daa0cf;
  --spectrum-accent-41: #882068; --spectrum-soft-41: #f4d3ea; --spectrum-line-41: #daa0c8;
  --spectrum-accent-42: #89205e; --spectrum-soft-42: #f4d2e6; --spectrum-line-42: #da9fc1;
  --spectrum-accent-43: #8b2153; --spectrum-soft-43: #f4d2e2; --spectrum-line-43: #da9fbb;
  --spectrum-accent-44: #8c2147; --spectrum-soft-44: #f4d1de; --spectrum-line-44: #d99eb4;
  --spectrum-accent-45: #8c213c; --spectrum-soft-45: #f3d1d9; --spectrum-line-45: #d99eac;
  --spectrum-accent-46: #8d2130; --spectrum-soft-46: #f3d0d5; --spectrum-line-46: #d99da5;
  --spectrum-accent-47: #8d2124; --spectrum-soft-47: #f3d0d1; --spectrum-line-47: #d99c9e;
  --spectrum-accent-48: #872820; --spectrum-soft-48: #f2cfcc; --spectrum-line-48: #d79c97;
}

/* Main content is unpatterned. Existing higher-specificity rules already
   consume --card-* tokens; these rules do not change card geometry. */
html[data-theme] body.public-site main [data-color-index] {
  --muted: var(--spectrum-body);
  color: var(--ink);
  border-color: var(--card-line);
  background-color: var(--card-soft);
  background-image: linear-gradient(125deg, rgba(255, 255, 255, .14), transparent 74%);
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
  box-shadow: 0 5px 16px rgba(var(--ink-rgb), .04), inset 0 1px rgba(255, 255, 255, .7);
}

/* White dots tile across the complete colored sidebar cards only.
   Main-column cards, photographs and QR code images stay unpatterned. */
html[data-theme] body.public-site main .home-sidebar [data-color-index] {
  background-image:
    radial-gradient(circle at 4px 4px, rgba(255, 255, 255, .82) 1.4px, transparent 1.9px),
    linear-gradient(125deg, rgba(255, 255, 255, .14), transparent 74%);
  background-size: 22px 22px, 100% 100%;
  background-position: 8px 8px, center;
  background-repeat: repeat, no-repeat;
}

html[data-theme] body.public-site main [data-color-index] > :is(h2, h3, h4, strong),
html[data-theme] body.public-site main [data-color-index] :is(.metric-index, .exam-card-heading > strong, .module-label, .contact-person-role, .contact-qr-role),
html[data-theme] body.public-site main .sidebar-guide [data-color-index] > span,
html[data-theme] body.public-site main .journey-steps > [data-color-index] > span,
html[data-theme] body.public-site main .competitiveness-grid > [data-color-index] > span {
  color: var(--card-accent);
}

/* Number chips keep their existing shapes and visual hierarchy. */
html[data-theme] body.public-site main [data-color-index] :is(.metric-index, .num, .contact-person-index),
html[data-theme] body.public-site main .sidebar-guide [data-color-index] > span {
  color: var(--card-accent);
  background-color: rgba(255, 255, 255, .88);
  border-color: var(--card-line);
}

html[data-theme] body.public-site main .course-suite-grid > [data-color-index] > div {
  background: linear-gradient(125deg, rgba(255, 255, 255, .14), transparent 74%), var(--card-soft);
}
