
@font-face {
  font-family: 'Aksara Batak';
  src: local('Noto Sans Batak'), 
       url('NotoSansBatak.eot'), 
       url('NotoSansBatak.eot?#iefix') format('embedded-opentype'), 
       url('NotoSansBatak.woff') format('woff'), 
       url('NotoSansBatak.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

    :root{
      --primary:#6e2f2f;
      --primary-700:#5d2626;
      --primary-800:#4e2020;
      --bg: #0f1311;
      --card: #111814;
      --muted: #d1c6c6;
      --text: #EBF5EE;
      --warn: #ffb020;
      --success: #2ECC71;
      --danger: #E74C3C;
      --radius: 18px;
      --shadow: 0 10px 30px rgba(0,0,0,.35);
    }
    *{box-sizing:border-box}
    html,body{height:100%}
    body{
      margin:0;
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji";
      color:var(--text);
      background: radial-gradient(1200px 800px at 70% -10%, rgba(207,57,44,.25), transparent 60%),
                  radial-gradient(900px 600px at -10% 30%, rgba(207,57,44,.18), transparent 50%),
                  linear-gradient(180deg, #0c100e, #0a0e0c 45%, #0f1311);
    }
    

    /* Header */
    .site-header{
      position:sticky; top:0; z-index:50;
      backdrop-filter: blur(10px);
      background: linear-gradient(180deg, rgba(17,24,20,.85), rgba(17,24,20,.55));
      border-bottom: 1px solid rgba(207,57,44,.2);
    }
    .container{max-width:1100px;margin:0 auto;padding:16px}
    .brand{
      display:flex; align-items:center; gap:12px; font-weight:800; letter-spacing:.2px;
    }
    .logo {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: url('../img/tondibatak.png') center/cover no-repeat;
}

    .brand small{display:block;color:var(--muted);font-weight:600;opacity:.9}

    /* Shell */
    .shell{display:grid;gap:18px;grid-template-columns: 1fr; padding: 18px}
    .card{
      background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02));
      border:1px solid rgba(207,57,44,.12);
      border-radius:var(--radius);
      box-shadow: var(--shadow);
      overflow:hidden;
    }
    .card-header{padding:18px 20px;border-bottom:1px solid rgba(207,57,44,.12);display:flex;align-items:center;justify-content:space-between;gap:12px}
    .card-title{font-size:20px;font-weight:800}
    .card-sub{color:var(--muted)}
    .card-body{padding:20px}

    /* Start screen */
    .start-grid{display:grid;grid-template-columns: 1.2fr .8fr; gap:18px}
    .hero{
      background: linear-gradient(135deg, rgba(206, 90, 79, 0.18), rgba(207,57,44,.06));
      border: 1px solid rgba(207,57,44,.2);
      border-radius: var(--radius);
      padding: 26px;
      position:relative;overflow:hidden
    }
    
    .hero h1{margin:0 0 8px;font-size: clamp(26px, 3.3vw, 40px);line-height:1.12}
    .badge{display:inline-flex;align-items:center;gap:8px;font-weight:700;padding:8px 12px;border-radius:999px;background:rgba(207,57,44,.22);border:1px solid rgba(207,57,44,.3);color:#d1c6c6}
    .hero p{color:#d1c6c6;opacity:.95}
    .floating{position:absolute; right:-40px; bottom:-60px; width:260px; height:260px; border-radius:36px; background: radial-gradient(circle at 30% 30%, #CF392C, #bd897f 60%, #CF392C 100%); opacity:.45; filter: blur(10px); animation: float 4s ease-in-out infinite}
    @keyframes float{0%,100%{transform: translateY(0)}50%{transform: translateY(-10px)}}

    .settings{display:grid;gap:12px}
    .field{display:grid;gap:8px}
    label{font-weight:700}
    select, input[type="checkbox"], button{font:inherit}
    .input{width:100%;padding:10px 12px;background:#0c120f;border:1px solid rgba(183, 143, 143, 0.35);color:var(--text);border-radius:12px}
    .select{width:100%;padding:10px 12px;background:#0c120f;border:1px solid rgba(207,57,44,.35);color:var(--text);border-radius:12px}
    .switch{display:flex;align-items:center;gap:10px}

    .btn{
      display:inline-flex;align-items:center;justify-content:center;gap:10px;
      background: linear-gradient(180deg, var(--primary), var(--primary-700));
      color:white; padding:12px 16px; border-radius:14px; border:1px solid #82322a92; font-weight:800;
      box-shadow: 0 6px 18px rgba(207,57,44,.45), inset 0 0 0 rgba(255,255,255,.15);
      cursor:pointer; transition: transform .08s ease, box-shadow .2s ease, translate .08s; user-select:none
    }
    .btn:hover{box-shadow:0 10px 25px rgba(207,57,44,.6)}
    .btn:active{transform:scale(.99)}
    .btn.secondary{background:linear-gradient(180deg,#1b241f,#111814);color:#e8cfcf;border-color:#82322a92}

    /* Quiz area */
    .quiz{display:none}
    .hud{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
    .progress{position:relative;height:14px;background:#0c120f;border:1px solid rgba(207,57,44,.28);border-radius:999px;overflow:hidden;flex: 1}
    .bar{position:absolute;inset:0; width:0%; background:linear-gradient(90deg,#2F6E4C, #2F6E4C); transition:width .35s ease}
    .score-pill{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(207,57,44,.28);border-radius:999px;background:rgba(47,110,76,.12)}

    .timer-pill{
  display:flex;align-items:center;gap:8px;
  padding:10px 12px;
  border:1px solid rgba(183, 143, 143, 0.28);
  border-radius:999px;
  background:rgba(183, 143, 143, 0.28);
  font-weight:800;
}
.timer-low{ background: rgba(231,76,60,.14); border-color: rgba(231,76,60,.45); }

    .q-card{margin-top:16px; padding:18px; border:1px solid rgba(183, 143, 143, 0.244); border-radius:16px; background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01))}
    .q-text{font-size: clamp(18px, 2.2vw, 22px); font-weight:800; margin:0 0 12px}
    .lontara{font-family: "Noto Sans Batak", "Everson Mono", system-ui, sans-serif; font-size: 38px}

    .choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}
    .choice{
      display:flex;align-items:center;justify-content:space-between;gap:12px;
      padding:14px 16px; border-radius:12px; border:1px solid rgba(183, 143, 143, 0.22); background: #0c120f;
      cursor:pointer; transition: transform .06s ease, border-color .2s, background .2s;
      font-weight:700; color: var(--text); /* tambahkan ini */
    }
    .choice:hover{transform:translateY(-1px); border-color:#a34a4a}
    .choice.correct{background: rgba(46,204,113,.12); border-color: #2ECC71}
    .choice.wrong{background: rgba(231,76,60,.12); border-color: #E74C3C}
    .choice.disabled{pointer-events:none; opacity:.8}

    .feedback{min-height:22px; font-weight:800; margin:10px 2px 2px}
    .feedback.ok{color:#90e0b3}
    .feedback.no{color:#ffb8b1}

    .actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}

    /* Review */
    .review{display:none}
    .review-list{display:grid;gap:10px;max-height:330px;overflow:auto;padding-right:6px}
    .rev-item{border:1px solid rgba(143,183,160,.16);border-radius:12px;padding:12px;background:#0c120f}
    .rev-item .small{color:var(--muted);font-size:13px}

    .cert-wrap{
  display:flex;justify-content:center;align-items:center;
  background:#0c120f;border:1px solid rgba(183, 143, 143, 0.16);
  border-radius:12px;padding:12px;overflow:auto
}
.cert canvas{max-width:100%;height:auto;display:block;margin:0 auto;border-radius:8px}

    .site-footer{color:#e8cfcfa6;padding:40px 16px;text-align:center}

    /* Animations */
    .shake{animation: shake .4s ease}
    @keyframes shake{10%,90%{transform: translateX(-1px)}20%,80%{transform: translateX(2px)}30%,50%,70%{transform: translateX(-4px)}40%,60%{transform: translateX(4px)}}

    @media (max-width: 920px){
      .start-grid{grid-template-columns: 1fr}
    }
    @media (max-width:600px){
      .choices{grid-template-columns:1fr}
      .card-body{padding:16px}
      .card-header, .container{padding:12px 16px}
    }

