:root { --transition: all 0.35s ease; }

  body {
    background: #000;
    color: #fafafa;
    font-family: "Inter", sans-serif;
    padding: 3rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3rem;
  }

  h2 {
    font-size: 0.8rem;
    color: #999;
    text-align: center;
    margin-bottom: 1rem;
    letter-spacing: 0.05em;
  }

  .cards-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2rem;
  }

  .color-card {
    width: 360px;
    border: 1px solid #242424;
    border-radius: 16px;
    padding: 12px;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: var(--transition);
  }

  .color-area {
    height: 6rem;
    border: 1px solid #242424;
    border-radius: 12px;
    position: relative;
    transition: var(--transition);
  }

  .percentage-tag {
    position: absolute;
    top: 12px;
    left: 12px;
    background: rgba(0,0,0,0.4);
    color: #fff;
    font-size: 0.75rem;
    padding: 4px 7px;
    border-radius: 8px;
    transition: var(--transition);
  }

  .copy-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .hex {
    font-family: monospace;
    font-size: 0.875rem;
    text-transform: uppercase;
  }

  .copy-btn {
    width: 28px;
    height: 28px;
    background: #fafafa;
    color: #000;
    border: 1px solid transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: var(--transition);
  }

  .copy-btn svg {
    width: 16px;
    height: 16px;
    stroke-width: 2;
    transition: var(--transition);
    transform-origin: center;
  }

  @keyframes spinCopy {
    0% { transform: translate(0,0) rotate(0deg); }
    50% { transform: translate(-3px,-3px) rotate(180deg); }
    100% { transform: translate(0,0) rotate(360deg); }
  }

  .copy-btn:hover svg {
    animation: spinCopy 0.7s cubic-bezier(0.51,1.8,0.6,1) both;
  }

  .bottom {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 12px;
  }

  .square {
    width: 40px;
    height: 40px;
    border: 1px solid #444;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 8px;
  }

  .labels {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }

  .label-name { color: #aaa; font-size: 0.875rem; } 
  .label-name.orange { color: #242424; font-size: 0.875rem; }
  .label-value { font-size: 0.875rem; font-weight: 500; }  

  .badge-container {
    position: absolute;
    bottom: 12px;
    right: 12px;
    display: flex;
    gap: 6px;
  }

  .badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border-radius: 9999px;
    padding: 2px 8px;
    font-size: 12px;
    font-weight: 500;
    border-width: 1px;
    border-style: solid;
    line-height: 1;
  }

  .true-badge {
    background: #002030;
    color: #00A7FA;
    border-color: #00334d;
  }

  .false-badge {
    background: transparent;
    color: #aaa;
    border-color: #242424;
  }

  /* Add SVG-based check and cross icons before text */
  .badge.true-badge::before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    background: currentColor;
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" stroke="white" fill="none" viewBox="0 0 24 24"><path stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"/></svg>') no-repeat center;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" stroke="white" fill="none" viewBox="0 0 24 24"><path stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"/></svg>') no-repeat center;
  }

  .badge.false-badge::before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    background: currentColor;
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" stroke="white" fill="none" viewBox="0 0 24 24"><path stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M6 6l12 12M18 6L6 18"/></svg>') no-repeat center;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" stroke="white" fill="none" viewBox="0 0 24 24"><path stroke-width="3" stroke-linecap="round" stroke-linejoin="round" d="M6 6l12 12M18 6L6 18"/></svg>') no-repeat center;
  }

  /* 1. Default Blue – Squircle shapes */
  .color-card.default {
    background: #000;
    border-color: #242424;
    corner-shape: squircle;
  }

  .color-card.default .color-area {
    background: #00A7FA;
    border-color: #00334D;
    corner-shape: squircle;
  }

  .color-card.default .square {
    background: #00A7FA;
    color: #fff;
    border-color: #0077bb;
    corner-shape: squircle;
  }

  .color-card.default .copy-btn {
    border-radius: 10px;
    corner-shape: squircle;
  }

  .color-card.default .copy-btn:hover { background: #00A7FA; color: #fff; }

  /* 2. Hebrew – Round button */
  .color-card.hebrew {
    background: #0A0A0A;
    border: 1px solid #262626;
    border-radius: 12px;
    direction: rtl;
    corner-shape: round;
  }

  .color-card.hebrew .color-area {
    background: #6C00FA;
    border-color: #262626;
    corner-shape: round;
  }

  .color-card.hebrew .square {
    background: #6C00FA;
    border: 1px solid #9966FF;
    color: #fff;
    corner-shape: round;
  }

  .color-card.hebrew .percentage-tag { right: 12px; left: auto; }

  .color-card.hebrew .copy-btn {
    background: #0A0A0A;
    color: #FAFAFA;
    border: 1px solid #262626;
    border-radius: 10px;
    corner-shape: round;
  }

  .color-card.hebrew .copy-btn:hover {
    background: #6C00FA;
    border-color: #6C00FA;
    color: #fff;
  }

  /* 3. Orange – Squircle corners */
  .color-card.light {
    background: #fff;
    border-color: #E5E5E5;
    color: #000;
    corner-shape: squircle;
  }

  .color-card.light .color-area { background: #FA5300; border-color: #E5E5E5; corner-shape: squircle; }
  .color-card.light .square { background: #FA5300; color: #fff; border-color: #FF955A; corner-shape: squircle; }

  .color-card.light .copy-btn {
    background: #fff;
    color: #FA5300;
    border: 1px solid #E5E5E5;
    border-radius: 10px;
    corner-shape: squircle;
  }

  .color-card.light .copy-btn:hover { background: #FA5300; color: #fff; border-color: #FA5300; }

  .color-card.light .badge.true-badge {
    color: #FA5300; background: #FFF4E6; border-color: #FA5300;
  }

  .color-card.light .badge.false-badge {
    color: #333333; background: transparent; border-color: #E5E5E5;
  }

  /* 4. Bevel – Square copy, all sharp edges */
  .color-card.gray {
    background: #2E2E2E;
    border: 1px solid #444;
    border-radius: 0;
    color: #fff;
  }

  .color-card.gray .color-area,
  .color-card.gray .square,
  .color-card.gray .badge,
  .color-card.gray .percentage-tag {
    corner-shape: bevel;
    border-radius: 10px;
  }

  .color-card.gray .color-area { background: #0CAD00; border-color: #444; }
  .color-card.gray .square { background: #0CAD00; border: 1px solid #55DD55; color: #fff; }

  .color-card.gray .copy-btn {
    background: #2E2E2E;
    color: #fff;
    border: 1px solid #444;
    border-radius: 0;
    corner-shape: bevel;
  }

  .color-card.gray .copy-btn:hover {
    background: #0CAD00;
    border-color: #0CAD00;
    color: #fff;
  }

  .color-card.gray .true-badge {
    background: rgba(255,255,255,0.15);
    color: #ccc;
    border-color: #999;
  }

  .color-card.gray .false-badge {
    background: rgba(0,0,0,0.3);
    color: #666;
    border-color: #444;
  }

  /* 5. Cantonese – adjustable squircle logic */
  .color-card.purple {
    width: 256px;
    background: linear-gradient(135deg,#f9f4ff 0%,#f9f4ff 80%,#f0ccfa 84%,#eab8fb 85%,#d28aea 88%,#b13bdd 90%);
    padding: 24px;
    color: #3A0060;
    corner-shape: squircle;
    border-radius: 64px;
  }

  .color-card.purple .color-area {
    background: #9C27B0;
    border: none;
    height: 16rem;
    corner-shape: squircle;
    border-radius: 40px;
  }

  .color-card.purple .square {
    --width: 36px;
    width: var(--width);
    aspect-ratio: 1/1;
    background: #9C27B0;
    border: none;
    color: #fff;
    corner-shape: squircle;
    border-radius: 24px;
  }

  .color-card.purple .copy-btn {
    background: #0A0A0A;
    color: #fff;
    border-radius: 24px;
    corner-shape: squircle;
    transition: var(--transition);
  }

  .color-card.purple:hover .copy-btn { background: #9C27B0; color: #fff; }

  .color-card.purple .percentage-tag {
    position: absolute;
    top: 28px;                /* 20px from the top of the color area */
    left: 50%;                /* Center horizontally */
    transform: translateX(-50%); /* Perfect centering */
    background: #F9F4FF;
    color: #3A0060;
    font-size: 1.125rem;
    padding: 9px 11px;
    border-radius: 24px;
    corner-shape: squircle;
    transition: var(--transition);
  }

  .color-card.purple .labels .label-name { color: #541f93; }
  .color-card.purple .labels .label-value { color: #3A0060; }