:root {
      --bg: #181824;
      --card-bg: #23233a;
      --endpoint-bg: #23233a;
      --endpoint-hover: #28284a;
      --endpoint-border: #2d2d4a;
      --endpoint-shadow: 0 2px 16px rgba(127,90,240,0.08);
      --text: #f3f6fd;
      --accent: #7f5af0;
      --accent2: #2cb67d;
      --status-online: #2cb67d;
      --gradient: linear-gradient(90deg, #7f5af0 0%, #2cb67d 100%);
      --blue: #3fa7ff;
      --card-glow: 0 0 0 2px #23233a, 0 8px 32px rgba(127,90,240,0.10);
      --card-inner-bg: #232345;
      --card-inner-border: #3d356a;
    }
    body {
      background: var(--bg);
      color: var(--text);
      font-family: 'Montserrat', 'Segoe UI', Tahoma, sans-serif;
      min-height: 100vh;
    }
    header {
      background: var(--card-bg);
      border-radius: 18px;
      margin: 2rem auto 1.5rem auto;
      max-width: 1100px;
      box-shadow: var(--card-glow);
      padding: 2rem 2rem 2rem 2rem;
      display: flex;
      align-items: center;
      gap: 2rem;
    }
    .header-img {
      width: 160px;
      height: 160px;
      object-fit: cover;
      border-radius: 16px;
      box-shadow: 0 4px 24px rgba(127,90,240,0.15);
      border: 3px solid var(--accent);
    }
    .header-info h1 {
      font-size: 2.7rem;
      font-weight: 700;
      background: var(--gradient);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      margin-bottom: 0.5rem;
    }
    .header-info p {
      font-size: 1.15rem;
      margin-bottom: 1.2rem;
      color: #b8b8d1;
    }
    .status {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      font-weight: bold;
      margin-bottom: 1rem;
      color: var(--accent2);
      font-size: 1rem;
    }
    .status-dot {
      width: 12px;
      height: 12px;
      background-color: var(--status-online);
      border-radius: 50%;
      box-shadow: 0 0 8px var(--status-online);
    }
    main {
      max-width: 1200px;
      margin: 2rem auto;
      padding: 0 1rem;
    }
    .categories-title {
      font-size: 1.7rem;
      font-weight: 700;
      margin-bottom: 1.5rem;
      background: var(--gradient);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      letter-spacing: 1px;
    }
    .category-grid {
      display: flex;
      flex-wrap: wrap;
      gap: 2.5rem;
      justify-content: flex-start;
      align-items: flex-start;
    }
    .category-card {
      background: var(--card-bg);
      border-radius: 16px;
      padding: 2rem 1.5rem 1.5rem 1.5rem;
      box-shadow: var(--card-glow);
      border: 1.5px solid #23233a;
      position: relative;
      min-width: 340px;
      max-width: 400px;
      flex: 1 1 340px;
      margin-bottom: 0;
      margin-left: 0;
      margin-right: 0;
      display: flex;
      flex-direction: column;
    }
    .category-card h2 {
      font-size: 1.35rem;
      margin-bottom: 0.5rem;
      color: var(--accent);
      font-weight: 700;
      letter-spacing: 1px;
    }
    .category-card .endpoint-count {
      color: #b8b8d1;
      font-size: 1rem;
      margin-bottom: 1.2rem;
    }
    .category-card hr {
      border: none;
      border-top: 1px solid #23233a;
      margin-bottom: 1.2rem;
    }
    .endpoints-list {
      display: flex;
      flex-direction: column;
      gap: 0.7rem;
    }
    .endpoint-row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      background: var(--card-inner-bg);
      border-radius: 12px;
      padding: 1rem 1.2rem;
      font-size: 1.08rem;
      font-weight: 500;
      color: #f3f6fd;
      box-shadow: var(--endpoint-shadow);
      border: 1.5px solid var(--card-inner-border);
      cursor: pointer;
      transition: border 0.2s, box-shadow 0.2s, background 0.2s;
      position: relative;
    }
    .endpoint-row:hover {
      border: 1.5px solid var(--accent);
      box-shadow: 0 4px 16px rgba(127,90,240,0.18);
      background: var(--endpoint-hover);
    }
    .endpoint-row span:first-child {
      font-weight: 700;
      font-size: 1.08rem;
      letter-spacing: 0.5px;
    }
    .get-btn {
      background: transparent;
      border-radius: 8px;
      padding: 0.2rem 1.1rem;
      font-size: 1rem;
      font-weight: 700;
      letter-spacing: 1px;
      border: 2px solid #2cb67d;
      color: #2cb67d;
      transition: border 0.2s, color 0.2s;
      margin-left: 1rem;
    }
    .get-btn.post {
      color: var(--blue);
      border-color: var(--blue);
    }
    .view-btn {
      display: block;
      margin: 1.5rem auto 0 auto;
      background: #7f5af0;
      color: #fff;
      border: none;
      border-radius: 8px;
      padding: 0.7rem 1.7rem;
      font-size: 1.08rem;
      font-weight: 600;
      box-shadow: 0 2px 8px rgba(127,90,240,0.12);
      cursor: pointer;
      transition: background 0.2s;
      letter-spacing: 1px;
    }
    .view-btn:hover {
      background: #2cb67d;
      color: #fff;
    }
    /* Modal styles */
    .modal {
      position: fixed;
      z-index: 9999;
      left: 0; top: 0;
      width: 100vw; height: 100vh;
      background: rgba(24,24,36,0.85);
      display: none;
      align-items: center;
      justify-content: center;
    }
    .modal-content {
      background: #23233a;
      border-radius: 18px;
      padding: 2rem 2.2rem;
      width: 700px;
      max-width: 98vw;
      box-shadow: var(--card-glow);
      position: relative;
      border: none;
    }
    .modal-content h2 {
      font-size: 1.6rem;
      font-weight: 700;
      background: var(--gradient);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      margin-bottom: 0.2rem;
    }
    #modalDesc {
      color: #b8b8d1;
      margin-bottom: 1.2rem;
      font-size: 1.08rem;
    }
    .modal-content label {
      font-weight: 500;
      color: var(--accent);
      margin-bottom: 0.2rem;
      display: block;
    }
    .modal-content input[type="text"] {
      width: 100%;
      min-width: 220px;
      padding: 0.6rem 0.9rem;
      border-radius: 8px;
      border: 2px solid #7f5af0;
      background: #181824;
      color: #fff;
      margin-bottom: 0.7rem;
      font-size: 1rem;
      transition: border 0.2s;
      outline: none;
      box-sizing: border-box;
    }
    .modal-content input[type="text"]:focus {
      border: 2px solid var(--accent2);
    }
    #modalUrl {
      font-size: 1rem;
      background: #181824;
      border: 2px solid var(--accent2);
      color: #fff;
      border-radius: 8px;
      padding: 0.6rem 0.9rem;
      margin-bottom: 0;
      width: 95%;
      min-width: 220px;
      max-width: 650px;
      box-sizing: border-box;
    }
    #copyUrlBtn {
      background: #7f5af0;
      color: #fff;
      border: none;
      border-radius: 8px;
      padding: 0.3rem 0.9rem;
      font-size: 0.95rem;
      font-weight: 600;
      cursor: pointer;
      transition: background 0.2s;
      margin-left: 0.5rem;
      min-width: 70px;
      height: 36px;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    #copyUrlBtn:hover {
      background: var(--accent2);
    }
    #submitBtn {
      background: linear-gradient(90deg,#7f5af0 0%,#2cb67d 100%);
      color: #fff;
      border: none;
      border-radius: 8px;
      padding: 0.7rem 1.5rem;
      font-weight: 600;
      margin-top: 1rem;
      cursor: pointer;
      box-shadow: 0 2px 8px rgba(127,90,240,0.12);
      transition: background 0.2s;
      font-size: 1.08rem;
    }
    #submitBtn:hover {
      background: linear-gradient(90deg,#2cb67d 0%,#7f5af0 100%);
    }
    #copyRespBtn {
      background: var(--accent2);
      color: #fff;
      border: none;
      border-radius: 8px;
      padding: 0.3rem 0.7rem;
      font-size: 0.95rem;
      font-weight: 600;
      cursor: pointer;
      transition: background 0.2s;
      margin-top: 0.5rem;
      margin-left: 0.5rem;
      min-width: 80px;
      display: none;
    }
    #copyRespBtn.show {
      display: inline-block;
    }
    #modalResponse {
      background: #181824;
      color: #fff;
      min-height: 40px;
      border-radius: 6px;
      padding: 0.5rem;
      word-break: break-all;
      font-size: 1rem;
      margin-bottom: 0.2rem;
      max-height: 320px;
      overflow: auto;
    }
    #modalResponse pre {
      font-family: 'Fira Mono', 'Consolas', 'Menlo', monospace;
      font-size: 1rem;
      color: #7fdbff;
      background: transparent;
      margin: 0;
      white-space: pre-wrap;
    }
    .close-btn {
      position: absolute;
      right: 1.2rem;
      top: 1.2rem;
      font-size: 2rem;
      color: #b8b8d1;
      cursor: pointer;
    }
    /* Toast */
    #copiedToast {
      display: none;
      position: fixed;
      bottom: 32px;
      left: 50%;
      transform: translateX(-50%);
      background: #23233a;
      color: #2cb67d;
      border-radius: 8px;
      padding: 0.7rem 1.5rem;
      font-weight: 600;
      font-size: 1.08rem;
      box-shadow: 0 2px 16px rgba(44,182,125,0.15);
      z-index: 99999;
      align-items: center;
      gap: 0.7rem;
    }
    .navbar {
      background-color: #141421;
      padding: 1rem 2rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
      border-bottom: 1px solid #2b2b40;
      box-shadow: 0 0 10px rgba(0,0,0,0.4);
      font-family: 'Montserrat', sans-serif;
    }

    .navbar .logo {
      display: flex;
      align-items: center;
      font-size: 1.4rem;
      font-weight: bold;
      color: #a45cff;
      text-decoration: none;
    }

    .navbar .logo img {
      height: 32px;
      margin-right: 10px;
    }

    .nav-links a {
      margin-left: 1.5rem;
      color: #ddd;
      text-decoration: none;
      font-weight: 500;
      transition: color 0.2s ease;
    }

    .nav-links a:hover {
      color: #a45cff;
    }

    @media (max-width: 600px) {
      .navbar {
        flex-direction: column;
        align-items: flex-start;
      }
      .nav-links {
        margin-top: 0.5rem;
      }
      .nav-links a {
        margin-left: 0;
        margin-right: 1rem;
      }
    }