:root {
      --bg: #050a06;
      --panel: #0b140d;
      --fg: #c6f6c6;
      --muted: #6ac06a;
      --accent: #11ff66;
      --danger: #ff4d4d;
      --btn: #0dfc8a;
      --pctBg: #082010;
      --pctFill: #11ff66;
    }
    * { box-sizing: border-box; }
    html, body { height: 100%; }
    body {
      margin: 0; background: var(--bg); color: var(--fg);
      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
      letter-spacing: .25px; overflow-x: hidden;
    }
    .scanline { position: fixed; inset: 0; pointer-events: none; background:
      repeating-linear-gradient(to bottom, rgba(0,0,0,.00) 0 2px, rgba(0,0,0,.10) 3px 3px);
      mix-blend-mode: overlay; }
    header { padding: 18px 20px; border-bottom: 1px solid #0f2a18; background: linear-gradient(180deg, rgba(17,255,102,0.06), transparent 60%); }
    header h1 { margin: 0; font-size: 18px; color: var(--accent); text-shadow: 0 0 6px rgba(17,255,102,.5); }
    header .sub { color: var(--muted); font-size: 12px; margin-top: 6px; 

    }

    .container { max-width: 1100px; margin: 0 auto; padding: 20px; 

    }

    .terminal { background: var(--panel); border: 1px solid #10361f; padding: 16px; border-radius: 10px; box-shadow: 0 10px 30px rgba(0,0,0,.35), inset 0 0 30px rgba(17,255,102,.04); }
    .prompt { color: var(--muted); }

    form { display: grid; grid-template-columns: repeat(12, 1fr); gap: 12px; margin-top: 12px; }
    label { grid-column: span 12; font-size: 12px; color: var(--muted); }
    input[type="text"] {
      grid-column: span 12; background: #061009; border: 1px solid #113e22; color: var(--fg);
      padding: 12px 12px; border-radius: 8px; outline: none; box-shadow: inset 0 0 0 1px rgba(17,255,102,.05);
    }
    input::placeholder { color: #4b8a4b; }

    button {
      grid-column: span 12; padding: 12px 16px; border-radius: 8px; border: 1px solid #1d6a3a;
      background: radial-gradient(80% 120% at 50% 0%, rgba(17,255,102,.25), rgba(17,255,102,.1)); color: var(--fg);
      text-transform: uppercase; letter-spacing: 1px; cursor: pointer; transition: transform .06s ease, box-shadow .2s ease;
      box-shadow: 0 8px 22px rgba(17,255,102,.08), inset 0 0 40px rgba(17,255,102,.07);
    }
    button:hover { transform: translateY(-1px); box-shadow: 0 12px 28px rgba(17,255,102,.12), inset 0 0 60px rgba(17,255,102,.10); }

    .grid { margin-top: 18px; display: grid; grid-template-columns: 1fr; gap: 14px; }
    .row { display: grid; grid-template-columns: 60px 2fr 1fr 160px 120px; gap: 12px; align-items: center; padding: 10px 12px; border: 1px solid #0f3b21; border-radius: 8px; background: #07130b; }
    .row.header { background: #0c1e12; position: sticky; top: 0; z-index: 2; font-weight: 700; }
    .row > div { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

    .pill { display: inline-block; padding: 2px 8px; border-radius: 999px; border: 1px solid #135a2f; color: var(--fg); font-size: 12px; background: #082010; }

    .toolbar { display: flex; gap: 10px; align-items: center; margin-top: 12px; }
    .toolbar input { flex: 1; }
    .clock { font-size: 12px; color: var(--muted); }

    /* Progress bar persentase */
    .nameCell { display: grid; gap: 6px; align-items: start; }
    .pctWrap {
      position:relative; height:14px; border:1px solid #135a2f;
      border-radius:999px; background:var(--pctBg); overflow:hidden;
      box-shadow: inset 0 0 10px rgba(17,255,102,.08);
    }
    .pctFill {
      height:100%; width:0%;
      background:linear-gradient(90deg, rgba(17,255,102,.25), var(--pctFill));
      box-shadow:0 0 12px rgba(17,255,102,.35), inset 0 0 18px rgba(17,255,102,.25);
      transition:width .8s cubic-bezier(.22,.61,.36,1);
    }
    .pctText {
      position:absolute; inset:0;
      display:flex; align-items:center; justify-content:center;
      font-size:11px; font-weight:700; color:#ffffff;
      text-shadow:0 0 5px rgba(0,0,0,.8);
      z-index:2; pointer-events:none;
    }

    /* Tombol Aksi (Mainkan) — animasi kontras */
    .playBtn {
      display: inline-flex; justify-content: center; align-items: center;
      width: 100%; padding: 10px 12px; border-radius: 999px;
      background: linear-gradient(90deg, rgba(13,252,138,.15), rgba(13,252,138,.6));
      color: #061009; font-weight: 800; border: 1px solid #1eff9a;
      box-shadow: 0 0 12px rgba(13,252,138,.35), inset 0 0 18px rgba(13,252,138,.25);
      text-transform: uppercase; letter-spacing: .5px; cursor: pointer;
      position: relative; overflow: hidden;
      animation: pulse 1.6s infinite ease-in-out;
      text-decoration: none;
    }
    .playBtn:after {
      content: ""; position: absolute; inset: 0;
      background: radial-gradient(120% 180% at 0% 50%, rgba(255,255,255,.18), rgba(255,255,255,0));
      mix-blend-mode: screen; pointer-events: none;
      transform: translateX(-30%); animation: sheen 2.2s infinite;
    }
    @keyframes pulse { 50% { box-shadow: 0 0 18px rgba(13,252,138,.55), inset 0 0 24px rgba(13,252,138,.35); } }
    @keyframes sheen { 0% { transform: translateX(-60%);} 60% { transform: translateX(120%);} 100% { transform: translateX(120%);} }

    /* Loading terminal + progress */
    .loading { font-size: 13px; color: var(--muted); height: 220px; overflow-y: auto; background:#000; padding:10px; margin-top:10px; border-radius:6px; border:1px solid #0f3b21; }
    .progress-wrap { margin-top: 10px; background:#061009; border:1px solid #113e22; border-radius: 999px; height: 10px; overflow: hidden; }
    .progress-bar { height: 100%; width: 0%; background: linear-gradient(90deg, rgba(17,255,102,.15), rgba(17,255,102,.6)); box-shadow: 0 0 8px rgba(17,255,102,.4); transition: width .08s linear; }

    /* Responsiveness; hide header on mobile */
    @media (max-width: 860px){
      .row { grid-template-columns: 50px 1.6fr .9fr 1fr 120px; }
    }
    @media (max-width: 640px){
      .row { grid-template-columns: 40px 1fr .8fr; }
      .row > div:nth-child(4), .row > div:nth-child(5) { grid-column: span 3; }
      .row .playBtn { width: 100%; }
      .row.header { display: none; } /* header hilang di mobile */
    }
    

