/* =========================================
   vocTest.css — Standalone styles for vocTest.php
   ONE FILE ONLY: no need for assets/styles.css
   Edit the variables in :root to re-theme quickly.
========================================= */

/* ============ 1) Theme Tokens (edit these) ============ */
:root{
  /* Colors */
  --bg: #ffffff;          /* page background */
  --text: #111111;        /* main text */
  --muted: #6b7280;       /* secondary text */
  --border: #d1d5db;      /* neutral borders */
  --card: #f9fafb;        /* card/panels */
  --chip: #f8fafc;        /* option chip bg */
  --chip-hover: #eef2f7;  /* chip hover */
  --chip-active: #e0f2fe; /* chip active */
  --lock: #e5e7eb;        /* chip locked bg */
  --accent: #0ea5e9;      /* highlight (active, outlines, progress) */
  --accent-2: #0284c7;    /* primary buttons */
  --warn: #dc2626;        /* warning (e.g., timer low) */

  /* Radii + Shadows */
  --radius: 12px;         /* overall rounding */
  --r-card: 14px;         /* card rounding */
  --shadow: 0 4px 16px rgba(0,0,0,0.06);
}

/* ============ 2) Base / Page ============ */
*{ box-sizing: border-box; }
html, body{ height: 100%; margin: 0;}
body{
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color: var(--text);
  min-height: 100%;
  display: grid;
  background: linear-gradient(180deg, #fff8e1 0%, #ffe0b2 100%);
  background-attachment: fixed; /* ensures it stays put while scrolling */
  line-height: 1.4;
}
.container{ max-width: 1000px; margin: 0 auto; padding: 20px; }



.header {
  background: transparent;
  display: flex;
  margin-top: 1px; ;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
}

.header img {
    width: clamp(4rem, 8vw, 6rem);
    border-radius: 50%;
    height: auto;
}

.footer {
  background: transparent;
  display: flex;
  margin-top: 50px; ;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
}

.footer img {
    width: clamp(3rem, 6vw, 5rem);
    height: auto;
}


.title{ 
    font-size: clamp(2rem, 4vw, 3rem);   /* judul di antara logo dan avatar*/
    font-weight: bold;
    text-align: center;
    margin-top: 10px;
    margin-bottom: 5px; 
    color: black;
}

.testTitle{ 
    font-size: clamp(1.2rem, 4vw, 2rem);   /* judul/nama test */
    font-weight: 600;
}


.title-bar{ 
    width: clamp(20rem, 80vw, 42rem);
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: space-between;
    margin-top: 5px;
    margin-bottom: 5px; 
    color: black;
}
.timer{
    width: clamp(18rem, 80vw, 42rem);
    font-size: clamp(1rem, 2vw, 1.4rem);
    font-weight: 800;
    border: 1px;
}

.wrap{
    width: clamp(19rem, 80vw, 45rem);
    margin:15px auto;
    padding:0 16px;
    background: rgba(255,248,200,0.55);
    border:1px solid #1f1f1f; 
    border-radius:18px; 
    padding:15px 15px 20px;
    box-shadow:0 10px 20px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.03);

}
.row{display:grid;
    gap:8px;align-items:flex-start;flex-wrap:wrap}
    

.questionNumber{
    text-align: center;
    font-size: clamp(1rem, 2vw, 1.8rem);
    font-weight: 700;
}

    
.question{
    font-size: clamp(1rem, 2vw, 1.5rem);
    margin:10px 0;
}



.hint{
    font-size: clamp(1rem, 2.5vw, 1.4rem);
    color:#555;
    margin-left:6px}
    
.controls{
    display:flex;
    font-size: clamp(0.95rem, 2.5vw, 1.5rem);
    gap:8px;
    align-items:center;

}

input[type="text"]{padding:8px 10px;border-radius:8px;border:1px solid #ccc;min-width:200px; font-size: clamp(0.9rem, 2vh, 1.6rem);}
button{
    padding:7px 10px;
    width: clamp(8rem, 12vw, 11rem);
    border-radius:10px;
    background: #fef2e0;     /*   #b77109; */
    color: white;
    cursor:pointer;
    margin-top: 5px;
}
button:disabled{opacity:.5;cursor:not-allowed}
.feedback{min-height:1.4em;
   font-size: clamp(0.9rem, 2vw, 1.5rem); 
}

.options {
  display: grid;
  width: 98%;
  grid-template-columns: repeat(4, 1fr); /* desktop: A B C D in one row */
  gap: 4px;
}

/* Mobile: 2 × 2 */
@media (max-width: 640px) {
  .options {
    grid-template-columns: repeat(2, 1fr);
  }
}


.opt-btn {
  text-align: left;
  white-space: normal;
  line-height: 1.4;
  border: 1px solid grey;
  color: black;
  gap: 5px;
  background-color: #00d900;  
  font-size: clamp(0.9rem, 2vw, 1.2rem);
}
.opt-btn.pending {background-color: #33ff99; }
.opt-btn:hover{ filter:brightness(0.98); }
.opt-btn.correct{ border-color: black; background: green; }
.opt-btn.wrong{ border-color: black; background:#fdeaea; }
.nextBtn{
    background-color: #b95c00;
}
.nextBtn.disabled{
    background-color: #ffc58a;
}

/* .opt-btn.dim{color: black; opacity:0.7; }  */
.result-summary{ margin:10px 0; line-height:1.6;  
    border-radius: 15%;
}
.nextBtn{color: black; font-size: 18px;}
.instruction{font-size: 20px;}

