:root{
  --bg:#0b1020; --card:#151b2d; --txt:#e7ebff; --muted:#a5b0d6; --acc:#5b8cff;
}

*{ box-sizing:border-box; }

html{ font-size:18px; }
body{
  margin:0;
  font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  background:linear-gradient(120deg,#0b1020,#0f1730);
  color:var(--txt);
  line-height:1.6;
}

.container{ max-width:900px; margin:40px auto; padding:0 16px; }

.card{
  background:var(--card);
  border-radius:18px;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
  padding:28px;
}

h1,h2{ margin:0 0 12px; }
h1{ font-size:32px; line-height:1.25; }
h2{ font-size:22px; line-height:1.3; }

p.lead{ color:var(--muted); margin-top:0; }

/* Kérdések */
.q{
  padding:16px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  margin:12px 0;
  background:rgba(255,255,255,.02);
}
.q label{
  display:block;
  margin-bottom:8px;
  font-size:1.1rem;
  line-height:1.5;
}

/* Válaszopciók */
.scale{ display:flex; gap:12px; flex-wrap:wrap; }
.scale label{
  display:flex; align-items:center; gap:12px;
  padding:12px 14px; border-radius:10px;
  background:rgba(255,255,255,.05);
  cursor:pointer; min-height:44px;
  transition:background .15s ease, box-shadow .15s ease;
}
.scale label:hover{
  background:rgba(255,255,255,.07);
  box-shadow:0 0 0 1px rgba(255,255,255,.08) inset;
}
.scale input{ accent-color:var(--acc); }
.scale input[type="radio"]{
  transform:scale(1.45);
  transform-origin:center;
  flex-shrink:0;
  margin-right:8px;
  vertical-align:middle;
}
.scale input[type="radio"]:focus-visible{
  outline:2px solid rgba(91,140,255,.85);
  outline-offset:3px; border-radius:50%;
}

/* Két oszlopos sorok */
.row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }

/* Mezők + gombok */
input[type="text"]{
  width:100%; font-size:1.05rem; padding:14px;
  border-radius:12px; border:1px solid rgba(255,255,255,.14);
  background:#0f1530; color:var(--txt);
}
input[type="text"]:focus{
  outline:none; border-color:rgba(91,140,255,.8);
  box-shadow:0 0 0 3px rgba(91,140,255,.15);
}
button, a.button{
  background:var(--acc); color:#fff; border:none;
  padding:14px 22px; border-radius:12px;
  font-weight:600; cursor:pointer; font-size:1.05rem;
  text-decoration:none; display:inline-block;
}
button:hover, a.button:hover{ filter:brightness(1.05); }
button:focus-visible, a.button:focus-visible{
  outline:3px solid rgba(91,140,255,.85); outline-offset:2px; filter:none;
}

/* Gombcsoport */
.actions{ display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
a.button.ghost{
  background:transparent; color:var(--acc);
  border:1.5px solid rgba(91,140,255,.65);
}
a.button.ghost:hover{
  background:rgba(91,140,255,.08);
  box-shadow:0 0 0 1px rgba(91,140,255,.25) inset;
  filter:none;
}

/* Eredmény nézet */
.result{ font-size:28px; font-weight:700; }
.link{ color:#9abdff; }

/* Táblázat */
table{ width:100%; border-collapse:collapse; margin-top:12px; }
td,th{ padding:10px; border-bottom:1px solid rgba(255,255,255,.08); }
small.hint{ color:var(--muted); }

/* Reszponzív */
@media (max-width:640px){
  .row{ grid-template-columns:1fr; }
  h1{ font-size:28px; }
}
