.tr-wrapper {
  --tr-accent: #10b981;
  --tr-accent-glow: rgba(16, 185, 129, 0.4);
  --tr-surface: #fff;
  --tr-surface-alt: #f1f5f9;
  --tr-surface-dark: #020617;
  --tr-border: #e2e8f0;
  --tr-text: #0f172a;
  --tr-text-muted: #64748b;

  width: 100%;
  max-width: 56rem;
  margin: 0 auto;
  color: var(--tr-text);
    }

    .tr-card {
      background: var(--tr-surface);
      border: 1px solid var(--tr-border);
      border-radius: 1.5rem;
      padding: 2rem;
      box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.1);
      display: flex;
      flex-direction: column;
      gap: 1.5rem;
    }

    .tr-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 1rem;
      flex-wrap: wrap;
    }

    .tr-header-info {
      display: flex;
      flex-direction: column;
      gap: 0.25rem;
    }

    .tr-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      padding: 0.25rem 0.75rem;
      border-radius: 9999px;
      background: rgba(16, 185, 129, 0.1);
      color: var(--tr-accent);
      font-size: 0.75rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.05em;
    }

    .tr-badge-icon {
      width: 1rem;
      height: 1rem;
    }

    .tr-title {
      margin: 0;
      font-size: 1.875rem;
      font-weight: 900;
      letter-spacing: -0.02em;
    }

    .tr-description {
      margin: 0;
      color: var(--tr-text-muted);
    }

    .tr-stats {
      display: flex;
      gap: 1rem;
    }

    .tr-stat {
      background: var(--tr-surface-alt);
      border-radius: 1rem;
      padding: 1rem;
      min-width: 7.5rem;
      text-align: center;
    }

    .tr-stat-label {
      font-size: 0.75rem;
      font-weight: 700;
      color: var(--tr-text-muted);
      text-transform: uppercase;
      letter-spacing: 0.05em;
    }

    .tr-stat-value {
      display: flex;
      align-items: baseline;
      justify-content: center;
      gap: 0.25rem;
      font-size: 2.25rem;
      font-weight: 900;
      color: var(--tr-accent);
    }

    .tr-stat-unit {
      font-size: 1rem;
      color: var(--tr-text-muted);
    }

    .tr-area {
      position: relative;
      width: 100%;
      height: 400px;
      background: var(--tr-surface-alt);
      border-radius: 1rem;
      border: 2px dashed var(--tr-border);
      overflow: hidden;
      cursor: crosshair;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .tr-placeholder {
      color: var(--tr-border);
      font-weight: 700;
      font-size: 1.25rem;
      pointer-events: none;
      transition: opacity 200ms;
    }

    .tr-canvas {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      opacity: 0.6;
    }

    .tr-follower {
      position: absolute;
      pointer-events: none;
      background: var(--tr-accent);
      color: #fff;
      font-size: 0.75rem;
      font-weight: 700;
      padding: 0.25rem 0.5rem;
      border-radius: 9999px;
      box-shadow: 0 4px 10px var(--tr-accent-glow);
      opacity: 0;
      transition: opacity 75ms;
      transform: translate(0, 0);
    }

.theme-dark .tr-wrapper {
  --tr-surface: #0f172a;
  --tr-surface-alt: #1e293b;
  --tr-surface-dark: #020617;
  --tr-border: #334155;
  --tr-text: #f1f5f9;
  --tr-text-muted: #94a3b8;
}

body.is-widget .tr-wrapper {
  padding: 0;
}