
:root{
  --bg:#0f0f10; --panel:#151517; --text:#e8e8ea; --muted:#b8b8bf;
  --gold:#d4af37; --red:#c70039; --line:rgba(212,175,55,.18);
  --shadow:0 18px 60px rgba(0,0,0,.55); --radius:18px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:
    radial-gradient(900px 520px at 18% 8%, rgba(212,175,55,.09), transparent 60%),
    radial-gradient(800px 520px at 82% 12%, rgba(199,0,57,.08), transparent 60%),
    radial-gradient(900px 600px at 50% 92%, rgba(212,175,55,.06), transparent 60%),
    var(--bg);
  color:var(--text);
  font-family:"Open Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  line-height:1.55;
}
a{color:var(--gold); text-decoration:none}
a:hover{color:#f0d77a}
.container{max-width:1100px; margin:0 auto; padding:28px 18px 60px}
.header{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:18px 18px; border:1px solid var(--line); border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  box-shadow:var(--shadow);
}
.brand{display:flex; flex-direction:column}
.brand .title{font-family:"Playfair Display",Georgia,serif; font-size:28px; letter-spacing:.2px; color:var(--gold)}
.brand .sub{color:var(--muted); font-size:13px}
.pill{padding:8px 12px; border:1px solid var(--line); border-radius:999px; color:var(--muted); font-size:12px; background:rgba(255,255,255,.02)}
.grid{display:grid; grid-template-columns:1.2fr .8fr; gap:18px; margin-top:18px}
@media (max-width:960px){.grid{grid-template-columns:1fr}}
.card{
  border:1px solid var(--line); border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  box-shadow:var(--shadow); padding:18px;
}
.card h1,.card h2,.card h3{font-family:"Playfair Display",Georgia,serif; margin:0 0 10px 0; color:var(--gold)}
.card h1{font-size:34px} .card h2{font-size:22px} .card h3{font-size:18px}
.muted{color:var(--muted)}
.hr{height:1px; background:var(--line); margin:16px 0}
.btnrow{display:flex; flex-wrap:wrap; gap:10px; margin-top:14px}
button,.btn{
  appearance:none; border:none; border-radius:14px; padding:12px 14px; font-weight:700;
  cursor:pointer; transition:transform .08s ease, filter .15s ease, box-shadow .15s ease;
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
}
.btn-primary{background:linear-gradient(180deg, rgba(212,175,55,.96), rgba(212,175,55,.78)); color:#141414; box-shadow:0 12px 30px rgba(212,175,55,.16)}
.btn-primary:hover{filter:brightness(1.02)} .btn-primary:active{transform:translateY(1px)}
.btn-ghost{background:rgba(255,255,255,.03); border:1px solid var(--line); color:var(--text)}
.btn-ghost:hover{filter:brightness(1.04)}
.small{font-size:12px}
.progress{width:100%; height:10px; border-radius:999px; background:rgba(255,255,255,.06); overflow:hidden; border:1px solid rgba(255,255,255,.05)}
.progress>div{height:100%; width:0%; background:linear-gradient(90deg, rgba(212,175,55,.95), rgba(199,0,57,.85))}
.qwrap{margin-top:12px}
.qtitle{font-size:18px; font-weight:700; margin:12px 0 10px}
.opt{
  width:100%; text-align:left; padding:14px 14px; border-radius:16px;
  border:1px solid rgba(255,255,255,.10); background:rgba(255,255,255,.02);
  color:var(--text); margin:10px 0;
}
.opt:hover{border-color:rgba(212,175,55,.35)}
.opt.selected{border-color:rgba(212,175,55,.65); box-shadow:0 0 0 3px rgba(212,175,55,.12)}
.kpi{display:grid; grid-template-columns:repeat(3,1fr); gap:12px}
@media (max-width:760px){.kpi{grid-template-columns:1fr}}
.kpi .box{border:1px solid var(--line); border-radius:16px; padding:14px; background:rgba(255,255,255,.02)}
.score{font-family:"Playfair Display",Georgia,serif; font-size:34px; margin-top:4px; color:var(--gold)}
.badge{display:inline-flex; align-items:center; gap:8px; padding:6px 10px; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.02); color:var(--muted); font-size:12px}
.print-note{display:none}
@media print{
  body{background:#fff; color:#000}
  .header,.btnrow,.pill{display:none !important}
  .card{box-shadow:none; border:1px solid #ddd}
  .print-note{display:block; color:#111; font-size:12px; margin-top:8px}
}
