@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;600;700;800&display=swap");

  :root { --c1:#1E1B4B; --c2:#BE185D; --acc:#FBBF24; --tint:#FDF2F8; --ink:#1f2133; --soft:#5b5f77; --line:#e7e3ef; --ok:#15803d; --warn:#b45309; --bad:#b91c1c; }
  * { box-sizing:border-box; }
  body { margin:0; font-family:'Plus Jakarta Sans',system-ui,sans-serif; background:#f6f4fa; color:var(--ink); }
  .hero { background:linear-gradient(115deg,var(--c1),var(--c2)); color:#fff; padding:28px 16px 34px; border-bottom:6px solid var(--acc); }
  .hero .in { max-width:860px; margin:0 auto; }
  .hero .k { font-size:12px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; opacity:.9; }
  .hero h1 { margin:6px 0 4px; font-size:30px; line-height:1.1; letter-spacing:-.02em; }
  .hero p { margin:0; opacity:.92; }
  nav { max-width:860px; margin:-18px auto 0; padding:0 16px; display:flex; gap:8px; flex-wrap:wrap; }
  nav a { background:#fff; color:var(--c1); text-decoration:none; font-weight:700; font-size:14px; padding:9px 16px; border-radius:999px; box-shadow:0 4px 14px rgba(30,27,75,.12); }
  nav a.on { background:var(--c1); color:#fff; }
  main { max-width:860px; margin:22px auto 40px; padding:0 16px; }
  .card { background:#fff; border-radius:16px; padding:22px; box-shadow:0 6px 22px rgba(30,27,75,.07); border:1px solid var(--line); margin-bottom:16px; }
  h2 { margin:0 0 14px; font-size:20px; color:var(--c1); }
  .grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  @media (max-width:640px){ .grid { grid-template-columns:1fr; } .hero h1{font-size:24px;} }
  label { display:block; font-weight:700; font-size:14px; margin-bottom:6px; }
  label .req { color:var(--c2); }
  input[type=text], input[type=email], input[type=password], select, textarea {
    width:100%; padding:11px 12px; border:1.5px solid var(--line); border-radius:10px; font:inherit; background:#fff; color:var(--ink); }
  input:focus, select:focus, textarea:focus { outline:none; border-color:var(--c2); box-shadow:0 0 0 3px rgba(190,24,93,.12); }
  textarea { min-height:120px; resize:vertical; }
  .choices { display:flex; gap:10px; flex-wrap:wrap; }
  .choices label { display:flex; align-items:center; gap:8px; font-weight:600; border:1.5px solid var(--line); border-radius:10px; padding:10px 14px; cursor:pointer; margin:0; }
  .choices input { accent-color:var(--c2); }
  .hint { font-size:13px; color:var(--soft); margin-top:4px; }
  .btn { background:var(--c2); color:#fff; border:0; border-radius:10px; padding:12px 20px; font:inherit; font-weight:800; cursor:pointer; }
  .btn.sec { background:var(--c1); }
  .btn.ghost { background:#fff; color:var(--c1); border:1.5px solid var(--line); }
  .btn:disabled { opacity:.6; cursor:wait; }
  .msg { padding:12px 14px; border-radius:10px; margin-top:12px; font-weight:600; display:none; }
  .msg.err { background:#fee2e2; color:var(--bad); display:block; }
  .msg.ok { background:#dcfce7; color:var(--ok); display:block; }
  .refbox { text-align:center; padding:18px; border:2px dashed var(--c2); border-radius:14px; background:var(--tint); margin:14px 0; }
  .refbox b { font-size:28px; letter-spacing:.06em; color:var(--c1); }
  .badge { display:inline-block; padding:4px 10px; border-radius:999px; font-size:12px; font-weight:800; }
  .b-0 { background:#e0e7ff; color:#3730a3; } .b-1 { background:#fef3c7; color:var(--warn); } .b-2 { background:#dcfce7; color:var(--ok); }
  .row { display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; align-items:center; }
  .kv { display:grid; grid-template-columns:180px 1fr; gap:6px 12px; font-size:14px; }
  @media (max-width:640px){ .kv { grid-template-columns:1fr; } }
  .kv div:nth-child(odd) { color:var(--soft); font-weight:700; }
  .answer { background:var(--tint); border-left:5px solid var(--c2); border-radius:10px; padding:12px 14px; white-space:pre-wrap; }
  table { width:100%; border-collapse:collapse; font-size:14px; }
  th, td { text-align:left; padding:9px 8px; border-bottom:1px solid var(--line); vertical-align:top; }
  th { color:var(--soft); font-size:12px; text-transform:uppercase; letter-spacing:.06em; }
  tr.sel td { background:var(--tint); }
  tbody tr { cursor:pointer; }
  .hidden { display:none !important; }
  .hp { position:absolute; left:-5000px; }
  a.btn { display:inline-block; text-decoration:none; }
  .pill { display:inline-block; text-decoration:none; color:var(--c1); font-weight:700; border:1.5px solid var(--line); border-radius:999px; padding:8px 14px; }
  .pill.on { background:var(--c1); color:#fff; border-color:var(--c1); }
  .grid.admin { grid-template-columns:1.25fr 1fr; align-items:start; }
  @media (max-width:900px){ .grid.admin { grid-template-columns:1fr; } }
