    .tool-layout {
      display: flex;
      flex-direction: column;
      gap: 20px;
    }

    .textarea-group {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }

    .textarea-group label {
      font-size: 0.8rem;
      font-weight: 600;
      color: var(--color-text-secondary);
      text-transform: uppercase;
      letter-spacing: 0.05em;
    }

    .textarea-group textarea {
      width: 100%;
      min-height: 180px;
      padding: 14px 16px;
      border: 1px solid var(--color-border);
      border-radius: var(--radius-sm);
      font-family: var(--font-mono);
      font-size: 0.9rem;
      color: var(--color-text);
      background: var(--color-surface);
      transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
      outline: none;
      resize: vertical;
      line-height: 1.6;
    }

    .textarea-group textarea:focus {
      border-color: var(--color-primary);
      box-shadow: 0 0 0 3px var(--color-primary-light);
    }

    .textarea-group textarea::placeholder {
      color: var(--color-text-muted);
      font-family: var(--font-body);
    }

    /* Button row */
    .action-row {
      display: flex;
      gap: 12px;
      justify-content: center;
      flex-wrap: wrap;
    }

    .action-btn {
      padding: 12px 28px;
      border: none;
      border-radius: var(--radius-sm);
      font-family: var(--font-body);
      font-size: 0.95rem;
      font-weight: 700;
      cursor: pointer;
      transition: all var(--transition-fast);
    }

    .action-btn.primary {
      background: var(--color-primary);
      color: #fff;
    }

    .action-btn.primary:hover { opacity: 0.9; }

    .action-btn.secondary {
      background: var(--color-surface);
      color: var(--color-text);
      border: 2px solid var(--color-border);
    }

    .action-btn.secondary:hover {
      border-color: var(--color-primary);
      background: var(--color-primary-light);
    }

    .action-btn.copy {
      background: #059669;
      color: #fff;
    }

    .action-btn.copy:hover { opacity: 0.9; }

    /* Stats */
    .stats-row {
      display: flex;
      gap: 24px;
      justify-content: center;
      font-size: 0.82rem;
      color: var(--color-text-muted);
    }

    .stats-row span {
      font-family: var(--font-mono);
    }

    /* Char reference table */
    .ref-table {
      margin-top: 16px;
      width: 100%;
      border-collapse: collapse;
      font-size: 0.88rem;
    }

    .ref-table th {
      padding: 8px 16px;
      background: var(--color-bg);
      border-bottom: 2px solid var(--color-border);
      font-size: 0.75rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      color: var(--color-text-muted);
      text-align: left;
    }

    .ref-table td {
      padding: 6px 16px;
      border-bottom: 1px solid var(--color-border-light);
      font-family: var(--font-mono);
    }

    .ref-table tbody tr:hover {
      background: var(--color-primary-light);
    }

    @media (max-width: 600px) {
      .action-row { flex-direction: column; }
      .action-btn { width: 100%; }
    }
