    .meme-canvas-wrapper {
      text-align: center;
      padding: 16px;
      background: repeating-conic-gradient(#f1f5f9 0% 25%, transparent 0% 50%) 50% / 16px 16px;
      border-radius: var(--radius-sm);
      border: 1px solid var(--color-border);
      min-height: 200px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-top: 20px;
    }
    .meme-canvas-wrapper canvas {
      max-width: 100%;
      max-height: 500px;
    }
    .text-input-group {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .text-input-group textarea {
      padding: 10px 14px;
      border: 1px solid var(--color-border);
      border-radius: var(--radius-sm);
      font-family: var(--font-body);
      font-size: 0.9rem;
      color: var(--color-text);
      background: var(--color-surface);
      resize: vertical;
      min-height: 60px;
      outline: none;
      transition: border-color var(--transition-fast);
    }
    .text-input-group textarea:focus {
      border-color: var(--color-primary);
      box-shadow: 0 0 0 3px var(--color-primary-light);
    }
    .inline-controls {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      align-items: center;
    }
    .inline-controls input[type="color"] {
      width: 36px;
      height: 36px;
      border: 1px solid var(--color-border);
      border-radius: var(--radius-sm);
      cursor: pointer;
      padding: 2px;
    }
