:root {
  --pushkin-radius: 28px;
  --pushkin-team-one: #2f8df6;
  --pushkin-team-two: #ff9f32;
}

.pushkin-page { width: min(1180px, calc(100% - 32px)); }

.pushkin-intro {
  min-height: calc(100vh - 180px);
  display: grid;
  place-items: center;
  align-content: center;
  gap: 18px;
  text-align: center;
  background:
    radial-gradient(circle at 86% 12%, rgba(255,227,107,.45), transparent 34%),
    radial-gradient(circle at 12% 86%, rgba(54,198,255,.28), transparent 42%),
    linear-gradient(145deg, rgba(255,255,255,.94), rgba(246,253,255,.9));
}

.pushkin-intro h1,
.pushkin-head h1,
.pushkin-modal__card h2 {
  margin: 0;
  font-family: "Comfortaa", "Onest", sans-serif;
  color: #2b6ab8;
  line-height: 1.08;
}

.pushkin-intro h1 { font-size: clamp(38px, 6vw, 70px); }
.pushkin-head h1 { font-size: clamp(28px, 4vw, 46px); }
.pushkin-modal__card h2 { font-size: clamp(30px, 4vw, 46px); }

.pushkin-intro > p:not(.game-label) {
  max-width: 790px;
  margin: 0;
  color: #365877;
  font-size: clamp(18px, 2.1vw, 23px);
}

.pushkin-rules { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; }
.pushkin-rules span {
  padding: 10px 14px;
  border: 1px solid rgba(47,141,246,.25);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(255,255,255,.9), rgba(226,248,255,.82));
  color: #315d85;
  font-weight: 700;
}

.pushkin-team-inputs {
  width: min(700px, 100%);
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
}

.pushkin-team-inputs label { display:grid; gap:7px; text-align:left; color:#315d85; font-weight:800; }
.pushkin-team-inputs input {
  width: 100%;
  min-height: 52px;
  padding: 12px 15px;
  border: 1px solid rgba(47,141,246,.3);
  border-radius: 16px;
  background: linear-gradient(140deg, rgba(255,255,255,.96), rgba(228,247,255,.9));
  box-shadow: 0 10px 22px rgba(37,91,143,.11);
  color: #235784;
  outline: none;
  font-weight: 700;
}
.pushkin-team-inputs input:focus { border-color:#2f8df6; box-shadow:0 0 0 4px rgba(47,141,246,.13); }

.pushkin-shell { display:grid; gap:16px; }
.pushkin-head { display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; }
.pushkin-head__actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }

.pushkin-round-box {
  min-width: 116px;
  padding: 10px 14px;
  border: 1px solid rgba(47,141,246,.27);
  border-radius: 18px;
  background: linear-gradient(140deg, rgba(255,255,255,.94), rgba(228,247,255,.9));
  text-align:center;
  box-shadow: 0 10px 22px rgba(37,91,143,.11);
}
.pushkin-round-box span { display:block; color:#4f6f8e; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.pushkin-round-box strong { color:#ff9f32; font-family:"Comfortaa","Onest",sans-serif; font-size:26px; line-height:1; }
.pushkin-round-box b { font-weight:700; }

.pushkin-scoreboard { display:grid; grid-template-columns:minmax(0,1fr) 74px minmax(0,1fr); gap:14px; align-items:center; }
.pushkin-team-card {
  min-width:0;
  padding:18px;
  border:1px solid rgba(47,141,246,.27);
  border-radius:22px;
  background:linear-gradient(145deg, rgba(255,255,255,.96), rgba(228,247,255,.9));
  text-align:center;
  box-shadow:0 10px 22px rgba(37,91,143,.11);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.pushkin-team-card--two { background:linear-gradient(145deg, rgba(255,255,255,.96), rgba(255,241,221,.92)); }
.pushkin-team-card.is-active { transform:translateY(-4px); border-color:rgba(47,141,246,.75); box-shadow:0 18px 36px rgba(47,141,246,.2); }
.pushkin-team-card--two.is-active { border-color:rgba(255,159,50,.78); box-shadow:0 18px 36px rgba(255,159,50,.2); }
.pushkin-team-card__caption { display:block; color:#4f6f8e; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.pushkin-team-card h2 { margin:6px 0 10px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#235784; font-family:"Comfortaa","Onest",sans-serif; font-size:clamp(20px,2.6vw,30px); }
.pushkin-team-card__score strong { display:block; font-family:"Comfortaa","Onest",sans-serif; font-size:clamp(44px,6vw,66px); line-height:1; }
.pushkin-team-card--one .pushkin-team-card__score strong { color:var(--pushkin-team-one); }
.pushkin-team-card--two .pushkin-team-card__score strong { color:var(--pushkin-team-two); }
.pushkin-team-card__score span { display:block; margin-top:5px; color:#4f6f8e; font-size:13px; font-weight:700; }
.pushkin-turn-marker { width:62px; height:62px; display:grid; place-items:center; border-radius:50%; background:linear-gradient(135deg,var(--sun),var(--orange),var(--coral)); color:white; box-shadow:0 12px 24px rgba(255,159,50,.24); font-family:"Comfortaa",sans-serif; font-weight:700; }

.pushkin-question-card {
  min-height:390px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:22px;
  padding:clamp(24px,5vw,52px);
  border:1px solid rgba(47,141,246,.33);
  border-radius:var(--pushkin-radius);
  background:
    radial-gradient(circle at 89% 10%, rgba(255,227,107,.28), transparent 31%),
    radial-gradient(circle at 8% 90%, rgba(54,198,255,.18), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.97), rgba(246,253,255,.93));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4), 0 18px 36px rgba(24,53,79,.16);
  text-align:center;
}
.pushkin-question-card__top { width:100%; display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
.pushkin-turn-badge { padding:9px 14px; border-radius:999px; background:linear-gradient(130deg,var(--blue),var(--blue-2),#58e4b5); color:#fff; font-weight:800; box-shadow:0 10px 22px rgba(47,141,246,.3); }
.pushkin-turn-badge.is-team-two { background:linear-gradient(135deg,#ffbd68,#ff8d32); box-shadow:0 10px 22px rgba(255,159,50,.28); }
.pushkin-question-number { color:#4f6f8e; font-weight:700; }
.pushkin-question-card > h2 { max-width:930px; margin:0; color:#235784; font-family:"Comfortaa","Onest",sans-serif; font-size:clamp(25px,3.6vw,44px); line-height:1.3; }

.pushkin-answer { width:min(820px,100%); padding:16px 18px; border:1px solid rgba(126,217,87,.42); border-radius:20px; background:linear-gradient(145deg, rgba(243,255,237,.96), rgba(210,255,232,.83)); }
.pushkin-answer span { display:block; color:#4c7b5e; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.pushkin-answer strong { display:block; margin-top:5px; color:#2a8d51; font-size:clamp(21px,2.7vw,31px); }
.pushkin-question-actions, .pushkin-judge-actions { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }
.pushkin-btn--correct { background:linear-gradient(135deg,#7ed957,#49bd69); color:#fff; box-shadow:0 10px 22px rgba(73,189,105,.28); }
.pushkin-btn--wrong { background:linear-gradient(135deg,#ff9eae,#f1687e); color:#fff; box-shadow:0 10px 22px rgba(241,104,126,.25); }
.pushkin-status { margin:0; color:#365877; font-size:17px; font-weight:700; text-align:center; }

.pushkin-modal { position:fixed; inset:0; z-index:1500; display:grid; place-items:center; padding:18px; }
.pushkin-modal__backdrop { position:absolute; inset:0; background:rgba(24,53,79,.42); backdrop-filter:blur(5px); }
.pushkin-modal__card { position:relative; width:min(650px,100%); padding:clamp(26px,5vw,44px); border:1px solid rgba(47,141,246,.33); border-radius:28px; background:radial-gradient(circle at 86% 10%,rgba(255,227,107,.44),transparent 34%),radial-gradient(circle at 10% 90%,rgba(54,198,255,.26),transparent 38%),rgba(255,255,255,.97); box-shadow:0 26px 70px rgba(24,53,79,.3); text-align:center; }
.pushkin-modal__card > p:not(.game-label) { color:#365877; font-size:18px; }
.pushkin-final-score { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:22px 0; }
.pushkin-final-score > div { padding:16px; border:1px solid rgba(47,141,246,.25); border-radius:18px; background:rgba(255,255,255,.72); }
.pushkin-final-score span { display:block; color:#4f6f8e; font-weight:800; }
.pushkin-final-score strong { display:block; margin-top:6px; color:#ff9f32; font-family:"Comfortaa",sans-serif; font-size:44px; }
.pushkin-modal__actions { display:flex; justify-content:center; gap:10px; flex-wrap:wrap; }
body.modal-open { overflow:hidden; }

@media (max-width:700px) {
  .pushkin-page { width:calc(100% - 16px); }
  .pushkin-intro { min-height:calc(100dvh - 128px); align-content:start; }
  .pushkin-team-inputs, .pushkin-scoreboard { grid-template-columns:1fr; }
  .pushkin-turn-marker { display:none; }
  .pushkin-head__actions, .pushkin-head__actions .btn, .pushkin-round-box { width:100%; }
  .pushkin-question-card { min-height:430px; border-radius:20px; padding:22px 18px; }
  .pushkin-question-card__top { justify-content:center; }
  .pushkin-question-actions, .pushkin-judge-actions, .pushkin-question-actions .btn, .pushkin-judge-actions .btn { width:100%; }
  .pushkin-final-score { grid-template-columns:1fr; }
}

/* ===== Варианты ответов ===== */
.pushkin-options {
  width: min(940px, 100%);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.pushkin-option {
  min-height: 76px;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  align-items: center;
  gap: 13px;
  padding: 13px 16px;
  border: 1px solid rgba(47, 141, 246, .29);
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(255,255,255,.97), rgba(228,247,255,.9));
  color: #235784;
  box-shadow: 0 10px 22px rgba(37,91,143,.1);
  text-align: left;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, opacity .18s ease;
}

.pushkin-option:hover:not(:disabled),
.pushkin-option:focus-visible:not(:disabled) {
  transform: translateY(-2px);
  border-color: rgba(47,141,246,.7);
  box-shadow: 0 15px 28px rgba(47,141,246,.17);
  outline: none;
}

.pushkin-option__letter {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: linear-gradient(135deg, #2f8df6, #36c6ff);
  color: #fff;
  font-family: "Comfortaa", "Onest", sans-serif;
  font-size: 20px;
  font-weight: 700;
  box-shadow: 0 8px 16px rgba(47,141,246,.22);
}

.pushkin-option__text {
  font-size: clamp(16px, 1.8vw, 20px);
  font-weight: 700;
  line-height: 1.35;
}

.pushkin-option.is-correct {
  border-color: rgba(73,189,105,.72);
  background: linear-gradient(145deg, rgba(244,255,238,.98), rgba(210,255,232,.9));
  color: #28774a;
  box-shadow: 0 14px 28px rgba(73,189,105,.18);
}

.pushkin-option.is-correct .pushkin-option__letter {
  background: linear-gradient(135deg, #7ed957, #49bd69);
  box-shadow: 0 8px 16px rgba(73,189,105,.25);
}

.pushkin-option.is-wrong {
  border-color: rgba(241,104,126,.68);
  background: linear-gradient(145deg, rgba(255,245,247,.98), rgba(255,220,226,.9));
  color: #9d4053;
}

.pushkin-option.is-wrong .pushkin-option__letter {
  background: linear-gradient(135deg, #ff9eae, #f1687e);
  box-shadow: 0 8px 16px rgba(241,104,126,.24);
}

.pushkin-option.is-dimmed {
  opacity: .48;
}

.pushkin-option:disabled {
  cursor: default;
}

.pushkin-feedback {
  width: min(820px, 100%);
  padding: 15px 18px;
  border: 1px solid rgba(126,217,87,.42);
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(243,255,237,.96), rgba(210,255,232,.83));
}

.pushkin-feedback span {
  display: block;
  color: #4c7b5e;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.pushkin-feedback strong {
  display: block;
  margin-top: 5px;
  color: #2a8d51;
  font-size: clamp(19px, 2.4vw, 28px);
}

@media (max-width: 700px) {
  .pushkin-options {
    grid-template-columns: 1fr;
  }

  .pushkin-option {
    min-height: 68px;
    grid-template-columns: 42px minmax(0, 1fr);
    padding: 11px 13px;
    border-radius: 17px;
  }

  .pushkin-option__letter {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    font-size: 18px;
  }
}
