:root {
  --blue-950: #020b20;
  --blue-900: #061638;
  --blue-800: #08255e;
  --blue-700: #0c3f91;
  --blue-500: #1b76d7;
  --gold-300: #ffe397;
  --gold-400: #ffd264;
  --gold-500: #e9a827;
  --gold-700: #9b6510;
  --red: #ff405c;
  --green: #4ee4a8;
  --text: #fffaf0;
  --muted: #cbd8ee;
  --panel: rgba(3, 17, 48, .82);
  --panel-strong: rgba(2, 10, 29, .95);
  --safe-top: max(8px, env(safe-area-inset-top));
  --safe-bottom: max(7px, env(safe-area-inset-bottom));
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html, body { width: 100%; height: 100%; margin: 0; overflow: hidden; overscroll-behavior: none; background: var(--blue-950); }
body { color: var(--text); font-family: "Segoe UI", Arial, sans-serif; touch-action: manipulation; user-select: none; }
button, a { font: inherit; }
button { color: inherit; }
img { display: block; max-width: 100%; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.app-shell {
  position: relative;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  isolation: isolate;
  background:
    linear-gradient(180deg, rgba(1, 10, 35, .28), rgba(1, 7, 23, .76)),
    url("assets/img/euroquiz_background.jpg") center / cover no-repeat;
}
.app-shell::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(circle at 50% 40%, transparent 0 22%, rgba(0, 4, 18, .22) 56%, rgba(0, 3, 13, .72) 100%);
}
.ambient-map { position: absolute; inset: 0; z-index: -1; opacity: .25; background: radial-gradient(circle at 50% 50%, rgba(28,111,215,.18), transparent 54%); }
.ambient-particles { position: absolute; z-index: -1; width: min(52vw, 680px); opacity: .22; pointer-events: none; mix-blend-mode: screen; animation: drift 22s ease-in-out infinite alternate; }
.particles-a { left: -8%; top: -10%; }
.particles-b { right: -12%; bottom: -14%; transform: rotate(180deg); animation-delay: -9s; }
@keyframes drift { from { translate: 0 -8px; rotate: -2deg; } to { translate: 18px 18px; rotate: 3deg; } }

.screen { position: absolute; inset: 0; display: none; min-height: 0; padding: var(--safe-top) clamp(10px, 2vw, 30px) var(--safe-bottom); }
.screen.active { display: flex; }

.sound-toggle {
  position: fixed;
  z-index: 30;
  top: var(--safe-top);
  right: max(9px, env(safe-area-inset-right));
  min-width: 46px;
  height: 38px;
  padding: 0 12px;
  display: inline-flex;
  gap: 7px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 211, 100, .52);
  border-radius: 999px;
  background: rgba(3, 18, 51, .84);
  box-shadow: inset 0 0 16px rgba(255, 204, 72, .08), 0 5px 20px rgba(0,0,0,.3);
  cursor: pointer;
}
.sound-toggle.muted { opacity: .55; }
.sound-label { font-size: .68rem; font-weight: 800; letter-spacing: .12em; }

.start-screen { align-items: stretch; justify-content: center; }
.start-content {
  width: min(1040px, 100%);
  height: calc(100% - 28px);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(5px, 1.2vh, 13px);
  padding-top: 2px;
}
.game-logo { width: clamp(190px, 28vw, 370px); max-height: 28vh; object-fit: contain; filter: drop-shadow(0 14px 24px rgba(0,0,0,.45)); }
.intro-line { max-width: 720px; margin: 0; text-align: center; color: #eef5ff; font-size: clamp(.78rem, 1.6vw, 1.05rem); line-height: 1.25; text-shadow: 0 2px 8px #000; }
.menu-stats {
  width: min(760px, 100%);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid rgba(255, 210, 94, .3);
  border-radius: 16px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(7, 35, 91, .8), rgba(2, 15, 43, .9));
  box-shadow: 0 16px 35px rgba(0,0,0,.25), inset 0 0 25px rgba(255,210,95,.035);
  backdrop-filter: blur(11px);
}
.menu-stats div { min-width: 0; padding: clamp(6px, 1vh, 10px) 5px; display: flex; flex-direction: column; align-items: center; border-right: 1px solid rgba(255,255,255,.08); }
.menu-stats div:last-child { border-right: 0; }
.menu-stats strong { color: var(--gold-300); font-family: Georgia, serif; font-size: clamp(.95rem, 2.2vw, 1.5rem); }
.menu-stats span { color: var(--muted); font-size: clamp(.58rem, 1.2vw, .78rem); text-align: center; }
.level-section { width: min(920px, 100%); }
.level-section h2 { margin: 0 0 clamp(4px, .8vh, 8px); text-align: center; color: var(--gold-300); font-family: Georgia, serif; font-size: clamp(.9rem, 1.9vw, 1.25rem); letter-spacing: .16em; }
.level-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(7px, 1.3vw, 14px); }
.level-card {
  min-width: 0;
  min-height: clamp(82px, 15vh, 135px);
  padding: clamp(7px, 1vw, 13px);
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: clamp(54px, 7vw, 82px) 1fr;
  grid-template-rows: 1fr auto;
  align-items: center;
  gap: 3px 9px;
  border: 1px solid rgba(255, 210, 97, .48);
  border-radius: 17px;
  background: linear-gradient(150deg, rgba(14, 64, 148, .92), rgba(2, 19, 55, .96));
  box-shadow: inset 0 0 30px rgba(255,216,116,.06), 0 12px 30px rgba(0,0,0,.3);
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, filter .18s ease;
}
.level-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, transparent 25%, rgba(255,255,255,.09) 45%, transparent 65%); translate: -120% 0; transition: translate .4s ease; }
.level-card:hover, .level-card:focus-visible { transform: translateY(-4px); border-color: var(--gold-300); filter: brightness(1.1); outline: none; }
.level-card:hover::after, .level-card:focus-visible::after { translate: 120% 0; }
.level-card img { width: 100%; max-height: 76px; object-fit: contain; filter: drop-shadow(0 6px 10px rgba(0,0,0,.28)); grid-row: 1 / 3; }
.level-copy { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; text-align: left; }
.level-copy strong { color: var(--gold-300); font-family: Georgia, serif; font-size: clamp(1rem, 2.2vw, 1.55rem); letter-spacing: .07em; }
.level-copy small { color: #dce7f8; font-size: clamp(.58rem, 1.05vw, .76rem); line-height: 1.12; }
.level-count { justify-self: start; color: #a8c8f3; font-size: clamp(.55rem, 1vw, .7rem); font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.home-bottom-row { width: min(920px, 100%); display: flex; align-items: center; justify-content: center; gap: 16px; }
.best-line { margin: 0; color: var(--muted); font-size: .78rem; }
.best-line strong { color: var(--gold-300); }
.game-credit { position: absolute; left: 0; right: 0; bottom: var(--safe-bottom); text-align: center; font-size: clamp(.62rem, 1.3vw, .78rem); letter-spacing: .06em; }
.game-credit a, .mini-credit a { color: #dce9ff; text-decoration: none; text-shadow: 0 2px 8px #000; }
.game-credit a:hover, .mini-credit a:hover { color: var(--gold-300); }

.gold-button {
  min-height: 40px;
  padding: 9px 18px;
  border: 1px solid var(--gold-400);
  border-radius: 11px;
  color: #07132c;
  background: linear-gradient(180deg, #ffeaa6, #d79b22);
  font-weight: 900;
  letter-spacing: .06em;
  cursor: pointer;
  box-shadow: inset 0 1px rgba(255,255,255,.65), 0 8px 20px rgba(0,0,0,.3);
}
.gold-button.secondary { color: #fff8df; background: rgba(3, 24, 67, .88); }
.gold-button:hover, .gold-button:focus-visible { filter: brightness(1.12); outline: 2px solid rgba(255,255,255,.5); outline-offset: 2px; }

.game-screen { flex-direction: column; gap: clamp(4px, .8vh, 9px); }
.game-hud {
  width: min(1100px, 100%);
  margin: 0 auto;
  padding-right: 70px;
  display: grid;
  grid-template-columns: 1.15fr 1fr 1fr 1fr auto;
  gap: clamp(5px, 1vw, 10px);
  align-items: stretch;
}
.hud-block { min-width: 0; padding: clamp(5px, 1vh, 10px) 8px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid rgba(255, 211, 103, .28); border-radius: 12px; background: rgba(2, 19, 55, .78); backdrop-filter: blur(9px); }
.hud-block > span { color: #afc6e8; font-size: clamp(.48rem, 1vw, .66rem); letter-spacing: .12em; font-weight: 800; }
.hud-block strong { color: var(--gold-300); font-family: Georgia, serif; font-size: clamp(.82rem, 2vw, 1.25rem); white-space: nowrap; }
.hud-block small { color: #9cb5db; font-size: .62em; }
.level-hud strong { text-transform: uppercase; }
.timer-block { width: clamp(55px, 8vw, 72px); display: grid; place-items: center; }
.timer-ring { --progress: 1; width: clamp(48px, 7vw, 64px); aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--gold-400) calc(var(--progress) * 1turn), rgba(255,255,255,.12) 0); position: relative; box-shadow: 0 0 18px rgba(255,205,74,.18); }
.timer-ring::before { content: ""; position: absolute; inset: 5px; border-radius: inherit; background: #06173d; }
.timer-ring span { position: relative; z-index: 1; color: #fff; font-size: clamp(.9rem, 2vw, 1.2rem); font-weight: 900; }
.timer-block.warning .timer-ring { background: conic-gradient(var(--red) calc(var(--progress) * 1turn), rgba(255,255,255,.1) 0); animation: timerPulse .8s ease-in-out infinite alternate; }
@keyframes timerPulse { to { filter: drop-shadow(0 0 9px var(--red)); } }
.progress-track { width: min(1100px, 100%); height: 4px; margin: 0 auto; overflow: hidden; border-radius: 10px; background: rgba(255,255,255,.1); }
.progress-bar { width: 1%; height: 100%; background: linear-gradient(90deg, var(--blue-500), var(--gold-400)); transition: width .35s ease; }
.status-row { width: min(1100px, 100%); min-height: 37px; margin: 0 auto; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; }
.lives { display: flex; align-items: center; gap: clamp(2px, .6vw, 6px); min-width: 0; }
.life-icon { width: clamp(25px, 4.5vw, 42px); aspect-ratio: 1; object-fit: contain; filter: drop-shadow(0 3px 7px rgba(0,0,0,.5)); animation: lifeIn .34s both; }
.life-icon.broken { opacity: .66; filter: grayscale(.35) drop-shadow(0 3px 7px rgba(0,0,0,.5)); }
@keyframes lifeIn { from { opacity: 0; scale: .5; } to { opacity: 1; scale: 1; } }
.special-badge { justify-self: center; padding: 6px 11px; border: 1px solid var(--gold-400); border-radius: 999px; color: #241500; background: linear-gradient(180deg, #fff0b0, #dca42d); font-size: clamp(.56rem, 1.2vw, .72rem); font-weight: 900; letter-spacing: .04em; animation: specialPulse 1s ease-in-out infinite alternate; }
@keyframes specialPulse { to { box-shadow: 0 0 20px rgba(255,210,80,.5); } }
.streak-notice { justify-self: end; color: var(--gold-300); text-align: right; font-size: clamp(.58rem, 1.1vw, .72rem); opacity: 0; transform: translateY(-4px); transition: .2s; }
.streak-notice.show { opacity: 1; transform: none; }
.question-area { width: min(1100px, 100%); min-height: 0; flex: 1; margin: 0 auto; display: grid; grid-template-rows: minmax(0, 1fr) auto; gap: clamp(8px, 1.5vh, 14px); }
.question-card { position: relative; min-height: 0; overflow: hidden; display: grid; place-items: center; padding: clamp(18px, 3vw, 34px); border: 1px solid rgba(255, 214, 108, .48); border-radius: 23px; background: linear-gradient(145deg, rgba(8, 42, 103, .88), rgba(1, 13, 40, .95)); box-shadow: inset 0 0 50px rgba(255,215,108,.045), 0 18px 42px rgba(0,0,0,.32); backdrop-filter: blur(12px); }
.question-card::before { content: ""; position: absolute; inset: 7px; border: 1px solid rgba(255,255,255,.08); border-radius: 17px; pointer-events: none; }
.question-decoration { position: absolute; inset: 0; opacity: .18; pointer-events: none; }
.question-decoration span { position: absolute; width: 130px; height: 130px; border: 1px solid var(--gold-400); border-radius: 50%; }
.question-decoration span:nth-child(1) { left: -65px; top: -65px; }
.question-decoration span:nth-child(2) { right: -65px; bottom: -65px; }
.question-decoration span:nth-child(3) { width: 260px; height: 260px; left: 50%; top: 50%; translate: -50% -50%; opacity: .14; }
.question-content { position: relative; z-index: 1; width: min(850px, 100%); display: flex; flex-direction: column; align-items: center; gap: clamp(12px, 2vh, 20px); }
.question-meta { display: flex; gap: 8px; }
.category-chip, .difficulty-chip { padding: 5px 10px; border-radius: 999px; font-size: clamp(.55rem, 1vw, .7rem); font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.category-chip { color: #d8e9ff; border: 1px solid rgba(115,180,255,.45); background: rgba(19,80,158,.35); }
.difficulty-chip { color: #2b1b00; border: 1px solid var(--gold-300); background: linear-gradient(180deg, #ffe89d, #d7a02f); }
.question-text { margin: 0; text-align: center; color: #fff; font-family: Georgia, serif; font-size: clamp(1.18rem, 3vw, 2.05rem); line-height: 1.25; text-wrap: balance; text-shadow: 0 3px 12px #000; }
.question-card.length-long .question-text { font-size: clamp(1.03rem, 2.5vw, 1.7rem); }
.question-card.length-very-long .question-text { font-size: clamp(.9rem, 2.1vw, 1.45rem); }
.answer-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(9px, 1.5vw, 16px); }
.answer-button { min-height: clamp(58px, 11vh, 88px); padding: 10px 16px; display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; border-radius: 17px; border: 1px solid rgba(255,255,255,.2); color: #fff; font-weight: 900; font-size: clamp(.88rem, 2vw, 1.18rem); letter-spacing: .06em; cursor: pointer; box-shadow: inset 0 1px rgba(255,255,255,.16), 0 12px 30px rgba(0,0,0,.3); transition: transform .15s ease, filter .15s ease; }
.answer-button:hover, .answer-button:focus-visible { transform: translateY(-2px); filter: brightness(1.14); outline: 2px solid rgba(255,255,255,.5); outline-offset: 2px; }
.answer-button:disabled { opacity: .52; cursor: default; transform: none; }
.answer-true { background: linear-gradient(145deg, #087753, #034531); }
.answer-false { background: linear-gradient(145deg, #a31d3b, #5b0b21); }
.answer-symbol { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.15); font-size: 1.3rem; }
kbd { padding: 3px 6px; border: 1px solid rgba(255,255,255,.25); border-radius: 5px; background: rgba(0,0,0,.22); font-size: .64rem; }
.mini-credit { text-align: center; font-size: .62rem; letter-spacing: .12em; }

.modal-backdrop, .feedback-overlay { position: fixed; inset: 0; z-index: 50; padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)); display: grid; place-items: center; background: rgba(0, 4, 17, .79); backdrop-filter: blur(10px); }
.modal-panel, .feedback-panel, .result-panel { width: min(760px, 100%); max-height: 94dvh; overflow: hidden; border: 1px solid rgba(255, 215, 111, .58); border-radius: 22px; background: linear-gradient(155deg, rgba(9, 42, 100, .97), rgba(1, 10, 31, .98)); box-shadow: 0 25px 70px rgba(0,0,0,.6), inset 0 0 40px rgba(255,210,90,.04); }
.modal-panel { position: relative; padding: clamp(18px, 3vw, 30px); }
.modal-panel h2, .feedback-panel h2, .result-panel h2 { margin: 0; color: var(--gold-300); font-family: Georgia, serif; text-align: center; letter-spacing: .08em; }
.modal-close { position: absolute; top: 8px; right: 10px; width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; background: rgba(0,0,0,.25); color: white; font-size: 1.25rem; cursor: pointer; }
.rules-grid { margin: clamp(12px, 2vh, 18px) 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.rules-grid div { min-width: 0; padding: 9px; display: grid; grid-template-columns: 36px 1fr; align-items: center; gap: 8px; border: 1px solid rgba(255,255,255,.1); border-radius: 11px; background: rgba(0,0,0,.16); }
.rules-grid strong { color: var(--gold-300); font-family: Georgia, serif; font-size: 1.1rem; }
.rules-grid p { margin: 0; color: #e8effb; font-size: clamp(.67rem, 1.4vw, .84rem); line-height: 1.25; }
.modal-panel > .gold-button { display: block; margin: 0 auto; }
.feedback-panel { padding: clamp(14px, 2.5vw, 24px); text-align: center; }
.feedback-image { width: min(300px, 62vw); max-height: 29dvh; margin: 0 auto 4px; object-fit: contain; filter: drop-shadow(0 12px 22px rgba(0,0,0,.4)); }
.feedback-panel h2 { font-size: clamp(1.2rem, 3vw, 1.8rem); }
.feedback-panel p { margin: 8px auto 12px; max-width: 610px; color: #edf4ff; font-size: clamp(.78rem, 1.7vw, 1rem); line-height: 1.32; }
.feedback-bonus { width: fit-content; margin: 0 auto 11px; padding: 6px 11px; border-radius: 999px; color: #2a1900; background: linear-gradient(180deg, #fff0ae, #dda32c); font-size: .76rem; font-weight: 900; }
.toast { position: fixed; z-index: 70; left: 50%; bottom: calc(var(--safe-bottom) + 10px); translate: -50% 20px; padding: 8px 14px; border: 1px solid rgba(255,211,100,.5); border-radius: 999px; background: rgba(1,12,36,.94); color: white; font-size: .74rem; opacity: 0; pointer-events: none; transition: .2s; }
.toast.show { opacity: 1; translate: -50% 0; }

.result-screen { align-items: center; justify-content: center; }
.result-panel { padding: clamp(12px, 2.2vw, 22px); text-align: center; }
.result-image { width: min(390px, 75vw); max-height: 37dvh; margin: 0 auto 4px; object-fit: contain; }
.result-panel h2 { font-size: clamp(1.4rem, 4vw, 2.25rem); }
.result-panel > p { margin: 4px 0 7px; color: #dce7f6; font-size: clamp(.72rem, 1.5vw, .92rem); }
.result-level { color: #c2d3ec; font-size: .78rem; }
.result-level strong { color: var(--gold-300); }
.result-stats { width: min(650px, 100%); margin: 10px auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; }
.result-stats div { padding: 8px 5px; display: flex; flex-direction: column; border: 1px solid rgba(255,255,255,.1); border-radius: 10px; background: rgba(0,0,0,.17); }
.result-stats span { color: #afc2de; font-size: .61rem; text-transform: uppercase; }
.result-stats strong { color: #fff; font-family: Georgia, serif; font-size: clamp(.92rem, 2vw, 1.25rem); }
.result-score { grid-column: 1 / -1; }
.result-score strong { color: var(--gold-300); font-size: clamp(1.2rem, 3vw, 1.7rem); }
.record-message { min-height: 18px; color: var(--gold-300) !important; font-weight: 800; }
.result-actions { display: flex; justify-content: center; gap: 9px; }

@media (max-width: 700px) {
  .sound-toggle { width: 38px; min-width: 38px; padding: 0; }
  .sound-label { display: none; }
  .start-content { height: calc(100% - 23px); justify-content: space-evenly; gap: 4px; }
  .game-logo { width: min(260px, 61vw); max-height: 23vh; }
  .intro-line { max-width: 95%; font-size: clamp(.69rem, 2.7vw, .85rem); }
  .menu-stats { width: 100%; }
  .menu-stats div { padding: 5px 2px; }
  .level-grid { grid-template-columns: 1fr; gap: 5px; }
  .level-section h2 { margin-bottom: 3px; }
  .level-card { min-height: 62px; padding: 5px 9px; grid-template-columns: 51px 1fr auto; grid-template-rows: 1fr; border-radius: 13px; }
  .level-card img { width: 48px; height: 48px; grid-row: auto; }
  .level-copy strong { font-size: .95rem; }
  .level-copy small { font-size: .58rem; }
  .level-count { align-self: center; justify-self: end; font-size: .52rem; }
  .home-bottom-row { gap: 9px; }
  .home-bottom-row .gold-button { min-height: 34px; padding: 6px 10px; font-size: .68rem; }
  .best-line { font-size: .62rem; }
  .game-hud { padding-right: 43px; grid-template-columns: 1.15fr .85fr .9fr .75fr auto; gap: 3px; }
  .hud-block { padding: 4px 2px; border-radius: 8px; }
  .hud-block > span { font-size: .42rem; letter-spacing: .06em; }
  .hud-block strong { font-size: .73rem; }
  .timer-block { width: 43px; }
  .timer-ring { width: 41px; }
  .timer-ring::before { inset: 4px; }
  .status-row { min-height: 30px; grid-template-columns: 1fr auto; }
  .streak-notice { display: none; }
  .life-icon { width: clamp(21px, 7vw, 30px); }
  .special-badge { font-size: .5rem; padding: 5px 7px; }
  .question-card { padding: 13px 10px; border-radius: 16px; }
  .question-content { gap: 8px; }
  .question-text { font-size: clamp(1rem, 5vw, 1.35rem); }
  .question-card.length-long .question-text { font-size: clamp(.9rem, 4.4vw, 1.16rem); }
  .question-card.length-very-long .question-text { font-size: clamp(.78rem, 3.8vw, 1rem); }
  .category-chip, .difficulty-chip { padding: 4px 7px; font-size: .49rem; }
  .answer-grid { gap: 7px; }
  .answer-button { min-height: 55px; padding: 7px 9px; gap: 6px; font-size: clamp(.72rem, 3.4vw, .92rem); }
  .answer-symbol { width: 28px; height: 28px; font-size: 1rem; }
  kbd { display: none; }
  .rules-grid { grid-template-columns: 1fr; gap: 5px; }
  .rules-grid div { padding: 6px 8px; grid-template-columns: 30px 1fr; }
  .modal-panel { padding: 15px 12px; }
  .modal-panel h2 { font-size: 1.05rem; }
  .feedback-image { width: min(230px, 61vw); max-height: 26dvh; }
  .result-image { width: min(300px, 72vw); max-height: 31dvh; }
  .result-stats { grid-template-columns: repeat(2, 1fr); gap: 5px; }
  .result-score { grid-column: 1 / -1; }
  .result-actions .gold-button { min-height: 36px; padding: 7px 10px; font-size: .68rem; }
}

@media (max-height: 690px) {
  .game-logo { max-height: 20vh; }
  .intro-line { display: none; }
  .menu-stats div { padding-block: 4px; }
  .level-card { min-height: 58px; }
  .level-card img { max-height: 49px; }
  .question-area { gap: 6px; }
  .answer-button { min-height: 50px; }
  .feedback-image { max-height: 23dvh; }
  .result-image { max-height: 27dvh; }
  .result-stats { margin-block: 6px; }
}

@media (min-width: 901px) and (min-height: 760px) {
  .start-content { justify-content: center; }
  .game-logo { width: 340px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}
