  :root{
    --blue:#6366f1; --blue-dark:#4338ca; --green:#3fa142; --red:#d9534f;
    --grey:#9e9e9e; --purple:#7b3fa0; --lightblue:#eef0fe; --border:#d7dde5;
  }
  *{box-sizing:border-box;}
  body{margin:0;font-family:Arial,Segoe UI,Helvetica,sans-serif;background:#f2f4f7;color:#222;}
  header.topbar{background:var(--blue-dark);color:#fff;padding:8px 16px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
  header.topbar h1{font-size:16px;margin:0;font-weight:600;}
  .home-link{color:#fff;text-decoration:none;font-size:13px;font-weight:600;background:rgba(255,255,255,.15);padding:5px 10px;border-radius:4px;white-space:nowrap;}
  .home-link:hover{background:rgba(255,255,255,.28);}
  .topbar-left{display:flex;align-items:center;gap:12px;}
  .timer{font-weight:bold;background:#fff;color:var(--blue-dark);padding:4px 10px;border-radius:4px;}
  #app{max-width:1300px;margin:0 auto;}

  /* ---------- Instructions Screen ---------- */
  #instructionsScreen{background:#fff;margin:16px;border:1px solid var(--border);}
  .instr-header{background:var(--lightblue);padding:10px 16px;font-weight:bold;font-size:16px;border-bottom:1px solid var(--border);}
  .instr-body{padding:20px;line-height:1.6;font-size:14px;max-height:420px;overflow-y:auto;}
  .instr-body h3{margin-top:0;}
  .instr-body li{margin-bottom:6px;}
  .status-chip{display:inline-flex;align-items:center;gap:8px;margin:4px 0;}
  .box{width:22px;height:22px;border-radius:3px;color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center;font-weight:bold;flex-shrink:0;}
  .box.grey{background:var(--grey);} .box.red{background:var(--red);} .box.green{background:var(--green);} .box.purple{background:var(--purple);}
  .instr-footer{padding:14px 20px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
  .agree-row{font-size:13px;display:flex;gap:8px;align-items:flex-start;}
  select{padding:4px 8px;border:1px solid var(--border);border-radius:4px;}
  button{cursor:pointer;font-size:14px;border-radius:4px;border:1px solid var(--border);padding:8px 16px;background:#fff;}
  button:disabled{opacity:.5;cursor:not-allowed;}
  .btn-primary{background:var(--blue);color:#fff;border-color:var(--blue);}
  .btn-primary:hover{background:var(--blue-dark);}

  /* ---------- Test Screen ---------- */
  #testScreen{display:none;}
  .section-tabs{display:flex;background:#fff;border-bottom:1px solid var(--border);overflow-x:auto;}
  .section-tab{padding:10px 14px;font-size:12px;font-weight:600;color:#333;cursor:pointer;white-space:nowrap;border-right:1px solid var(--border);}
  .section-tab.active{background:var(--blue);color:#fff;}

  .main-layout{display:flex;gap:0;align-items:flex-start;overflow-x:auto;}
  .question-panel{flex:1;background:#fff;margin:0;min-width:260px;border-right:1px solid var(--border);}
  .qtype-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;font-size:13px;background:#fafbfc;border-bottom:1px solid var(--border);}
  .view-lang{padding:8px 16px;background:var(--blue);color:#fff;display:flex;justify-content:flex-end;align-items:center;gap:8px;font-size:13px;}
  .view-lang select{color:#222;}
  .question-body{padding:20px;min-height:280px;}
  .question-body h3{margin-top:0;font-size:14px;color:#555;}
  .qtext{font-size:15px;margin-bottom:18px;font-weight:600;}
  .option{display:flex;gap:10px;align-items:flex-start;margin-bottom:14px;font-size:14px;cursor:pointer;}
  .option input{margin-top:3px;}
  .action-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;background:#fafbfc;}
  .action-bar .left-btns, .action-bar .right-btns{display:flex;gap:8px;flex-wrap:wrap;}

  .sidebar{width:280px;flex-shrink:0;background:#fff;padding:14px;border-left:1px solid var(--border);}
  .candidate{display:flex;gap:10px;align-items:center;margin-bottom:14px;}
  .avatar{width:56px;height:56px;border-radius:4px;background:#ccc;display:flex;align-items:center;justify-content:center;font-size:22px;color:#666;}
  .legend{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;font-size:11px;}
  .legend .item{display:flex;align-items:center;gap:6px;}
  .legend .num{width:20px;height:20px;border-radius:3px;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:bold;font-size:11px;flex-shrink:0;}
  .sec-select-title{background:var(--blue);color:#fff;padding:8px 10px;font-size:12px;font-weight:bold;margin-bottom:8px;}
  .palette-title{font-size:12px;font-weight:bold;margin:8px 0;color:#555;}
  .palette{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
  .qnum{aspect-ratio:1;border-radius:3px;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:bold;font-size:13px;cursor:pointer;border:2px solid transparent;}
  .qnum.current{border-color:#000;}
  .submit-row{margin-top:16px;text-align:center;}
  .submit-row button{width:100%;}

  /* ---------- Result Screen ---------- */
  #resultScreen{display:none;background:#fff;margin:16px;padding:24px;border:1px solid var(--border);}
  .result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:20px 0;}
  .result-card{border:1px solid var(--border);border-radius:6px;padding:16px;text-align:center;}
  .result-card .num{font-size:26px;font-weight:bold;}
  .result-card.correct .num{color:var(--green);}
  .result-card.incorrect .num{color:var(--red);}
  .result-card.unattempted .num{color:var(--grey);}
  .result-card.score .num{color:var(--blue);}
  .sec-breakdown{width:100%;border-collapse:collapse;margin-top:10px;font-size:13px;}
  .sec-breakdown th,.sec-breakdown td{border:1px solid var(--border);padding:8px;text-align:center;}
  .sec-breakdown th{background:var(--lightblue);}

  @media(max-width:900px){
    .main-layout{flex-direction:column;overflow-x:visible;}
    .sidebar{width:100%;border-left:none;border-top:1px solid var(--border);}
  }

