/* Colorblind Simulator — colorblind.css */

.cb-note { margin: 0; font-size: 13px; align-self: center; }

.cb-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 18px;
}
.cb-card {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 14px;
  box-shadow: var(--shadow);
}
.cb-card canvas { width: 100%; height: auto; display: block; border-radius: 8px; }
.cb-card .cb-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.cb-card h3 { margin: 0; font-size: 15px; }
.cb-card .cb-sub { color: var(--text-muted); font-size: 12px; }
.cb-card .cb-actions { margin-top: 10px; text-align: right; }
.cb-card .cb-actions .btn { padding: 5px 12px; font-size: 12px; }

/* Full-width view: each simulation stacked at 100% width */
.cb-grid.full { grid-template-columns: 1fr; }

/* Click-to-zoom: thumbnails enlarge in a lightbox, click again (or Esc) to close */
.cb-card canvas.cb-thumb { cursor: zoom-in; }
.cb-card canvas.cb-thumb:focus-visible { outline: 2px solid var(--accent, #5b5bd6); outline-offset: 2px; }

.cb-zoom {
  position: fixed; inset: 0; z-index: 1000;
  background: rgba(10, 10, 14, 0.88);
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 12px; padding: 24px;
  cursor: zoom-out;
}
.cb-zoom[hidden] { display: none; }
.cb-zoom canvas {
  width: auto; height: auto;
  max-width: 100%; max-height: calc(100vh - 110px);
  border-radius: 8px;
  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.5);
}
.cb-zoom-cap { margin: 0; color: #e8e8ee; font-size: 13px; }
body.cb-zoom-open { overflow: hidden; }
