/* (kept your existing styles, unchanged for brevity) */
      :root {
        --maxw2: 1600px;
        --page-pad-inline: 18px;
        --card-bg: var(--color-white);
        --line: rgba(15,23,42,0.06);
        --shadow: 0 10px 30px rgba(2,6,23,0.08);
        --muted: var(--color-gray-500);
        --radius: 12px;
        --royal-blue: var(--color-info);
      }

      .cv-harmony__layout {
        max-width: var(--maxw2);
        margin: 0 auto;
        padding: 0 var(--page-pad-inline) 40px;
        display: grid;
        gap: 18px;
      }

      @media (min-width: 900px) {
        .cv-harmony__layout {
          grid-template-columns: minmax(0, 340px) minmax(0, 1fr);
          align-items: flex-start;
        }
      }

      .cv-harmony__panel {
        background: var(--color-surface);
        border-radius: var(--radius);
        border: 1px solid var(--line);
        box-shadow: var(--shadow);
        padding: 14px 14px 16px;
      }

      .cv-harmony__panel--controls {
        display: flex;
        flex-direction: column;
        gap: 14px;
      }

      .cv-harmony__group {
        display: flex;
        flex-direction: column;
        gap: 6px;
      }

      .cv-harmony__label {
        font-size: 12px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.16em;
        color: var(--color-text-muted);
        font-family: var(--font-mono);
      }

      .cv-harmony__row {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        align-items: center;
      }

      .cv-harmony__field {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 6px 10px;
        border-radius: 999px;
        background: var(--color-surface);
        box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.06);
        min-width: 210px;
      }

      .cv-harmony__field input[type="text"] {
        border: 0;
        background: transparent;
        font: 13px/1.3 "Courier New", Courier, monospace;
        outline: none;
        text-transform: none;
        flex: 1;
        min-width: 0;
      }

      .cv-harmony__btn {
        appearance: none;
        border: 0;
        border-radius: 999px;
        padding: 6px 14px;
        font-size: 13px;
        font-weight: 700;
        font-family: var(--font-mono);
        cursor: pointer;
        background: var(--color-black);
        color: var(--color-white);
        box-shadow: 0 10px 22px rgba(0, 0, 0, 0.25);
        white-space: nowrap;
      }

      .cv-harmony__btn--ghost {
        background: var(--color-white);
        color: var(--color-text-muted);
        box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.1);
      }

      .cv-harmony__btn--sm {
        padding: 4px 10px;
        font-size: 12px;
        box-shadow: 0 4px 12px rgba(15, 23, 42, 0.18);
      }

      .cv-harmony__btn--danger {
        background: var(--color-danger-dark);
        color: var(--color-white);
      }

      .cv-harmony__btn:focus-visible {
        outline: 2px solid var(--royal-blue);
        outline-offset: 2px;
      }

      .cv-harmony__toggles {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
      }

      .cv-harmony__toggle {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 5px 10px;
        border-radius: 999px;
        background: var(--color-surface) ;
        font-size: 13px;
        font-family: var(--font-mono);
        cursor: pointer;
      }

      .cv-harmony__toggle input {
        width: 14px;
        height: 14px;
      }

      .cv-harmony__sliderlabel {
        display: flex;
        justify-content: space-between;
        font-size: 12px;
        color: var(--color-text-muted);
        font-family: var(--font-mono);
      }

      .cv-harmony__slider {
        width: 100%;
      }

      .cv-harmony__actions-row {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
      }

      .cv-svg__preview-card {
        background: var(--color-surface) ;
        border-radius: 12px;
        box-shadow: 0 25px 60px rgba(15, 23, 42, 0.18);
        overflow: hidden;
        display: grid;
        grid-template-columns: minmax(0, 1.7fr) minmax(0, 1.3fr);
        min-height: 220px;
      }

      @media (max-width: 780px) {
        .cv-svg__preview-card {
          grid-template-columns: 1fr;
        }
      }

      .cv-svg__preview-frame {
        position: relative;
        background: var(--color-surface) ;
        padding: 18px;
        display: flex;
        align-items: center;
        justify-content: center;
      }

      .cv-svg__preview-frame--dark {
        background: radial-gradient(circle at top left, var(--color-gray-900), var(--color-gray-950));
      }

      .cv-svg__preview-inner {
        max-width: 100%;
        max-height: 360px;
        width: 100%;
        border-radius: 12px;
        background-image: linear-gradient(45deg, var(--color-border) 25%, transparent 25%),
          linear-gradient(-45deg, var(--color-border) 25%, transparent 25%),
          linear-gradient(45deg, transparent 75%, var(--color-border) 75%),
          linear-gradient(-45deg, transparent 75%, var(--color-border) 75%);
        background-size: 16px 16px;
        background-position: 0 0, 0 8px, 8px -8px, -8px 0;
        box-shadow: 0 16px 40px rgba(15, 23, 42, 0.3);
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
        padding: 12px;
      }

      .cv-svg__preview-inner svg {
        max-width: 100%;
        max-height: 100%;
        height: auto;
        width: auto;
        display: block;
      }

      .cv-svg__preview-toolbar {
        position: absolute;
        left: 12px;
        top: 12px;
        display: flex;
        gap: 6px;
        flex-wrap: wrap;
      }

      .cv-svg__preview-empty {
        font-size: 13px;
        font-family: var(--font-mono);
        color: var(--color-text-muted);
        text-align: center;
        padding: 32px 18px;
      }

      .cv-svg__meta {
        background: var(--color-surface) ;
        padding: 18px 20px 18px;
        display: flex;
        flex-direction: column;
        gap: 12px;
        font-family: var(--font-mono);
      }

      .cv-svg__meta-heading {
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        color: var(--color-text-muted);
      }

      .cv-svg__meta-list {
        list-style: none;
        padding: 0;
        margin: 0;
        display: grid;
        gap: 6px;
        font-size: 13px;
      }

      .cv-svg__meta-item {
        display: grid;
        grid-template-columns: auto 1fr;
        column-gap: 10px;
        align-items: baseline;
      }

      .cv-svg__meta-label {
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: 0.14em;
        color: var(--color-text-muted);
      }

      .cv-svg__meta-value {
        font-weight: 700;
        word-break: break-all;
      }

      .cv-svg__tags {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
      }

      .cv-svg__tag {
        font-size: 11px;
        padding: 3px 7px;
        border-radius: 999px;
        background: var(--color-bg-muted);
      }

      .cv-svg__tag--primary {
        font-weight: 700;
      }

      .cv-svg__colors-panel {
        margin-top: 16px;
        background: var(--color-surface) ;
        border-radius: var(--radius);
        border: 1px solid var(--line);
        box-shadow: var(--shadow);
        padding: 12px 12px 10px;
        display: flex;
        flex-direction: column;
        gap: 10px;
      }

      .cv-svg__colors-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 8px;
        margin-bottom: 4px;
      }

      .cv-svg__colors-title {
        font-size: 14px;
        font-weight: 900;
        font-family: var(--font-sans);
      }

      .cv-svg__colors-sub {
        font-size: 11px;
        color: var(--color-text-muted);
        font-family: var(--font-mono);
      }

      .cv-svg__colors-scroller {
        max-height: 320px;
        overflow: auto;
        padding-right: 4px;
      }

      .cv-svg__color-row {
        display: grid;
        grid-template-columns: auto 1fr auto;
        gap: 8px;
        align-items: center;
        padding: 6px 6px;
        border-radius: 12px;
        background: rgba(248, 250, 252, 0.7);
      }

      @media (max-width: 640px) {
        .cv-svg__color-row {
          grid-template-columns: 1fr;
          align-items: stretch;
        }
      }

      .cv-svg__color-swatches {
        display: flex;
        align-items: center;
        gap: 6px;
      }

      .cv-svg__pill-swatch {
        width: 26px;
        height: 26px;
        border-radius: 999px;
        box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.18);
      }

      .cv-svg__pill-arrow {
        font-size: 16px;
        padding: 0 3px;
      }

      .cv-svg__color-edit {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 6px;
        font-family: var(--font-mono);
      }

      .cv-svg__color-edit input[type="color"] {
        appearance: none;
        border: 0;
        padding: 0;
        width: 32px;
        height: 32px;
        border-radius: 999px;
        cursor: pointer;
        box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
      }

      .cv-svg__color-edit input[type="text"] {
        border: 0;
        background: var(--color-bg-muted);
        border-radius: 999px;
        padding: 4px 9px;
        font: 12px/1.3 "Courier New", Courier, monospace;
        outline: none;
        min-width: 120px;
      }

      .cv-svg__color-tags {
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
        justify-content: flex-end;
      }

      .cv-pill {
        border-radius: 999px;
        padding: 2px 7px;
        font-size: 11px;
        font-family: var(--font-mono);
        border: 1px solid transparent;
        background: rgba(255, 255, 255, 0.7);
        cursor: default;
        white-space: nowrap;
      }

      .cv-pill--btn {
        cursor: pointer;
      }

      .cv-pill--strong {
        font-weight: 700;
      }

      .cv-pill--primary {
        font-weight: 900;
        text-transform: uppercase;
      }

      .cv-pill--warn {
        background: rgba(248, 113, 113, 0.25);
      }

      .cv-pill--ok {
        background: rgba(16, 185, 129, 0.23);
      }

      .cv-svg__color-lock {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        font-size: 11px;
      }

      .cv-svg__textarea {
        width: 100%;
        min-height: 120px;
        resize: vertical;
        font-family: var(--font-mono);
        font-size: 12px;
        border-radius: 12px;
        border: 1px solid rgba(15, 23, 42, 0.12);
        padding: 8px 10px;
        background: var(--color-gray-50);
      }

      .cv-harmony__toast {
        position: fixed;
        left: 50%;
        bottom: 16px;
        transform: translateX(-50%);
        padding: 6px 12px;
        border-radius: 12px;
        background: rgba(15, 23, 42, 0.94);
        color: var(--color-gray-50);
        font-size: 13px;
        font-family: var(--font-mono);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.15s ease-out;
        z-index: 9999;
      }

      .cv-harmony__toast--show {
        opacity: 1;
      }

      .cv-harmony__footer-note {
        font-size: 12px;
        color: var(--color-text-muted);
        text-align: center;
        margin-top: 12px;
        font-family: var(--font-mono);
      }