:root {
      color-scheme: dark;
      --bg: #0c1016;
      --panel: #151b24;
      --panel-2: #1c2430;
      --panel-3: #11161d;
      --border: #2b3443;
      --text: #e8edf3;
      --muted: #99a7b5;
      --accent: #4f9cff;
      --accent-2: #387ed7;
      --ok: #27c27a;
      --err: #ff5d73;
      --shadow: 0 10px 30px rgba(0, 0, 0, .25);
    }

    * { box-sizing: border-box; }

    html, body {
      margin: 0;
      padding: 0;
      font-family: Arial, sans-serif;
      background: var(--bg);
      color: var(--text);
      min-height: 100%;
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    button, input {
      font: inherit;
    }

    .hidden {
      display: none !important;
    }

    .msg {
      min-height: 22px;
      margin-top: 12px;
      font-size: 14px;
      white-space: pre-wrap;
      color: var(--muted);
    }

    .msg.ok { color: var(--ok); }
    .msg.err { color: var(--err); }

    .btn {
      border: 0;
      border-radius: 10px;
      padding: 11px 14px;
      background: var(--accent);
      color: white;
      cursor: pointer;
      font-weight: 700;
      transition: .15s ease;
    }

    .btn:hover {
      background: var(--accent-2);
    }

    .btn.secondary {
      background: #3a455b;
    }

    .btn.secondary:hover {
      background: #4b5870;
    }

    .btn.danger {
      background: #b93b4c;
    }

    .btn.danger:hover {
      background: #cf5162;
    }

    .field {
      margin-bottom: 14px;
    }

    .field label {
      display: block;
      margin-bottom: 6px;
      font-size: 14px;
      color: var(--muted);
    }

    .field input {
      width: 100%;
      border: 1px solid var(--border);
      background: var(--panel-2);
      color: var(--text);
      border-radius: 10px;
      padding: 12px 13px;
      outline: none;
    }

    .field input:focus {
      border-color: var(--accent);
    }

    .card {
      background: var(--panel);
      border: 1px solid var(--border);
      border-radius: 16px;
      box-shadow: var(--shadow);
    }

    .mono {
      font-family: Consolas, monospace;
      white-space: pre-wrap;
      font-size: 13px;
      background: #0a0d12;
      border: 1px solid var(--border);
      border-radius: 10px;
      padding: 12px;
      overflow: auto;
    }
