JSFiddle - React, Tailwind, and code Playground

by velo_ninja

HTML

<!DOCTYPE html>
<html lang="de">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Helden Manager 2.0 - Pro Edition</title>
  <style>
    /* --- CSS VARIABLES & RESET --- */
    :root {
      --bg-body: #0f172a;
      --bg-panel: #1e293b;
      --bg-card: #334155;
      --bg-input: #0f172a;
      
      --primary: #6366f1; /* Indigo */
      --primary-hover: #4f46e5;
      --accent: #f59e0b; /* Gold */
      --danger: #ef4444;
      --success: #10b981;
      
      --text-main: #f8fafc;
      --text-muted: #94a3b8;
      
      --border: 1px solid #475569;
      --radius: 12px;
      --shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -1px rgba(0, 0, 0, 0.15);
      --font-main: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    }

    * { box-sizing: border-box; outline: none; }
    
    body {
      margin: 0;
      padding: 0;
      background-color: var(--bg-body);
      color: var(--text-main);
      font-family: var(--font-main);
      line-height: 1.5;
      overflow-x: hidden;
    }

    /* --- UTILITIES & LAYOUT --- */
    .container { max-width: 1400px; margin: 0 auto; padding: 20px; }
    .flex { display: flex; }
    .flex-col { flex-direction: column; }
    .items-center { align-items: center; }
    .justify-between { justify-content: space-between; }
    .gap-2 { gap: 0.5rem; }
    .gap-4 { gap: 1rem; }
    .w-full { width: 100%; }
    .hidden { display: none !important; }
    .text-center { text-align: center; }
    .text-sm { font-size: 0.875rem; }
    .font-bold { font-weight: 700; }
    
    /* --- BUTTONS & INPUTS --- */
    button {
      cursor: pointer;
      border: none;
      border-radius: var(--radius);
      padding: 10px 20px;
      font-weight: 600;
      transition: all 0.2s ease;
      font-family: inherit;
    }

    .btn-primary {
      background: linear-gradient(135deg, var(--primary) 0%,...