body {
      font-family: 'Segoe UI', Arial, sans-serif;
      margin: 40px;
      background: linear-gradient(120deg, #f9f9f9 60%, #e0e7ff 100%);
      color: #222;
    }
    
    h2 {
      text-align: center;
      margin-bottom: 32px;
    }
    
    .main-flex {
      display: flex;
      gap: 32px;
      align-items: flex-start;
      justify-content: center;
    }
    
    .input-label {
      margin-bottom: 8px;
      font-size: 15px;
      color: #232946;
      font-weight: 500;
      display: block;
    }
    
    .input-block {
      display: flex;
      flex-direction: column;
      width: 900px;
      box-sizing: border-box;
    }
    
    .code-block {
      width: 900px;
      box-sizing: border-box;
      display: flex;
      flex-direction: column;
      padding-bottom: 0;
    }
    
    textarea {
      width: 100%;
      font-size: 16px;
      border-radius: 12px;
      border: 1.5px solid #bfcfff;
      padding: 10px 14px;
      background: #f4f7ff;
      color: #232946;
      transition: border 0.2s, box-shadow 0.2s, background 0.2s;
      box-shadow: 0 2px 8px rgba(80, 120, 255, 0.06);
      font-family: 'Fira Mono', 'Consolas', monospace;
      min-height: 200px;
      max-height: 70vh;
      resize: vertical;
      overflow: auto;
      margin-bottom: 12px;
    }
    .convert-button {
      width: 104%;
      margin-top: 0px;
      background: linear-gradient(90deg, #6c63ff 60%, #66d9ef 100%);
      border: none;
      padding: 14px 0;
      color: #fff;
      font-weight: bold;
      cursor: pointer;
      border-radius: 0 0 12px 12px;
      box-shadow: 0 2px 8px rgba(108, 99, 255, 0.10);
      transition: background 0.2s, transform 0.1s;
      font-size: 17px;
      display: block;
      align-self: stretch;
    }
    

    .copy-button {
      width: 100%;
      margin-top: 15px;
      background: linear-gradient(90deg, #6c63ff 60%, #66d9ef 100%);
      border: none;
      padding: 15px 0;
      color: #fff;
      font-weight: bold;
      cursor: pointer;
      border-radius: 0 0 12px 12px;
      box-shadow: 0 2px 8px rgba(108, 99, 255, 0.10);
      transition: background 0.2s, transform 0.1s;
      font-size: 17px;
      display: block;
      align-self: stretch;
    }
    
    .convert-button:hover,
    .copy-button:hover {
      background: linear-gradient(90deg, #66d9ef 60%, #6c63ff 100%);
      transform: scale(1.01);
    }

    
    .code-block {
      background: #232946;
      color: #f8f8f2;
      padding: 18px 20px 18px 20px;
      border-radius: 12px;
      font-size: 15px;
      font-family: 'Fira Mono', 'Consolas', monospace;
      box-shadow: 0 2px 12px rgba(35, 41, 70, 0.10);
      max-height: 72.3vh;
      overflow: auto;
      margin-top: 0;
      display: flex;
      flex-direction: column;
      min-height: 220px;
    }
    
    .code-editor {
      display: flex;
      align-items: stretch;
      font-family: 'Fira Mono', 'Consolas', monospace;
      margin-top: 0;
      flex: 1;
    }
    
    #output-table {
      width: 100%;
      border-collapse: collapse;
      background: #232946;
      font-family: 'Fira Mono', 'Consolas', monospace;
      font-size: 15px;
    }
    
    #output-table td {
      padding: 0 10px;
      border: none;
      vertical-align: top;
      line-height: 1.7;
    }
    
    #output-table .line-number {
      color: #8a8a8a;
      text-align: right;
      min-width: 32px;
      border-right: 1px solid #353b48;
      background: #232946;
      user-select: none;
    }
    
    #output-table .output-text {
      color: #f8f8f2;
      background: #232946;
      word-break: break-word;
      padding-left: 16px;
    }
    
    /* Tiga kolom grid, textbox ke-3 bisa memanjang ke bawah */
    .triple-box-grid {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      grid-template-rows: 1fr 1fr;
      width: 100%;
      max-width: 1860px;
      margin-left: auto;
      margin-right: auto;
      gap: 0;
      margin-top: 40px;
      min-height: 400px;
      margin-bottom: -48px; /* Atur sesuai kebutuhan agar benar-benar menempel */
    }
    
    .triple-box-container {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      height: 100%;
    }
    
    .triple-box {
      min-width: 0;
      max-width: 100%;
      height: 400px;
      min-height: 400px;
      max-height: 400px;
      padding: 18px 20px;
      border-radius: 0 !important; /* Semua sudut kotak jadi siku */
      border: 1.5px solid #bfcfff;
      border-right: none;
      background: #f4f7ff;
      color: #232946;
      font-size: 16px;
      font-family: 'Fira Mono', 'Consolas', monospace;
      box-shadow: 0 2px 8px rgba(80, 120, 255, 0.06);
      transition: border 0.2s, box-shadow 0.2s, background 0.2s;
      resize: none;
      overflow: auto;
      box-sizing: border-box;
      flex: 1;
    }
    
    /* Textbox 3 memanjang dari baris 1 sampai baris 2 di kolom paling kanan */
    .triple-box-container.triple-box-vertical {
      grid-column: 3;
      grid-row: 1 / span 2;
      height: 896px;         /* Tambah lagi jika perlu, misal 900px */
    }
    
    .triple-box-vertical .triple-box {
      height: 1000px;
      min-height: 896px;
      max-height: 896px;
    }

    .copyPrompt{
      margin: 0;
      background: linear-gradient(90deg, #6c63ff 60%, #66d9ef 100%);
      border: none;
      padding: 0px 10px;
      color: #fff;
      font-weight: bold;
      cursor: pointer;
      border-radius: 8px;
      box-shadow: 0 2px 8px rgba(108, 99, 255, 0.10);
      transition: background 0.2s, transform 0.1s;
      font-size: 17px;
    }
    
    
    .triple-action {
      margin: 0;
      background: linear-gradient(90deg, #6c63ff 60%, #66d9ef 100%);
      border: none;
      padding: 14px 0;
      color: #fff;
      font-weight: bold;
      cursor: pointer;
      border-radius: 0 0 12px 12px;
      box-shadow: 0 2px 8px rgba(108, 99, 255, 0.10);
      transition: background 0.2s, transform 0.1s;
      font-size: 17px;
    }
    
    .triple-action:hover {
      background: linear-gradient(90deg, #66d9ef 60%, #6c63ff 100%);
      transform: scale(1.01);
    }
    
    /* Hilangkan border kanan pada kolom 1 dan 2 */
    .triple-box-container:nth-child(1) .triple-box,
    .triple-box-container:nth-child(4) .triple-box {
      border-radius: 12px 0 0 12px;
    }
    .triple-box-container:nth-child(3) .triple-box,
    .triple-box-vertical .triple-box {
      border-radius: 0 12px 12px 0;
      border-right: 1.5px solid #bfcfff;
    }
    
    .triple-box:focus {
      border: 2px solid #6c63ff;
      outline: none;
      background: #eef2ff;
      color: #232946;
      box-shadow: 0 4px 16px rgba(108, 99, 255, 0.10);
    }
    
    /* Responsive: jadi satu kolom di layar kecil */
    @media (max-width: 1100px) {
      .triple-box-grid {
        display: flex;
        flex-direction: column;
        gap: 16px;
        align-items: center;
        min-height: 0;
      }
      .triple-box-container {
        width: 100%;
      }
      .triple-box {
        max-width: 100%;
        width: 100%;
        border-radius: 12px !important;
        border-right: 1.5px solid #bfcfff;
        margin-bottom: 0;
        min-height: 180px;
        height: auto;
        display: block;
      }
      .triple-action {
        border-radius: 0 0 12px 12px !important;
      }
      .triple-box:not(:last-child) {
        margin-bottom: 16px;
      }
    }
    
    .generate-action-row {
      grid-column: 1 / span 2;
      margin-top: 12px;
      display: flex;
      justify-content: flex-end;
      gap: 12px;
    }

    .generate-action-row .triple-action {
      flex: 1 1 0;
      width: 100%;
      min-width: 0;
      max-width: none;
      display: block;
      margin: 0;
    }
    
    .bottom-action-row {
      display: flex;
      gap: 0; /* Hilangkan jarak antar tombol */
      width: 100%;
      max-width: 1860px; /* Samakan dengan triple-box-grid */
      margin-left: auto;
      margin-right: auto;
      margin-top: 0;
      box-sizing: border-box;
    }
    

    .download-row {
      display: flex;
      gap: 0; /* Hilangkan jarak antar tombol */
      width: 100%;
      max-width: 1860px; /* Samakan dengan triple-box-grid */
      margin-left: auto;
      margin-right: auto;
      margin-top: 0;
      box-sizing: border-box;
      padding-top: 40px;
    }
    
    .download-row .download-action:hover {
      background: linear-gradient(90deg, #66d9ef 60%, #6c63ff 100%);
      transform: scale(1.01);
    }

    .download-row .download-action {
      font-size: 17px;
      padding: 14px 0;
      border-radius: 12px;
      box-shadow: 0 2px 8px rgba(108, 99, 255, 0.10);
      background: linear-gradient(90deg, #6c63ff 60%, #66d9ef 100%);
      color: #fff;
      border: none;
      font-weight: bold;
      cursor: pointer;
      transition: background 0.2s, transform 0.1s;
      width: 100%;
      min-width: 0;
      max-width: none;
      margin: 0;
    }

    .bottom-action-row .triple-action {
      font-size: 17px;
      padding: 14px 0;
      border-radius: 0 0 12px 12px;
      box-shadow: 0 2px 8px rgba(108, 99, 255, 0.10);
      background: linear-gradient(90deg, #6c63ff 60%, #66d9ef 100%);
      color: #fff;
      border: none;
      font-weight: bold;
      cursor: pointer;
      transition: background 0.2s, transform 0.1s;
      width: 100%;
      min-width: 0;
      max-width: none;
      margin: 0;
    }

    /* Rasio 2:1 untuk tombol */
    #btn-generate {
      flex: 2 1 0;
    }
    #btn-aksi3 {
      flex: 1 1 0;
    }

    .bottom-action-row .triple-action:hover {
      background: linear-gradient(90deg, #66d9ef 60%, #6c63ff 100%);
      transform: scale(1.01);
    }

    .triple-title {
      background: #4e5ba6; /* Ganti warna solid agar kontras dengan tombol */
      color: #fff;
      font-weight: bold;
      font-size: 17px;
      padding: 14px 0;
      border-radius: 12px 12px 0 0;
      box-shadow: 0 2px 8px rgba(108, 99, 255, 0.10);
      text-align: center;
      margin-bottom: 0;
      letter-spacing: 0.5px;
    }

    .input-action-group {
      display: flex;
      flex-direction: column;
    }

    .input-action-group .triple-box {
      border-radius: 0 0 0 0;
      margin-bottom: 0;
    }

    .input-action-group .triple-action {
      border-radius: 0 0 12px 12px;
      margin-top: 0px; /* Hilangkan gap antara textarea dan tombol */
      padding-bottom: 12px; /* Tambahkan jarak bawah agar tidak nempel dengan judul di bawahnya */
    }

    .triple-action-row {
      display: flex;
      gap: 0;
      margin-top: -2px; /* Menempel dengan textarea di atasnya */
      width: 100%;
    }

    .triple-action-row .triple-action {
      flex: 1 1 0;
      width: 100%;
      min-width: 0;
      max-width: none;
      border-radius: 0 0 12px 12px;
      margin: 0;
      font-size: 17px;
      padding: 14px 0;
      box-shadow: 0 2px 8px rgba(108, 99, 255, 0.10);
      background: linear-gradient(90deg, #6c63ff 60%, #66d9ef 100%);
      color: #fff;
      border: none;
      font-weight: bold;
      cursor: pointer;
      transition: background 0.2s, transform 0.1s;
    }

    .triple-action-row .triple-action:hover {
      background: linear-gradient(90deg, #66d9ef 60%, #6c63ff 100%);
      transform: scale(1.01);
    }

    /* Tambahkan atau modifikasi CSS berikut */
textarea,
pre,
.triple-box,
.triple-box-vertical .triple-box {
  overflow-x: auto;
  white-space: pre;      /* agar tidak wrap ke bawah */
  resize: vertical;      /* tetap bisa resize ke bawah */
  word-break: normal;    /* biar tidak memaksa pecah kata */
}

/* Tambahan untuk input-table nomor baris */
.input-table-wrap {
  width: 100%;
}
.input-table {
  border-collapse: collapse;
  width: 100%;
  background: none;
}
.input-table .line-number-col {
  width: 32px;
  vertical-align: top;
  background: #f4f7ff;
  border-radius: 12px 0 0 12px;
  /* HAPUS atau set ke 0: */
  padding-top: 0;
  padding-bottom: 0;
  padding-right: 0;
  padding-left: 0;
}
.input-table .line-numbers,
.input-table textarea.triple-box {
  font-family: 'Fira Mono', 'Consolas', monospace;
  font-size: 16px;
  line-height: 1.7;
  box-sizing: border-box;
  padding: 18px 0 18px 0; /* padding atas dan bawah sama, kiri-kanan 0 */
  margin: 0;
  height: 400px;
  min-height: 400px;
  max-height: 400px;
  background: none;
  border: none;
  vertical-align: top;
}
.input-table .line-numbers {
  overflow-y: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  text-align: right;
  color: #174ea6;
  font-weight: bold;
  padding-right: 6px; /* hanya kanan */
}
.input-table .line-numbers::-webkit-scrollbar {
  display: none;
}
.input-table textarea.triple-box {
  border-radius: 0 12px 12px 0 !important;
  border-left: none;
  margin-bottom: 0;
  padding-left: 10px; /* biar teks tidak nempel kiri */
  padding-right: 10px;
}

