:root{
  color-scheme:dark;
  --bg:#080a0b;
  --panel:#101416;
  --ink:#e8e1cf;
  --muted:#aaa28f;
  --gold:#c7a75b;
  --red:#7e2626;
  --line:#2a302f;
}
*{box-sizing:border-box}
body{
  margin:0;
  background:
    radial-gradient(circle at top, rgba(126,38,38,.18), transparent 34rem),
    linear-gradient(#07090a,#0a0d0e 55%,#07090a);
  color:var(--ink);
  font:17px/1.6 Georgia,"Times New Roman",serif;
}
.shell{width:min(960px,calc(100% - 32px));margin:0 auto;padding:42px 0 80px}
.hero,.compact{text-align:center;padding:34px 20px}
.compact{padding-bottom:18px}
.sigil{font-size:62px;color:var(--gold);line-height:1}
.eyebrow{font:700 12px/1.2 system-ui,sans-serif;letter-spacing:.18em;color:var(--gold)}
h1{font-size:clamp(38px,7vw,72px);line-height:1.02;margin:.18em 0}
.compact h1{font-size:clamp(34px,5vw,54px)}
.lede{font-size:1.18rem;max-width:760px;margin:18px auto}
.success{color:#e4c66f}
.panel,.question{background:rgba(16,20,22,.93);border:1px solid var(--line);box-shadow:0 12px 40px rgba(0,0,0,.28)}
.panel{padding:28px;border-radius:14px}
.panel.wide{overflow:auto}
.start-form{display:grid;gap:18px;margin-top:22px}
label{display:grid;gap:7px}
input[type=text],input[type=email],input:not([type]){
  width:100%;padding:12px 13px;border:1px solid #3a4140;border-radius:8px;background:#090c0d;color:var(--ink);font:inherit
}
.check{grid-template-columns:auto 1fr;align-items:start}
button,.button{
  display:inline-block;border:1px solid #d0b76d;background:#a8893e;color:#090a08;
  font:800 15px/1 system-ui,sans-serif;padding:14px 20px;border-radius:8px;text-decoration:none;cursor:pointer
}
.button.secondary{background:transparent;color:var(--gold)}
.question{padding:24px;margin:18px 0;border-radius:12px}
.question h2{font-size:1.25rem;line-height:1.35;margin:10px 0 18px}
.qmeta{display:flex;justify-content:space-between;gap:14px;color:var(--muted);font:700 12px/1.3 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.answers{display:grid;gap:10px}
.answers label{
  grid-template-columns:auto 1fr;align-items:start;padding:12px;border:1px solid #29302f;border-radius:9px;background:#0b0f10;cursor:pointer
}
.answers label:hover{border-color:#75663d}
.answers input{margin-top:6px}
.submitbar{position:sticky;bottom:12px;padding:18px;background:rgba(8,10,11,.95);border:1px solid var(--line);border-radius:12px;text-align:center}
.submitbar p,.fineprint{color:var(--muted);font-size:.9rem}
table{width:100%;border-collapse:collapse;min-width:760px}
th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:12px}
th{color:var(--gold);font-family:system-ui,sans-serif;font-size:.8rem;text-transform:uppercase}
@media(max-width:600px){.shell{width:min(100% - 20px,960px)}.question{padding:18px}.qmeta{display:grid}}

textarea,select,input[type=number]{width:100%;padding:12px 13px;border:1px solid #3a4140;border-radius:8px;background:#090c0d;color:var(--ink);font:inherit}
.answer-admin{grid-template-columns:auto 1fr;align-items:center}
.review-item{padding:14px 0;border-top:1px solid var(--line)}
.review-item:first-of-type{border-top:0}
code{color:var(--gold)}
a{color:var(--gold)}


/* Optional additions for answer-review summaries */
.review-item{
  border-top:1px solid var(--line);
  padding:20px 0;
}
.review-item:first-of-type{border-top:0}
.review-item h3{margin:.45rem 0 .8rem;font-size:1.08rem;line-height:1.4}
.review-item p{margin:.45rem 0}
.source-link{font-size:.9rem}
.source-link a{color:var(--gold)}

/* Keep each multiple-choice answer on its own line. The wrapper is also
   block-level in unstyled HTML, so this remains readable if CSS fails to load. */
.answer-option {
  display: block;
  margin: 10px 0;
}
.answer-option label {
  width: 100%;
}
