:root{
  --bg:#f5f7fb;
  --card:#ffffff;
  --text:#1f2a44;
  --muted:#6b7280;
  --border:#e5e7eb;
  --blue1:#1f6feb;
  --blue2:#1b5fd6;
  --shadow:0 10px 30px rgba(16,24,40,.10);
  --radius:14px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica,Arial; background:var(--bg); color:var(--text)}

.header-hero{
  width:100%;
  background: #0b3a8a;
  background-image: url('/static/img/header.png');
  background-size: cover;
  background-position: center;
  border-bottom: 1px solid rgba(255,255,255,.15);
}
/* Стиль для desktop версий (ширина экрана больше 768px) */
.header-hero {
    background-image: url('/static/img/header.png'); /* Путь к картинке */
    background-size: cover; /* Растягиваем по ширине */
    background-position: center center; /* Центрируем картинку */
    height: 300px; /* Высота блока для десктопной версии */
}

/* Стиль для мобильных версий (ширина экрана меньше 768px) */
@media (max-width: 768px) {
    .header-hero {
        background-image: url('/static/img/header_mob.png'); /* Указание отдельной картинки для мобильных, если она есть */
        background-size: cover;
        background-position: center center;
        height: 200px; /* Высота блока для мобильных устройств */
    }
}

.container{max-width:980px;margin:0 auto;padding:20px}

.card{background:var(--card); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow)}
.card.pad{padding:22px}

.brand-row{display:flex; align-items:center; gap:14px}
.brand-title{font-size:26px; font-weight:800; letter-spacing:.2px; margin:0}

.grid{display:grid; grid-template-columns: 1fr 420px; gap:18px; align-items:start}
@media (max-width: 900px){
  .grid{grid-template-columns:1fr}
}

.h2{margin:0 0 10px 0; font-size:20px; font-weight:800}
.rules{color:var(--text); line-height:1.5; font-size:14.5px}
.rules .warn{font-weight:800}
.rules p{margin:10px 0}

.field{margin:12px 0}
.label{display:block; font-size:14px; font-weight:700; margin:0 0 6px 0}
.input{width:100%; padding:12px 12px; border:1px solid var(--border); border-radius:10px; font-size:14.5px; outline:none}
.input:focus{border-color:#b4ccff; box-shadow:0 0 0 4px rgba(31,111,235,.10)}
.help{font-size:12.5px; color:var(--muted)}
.error{color:#b42318; font-size:13px; margin-top:6px}

.btn{
  display:inline-block;
  width:100%;
  padding:12px 14px;
  border:0;
  border-radius:12px;
  color:#fff;
  font-weight:800;
  cursor:pointer;
  background: linear-gradient(180deg, var(--blue1), var(--blue2));
  box-shadow: 0 10px 24px rgba(31,111,235,.25);
}
.btn:active{transform: translateY(1px)}

.topbar{display:flex; justify-content:space-between; align-items:center; padding:16px 18px; border-bottom:1px solid var(--border)}
.topbar .left{font-weight:800}
.topbar .right{display:flex; align-items:baseline; gap:10px}
.topbar .small{color:var(--muted); font-weight:700}
.topbar .timer{font-size:30px; font-weight:900; letter-spacing:.5px}

.question-wrap{max-width:980px; margin:18px auto; padding:0 20px}
.question-card{overflow:hidden}
.q-body{padding:20px 22px}
.q-text{font-size:18px; font-weight:800; line-height:1.35; margin:0 0 16px 0}

.choice{display:flex; align-items:center; gap:10px; padding:14px 14px; border:1px solid var(--border); border-radius:12px; margin:10px 0; cursor:pointer; transition:.15s ease}
.choice:hover{border-color:#c9dcff}
.choice input{transform: scale(1.1)}
.choice.selected{border-color:#c9dcff; background:rgba(31,111,235,.06)}
.choice .letter{font-weight:900; color:var(--muted)}
.choice .text{font-weight:700}

.subnote{color:var(--muted); font-weight:700; margin:0 0 10px 0}

.footer-actions{padding:16px 22px; border-top:1px solid var(--border)}
.footer-actions .btn{max-width:360px; display:block; margin:0 auto}

.center{display:flex; align-items:center; justify-content:center; min-height:70vh; padding:20px}
.finish-card{max-width:760px; width:100%; text-align:center}
.finish-inner{padding:32px 26px}
.finish-title{font-size:32px; font-weight:900; margin:16px 0 8px 0}
.finish-text{font-size:18px; color:var(--text); margin:0 0 14px 0}
.finish-sub{font-size:15px; color:var(--muted); line-height:1.5; margin:0 0 18px 0}
.icon{width:84px; height:84px; margin:0 auto}

.alert{background:#fff7ed; border:1px solid #fed7aa; color:#9a3412; padding:10px 12px; border-radius:12px; margin-bottom:12px; font-weight:700}
