.website-color-intro {
  display: flex; align-items: center; justify-content: space-between; padding: 16px 18px;
  border: 1px solid #cfe7ef; border-radius: 14px; background: linear-gradient(135deg, #f1fbfd, #f8fff0);
}
.website-color-intro div { display: grid; gap: 3px; }
.website-color-intro strong { color: #173b4a; font-size: 1.05rem; }
.website-color-intro span, .website-palette-head p { color: #617580; }
.website-color-intro i { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: #fff; color: #176b87; box-shadow: 0 4px 14px #173b4a17; }
.website-url-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
.website-url-row .edu-primary { white-space: nowrap; }
.website-source-details { border: 1px solid #d9e5e9; border-radius: 12px; background: #fbfdfe; }
.website-source-details summary { padding: 14px 16px; color: #176b87; font-weight: 700; cursor: pointer; }
.website-source-details textarea { border: 0; border-top: 1px solid #e1eaed; border-radius: 0 0 12px 12px; }
.website-color-status { min-height: 24px; }
.website-palette-results { display: grid; gap: 18px; padding-top: 6px; }
.website-palette-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 16px; border-bottom: 1px solid #e1eaed; }
.website-palette-head h2 { margin: 3px 0 5px; color: #173b4a; }
.website-palette-head p { margin: 0; }
.utility-kicker { color: #1682a5; font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.website-palette-actions, .website-color-filters { display: flex; gap: 8px; flex-wrap: wrap; }
.website-color-filters button { padding: 8px 16px; border: 1px solid #cbd9df; border-radius: 999px; background: #fff; color: #49616e; font-weight: 700; cursor: pointer; }
.website-color-filters button.active { border-color: #176b87; background: #176b87; color: #fff; }
.website-palette-grid { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); }
.website-palette-card { display: grid; grid-template-columns: 64px minmax(0, 1fr) 34px; align-items: center; gap: 12px; padding: 10px; border: 1px solid #d9e5e9; border-radius: 14px; background: #fff; box-shadow: 0 5px 18px #173b4a0d; transition: .2s ease; }
.website-palette-card:hover { transform: translateY(-2px); box-shadow: 0 9px 24px #173b4a16; }
.website-swatch { position: relative; width: 64px; height: 64px; overflow: hidden; border: 1px solid #cad7dc; border-radius: 11px; cursor: pointer; }
.website-swatch span { position: absolute; inset: auto 4px 4px; padding: 2px; border-radius: 4px; background: #0009; color: #fff; font-size: .58rem; font-weight: 700; }
.website-swatch span:empty { display: none; }
.website-palette-card div { display: grid; gap: 3px; min-width: 0; }
.website-palette-card strong { color: #173b4a; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.website-palette-card small { overflow: hidden; color: #617580; text-overflow: ellipsis; white-space: nowrap; }
.website-copy-color { display: grid; place-items: center; width: 34px; height: 34px; border: 0; border-radius: 9px; background: #edf8fb; color: #176b87; cursor: pointer; }
.website-palette-empty { grid-column: 1 / -1; display: grid; place-items: center; gap: 8px; padding: 32px; color: #617580; text-align: center; }
.website-palette-empty i { font-size: 1.5rem; }
@media (max-width: 680px) {
  .website-url-row { grid-template-columns: 1fr; }
  .website-palette-head { display: grid; }
  .website-palette-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .website-palette-actions .edu-secondary { justify-self: stretch; }
  .website-color-intro span { font-size: .88rem; }
  .website-palette-grid { grid-template-columns: 1fr; }
}
