:root{
  --bg:#f4f6f9; --card:#ffffff; --ink:#1a2b3c; --muted:#6b7a8b;
  --brand:#0f3d5f; --accent:#1c5583; --accent-2:#4a90c2;
  --err:#b3261e; --ok:#1a7f37; --border:#e2e8f0;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:"Inter","Segoe UI","Helvetica Neue",Arial,sans-serif;line-height:1.55}
.container{max-width:760px;margin:0 auto;padding:32px 20px 60px}
header h1{color:var(--brand);margin:0 0 4px 0;font-size:30px;letter-spacing:-.01em}
.lead{color:var(--muted);margin:4px 0 18px}
.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:22px 22px;margin-bottom:18px;box-shadow:0 1px 2px rgba(15,61,95,.04)}
.card.small{padding:16px 20px}
.field{display:block;margin:10px 0}
.field>span{display:block;font-weight:600;margin-bottom:6px;color:var(--brand);font-size:14px}
.field input, .field select{width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:8px;font-size:16px;background:#fff;color:var(--ink)}
.field input:focus, .field select:focus{outline:none;border-color:var(--accent)}
.btn{background:var(--brand);color:#fff;border:0;padding:12px 18px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;margin-top:10px}
.btn:hover{background:var(--accent)}
.btn-sec{background:#eef2f7;color:var(--brand);border:1px solid var(--border);padding:10px 14px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;margin-right:8px;margin-top:6px}
.btn-sec:hover{background:#e0e8f1}
.err{margin-top:10px;padding:10px 12px;background:#fdecea;color:var(--err);border-radius:8px;font-size:14px}
.sub{color:var(--muted);font-size:13px}
.demo-row{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}
.resume-banner{margin:10px 0 6px;padding:10px 14px;background:#fff7e6;border:1px solid #ffd591;border-radius:8px;color:#8a5a00;font-size:14px}
.progress{height:8px;background:#e0e8f1;border-radius:6px;overflow:hidden;margin-top:6px}
#progressBar{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));width:0%;transition:width .3s}
.q-item{border-bottom:1px solid var(--border);padding:14px 0}
.q-item:last-child{border:0}
.q-text{font-weight:600;margin-bottom:4px;font-size:15px;color:var(--ink)}
.q-orig{font-size:12px;color:var(--muted);font-style:italic;margin-bottom:6px}
.q-expl{font-size:13px;color:#4a5a6c;background:#f6f8fb;border-left:3px solid var(--accent-2);padding:6px 10px;border-radius:4px;margin-bottom:10px;line-height:1.4}
.scale{display:flex;gap:6px;flex-wrap:wrap}
.scale label{flex:1;min-width:90px;display:flex;align-items:center;justify-content:center;padding:10px 6px;border:1px solid var(--border);border-radius:8px;font-size:13px;cursor:pointer;user-select:none;text-align:center;background:#fafbfc}
.scale label:hover{border-color:var(--accent)}
.scale input{display:none}
.scale input:checked + span{color:#fff}
.scale label:has(input:checked){background:var(--accent);border-color:var(--accent);color:#fff}
.navrow{display:flex;justify-content:space-between;gap:8px;margin:14px 0 18px}
footer{color:var(--muted);font-size:12px;text-align:center;margin-top:30px}
code{background:#eef2f7;padding:2px 6px;border-radius:4px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px}
@media (max-width:500px){
  .scale label{min-width:auto;font-size:12px;padding:8px 4px}
  header h1{font-size:24px}
}
