.cc-top { display: flex; align-items: center; gap: 10px; margin: 14px 0; }
#cc-picker {
  width: 46px; height: 40px; flex: 0 0 auto; padding: 2px; cursor: pointer;
  background: var(--twb-bg-1); border: 1px solid var(--twb-border); border-radius: 6px;
}
#cc-input {
  flex: 1; min-width: 0;
  background: var(--twb-bg-1); color: var(--twb-text-normal);
  border: 1px solid var(--twb-border); border-radius: 6px;
  font-family: var(--twb-font-mono); font-size: 15px; padding: 9px 12px;
}
#cc-input:focus {
  outline: none; border-color: var(--twb-accent);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--twb-accent) 25%, transparent);
}
.cc-error { color: var(--twb-red); font-size: 13px; margin: 6px 0; }

.cc-results { display: flex; gap: 16px; align-items: stretch; margin: 14px 0; flex-wrap: wrap; }
.cc-results.cc-dim { opacity: 0.3; }
.cc-swatch-block { flex: 0 0 auto; }
.cc-swatch {
  width: 118px; height: 118px; border-radius: 8px; border: 1px solid var(--twb-border);
}
.cc-table { border-collapse: collapse; flex: 1; min-width: 220px; }
.cc-table td { padding: 6px 10px; border-bottom: 1px solid var(--twb-border); }
.cc-fmt { color: var(--twb-text-muted); width: 54px; }
.cc-val { color: var(--twb-accent); font-size: 14px; }

.cc-note { color: var(--twb-text-muted); font-size: 12.5px; }
.cc-contrast { display: flex; gap: 14px; flex-wrap: wrap; margin: 12px 0; }
.cc-cc-card {
  display: flex; align-items: center; gap: 14px;
  padding: 12px 16px; border: 1px solid var(--twb-border); border-radius: 8px;
  background: var(--twb-bg-1); flex: 1; min-width: 240px;
}
.cc-cc-sample {
  width: 52px; height: 52px; flex: 0 0 auto;
  display: flex; align-items: center; justify-content: center;
  border-radius: 6px; border: 1px solid var(--twb-border);
  font-family: var(--twb-font-mono); font-size: 24px; font-weight: 700;
}
.cc-cc-ratio { font-family: var(--twb-font-mono); font-size: 19px; font-weight: 700; color: var(--twb-text-normal); }
.cc-cc-label { font-size: 12px; color: var(--twb-text-muted); margin-bottom: 6px; }
.cc-badges { display: flex; align-items: center; gap: 5px; font-size: 11px; color: var(--twb-text-soft); }
.cc-badge {
  font-family: var(--twb-font-mono); font-size: 10px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.04em;
  border: 1px solid currentColor; border-radius: 4px; padding: 0 5px;
}
.cc-pass { color: var(--twb-accent-alt); }
.cc-fail { color: var(--twb-red); }
