/* === QUIZMASTER – Arany-Piros Stílus === */

/* Alap test */
body {
  background: url('/img/bg.jpg') no-repeat center center fixed;
  background-size: cover;
  color: #fff;
  font-family: 'Poppins', sans-serif;
  margin: 0;
  padding: 0;
  text-align: center;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* Fejléc */
header {
  background: #000;
  border-bottom: 2px solid red;
  color: #fff;
  padding: 10px 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

header .brand {
  font-size: 22px;
  font-weight: 700;
  color: red;
}

header nav a {
  color: #ff3333;
  text-decoration: none;
  font-weight: bold;
  margin-left: 25px;
  transition: color 0.2s;
}

header nav a:hover {
  color: gold;
}

/* Fő tartalom */
main {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

/* Nyitó oldal hero rész */
.hero {
  background: rgba(none);
  padding: 60px 20px;
  border-radius: 15px;
  box-shadow: 0 0 40px rgba(none);
}

.hero .logo {
  font-size: 70px;
  font-weight: 900;
  color: red;
  text-shadow: 0 0 30px red;
  margin: 0;
}

.hero p {
  color: #ffd700; /* aranysárga */
  font-style: italic;
  font-size: 1.6rem; /* nagyobb méret */
  font-weight: bold;
  letter-spacing: 1px;
  margin: 15px 0 30px 0;
  text-shadow: 
    0 0 8px rgba(255, 0, 0, 0.7),
    0 0 20px rgba(255, 215, 0, 0.8),
    0 0 35px rgba(255, 0, 0, 0.5);
  animation: pulseGlow 2.5s ease-in-out infinite;
}

@keyframes pulseGlow {
  0%, 100% {
    text-shadow: 
      0 0 10px rgba(255, 0, 0, 0.7),
      0 0 20px rgba(255, 215, 0, 0.8);
  }
  50% {
    text-shadow: 
      0 0 25px rgba(255, 0, 0, 0.8),
      0 0 45px rgba(255, 215, 0, 1);
  }
}

}

}

.actions {
  margin-top: 25px;
}

.actions a {
  display: inline-block;
  background: gold;
  color: black;
  font-weight: bold;
  padding: 10px 25px;
  border-radius: 10px;
  margin: 10px;
  text-decoration: none;
  box-shadow: 0 0 20px rgba(255, 215, 0, 0.6);
  transition: all 0.2s ease-in-out;
}

.actions a:hover {
  background: #ffcc00;
  transform: scale(1.05);
}

/* Bejelentkezés / Regisztráció formák */
.login-container, .register-container {
  background: rgba(0, 0, 0, 0.7);
  padding: 40px 50px;
  border-radius: 15px;
  box-shadow: 0 0 25px rgba(255, 0, 0, 0.4);
  width: 380px;
}

.login-container h2,
.register-container h2 {
  color: gold;
  margin-bottom: 25px;
  text-shadow: 0 0 10px red;
}

form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

form label {
  text-align: left;
  font-weight: bold;
  color: #fff;
}

form input[type="text"],
form input[type="password"] {
  padding: 10px;
  border-radius: 6px;
  border: none;
  outline: none;
  background: #222;
  color: #fff;
  font-size: 15px;
}

form input[type="submit"] {
  margin-top: 10px;
  background: gold;
  color: black;
  border: none;
  border-radius: 10px;
  padding: 12px;
  font-weight: bold;
  cursor: pointer;
  box-shadow: 0 0 20px rgba(255, 215, 0, 0.7);
  transition: all 0.2s ease-in-out;
}

form input[type="submit"]:hover {
  background: #ffcc00;
  transform: scale(1.05);
}

/* Gomb arany fény */
button, .btn {
  background: gold;
  color: #000;
  font-weight: bold;
  border: none;
  border-radius: 10px;
  padding: 10px 25px;
  box-shadow: 0 0 20px rgba(255, 215, 0, 0.7);
  cursor: pointer;
  transition: 0.2s;
}

button:hover, .btn:hover {
  background: #ffcc00;
  transform: scale(1.05);
}
/* === Dashboard stílus === */
.dashboard-container {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 80vh;
}

.dashboard-box {
  background: rgba(none);
  padding: 50px 80px;
  border-radius: 20px;
  box-shadow: 0 0 40px rgba(none);
  text-align: center;
  animation: fadeIn 0.6s ease-in-out;
}

.page-title {
  font-size: 42px;
  font-weight: 900;
  color: gold;
  text-shadow: 0 0 15px red;
  margin-bottom: 10px;
}

.welcome-text {
  color: #fff;
  font-style: italic;
  margin-bottom: 25px;
}

.dashboard-actions {
  display: flex;
  justify-content: center;
  gap: 20px;
}

.dashboard-actions .btn {
  display: inline-block;
  background: gold;
  color: #000;
  font-weight: bold;
  border: none;
  border-radius: 10px;
  padding: 12px 25px;
  box-shadow: 0 0 25px rgba(255, 215, 0, 0.7);
  text-decoration: none;
  transition: 0.2s ease-in-out;
}

.dashboard-actions .btn:hover {
  background: #ffcc00;
  transform: scale(1.05);
}

/* kis animáció belépéskor */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(15px); }
  to { opacity: 1; transform: translateY(0); }
}

.dashboard h1,
.dashboard p {
  color: #ffd700; /* arany */
  font-weight: bold;
  text-align: center;
  letter-spacing: 1px;
  text-shadow:
    0 0 8px rgba(255, 0, 0, 0.7),
    0 0 20px rgba(255, 215, 0, 0.8),
    0 0 35px rgba(255, 0, 0, 0.5);
  animation: pulseGlow 2.5s ease-in-out infinite;
}

.dashboard h1 {
  font-size: 2.4rem;
  margin-bottom: 10px;
}

.dashboard p {
  font-size: 1.4rem;
  font-style: italic;
  margin-bottom: 25px;
}

@keyframes pulseGlow {
  0%, 100% {
    text-shadow:
      0 0 10px rgba(255, 0, 0, 0.7),
      0 0 20px rgba(255, 215, 0, 0.8);
  }
  50% {
    text-shadow:
      0 0 25px rgba(255, 0, 0, 0.8),
      0 0 45px rgba(255, 215, 0, 1);
  }
}
.tournaments {
  text-align: center;
  margin-top: 40px;
}

.tournaments h1 {
  color: #ffd700;
  text-shadow: 0 0 10px red, 0 0 25px #ff4500;
  font-size: 2.2rem;
  margin-bottom: 20px;
}

/* Átlátszó háttérdoboz */
.tournament-box {
  background: rgba(0, 0, 0, 0.75);
  border: 2px solid #ff0000;
  border-radius: 15px;
  padding: 25px;
  width: 90%;
  max-width: 900px;
  margin: 0 auto;
  box-shadow: 0 0 20px rgba(255, 0, 0, 0.6);
}

table {
  width: 100%;
  border-collapse: collapse;
  color: #fff;
  font-size: 1rem;
}

th {
  color: #ffd700;
  border-bottom: 2px solid #ff0000;
  padding: 10px;
}

td {
  padding: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.btn {
  background: linear-gradient(to bottom, #ffd700, #ffb700);
  color: black;
  font-weight: bold;
  border: none;
  border-radius: 10px;
  padding: 8px 16px;
  cursor: pointer;
  box-shadow: 0 0 10px #ffb700;
  transition: all 0.2s;
}

.btn:hover {
  box-shadow: 0 0 20px #ff0000;
  transform: scale(1.05);
}

/* Ha már csatlakozott */
.btn.joined {
  background: gray;
  color: white;
  cursor: default;
  box-shadow: none;
}

/* Lobby gomb kezdetben rejtve */
.hidden {
  display: none;
}
.admin {
  text-align: center;
  color: #ffd700;
  margin-top: 40px;
}

.add-form input {
  margin: 5px;
  padding: 6px;
  border-radius: 8px;
  border: 1px solid #aaa;
}

.add-form .btn {
  background: #ffb700;
  border: none;
  padding: 8px 12px;
  border-radius: 10px;
  cursor: pointer;
  font-weight: bold;
}

table {
  margin: 20px auto;
  border-collapse: collapse;
  background: rgba(0, 0, 0, 0.7);
  color: white;
  width: 90%;
}

th, td {
  padding: 10px 15px;
  border: 1px solid #ffb700;
}

.btn.small {
  padding: 5px 10px;
}

.btn.red {
  background: #ff3b3b;
  color: white;
}

/* --- ADMIN OLDAL --- */

.admin-container {
  padding: 20px;
  color: #fff;
  display: flex;
  flex-direction: column; /* 🔥 egymás alá rendezi */
  gap: 40px; /* távolság a blokkok között */
}

.create-section, .tournament-section {
  background-color: rgba(0, 0, 0, 0.65);
  padding: 20px;
  border-radius: 8px;
  border: 1px solid gold;
}

.create-section h2,
.tournament-section h2 {
  color: gold;
  margin-bottom: 10px;
  border-bottom: 1px solid gold;
  padding-bottom: 5px;
}

.create-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 300px;
}

.create-form input,
.create-form select {
  padding: 6px;
  border-radius: 4px;
  border: 1px solid #ccc;
}

.tournament-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 10px;
}

.tournament-table th,
.tournament-table td {
  border: 1px solid #777;
  padding: 6px;
  text-align: center;
}

.tournament-table th {
  background-color: rgba(255, 215, 0, 0.3);
  color: gold;
}

.tournament-table tr:nth-child(even) {
  background-color: rgba(255, 255, 255, 0.05);
}

button {
  background-color: gold;
  border: none;
  padding: 6px 12px;
  cursor: pointer;
  font-weight: bold;
  border-radius: 4px;
  transition: 0.2s;
}

button:hover {
  background-color: orange;
}

.delete-btn {
  background-color: red;
  color: white;
}

.delete-btn:hover {
  background-color: darkred;
}

/* 🎯 LOBBY DESIGN */
.lobby {
  text-align: center;
  margin-top: 50px;
  color: #fff;
  text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.8);
}

.lobby h1 {
  font-size: 2.2rem;
  margin-bottom: 15px;
  color: #ffcc00;
  text-shadow: 3px 3px 8px rgba(0, 0, 0, 0.7);
}

.lobby p {
  font-size: 1.2rem;
  margin: 8px 0;
}

.lobby ul {
  list-style: none;
  padding: 0;
  margin-top: 10px;
}

.lobby li {
  display: inline-block;
  background: rgba(0, 0, 0, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 5px;
  padding: 8px 15px;
  margin: 5px;
  color: #ffcc00;
  font-weight: bold;
}

/* ⏰ Visszaszámláló */
#countdown {
  margin-top: 25px;
  font-size: 2.5rem;
  font-weight: bold;
  background: rgba(0, 0, 0, 0.6);
  display: inline-block;
  padding: 15px 30px;
  border-radius: 12px;
  color: #00ff88;
  text-shadow: 0 0 10px #00ff88;
  transition: all 0.5s ease;
}

/* 10 mp alatt villogjon pirosra */
@keyframes flashRed {
  0%, 100% { color: #ff3333; text-shadow: 0 0 10px #ff0000; }
  50% { color: #fff; text-shadow: 0 0 20px #ff9999; }
}

#countdown.warning {
  animation: flashRed 1s infinite;
}

/* 🧩 Táblázat oszlop szélességek */
.tournament-box table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
}

.tournament-box th:nth-child(6),
.tournament-box td:nth-child(6) {
  width: 300px; /* 👉 Itt állíthatod, milyen széles legyen a "Művelet" oszlop */
}

/* Szebb igazítás */
.tournament-box td {
  vertical-align: middle;
  padding: 10px;
}

.flash {
  animation:winnerFlash .45s ease-in-out 4;
}

@keyframes flashCorrect {
  0%, 100% { background-color: #27ae60; }
  50% { background-color: #2ecc71; }
}
.flash-correct {
  animation: flashCorrect 0.3s ease-in-out 5;
}
.raise-timer {
  text-align: center;
  font-size: 18px;
  color: #ffd700;
  margin-bottom: 8px;
  text-shadow: 0 0 5px #000;
  font-weight: bold;
}

/* === v5.10 – Online béta UI frissítés === */
:root{--qm-gold:#ffd54a;--qm-red:#ff3434;--qm-panel:rgba(8,10,16,.88);--qm-muted:#b8bdc9;--qm-line:rgba(255,255,255,.12)}
*{box-sizing:border-box} body{background-color:#080a10} .container{width:100%;padding:24px} header{position:sticky;top:0;z-index:50;background:rgba(5,6,10,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,213,74,.35);gap:20px} header .brand{color:var(--qm-gold);font-size:25px;letter-spacing:.5px} header nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:flex-end} header nav a{margin:0;color:#fff} header nav form{display:inline-flex!important} header nav button{padding:8px 14px;box-shadow:none;background:transparent;color:var(--qm-muted);border:1px solid var(--qm-line)}
.landing-hero h1{font-size:clamp(3.2rem,9vw,7rem);margin:0;color:var(--qm-gold);text-shadow:0 0 30px rgba(255,180,0,.35)} .hero-badge,.eyebrow,.auth-kicker{font-size:.76rem;letter-spacing:.22em;font-weight:900;color:var(--qm-red)}
.auth-page{width:100%;display:flex;justify-content:center;padding:36px 12px}.auth-card{width:min(100%,480px);text-align:left;background:var(--qm-panel);border:1px solid rgba(255,213,74,.24);border-radius:22px;padding:34px;box-shadow:0 24px 80px rgba(0,0,0,.45)}.register-card{width:min(100%,650px)}.auth-card h1{margin:6px 0 6px;color:#fff;font-size:2rem}.auth-subtitle{color:var(--qm-muted);margin:0 0 24px}.auth-form{gap:9px}.auth-form label{font-size:.9rem;color:#e9e9ec}.auth-form input[type=text],.auth-form input[type=email],.auth-form input[type=password]{width:100%;padding:13px 14px;border:1px solid var(--qm-line);border-radius:10px;background:#11141c;color:#fff;font-size:1rem}.auth-form input:focus{border-color:var(--qm-gold);box-shadow:0 0 0 3px rgba(255,213,74,.12)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check-row{display:flex;align-items:flex-start;gap:10px!important;margin:8px 0 5px;font-weight:400!important;color:var(--qm-muted)!important}.check-row input{margin-top:3px}.form-alert{padding:12px 14px;margin:0 0 16px;border:1px solid rgba(255,70,70,.45);background:rgba(160,20,20,.18);border-radius:10px;color:#ffd4d4}.auth-switch{text-align:center;color:var(--qm-muted);margin:22px 0 0}.auth-switch a{color:var(--qm-gold);font-weight:800}.wide{width:100%;margin-top:12px}.btn{text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:8px}.btn.primary{background:linear-gradient(135deg,#ffe16b,#ffb800);color:#111}.btn.secondary{background:#151922;color:#fff;border:1px solid rgba(255,255,255,.16);box-shadow:none}.hidden{display:none!important}
.tournament-home{width:min(1180px,100%);margin:20px auto 50px;text-align:left}.page-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.page-heading h1{margin:5px 0 5px;font-size:clamp(2rem,5vw,3.4rem);color:#fff;text-shadow:none}.page-heading p{color:var(--qm-muted);margin:0}.tournament-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:18px}.tournament-card{background:var(--qm-panel);border:1px solid var(--qm-line);border-radius:20px;padding:22px;box-shadow:0 18px 50px rgba(0,0,0,.3);transition:.2s}.tournament-card:hover{transform:translateY(-3px);border-color:rgba(255,213,74,.35)}.tournament-card.featured{border-color:rgba(255,213,74,.55);box-shadow:0 18px 60px rgba(255,183,0,.10)}.tournament-card.expired{opacity:.62}.card-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.status-pill{font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;padding:6px 9px;border-radius:999px;background:rgba(255,213,74,.12);color:var(--qm-gold)}.players{font-size:.86rem;color:var(--qm-muted)}.tournament-card h2{font-size:1.45rem;margin:18px 0 16px;color:#fff}.start-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--qm-muted)}.start-time{font-weight:800;margin-top:4px}.countdown{font-size:clamp(1.7rem,5vw,2.5rem);font-variant-numeric:tabular-nums;font-weight:900;color:var(--qm-gold);margin:8px 0 18px}.tournament-stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--qm-line);border-bottom:1px solid var(--qm-line);padding:15px 0;margin-bottom:18px;gap:10px}.tournament-stats div{display:flex;flex-direction:column;gap:5px}.tournament-stats span{font-size:.78rem;color:var(--qm-muted)}.tournament-stats strong{font-size:1rem}.card-actions{display:flex;gap:10px}.card-actions .btn{flex:1}.empty-card{background:var(--qm-panel);border:1px solid var(--qm-line);border-radius:20px;padding:40px;text-align:center}
@media(max-width:720px){header{padding:10px 14px;align-items:flex-start}header nav span{display:none}header nav{gap:8px}header nav a,header nav button{font-size:.82rem;padding:7px 9px}.container{padding:12px}.form-grid{grid-template-columns:1fr}.auth-card{padding:24px 18px}.tournament-home{margin-top:10px}.tournament-grid{grid-template-columns:1fr}.card-actions{flex-direction:column}.hero{padding:35px 10px}.hero p{font-size:1.1rem}}

/* === v5.11 – olvasható versenylista === */
.tournament-home{position:relative;padding:24px;border-radius:26px;background:rgba(3,5,10,.72);box-shadow:0 24px 80px rgba(0,0,0,.38);backdrop-filter:blur(3px)}
.page-heading{padding:18px 20px;border-radius:18px;background:rgba(5,7,12,.92);border:1px solid rgba(255,213,74,.18);box-shadow:0 12px 36px rgba(0,0,0,.35)}
.page-heading h1,.page-heading p,.eyebrow{position:relative;z-index:1}.page-heading p{color:#e2e5eb}.tournament-card{background:rgba(8,10,16,.97);border:1px solid rgba(255,213,74,.22);box-shadow:0 20px 55px rgba(0,0,0,.58)}
.tournament-card.featured{background:rgba(10,11,17,.985);border-color:rgba(255,213,74,.72);box-shadow:0 20px 65px rgba(0,0,0,.62),0 0 24px rgba(255,190,0,.10)}
.tournament-card h2,.start-time,.tournament-stats strong{color:#fff;text-shadow:0 2px 5px #000}.players,.start-label,.tournament-stats span{color:#d4d7df}.countdown{text-shadow:0 2px 10px rgba(0,0,0,.9)}
@media(max-width:720px){.tournament-home{padding:12px}.page-heading{padding:16px}}

/* ===== v5.12 – adatbázisos kérdésbank / admin kérdéskezelő ===== */
.question-admin { max-width: 1500px; }
.admin-page-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:18px; }
.admin-page-head h1 { margin:.15rem 0 .35rem; }
.admin-subtitle { margin:0; opacity:.82; }
.eyebrow { margin:0; font-size:.78rem; letter-spacing:.18em; font-weight:800; color:#f1c84b; }
.admin-link-button, .filter-reset, .question-actions a, .question-edit-buttons a { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; border:1px solid rgba(241,200,75,.45); background:rgba(17,21,38,.9); color:#f8e7a0; border-radius:10px; padding:10px 14px; font-weight:700; }
.admin-alert { padding:12px 15px; margin:0 0 16px; border-radius:10px; font-weight:700; }
.admin-alert.success { background:rgba(37,132,86,.28); border:1px solid rgba(91,214,145,.5); }
.admin-alert.error { background:rgba(170,43,55,.28); border:1px solid rgba(255,105,117,.52); }
.question-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.question-stats > div { background:rgba(15,18,32,.92); border:1px solid rgba(241,200,75,.28); border-radius:14px; padding:16px; box-shadow:0 8px 22px rgba(0,0,0,.22); }
.question-stats strong { display:block; font-size:1.55rem; color:#f4cf52; }
.question-stats span { display:block; margin-top:3px; opacity:.78; font-size:.9rem; }
.question-create, .question-list-section { background:rgba(12,15,28,.96) !important; }
.question-form { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.question-form label { display:flex; flex-direction:column; gap:7px; font-weight:700; }
.question-form .wide { grid-column:1 / -1; }
.question-form input, .question-form textarea, .question-form select, .question-filters input, .question-filters select { width:100%; box-sizing:border-box; border:1px solid rgba(255,255,255,.16); background:#111628; color:#fff; border-radius:9px; padding:10px 11px; }
.question-form textarea { resize:vertical; min-height:68px; }
.question-list-head { display:flex; justify-content:space-between; align-items:center; gap:15px; }
.question-list-head span { opacity:.8; }
.question-filters { display:grid; grid-template-columns:minmax(260px,2fr) repeat(3,minmax(150px,1fr)) auto auto; gap:10px; margin:12px 0 18px; align-items:center; }
.question-table-wrap { overflow:auto; max-height:68vh; border-radius:12px; border:1px solid rgba(255,255,255,.1); }
.question-table { min-width:1180px; margin:0; }
.question-table thead th { position:sticky; top:0; z-index:2; background:#171b2d; }
.question-text-cell { min-width:360px; max-width:540px; }
.question-text-cell small { display:block; margin-top:7px; line-height:1.45; opacity:.72; font-weight:400; }
.question-disabled { opacity:.55; }
.difficulty-pill, .status-pill { display:inline-block; border-radius:999px; padding:5px 9px; font-size:.78rem; font-weight:800; white-space:nowrap; }
.difficulty-pill.easy { background:rgba(47,159,103,.25); }
.difficulty-pill.medium { background:rgba(214,157,47,.25); }
.difficulty-pill.hard { background:rgba(190,54,69,.28); }
.status-pill.active { background:rgba(47,159,103,.25); color:#9ff0bf; }
.status-pill.inactive { background:rgba(160,160,160,.18); color:#ddd; }
.question-actions { min-width:140px; }
.question-actions form { margin-top:7px; }
.question-actions button, .question-actions a { width:100%; box-sizing:border-box; padding:8px 9px; font-size:.82rem; }
.secondary-btn { background:#242b42 !important; color:#fff !important; border:1px solid rgba(255,255,255,.14) !important; }
.empty-state { text-align:center; padding:30px !important; opacity:.75; }
.pagination { display:flex; justify-content:center; align-items:center; gap:16px; margin-top:18px; }
.pagination a { color:#f5d45e; text-decoration:none; font-weight:800; }
.question-edit-buttons { display:flex; gap:10px; align-items:center; }
.question-edit-buttons button, .question-edit-buttons a { min-width:140px; }

@media (max-width: 900px) {
  .admin-page-head { flex-direction:column; }
  .question-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .question-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .question-filters { grid-template-columns:1fr 1fr; }
  .question-filters input[type="search"] { grid-column:1 / -1; }
}
@media (max-width: 560px) {
  .question-stats, .question-form, .question-filters { grid-template-columns:1fr; }
  .question-form .wide, .question-filters input[type="search"] { grid-column:auto; }
}

/* ===== v5.12.4 – játékosprofil / statisztikák ===== */
.profile-page{width:min(1180px,100%);margin:20px auto 50px;text-align:left}.profile-heading{margin-bottom:18px}.profile-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.profile-stats>div{background:rgba(8,10,16,.96);border:1px solid rgba(255,213,74,.22);border-radius:18px;padding:18px;box-shadow:0 16px 40px rgba(0,0,0,.32)}.profile-stats span{display:block;color:#cfd3dc;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.profile-stats strong{font-size:1.6rem;color:#fff}.profile-history{background:rgba(8,10,16,.96);border:1px solid rgba(255,213,74,.22);border-radius:20px;padding:20px;box-shadow:0 20px 55px rgba(0,0,0,.45)}.history-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:16px}.history-head h2{margin:4px 0 0;color:#fff}.history-count{color:#cfd3dc;font-size:.9rem}.history-table-wrap{overflow:auto;border:1px solid rgba(255,255,255,.1);border-radius:14px}.history-table{width:100%;min-width:720px;border-collapse:collapse}.history-table th,.history-table td{padding:14px 16px;text-align:left;border-bottom:1px solid rgba(255,255,255,.08)}.history-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:#cfd3dc;background:#11141d}.history-table tbody tr:last-child td{border-bottom:0}.history-table tbody tr:hover{background:rgba(255,255,255,.035)}.winner-row{background:rgba(255,213,74,.09)}.podium-row{background:rgba(255,255,255,.035)}.rank-chip{display:inline-flex;min-width:42px;justify-content:center;padding:5px 9px;border-radius:999px;background:rgba(255,213,74,.12);color:#ffe16b;font-weight:900}.prize-value{color:#9ff0bf}@media(max-width:900px){.profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.profile-stats{grid-template-columns:1fr 1fr}.profile-stats>div{padding:14px}.profile-stats strong{font-size:1.3rem}.profile-history{padding:12px}.history-head{align-items:flex-start;flex-direction:column}}


/* === v5.12.5 – Nyitóoldal olvashatóság === */
.landing-hero {
  width: min(980px, calc(100% - 28px));
  box-sizing: border-box;
  padding-top: 36px;
  padding-bottom: 34px;
}

.landing-hero h1 {
  line-height: .95;
}

.landing-hero .landing-tagline {
  display: inline-block;
  max-width: 850px;
  box-sizing: border-box;
  margin: 20px auto 18px;
  padding: 10px 18px;
  border-radius: 14px;
  background: rgba(0, 0, 0, .48);
  color: #ffe45c;
  text-shadow: 0 2px 5px #000, 0 0 12px rgba(255, 185, 0, .55);
  animation: none;
}

.landing-hero .actions {
  margin-top: 4px;
}

.landing-hero .landing-live-badge {
  display: table;
  margin: 16px auto 0;
  padding: 8px 16px;
  border: 1px solid rgba(255, 213, 74, .55);
  border-radius: 999px;
  background: rgba(0, 0, 0, .68);
  color: #ffd54a;
  font-size: .82rem;
  letter-spacing: .16em;
  line-height: 1.2;
  text-shadow: 0 1px 4px #000;
  box-shadow: 0 8px 28px rgba(0, 0, 0, .24);
}

@media (max-width: 720px) {
  .landing-hero { padding-top: 24px; padding-bottom: 26px; }
  .landing-hero h1 { font-size: clamp(3.1rem, 16vw, 5.3rem); }
  .landing-hero .landing-tagline {
    font-size: 1rem;
    line-height: 1.35;
    margin: 16px auto 12px;
    padding: 9px 12px;
  }
  .landing-hero .landing-live-badge {
    margin-top: 12px;
    font-size: .72rem;
    letter-spacing: .13em;
  }
}

/* === v5.12.6 – Ranglista === */
.leaderboard-page{width:min(1180px,100%);margin:20px auto 50px;text-align:left}.leaderboard-heading{margin-bottom:18px}.leaderboard-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;margin-bottom:16px}.leaderboard-filter-group{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:rgba(8,10,16,.94);border:1px solid rgba(255,213,74,.18);border-radius:16px;padding:10px 12px}.leaderboard-filter-group>span{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:#aeb5c3;font-weight:800;margin-right:2px}.leaderboard-filter-group a{color:#e7e9ee;text-decoration:none;padding:7px 10px;border-radius:10px;border:1px solid transparent;font-weight:800;font-size:.86rem}.leaderboard-filter-group a:hover{background:rgba(255,255,255,.06)}.leaderboard-filter-group a.active{color:#151515;background:#ffd54a;border-color:#ffe47b}.leaderboard-table-wrap{overflow:auto;background:rgba(8,10,16,.96);border:1px solid rgba(255,213,74,.22);border-radius:20px;box-shadow:0 20px 55px rgba(0,0,0,.45)}.leaderboard-table{width:100%;min-width:900px;border-collapse:collapse}.leaderboard-table th,.leaderboard-table td{padding:14px 15px;text-align:left;border-bottom:1px solid rgba(255,255,255,.075)}.leaderboard-table th{font-size:.76rem;text-transform:uppercase;letter-spacing:.07em;color:#cfd3dc;background:#11141d;position:sticky;top:0;z-index:1}.leaderboard-table tbody tr:last-child td{border-bottom:0}.leaderboard-table tbody tr:hover{background:rgba(255,255,255,.035)}.leader-rank{display:inline-flex;min-width:38px;font-weight:900;color:#ffe16b}.leader-first{background:rgba(255,213,74,.08)}.leader-second{background:rgba(220,226,235,.045)}.leader-third{background:rgba(195,122,73,.045)}.my-rank-row{outline:1px solid rgba(255,213,74,.42);outline-offset:-1px;background:rgba(255,213,74,.055)}.leaderboard-note{color:#aeb5c3;font-size:.84rem;margin:11px 4px 0}@media(max-width:700px){.leaderboard-toolbar{display:block}.leaderboard-filter-group{margin-bottom:10px}.leaderboard-filter-group>span{width:100%;margin-bottom:2px}}

/* ===== v5.13 – QM gazdaság, kvalifikáció és admin naptár ===== */
.admin-head-actions{display:flex;gap:10px;flex-wrap:wrap}.admin-message{margin:12px 0 18px;padding:12px 15px;border-radius:12px;font-weight:800}.admin-message.success{background:rgba(74,222,128,.12);border:1px solid rgba(74,222,128,.35);color:#a7f3d0}.admin-message.error{background:rgba(248,113,113,.12);border:1px solid rgba(248,113,113,.35);color:#fecaca}.admin-grid-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}.admin-grid-form label{display:flex;flex-direction:column;gap:6px;color:#d6d9e0;font-size:.84rem;font-weight:800}.admin-grid-form input,.admin-grid-form select,.inline-admin-search input,.grant-form input{box-sizing:border-box;width:100%;padding:10px 11px;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:#11141d;color:#fff}.admin-grid-form button,.inline-admin-search button,.grant-form button{padding:11px 14px;border:0;border-radius:10px;font-weight:900;cursor:pointer}.admin-grid-form .wide-button{grid-column:1/-1}.checkbox-label{flex-direction:row!important;align-items:center!important;padding:8px 0}.checkbox-label input{width:auto}.admin-table-scroll{overflow:auto}.inline-admin-search{display:flex;gap:8px;margin:10px 0 14px}.grant-form{display:grid;grid-template-columns:100px minmax(180px,1fr) 80px;gap:6px;min-width:390px}.qm-plus{color:#86efac!important}.qm-minus{color:#fca5a5!important}.championship-builder{border:1px solid rgba(255,213,74,.4)!important;box-shadow:0 0 0 1px rgba(255,213,74,.08),0 20px 50px rgba(0,0,0,.25)}
.event-badge{display:inline-flex;margin:4px 0 10px;padding:6px 10px;border-radius:999px;background:rgba(59,130,246,.15);border:1px solid rgba(96,165,250,.35);color:#bfdbfe;font-size:.75rem;font-weight:900;letter-spacing:.05em}.event-badge.gold{background:rgba(245,158,11,.13);border-color:rgba(251,191,36,.45);color:#fde68a}.event-badge.super{background:rgba(168,85,247,.15);border-color:rgba(192,132,252,.45);color:#e9d5ff}.event-badge.free{background:rgba(34,197,94,.13);border-color:rgba(74,222,128,.4);color:#bbf7d0}.join-warning{margin:10px 0;padding:10px 12px;border-radius:10px;background:rgba(248,113,113,.09);border:1px solid rgba(248,113,113,.24);color:#fecaca;font-size:.85rem;line-height:1.35}.qualification-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.qualification-card{display:flex;flex-direction:column;gap:6px;padding:15px;border-radius:14px;background:rgba(255,213,74,.07);border:1px solid rgba(255,213,74,.22)}.qualification-card strong{color:#ffe16b}.qualification-card span{color:#e5e7eb}.qualification-card em{color:#86efac;font-style:normal;font-weight:800}.profile-history+.profile-history{margin-top:18px}
@media(max-width:900px){.admin-grid-form{grid-template-columns:repeat(2,minmax(0,1fr))}.qualification-list{grid-template-columns:1fr}}
@media(max-width:600px){.admin-grid-form{grid-template-columns:1fr}.admin-grid-form .wide-button{grid-column:auto}.inline-admin-search{flex-direction:column}.grant-form{grid-template-columns:1fr;min-width:220px}}
.bulk-grant-bar{display:grid;grid-template-columns:160px minmax(220px,1fr) auto;gap:10px;align-items:end;margin:12px 0}.bulk-grant-bar label{display:flex;flex-direction:column;gap:5px;font-weight:800;font-size:.82rem;color:#d6d9e0}.bulk-grant-bar input{padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:#11141d;color:#fff}.bulk-grant-bar button{padding:11px 14px;border:0;border-radius:10px;font-weight:900;cursor:pointer}@media(max-width:700px){.bulk-grant-bar{grid-template-columns:1fr}}

/* v5.13.1 – a játékos versenylistája áttekinthető, egymás alatti lista */
.tournament-home .tournament-grid{display:flex;flex-direction:column;gap:14px;width:100%;}
.tournament-home .tournament-card{width:100%;padding:18px 22px;}
.tournament-home .tournament-card h2{margin:12px 0 10px;}
.tournament-home .tournament-stats{grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:720px){.tournament-home .tournament-stats{grid-template-columns:1fr;}}

/* ===== QuizMaster v5.14 – kompakt versenylobby ===== */
.compact-lobby{max-width:1280px!important}
.compact-lobby .page-heading{margin-bottom:14px}
.compact-lobby .page-heading h1{font-size:clamp(1.8rem,4vw,2.7rem);margin:2px 0}
.tournament-list{display:flex;flex-direction:column;gap:7px}
.tournament-list-head{display:grid;grid-template-columns:minmax(260px,2.4fr) minmax(145px,1.1fr) minmax(105px,.8fr) minmax(115px,.9fr) minmax(115px,.9fr) minmax(85px,.65fr) minmax(125px,.95fr);gap:12px;padding:0 15px 7px;color:#9fa6b2;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.tournament-row{display:grid!important;grid-template-columns:minmax(260px,2.4fr) minmax(145px,1.1fr) minmax(105px,.8fr) minmax(115px,.9fr) minmax(115px,.9fr) minmax(85px,.65fr) minmax(125px,.95fr);gap:12px;align-items:center;width:100%;min-height:78px;padding:10px 14px;border-radius:12px;background:rgba(8,10,16,.97);border:1px solid rgba(255,213,74,.18);box-shadow:0 8px 24px rgba(0,0,0,.34);transition:.16s ease}
.tournament-row:hover{border-color:rgba(255,213,74,.42);transform:translateY(-1px)}
.tournament-row.missed{opacity:.62;border-color:rgba(180,180,180,.18)}
.tournament-row.running{border-color:rgba(47,207,124,.52);box-shadow:0 8px 28px rgba(17,160,91,.10)}
.tour-main{min-width:0}
.tour-title-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:4px}
.tournament-row h2{font-size:1.02rem!important;line-height:1.16;margin:0!important;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.event-badge.compact{font-size:.62rem!important;padding:3px 6px!important;margin:0!important;border-radius:6px!important;display:inline-flex!important;width:auto!important}
.status-pill{padding:3px 7px!important;font-size:.62rem!important}
.status-pill.missed-pill{background:rgba(180,180,180,.12);color:#c7c7c7}
.status-pill.running-pill{background:rgba(47,207,124,.13);color:#66e0a1}
.tour-cell{min-width:0;display:flex;flex-direction:column;gap:2px}
.tour-cell small{display:none;color:#9fa6b2;font-size:.65rem;text-transform:uppercase;letter-spacing:.04em}
.tour-cell strong{font-size:.82rem;color:#f2f4f8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tour-start strong{font-size:.78rem}
.mini-countdown{font-size:.76rem;font-weight:900;color:var(--qm-gold);font-variant-numeric:tabular-nums;white-space:nowrap}
.tour-actions{display:flex;gap:5px;justify-content:flex-end;align-items:center}
.tour-actions .btn{min-width:0;padding:8px 10px!important;font-size:.72rem!important;white-space:nowrap}
.tour-actions .lobby-btn{flex:0 0 auto}
.join-btn.missed-btn{background:#32353b!important;color:#aaa!important;border-color:#45484e!important;cursor:not-allowed!important;box-shadow:none!important}
.compact-warning{font-size:.67rem;padding:4px 7px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.play-now-btn{background:#1f9d62!important}

@media(max-width:980px){
  .tournament-list-head{display:none}
  .tournament-row{grid-template-columns:minmax(190px,1.6fr) repeat(3,minmax(90px,.75fr)) minmax(110px,.85fr);min-height:88px}
  .tournament-row>.tour-cell:nth-of-type(4),.tournament-row>.tour-cell:nth-of-type(5){display:none}
  .tour-cell small{display:block}
}
@media(max-width:720px){
  .compact-lobby{padding:10px!important}
  .compact-lobby .page-heading{padding:8px 4px!important;margin-bottom:8px}
  .compact-lobby .page-heading p{font-size:.82rem}
  .tournament-list{gap:8px}
  .tournament-row{grid-template-columns:1fr 1fr;gap:7px 10px;min-height:0;padding:10px 11px;border-radius:11px}
  .tour-main{grid-column:1/-1}
  .tournament-row h2{font-size:.95rem!important;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .tour-title-line{margin-bottom:3px}
  .tour-cell{padding:4px 0;border-top:1px solid rgba(255,255,255,.055)}
  .tour-cell strong{font-size:.78rem}
  .tour-start strong{font-size:.74rem}
  .mini-countdown{font-size:.72rem}
  .tournament-row>.tour-cell:nth-of-type(4),.tournament-row>.tour-cell:nth-of-type(5){display:flex}
  .tour-actions{grid-column:1/-1;justify-content:stretch}
  .tour-actions .btn{flex:1!important;padding:9px 8px!important}
  .compact-warning{white-space:normal}
}

/* ===== QuizMaster v5.15 – admin forgalmi / szponzori analitika ===== */
.analytics-admin{max-width:1320px;margin:72px auto 0}.analytics-subtitle{margin:4px 0 0;color:#aeb5c2}.analytics-live-strip{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:13px 16px;margin:0 0 16px;border:1px solid rgba(66,225,139,.32);border-radius:14px;background:rgba(18,94,59,.16)}.analytics-live-strip strong{color:#67e8a7;letter-spacing:.08em}.analytics-live-strip span{color:#e9edf4}.analytics-live-strip small{margin-left:auto;color:#9aa3b0}.live-dot{width:10px;height:10px;border-radius:50%;background:#42e18b;box-shadow:0 0 0 5px rgba(66,225,139,.12);animation:qmLivePulse 1.8s infinite}@keyframes qmLivePulse{50%{box-shadow:0 0 0 9px rgba(66,225,139,0)}}
.analytics-filter-row{display:flex;justify-content:space-between;gap:16px;align-items:end;margin:12px 0 20px}.analytics-filter-row form{display:flex;align-items:end;gap:9px}.analytics-filter-row label{display:flex;flex-direction:column;gap:5px;color:#ccd2dc;font-size:.8rem;font-weight:800}.analytics-filter-row input{padding:10px 12px;border-radius:9px;border:1px solid rgba(255,255,255,.15);background:#11151d;color:#fff}.analytics-filter-row button{padding:10px 14px}.analytics-actions{display:flex;gap:8px;flex-wrap:wrap}.analytics-actions button.admin-link-button{cursor:pointer;font:inherit}
.analytics-section-title{font-size:1rem;text-transform:uppercase;letter-spacing:.08em;color:#aab2bf;margin:20px 0 10px}.analytics-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.analytics-kpis article{position:relative;min-height:108px;padding:15px;border-radius:14px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(145deg,rgba(18,22,31,.97),rgba(9,11,17,.97));overflow:hidden}.analytics-kpis article>span{position:absolute;right:13px;top:12px;font-size:1.35rem;opacity:.75}.analytics-kpis small,.analytics-today small{display:block;color:#9fa8b7;font-size:.76rem;text-transform:uppercase;letter-spacing:.06em}.analytics-kpis strong{display:block;margin-top:15px;color:#fff;font-size:1.75rem}.analytics-today{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.analytics-today>div{padding:13px 15px;border-radius:12px;background:rgba(255,213,74,.055);border:1px solid rgba(255,213,74,.15)}.analytics-today strong{display:block;margin-top:6px;font-size:1.35rem;color:#ffd54a}
.analytics-chart-card{margin-top:20px}.analytics-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.analytics-card-head h2{margin:0 0 4px}.analytics-card-head p{margin:0;color:#9fa8b7;font-size:.85rem}.analytics-card-head>strong{white-space:nowrap;color:#ffd54a}.traffic-bars{height:230px;display:flex;align-items:flex-end;gap:4px;padding:25px 3px 0;margin-top:15px;border-bottom:1px solid rgba(255,255,255,.12)}.traffic-bar-wrap{height:100%;min-width:8px;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:5px}.traffic-bar{position:relative;min-height:2px;border-radius:4px 4px 0 0;background:linear-gradient(180deg,#ffd54a,#c58b00);transition:.15s}.traffic-bar:hover{filter:brightness(1.15)}.traffic-bar span{position:absolute;top:-19px;left:50%;transform:translateX(-50%);font-size:.62rem;color:#dfe3ea}.traffic-bar-wrap small{text-align:center;font-size:.58rem;color:#7f8793}.analytics-table td,.analytics-table th{text-align:right}.analytics-table td:first-child,.analytics-table th:first-child{text-align:left}.analytics-method-note{margin:18px 0;padding:14px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.035);color:#aeb5c2}.analytics-method-note strong{color:#fff}.analytics-method-note p{margin:7px 0 0;line-height:1.55}.print-only{display:none}
@media(max-width:900px){.analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-today{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-live-strip small{width:100%;margin-left:24px}.traffic-bars{gap:2px}.traffic-bar-wrap small{font-size:.5rem}}
@media(max-width:600px){.analytics-filter-row,.analytics-filter-row form{align-items:stretch;flex-direction:column}.analytics-actions{display:grid;grid-template-columns:1fr 1fr}.analytics-kpis{grid-template-columns:1fr 1fr}.analytics-kpis article{min-height:92px;padding:12px}.analytics-kpis strong{font-size:1.35rem;margin-top:13px}.analytics-card-head{flex-direction:column}.traffic-bars{height:180px;overflow-x:auto;align-items:flex-end}.traffic-bar-wrap{min-width:18px}.analytics-today{grid-template-columns:1fr 1fr}}
@media print{body{background:#fff!important;color:#111!important}.headerbar,.no-print,.analytics-live-strip{display:none!important}.container{padding:0!important}.analytics-admin{max-width:none!important}.print-only{display:block!important}.sponsor-report-title{border-bottom:2px solid #111;margin-bottom:16px}.analytics-kpis article,.analytics-today>div,.create-section,.tournament-section,.analytics-method-note{background:#fff!important;color:#111!important;border:1px solid #bbb!important;box-shadow:none!important}.analytics-kpis strong,.analytics-today strong,.analytics-card-head strong,.analytics-method-note strong{color:#111!important}.analytics-kpis small,.analytics-today small,.analytics-card-head p,.analytics-section-title,.analytics-method-note{color:#333!important}.traffic-bar{background:#555!important}.traffic-bar span,.traffic-bar-wrap small{color:#111!important}.tournament-table{color:#111!important}.tournament-table th,.tournament-table td{border-color:#bbb!important;background:#fff!important}.admin-table-scroll{overflow:visible!important}}


/* ===== QuizMaster v5.16 – kvalifikációs útvonal + mobil finomhangolás ===== */
.qualification-path{margin-top:4px;color:#b9d7ff;font-size:.68rem;font-weight:800;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qualification-path.gold-path{color:#fde68a}.qualification-path.super-path{color:#e9d5ff}
@media(max-width:720px){.qualification-path{white-space:normal;font-size:.66rem}.event-badge.compact{line-height:1.2;text-align:left}}
@media(max-width:430px){body:has(#table) main{align-items:flex-start}#table{height:calc(100svh - 78px)!important;min-height:520px!important;margin:4px auto!important}#centerUI{inset:17% 5% 6% 5%!important;gap:7px!important}#question{max-height:25vh!important;font-size:clamp(1rem,4.8vw,1.22rem)!important;padding:7px 8px!important}#answers{gap:6px!important}.answer-btn{min-height:44px!important;padding:.62rem .7rem!important;font-size:.93rem!important}#infoBar{font-size:.66rem!important;gap:4px!important}.player{width:50px!important;height:50px!important;font-size:.59rem!important}}

/* v5.17 – admin űrlap kiegészítő súgó */
.admin-grid-form label small{display:block;margin-top:5px;color:#9fa8b7;font-size:.72rem;line-height:1.3}
@media(max-width:600px){.analytics-admin{margin-top:42px}}

/* === v5.18 – Publikus játékszabály + Hogyan működik? === */
.landing-page{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:34px;
  padding-bottom:54px;
}
.landing-page .landing-hero{flex:0 0 auto;}
.how-it-works{
  width:min(1100px,calc(100% - 28px));
  box-sizing:border-box;
  padding:28px;
  border:1px solid rgba(255,213,74,.26);
  border-radius:26px;
  background:rgba(5,7,12,.94);
  box-shadow:0 24px 70px rgba(0,0,0,.52);
  text-align:left;
}
.how-it-works-head{text-align:center;max-width:800px;margin:0 auto 24px;}
.how-it-works-head h2{font-size:clamp(1.8rem,4vw,2.8rem);margin:7px 0 10px;color:#fff;}
.how-it-works-head p{margin:0;color:#d6dae3;line-height:1.65;}
.how-it-works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.how-step{position:relative;min-height:180px;padding:22px 18px 18px;border:1px solid rgba(255,255,255,.085);border-radius:18px;background:rgba(14,17,26,.92);box-shadow:0 14px 35px rgba(0,0,0,.22);}
.how-step-number{position:absolute;right:14px;top:12px;font-size:2.4rem;font-weight:900;color:rgba(255,213,74,.12);line-height:1;}
.how-step h3{margin:0 34px 10px 0;color:#ffe16b;font-size:1.08rem;}
.how-step p{margin:0;color:#d0d5df;line-height:1.58;font-size:.94rem;}
.how-it-works-cta{text-align:center;margin:26px auto 0;padding-top:22px;border-top:1px solid rgba(255,213,74,.16);}
.how-it-works-cta p{font-size:1.08rem;line-height:1.55;color:#fff;margin:0 auto 15px;}
.how-register-btn{display:inline-flex!important;align-items:center;justify-content:center;min-width:190px;}

.rules-page{width:min(1120px,100%);margin:24px auto 56px;text-align:left;}
.rules-head{text-align:center;padding:28px 24px;margin-bottom:18px;border-radius:24px;background:rgba(5,7,12,.90);border:1px solid rgba(255,213,74,.22);box-shadow:0 20px 60px rgba(0,0,0,.42);}
.rules-head h1{font-size:clamp(2rem,5vw,3.5rem);margin:7px 0 10px;color:#fff;}
.rules-head p{max-width:780px;margin:0 auto;color:#d7dbe4;line-height:1.65;}
.rules-intro{padding:22px 24px;margin-bottom:18px;border-left:4px solid #ffd54a;border-radius:14px;background:rgba(7,9,15,.95);box-shadow:0 14px 38px rgba(0,0,0,.32);}
.rules-intro p{margin:0 0 10px;line-height:1.7;color:#e6e9ef;}.rules-intro p:last-child{margin-bottom:0;color:#ffe16b;}
.rules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.rule-card{padding:22px;border-radius:18px;background:rgba(8,10,16,.96);border:1px solid rgba(255,213,74,.18);box-shadow:0 18px 45px rgba(0,0,0,.34);}
.rule-card h2{font-size:1.22rem;color:#ffe16b;margin:0 0 12px;}
.rule-card p{color:#d5dae3;line-height:1.68;margin:0 0 11px;}.rule-card p:last-child{margin-bottom:0;}
.rule-card ul{margin:8px 0 12px;padding-left:22px;color:#d5dae3;line-height:1.7;}.rule-card li{margin:5px 0;}
.rule-card strong{color:#fff;}
.rule-card-wide{grid-column:1/-1;}
.rules-summary{text-align:center;margin-top:18px;padding:26px 22px;border:1px solid rgba(255,213,74,.3);border-radius:22px;background:rgba(5,7,12,.95);box-shadow:0 20px 55px rgba(0,0,0,.4);}
.rules-summary h2{margin:0 0 8px;color:#ffe16b;}.rules-summary p{margin:0 auto 18px;max-width:850px;line-height:1.65;color:#fff;}

@media(max-width:900px){
  .how-it-works-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:720px){
  main.container{align-items:flex-start;}
  .landing-page{gap:22px;padding-bottom:32px;}
  .how-it-works{padding:18px 14px;width:calc(100% - 8px);border-radius:20px;}
  .how-it-works-grid,.rules-grid{grid-template-columns:1fr;}
  .how-step{min-height:0;padding:18px 16px;}
  .how-it-works-head h2{font-size:1.65rem;}
  .rules-page{margin-top:8px;}
  .rules-head,.rules-intro,.rule-card,.rules-summary{padding:18px 15px;}
  .rule-card-wide{grid-column:auto;}
}

/* === v5.19 – Süti hozzájárulás + nevezés visszavonás === */
.site-footer{width:min(1100px,calc(100% - 28px));margin:10px auto 28px;display:flex;justify-content:center;gap:18px;flex-wrap:wrap;color:#9fa8b7;font-size:.82rem}.site-footer a,.cookie-settings-link{color:#b9c0cc;text-decoration:none}.cookie-settings-link{border:0;background:none;padding:0;cursor:pointer;font:inherit}.site-footer a:hover,.cookie-settings-link:hover{color:#ffe16b}
.cookie-consent{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.58);display:flex;align-items:flex-end;justify-content:center;padding:18px}.cookie-consent.hidden{display:none}.cookie-card{width:min(760px,100%);padding:22px;border-radius:20px;border:1px solid rgba(255,213,74,.35);background:#090c13;box-shadow:0 24px 80px rgba(0,0,0,.7);color:#fff}.cookie-card h2{margin:0 0 8px;color:#ffe16b}.cookie-card p{margin:0;color:#d5dae3;line-height:1.6}.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.cookie-actions .btn{flex:1 1 180px;text-align:center}.btn.danger{background:rgba(205,62,62,.14);border:1px solid rgba(255,100,100,.42);color:#ffb3b3}.btn.danger:hover{background:rgba(205,62,62,.24)}
@media(max-width:600px){.cookie-consent{padding:10px}.cookie-card{padding:18px 14px}.cookie-actions{display:grid;grid-template-columns:1fr}.site-footer{gap:12px;margin-bottom:18px}}

/* ===== QuizMaster v5.20 – email hitelesítés + laptop lobby javítás ===== */
.form-success{padding:12px 14px;margin:0 0 16px;border:1px solid rgba(66,225,139,.42);background:rgba(18,124,75,.18);border-radius:10px;color:#bdfbd7}
.code-input{text-align:center!important;font-size:1.75rem!important;font-weight:900!important;letter-spacing:.32em!important;font-variant-numeric:tabular-nums;padding-left:calc(14px + .32em)!important}
.resend-form{margin-top:8px}.auth-help{margin:16px 0 0;text-align:center;color:#939cab;font-size:.79rem;line-height:1.5}.forgot-link{display:block;margin-top:10px;text-align:right;color:#ffd54a;font-size:.82rem;font-weight:700;text-decoration:none}.forgot-link:hover{text-decoration:underline}
/* Közepes/laptop képernyőn a hosszú Visszavonás + Lobby gomb ne préselődjön egymásra. */
@media(min-width:721px) and (max-width:1400px){
  .tour-actions{flex-direction:column;align-items:stretch;justify-content:center;gap:5px}
  .tour-actions .btn{width:100%;white-space:normal!important;line-height:1.05;padding:7px 6px!important;font-size:.66rem!important;text-align:center}
}
@media(max-width:720px){
  .tour-actions{flex-direction:row;align-items:stretch}
  .tour-actions .btn{white-space:normal!important;line-height:1.1}
  .code-input{font-size:1.45rem!important;letter-spacing:.24em!important}
}

/* ===== QuizMaster v5.21 – Public Beta / Question Bank 2.0 / Kommunikáció ===== */
.admin-head-actions{display:flex;gap:8px;flex-wrap:wrap}.comm-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.comm-form .wide{grid-column:1/-1}.comm-actions{display:flex;gap:10px;flex-wrap:wrap}.comm-actions button{flex:1 1 220px}.contact-admin-list{display:grid;gap:10px}.contact-admin-card{padding:14px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.025)}.contact-admin-card.new{border-color:rgba(255,213,74,.35)}.contact-admin-card>div{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.contact-admin-card small{display:block;width:100%;color:#8f98a7;margin-top:3px}.contact-admin-card p{white-space:pre-wrap;line-height:1.55;color:#d8dde6}.bulk-import textarea{width:100%;box-sizing:border-box;min-height:180px}.bulk-import .check-row{margin:12px 0}.public-info-page{width:min(850px,100%);margin:24px auto 50px}.public-info-head,.info-card,.contact-form{padding:24px;border-radius:20px;background:rgba(7,9,15,.95);border:1px solid rgba(255,213,74,.2);box-shadow:0 18px 50px rgba(0,0,0,.35)}.public-info-head{text-align:center;margin-bottom:16px}.public-info-head h1{margin:4px 0 8px;color:#fff}.public-info-head p{color:#cbd1dc;line-height:1.6}.info-card{margin-top:14px}.info-card h2{color:#ffe16b}.impressum-list{display:grid;grid-template-columns:180px 1fr;gap:10px 16px}.impressum-list dt{color:#9ea6b4}.impressum-list dd{margin:0;color:#fff}.legal-note{padding:12px;border-radius:10px;background:rgba(255,174,0,.1);color:#ffdca0}.contact-form{display:grid;gap:13px}.contact-form label{display:grid;gap:6px;color:#dce1e9;font-weight:700}.contact-form input,.contact-form select,.contact-form textarea{width:100%;box-sizing:border-box}.honeypot{position:absolute!important;left:-9999px!important;opacity:0!important}.marketing-check strong{font-weight:500;color:#8993a2}.question-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.question-table td small{display:block;margin-top:4px;color:#929ba9}.status-pill.inactive{opacity:.72}.admin-grid-form label small{font-weight:400}.question-form .wide{grid-column:1/-1}
@media(max-width:900px){.comm-stats,.question-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.impressum-list{grid-template-columns:1fr}.impressum-list dt{margin-top:8px}.admin-head-actions{width:100%}}
@media(max-width:600px){.comm-actions{display:grid;grid-template-columns:1fr}.public-info-head,.info-card,.contact-form{padding:18px 14px}.question-stats{grid-template-columns:1fr 1fr}}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* ===== Mini QuizMaster ===== */

.mini-quiz {
  max-width: 1100px;
  margin: 40px auto;
  padding: 30px 20px;
}

.mini-quiz-head {
  text-align: center;
  margin-bottom: 24px;
}

.mini-quiz-head h2 {
  margin: 6px 0 10px;
  font-size: clamp(28px, 4vw, 44px);
}

.mini-quiz-head p {
  margin: 0;
  opacity: .85;
}

.mini-quiz-card {
  max-width: 820px;
  margin: 0 auto;
  padding: 28px;
  background: rgba(6, 7, 12, .92);
  border: 1px solid rgba(255, 204, 0, .55);
  border-radius: 22px;
  box-shadow: 0 18px 60px rgba(0, 0, 0, .38);
}

.mini-quiz-progress {
  margin-bottom: 12px;
  opacity: .8;
}

.mini-quiz-meta {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}

.mini-quiz-meta span {
  padding: 6px 10px;
  border: 1px solid rgba(255, 204, 0, .35);
  border-radius: 999px;
  font-size: 13px;
  color: #ffd400;
}

.mini-quiz-question h3 {
  margin: 0 0 22px;
  font-size: clamp(21px, 3vw, 30px);
  line-height: 1.3;
}

.mini-quiz-answers {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.mini-quiz-answer {
  min-height: 68px;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 14px;
  background: #151824;
  color: #fff;
  text-align: left;
  cursor: pointer;
  font: inherit;
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
}

.mini-quiz-answer:hover:not(:disabled) {
  transform: translateY(-2px);
  border-color: #ffd400;
  background: #1d2130;
}

.mini-quiz-answer strong {
  color: #ffd400;
  margin-right: 7px;
}

.mini-quiz-answer.is-correct {
  border-color: #35d07f;
  background: rgba(53, 208, 127, .14);
}

.mini-quiz-answer.is-wrong {
  border-color: #ff5b5b;
  background: rgba(255, 91, 91, .13);
}

.mini-quiz-feedback {
  min-height: 26px;
  margin-top: 18px;
  font-weight: 700;
}

.mini-quiz-next {
  margin-top: 14px;
}

.mini-quiz-result {
  text-align: center;
  padding: 18px 4px;
}

.mini-quiz-result h3 {
  font-size: clamp(30px, 5vw, 48px);
  margin: 8px 0 12px;
  color: #ffd400;
}

.mini-quiz-result-actions {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 22px;
}

@media (max-width: 700px) {
  .mini-quiz {
    padding: 20px 12px;
  }

  .mini-quiz-card {
    padding: 20px 15px;
  }

  .mini-quiz-answers {
    grid-template-columns: 1fr;
  }
}
/* ===== Mini QuizMaster fejléc kiemelés ===== */

.mini-quiz-head {
  max-width: 820px;
  margin: 0 auto 24px;
  padding: 22px 20px;
  text-align: center;
  background: rgba(5, 6, 10, .88);
  border: 1px solid rgba(255, 204, 0, .45);
  border-radius: 18px;
  box-shadow:
    0 12px 40px rgba(0, 0, 0, .55),
    inset 0 0 30px rgba(255, 204, 0, .03);
}

.mini-quiz-head .eyebrow {
  display: block;
  margin-bottom: 7px;
  color: #ffd400;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 3px;
}

.mini-quiz-head h2 {
  margin: 4px 0 10px;
  color: #fff;
  font-size: clamp(32px, 5vw, 52px);
  font-weight: 900;
  line-height: 1.1;
  text-shadow: 0 3px 15px rgba(0,0,0,.9);
}

.mini-quiz-head p {
  margin: 0;
  color: #f2f2f2;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 600;
  line-height: 1.5;
}

@media (max-width: 700px) {
  .mini-quiz-head {
    padding: 18px 14px;
  }

  .mini-quiz-head .eyebrow {
    font-size: 12px;
  }
}
/* BETELT állapot */
.join-btn.full-btn {
  background: #2f3238 !important;
  color: #b7bac2 !important;
  border-color: #555b66 !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
  opacity: 1 !important;
}

.join-btn.full-btn:hover {
  background: #2f3238 !important;
  color: #b7bac2 !important;
  border-color: #555b66 !important;
  transform: none !important;
  box-shadow: none !important;
}

/* v5.23 – admin napi statisztika: teljesen fedett, jól olvasható kártyák */
.analytics-today>div{background:#11151d!important;border:1px solid rgba(255,213,74,.42)!important;box-shadow:0 8px 22px rgba(0,0,0,.28)!important;}
.analytics-today small{color:#c9ced7!important;}
.analytics-today strong{color:#ffd54a!important;}
