/* Slovra V6 — PART 3.1
   Real in-game redesign pass + home static hero rail alignment.
   Loaded after Part 3 so it can decisively replace legacy solo-game CSS. */

:root{
  --p31-home-rail:1120px;
  --p31-game-rail:1120px;
  --p31-surface:#181a20;
  --p31-surface-2:#20242b;
  --p31-line:rgba(255,255,255,.095);
  --p31-text:#f7f8fb;
  --p31-muted:#a9b0bc;
}
body.light-mode,body.light{
  --p31-surface:#ffffff;
  --p31-surface-2:#f6f8fb;
  --p31-line:rgba(24,30,42,.10);
  --p31-text:#171921;
  --p31-muted:#687180;
}

/* ======================================================================
   HOME — the user means the actual .slovra-static-hero. Make its parent
   and all neighbouring primary frames share one exact wider rail.
   ====================================================================== */
@media (min-width:960px){
  #screen-home.slovra-home-simple .hero-banner-container,
  #screen-home.slovra-home-simple .slovra-simple-home,
  #screen-home.slovra-home-simple .slovra-home-preview,
  #screen-home.slovra-home-simple #v21-feature-panel{
    width:min(calc(100% - 44px),var(--p31-home-rail))!important;
    max-width:var(--p31-home-rail)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }
  #screen-home .hero-banner-container>.slovra-static-hero,
  #screen-home .hero-banner-container>.hero-banner .slovra-static-hero,
  #screen-home .slovra-static-hero{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }
}

/* ======================================================================
   SHARED SOLO GAME SHELL — reset the accumulated old phone-card language.
   ====================================================================== */
.solo-game-screen{
  --game-accent:#6d63ff;
  --game-accent-2:#21bad7;
  padding-bottom:116px!important;
}
#screen-word-match{--game-accent:#21b8f3;--game-accent-2:#55dfc4}
#screen-memory-game{--game-accent:#a85cf4;--game-accent-2:#ef62c4}
#screen-speed-translate{--game-accent:#ff9c32;--game-accent-2:#ffcf55}
#screen-listen-pick{--game-accent:#f45eae;--game-accent-2:#ad62ff}
#screen-spelling-game{--game-accent:#ffc82e;--game-accent-2:#ff8e32}
#screen-truefalse-game{--game-accent:#2bd181;--game-accent-2:#25bfc1}
#screen-word-bomb{--game-accent:#ff5555;--game-accent-2:#ff9d3e}

.solo-game-screen .solo-game-page,
.solo-game-screen .mini-game-page{
  width:min(calc(100% - 28px),var(--p31-game-rail))!important;
  max-width:var(--p31-game-rail)!important;
  margin:0 auto!important;
  padding:0 0 36px!important;
  display:block!important;
}

/* Top introduction: colorful, compact, intentional — not an old mobile card. */
.solo-game-screen .solo-game-hero,
.solo-game-screen .solo-game-hero.match-hero,
.solo-game-screen .solo-game-hero.memory-hero,
.solo-game-screen .mini-game-title-card{
  position:relative!important;
  overflow:hidden!important;
  min-height:132px!important;
  margin:0 0 16px!important;
  padding:22px 24px!important;
  border:0!important;
  border-radius:26px!important;
  color:#fff!important;
  background:
    radial-gradient(220px 150px at 93% 0%,rgba(255,255,255,.24),transparent 68%),
    linear-gradient(112deg,color-mix(in srgb,var(--game-accent) 90%,#1b1c24),color-mix(in srgb,var(--game-accent-2) 74%,#22242c))!important;
  box-shadow:0 16px 38px color-mix(in srgb,var(--game-accent) 22%,transparent)!important;
}
.solo-game-screen .solo-game-hero::before,
.solo-game-screen .solo-game-hero::after,
.solo-game-screen .mini-game-title-card::before{
  content:""!important;
  position:absolute!important;
  pointer-events:none!important;
}
.solo-game-screen .solo-game-hero::before,
.solo-game-screen .mini-game-title-card::before{
  inset:auto -30px -74px auto!important;
  width:200px!important;height:200px!important;border-radius:50%!important;
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.13)!important;
}
.solo-game-screen .solo-game-hero::after{
  width:95px!important;height:95px!important;right:40px!important;top:-38px!important;border-radius:28px!important;
  background:rgba(255,255,255,.08)!important;transform:rotate(16deg)!important;
}
.solo-game-screen .solo-game-kicker,
.solo-game-screen .mini-game-title-card>div:last-child>span{
  display:inline-flex!important;align-items:center!important;min-height:24px!important;
  padding:0 9px!important;margin:0 0 7px!important;border-radius:999px!important;
  background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.18)!important;
  color:#fff!important;font:900 9px/1 Nunito,sans-serif!important;letter-spacing:.9px!important;
}
.solo-game-screen .solo-game-hero h2,
.solo-game-screen .mini-game-title-card h2{
  margin:0!important;color:#fff!important;font:900 clamp(24px,2.8vw,36px)/1.03 Nunito,sans-serif!important;letter-spacing:-.7px!important;
}
.solo-game-screen .solo-game-hero p,
.solo-game-screen .mini-game-title-card p{
  max-width:720px!important;margin:8px 0 0!important;color:rgba(255,255,255,.90)!important;font:700 13px/1.45 Nunito,sans-serif!important;
}
.solo-game-screen .solo-hero-chips{display:flex!important;flex-wrap:wrap!important;gap:7px!important;margin-top:14px!important}
.solo-game-screen .solo-hero-chips span{
  min-height:29px!important;padding:0 10px!important;border-radius:999px!important;
  background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.16)!important;color:#fff!important;
  font:800 10px/1 Nunito,sans-serif!important;
}
.solo-game-screen .mini-game-title-card{display:flex!important;align-items:center!important;gap:16px!important}
.solo-game-screen .mini-game-title-icon{
  position:relative!important;z-index:2!important;width:58px!important;height:58px!important;border-radius:19px!important;
  background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.20)!important;box-shadow:none!important;flex:0 0 58px!important;
}
.solo-game-screen .mini-game-title-icon .slovra-icon{width:28px!important;height:28px!important;--icon-main:#fff;--icon-accent:#fff;--icon-soft:rgba(255,255,255,.14)}
.solo-game-screen .mini-game-title-card>div:last-child{position:relative!important;z-index:2!important}

/* Setup panels: desktop horizontal composition, mobile still natural. */
.solo-game-screen .setup-card{
  width:100%!important;max-width:none!important;margin:0 0 16px!important;padding:18px 20px!important;border-radius:22px!important;
  background:linear-gradient(180deg,var(--p31-surface-2),var(--p31-surface))!important;
  border:1px solid var(--p31-line)!important;box-shadow:0 10px 28px rgba(0,0,0,.10)!important;
  display:grid!important;grid-template-columns:minmax(220px,1.3fr) minmax(220px,.9fr) minmax(170px,.6fr)!important;
  grid-template-areas:"copy config action" "best config action"!important;gap:8px 18px!important;align-items:center!important;
}
.solo-game-screen .setup-card::before{display:none!important}
.solo-game-screen .setup-card h3{grid-area:copy!important;margin:0!important;color:var(--p31-text)!important;font:900 18px/1.1 Nunito,sans-serif!important}
.solo-game-screen .setup-card>.solo-game-muted{grid-area:best!important;margin:0!important;color:var(--p31-muted)!important;font:700 11px/1.35 Nunito,sans-serif!important}
.solo-game-screen .setup-card>.solo-game-config{grid-area:config!important;margin:0!important;padding:10px 12px!important;border-radius:16px!important;background:color-mix(in srgb,var(--game-accent) 8%,var(--p31-surface-2))!important;border:1px solid color-mix(in srgb,var(--game-accent) 25%,var(--p31-line))!important}
.solo-game-screen .setup-card>.big-btn{grid-area:action!important;margin:0!important;min-height:48px!important;align-self:stretch!important;border-radius:16px!important;box-shadow:none!important;font:900 12px/1 Nunito,sans-serif!important}
.solo-game-screen .setup-card>.solo-game-best{grid-area:best!important;justify-self:end!important;align-self:end!important;margin:0!important;padding:5px 8px!important;background:transparent!important;border:0!important;font-size:10px!important;transform:translateY(20px)!important}
.solo-game-screen .solo-game-config label{color:var(--p31-muted)!important;font:800 10px/1.25 Nunito,sans-serif!important}
.solo-game-screen .solo-game-select{min-width:130px!important;min-height:39px!important;border:1px solid var(--p31-line)!important;border-radius:12px!important;background:var(--p31-surface)!important;color:var(--p31-text)!important;box-shadow:none!important;font:800 11px/1 Nunito,sans-serif!important}

/* Play shell and stats */
.solo-game-screen [id$="-play"]{width:100%!important;margin:0!important}
.solo-game-screen .solo-game-stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin:0 0 12px!important}
.solo-game-screen .solo-game-stats.three{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.solo-game-screen .solo-stat{
  min-height:62px!important;padding:10px 12px!important;border-radius:17px!important;
  background:linear-gradient(155deg,color-mix(in srgb,var(--game-accent) 13%,var(--p31-surface-2)),var(--p31-surface))!important;
  border:1px solid color-mix(in srgb,var(--game-accent) 20%,var(--p31-line))!important;box-shadow:none!important;
  display:flex!important;flex-direction:column!important;justify-content:center!important;
}
.solo-game-screen .solo-stat span{color:var(--p31-muted)!important;font:900 8px/1 Nunito,sans-serif!important;letter-spacing:.6px!important}
.solo-game-screen .solo-stat strong{margin-top:5px!important;color:var(--p31-text)!important;font:900 19px/1 Nunito,sans-serif!important}
.solo-game-screen .play-card,
.solo-game-screen .quiz-game-card,
.solo-game-screen .listen-game-card,
.solo-game-screen .spelling-card,
.solo-game-screen .truefalse-card,
.solo-game-screen .bomb-card{
  width:100%!important;max-width:none!important;margin:0!important;padding:20px!important;border-radius:24px!important;
  background:linear-gradient(180deg,var(--p31-surface-2),var(--p31-surface))!important;border:1px solid var(--p31-line)!important;box-shadow:0 12px 30px rgba(0,0,0,.10)!important;
}
.solo-game-screen .solo-game-mini-title{margin:0 0 12px!important;text-align:left!important;color:var(--p31-muted)!important;font:900 9px/1.2 Nunito,sans-serif!important;letter-spacing:.8px!important}

/* ======================================================================
   1) WORD MATCH — fix the nested .match-column structural bug visually and
   establish a genuine desktop two-lane board.
   ====================================================================== */
#screen-word-match .match-board-wrap{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;padding:0!important;
  background:transparent!important;border:0!important;border-radius:0!important;
}
#screen-word-match .match-board-wrap>.match-column{
  display:grid!important;grid-template-rows:auto 1fr!important;gap:9px!important;min-width:0!important;padding:12px!important;border-radius:20px!important;
  background:color-mix(in srgb,var(--game-accent) 6%,var(--p31-surface))!important;border:1px solid color-mix(in srgb,var(--game-accent) 17%,var(--p31-line))!important;
}
#screen-word-match .match-board-wrap>.match-column:last-child{
  background:color-mix(in srgb,#54d67c 5%,var(--p31-surface))!important;border-color:color-mix(in srgb,#54d67c 16%,var(--p31-line))!important;
}
#screen-word-match .match-list{
  display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:0!important;background:transparent!important;border:0!important;min-width:0!important;
}
#screen-word-match .match-column-title{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important;min-height:30px!important;margin:0!important;padding:0 4px!important;
  background:transparent!important;color:var(--p31-text)!important;font:900 10px/1 Nunito,sans-serif!important;letter-spacing:.7px!important;
}
#screen-word-match .match-lang-code{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;width:29px!important;height:22px!important;border-radius:8px!important;
  background:color-mix(in srgb,var(--game-accent) 17%,transparent)!important;color:color-mix(in srgb,var(--game-accent) 78%,#fff)!important;font:900 9px/1 Nunito,sans-serif!important;
}
#screen-word-match .match-lang-code.tr{background:rgba(84,214,124,.13)!important;color:#78e69b!important}
#screen-word-match .match-tile{
  min-height:54px!important;padding:10px 12px!important;border:1px solid var(--p31-line)!important;border-radius:15px!important;
  background:var(--p31-surface-2)!important;color:var(--p31-text)!important;box-shadow:none!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;
  font:800 13px/1.2 Nunito,sans-serif!important;transition:transform .14s ease,border-color .14s ease,background .14s ease!important;
}
#screen-word-match .match-tile:hover{transform:translateY(-1px)!important;border-color:color-mix(in srgb,var(--game-accent) 52%,var(--p31-line))!important}
#screen-word-match .match-tile.is-selected{border-color:#ffd45a!important;background:rgba(255,201,61,.10)!important;color:var(--p31-text)!important;box-shadow:0 0 0 3px rgba(255,201,61,.08)!important}
#screen-word-match .match-tile.is-correct,#screen-word-match .match-tile.is-matched{border-color:#55d77b!important;background:rgba(85,215,123,.12)!important;color:#91efa9!important;opacity:.62!important}
#screen-word-match .match-tile.is-wrong{border-color:#ff6262!important;background:rgba(255,98,98,.10)!important}
#screen-word-match .match-speak{width:29px!important;height:29px!important;border-radius:10px!important;background:color-mix(in srgb,var(--game-accent) 13%,transparent)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 29px!important}

/* ======================================================================
   2) MEMORY — current JS has ONE .memory-card-face. Stop styling the obsolete
   3D front/back DOM and make the actual DOM feel like a modern board.
   ====================================================================== */
#screen-memory-game .memory-board{
  display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:11px!important;max-width:none!important;margin:0!important;padding:0!important;perspective:none!important;
}
#screen-memory-game .memory-card{
  display:block!important;position:relative!important;min-width:0!important;aspect-ratio:1.16!important;padding:0!important;border:0!important;background:transparent!important;filter:none!important;transform:none!important;perspective:none!important;
}
#screen-memory-game .memory-card-face{
  position:absolute!important;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:9px!important;
  border:1px solid color-mix(in srgb,var(--game-accent) 22%,var(--p31-line))!important;border-radius:18px!important;
  background:
    radial-gradient(90px 70px at 78% 10%,color-mix(in srgb,var(--game-accent-2) 18%,transparent),transparent 75%),
    linear-gradient(145deg,color-mix(in srgb,var(--game-accent) 12%,var(--p31-surface-2)),var(--p31-surface))!important;
  color:color-mix(in srgb,var(--game-accent) 72%,#fff)!important;font:900 22px/1.15 Nunito,sans-serif!important;
  box-shadow:0 5px 14px rgba(0,0,0,.10)!important;overflow-wrap:anywhere!important;word-break:break-word!important;
  transition:transform .14s ease,border-color .18s ease,background .18s ease,color .18s ease!important;
}
#screen-memory-game .memory-card:hover .memory-card-face{transform:translateY(-2px)!important;border-color:color-mix(in srgb,var(--game-accent) 55%,var(--p31-line))!important}
#screen-memory-game .memory-card.is-open .memory-card-face{font-size:13px!important;color:#fff!important;transform:none!important}
#screen-memory-game .memory-card.memory-ru.is-open .memory-card-face{background:linear-gradient(145deg,#1682b2,#21afd5)!important;border-color:#5edcff!important}
#screen-memory-game .memory-card.memory-tr.is-open .memory-card-face{background:linear-gradient(145deg,#7b43bd,#b459da)!important;border-color:#e4a1ff!important}
#screen-memory-game .memory-card.is-matched .memory-card-face{background:linear-gradient(145deg,#299b5d,#48cb78)!important;border-color:#70e99a!important;color:#fff!important;box-shadow:0 0 0 3px rgba(85,215,123,.08)!important}
#screen-memory-game .memory-card.is-wrong .memory-card-face{background:linear-gradient(145deg,#b84242,#e85d5d)!important;border-color:#ff8b8b!important;color:#fff!important}

/* ======================================================================
   Remaining solo games — each gets a desktop-scale play surface instead of
   simply inheriting the old 580px phone card.
   ====================================================================== */
.solo-game-screen .quiz-game-label{margin-bottom:10px!important;text-align:left!important;color:var(--p31-muted)!important;font:900 9px/1 Nunito,sans-serif!important;letter-spacing:.8px!important}
.solo-game-screen .quiz-speak-word{min-height:84px!important;padding:8px 12px 18px!important;color:var(--p31-text)!important;font:900 clamp(28px,3vw,40px)/1.05 Nunito,sans-serif!important}
.solo-game-screen .quiz-options-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.solo-game-screen .quiz-option-btn{
  min-height:62px!important;padding:11px 14px!important;border:1px solid var(--p31-line)!important;border-radius:16px!important;border-bottom-width:1px!important;
  background:var(--p31-surface-2)!important;color:var(--p31-text)!important;box-shadow:none!important;font:800 13px/1.2 Nunito,sans-serif!important;
}
.solo-game-screen .quiz-option-btn:hover{border-color:color-mix(in srgb,var(--game-accent) 48%,var(--p31-line))!important;transform:translateY(-1px)!important}
.solo-game-screen .quiz-option-btn.is-correct{background:rgba(85,215,123,.12)!important;border-color:#55d77b!important;color:#93ecac!important}
.solo-game-screen .quiz-option-btn.is-wrong{background:rgba(255,98,98,.10)!important;border-color:#ff6262!important;color:#ffaaaa!important}

#screen-listen-pick .listen-game-card{display:grid!important;grid-template-columns:190px minmax(0,1fr)!important;grid-template-areas:"listen label" "listen options" "listen feedback"!important;gap:8px 22px!important;align-items:center!important;text-align:left!important}
#screen-listen-pick .listen-pulse-wrap{grid-area:listen!important;margin:0!important}
#screen-listen-pick .quiz-game-label{grid-area:label!important;margin:0!important}
#screen-listen-pick .quiz-options-grid{grid-area:options!important}
#screen-listen-pick .mini-game-feedback{grid-area:feedback!important}
#screen-listen-pick .listen-big-button{width:150px!important;height:150px!important;margin:auto!important;border:0!important;box-shadow:0 14px 30px color-mix(in srgb,var(--game-accent) 28%,transparent)!important;background:linear-gradient(145deg,var(--game-accent),var(--game-accent-2))!important}

#screen-spelling-game .spelling-card{max-width:none!important;text-align:left!important}
#screen-spelling-game .spelling-meaning{margin:5px 0 16px!important;color:var(--p31-text)!important;font:900 clamp(28px,3vw,40px)/1.05 Nunito,sans-serif!important}
#screen-spelling-game .spelling-input-wrap{grid-template-columns:minmax(0,1fr) 150px!important;gap:10px!important}
#screen-spelling-game .spelling-input-wrap input{min-height:54px!important;background:var(--p31-surface-2)!important;color:var(--p31-text)!important;border:1px solid var(--p31-line)!important;border-radius:15px!important;box-shadow:none!important}
#screen-spelling-game .spelling-input-wrap button{border-radius:15px!important;box-shadow:none!important}
#screen-spelling-game .spelling-actions{justify-content:flex-start!important}

#screen-truefalse-game .truefalse-card{max-width:none!important}
#screen-truefalse-game .tf-pair{grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr)!important;gap:12px!important;margin-bottom:16px!important}
#screen-truefalse-game .tf-pair>div:not(.tf-link){min-height:118px!important;background:var(--p31-surface-2)!important;border:1px solid var(--p31-line)!important;border-radius:18px!important}
#screen-truefalse-game .tf-pair strong{color:var(--p31-text)!important;font:900 23px/1.15 Nunito,sans-serif!important}
#screen-truefalse-game .tf-buttons button{min-height:58px!important;border-radius:16px!important;box-shadow:none!important;font:900 13px/1 Nunito,sans-serif!important}

#screen-word-bomb .bomb-card{max-width:none!important}
#screen-word-bomb .bomb-rules{margin:10px 0 14px!important}
#screen-word-bomb .bomb-rules span{background:var(--p31-surface-2)!important;border-color:var(--p31-line)!important;color:var(--p31-muted)!important}

/* Results are now intentional compact summary cards. */
.solo-game-screen .solo-result{
  width:min(100%,760px)!important;margin:16px auto 0!important;padding:26px!important;border-radius:24px!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--game-accent) 20%,var(--p31-surface-2)),var(--p31-surface))!important;
  border:1px solid color-mix(in srgb,var(--game-accent) 23%,var(--p31-line))!important;box-shadow:0 14px 32px rgba(0,0,0,.12)!important;
}
.solo-game-screen .solo-result h2{color:var(--p31-text)!important;font:900 25px/1.05 Nunito,sans-serif!important}
.solo-game-screen .solo-result p{color:var(--p31-muted)!important}
.solo-game-screen .solo-result-actions{gap:9px!important}

/* Light mode: keep accents; don't flatten every game into white. */
body.light-mode .solo-game-screen .solo-game-hero,
body.light .solo-game-screen .solo-game-hero,
body.light-mode .solo-game-screen .mini-game-title-card,
body.light .solo-game-screen .mini-game-title-card{
  color:#fff!important;
  background:
    radial-gradient(220px 150px at 93% 0%,rgba(255,255,255,.24),transparent 68%),
    linear-gradient(112deg,color-mix(in srgb,var(--game-accent) 88%,#504b75),color-mix(in srgb,var(--game-accent-2) 74%,#536076))!important;
  border:0!important;box-shadow:0 14px 30px color-mix(in srgb,var(--game-accent) 18%,transparent)!important;
}
body.light-mode .solo-game-screen .solo-game-hero h2,
body.light .solo-game-screen .solo-game-hero h2,
body.light-mode .solo-game-screen .solo-game-hero p,
body.light .solo-game-screen .solo-game-hero p,
body.light-mode .solo-game-screen .mini-game-title-card h2,
body.light .solo-game-screen .mini-game-title-card h2,
body.light-mode .solo-game-screen .mini-game-title-card p,
body.light .solo-game-screen .mini-game-title-card p{color:#fff!important}
body.light-mode .solo-game-screen .setup-card,
body.light .solo-game-screen .setup-card,
body.light-mode .solo-game-screen .play-card,
body.light .solo-game-screen .play-card,
body.light-mode .solo-game-screen .quiz-game-card,
body.light .solo-game-screen .quiz-game-card,
body.light-mode .solo-game-screen .listen-game-card,
body.light .solo-game-screen .listen-game-card,
body.light-mode .solo-game-screen .spelling-card,
body.light .solo-game-screen .spelling-card,
body.light-mode .solo-game-screen .truefalse-card,
body.light .solo-game-screen .truefalse-card{
  background:#fff!important;border-color:#e0e5ec!important;box-shadow:0 10px 24px rgba(48,55,75,.07)!important;
}
body.light-mode #screen-word-match .match-board-wrap>.match-column,
body.light #screen-word-match .match-board-wrap>.match-column{background:#f6fbfd!important;border-color:#d9edf4!important}
body.light-mode #screen-word-match .match-board-wrap>.match-column:last-child,
body.light #screen-word-match .match-board-wrap>.match-column:last-child{background:#f5fbf7!important;border-color:#d8eddf!important}
body.light-mode #screen-word-match .match-tile,body.light #screen-word-match .match-tile,
body.light-mode .solo-game-screen .quiz-option-btn,body.light .solo-game-screen .quiz-option-btn,
body.light-mode #screen-spelling-game .spelling-input-wrap input,body.light #screen-spelling-game .spelling-input-wrap input,
body.light-mode #screen-truefalse-game .tf-pair>div:not(.tf-link),body.light #screen-truefalse-game .tf-pair>div:not(.tf-link){background:#f7f9fc!important;color:#1e232c!important;border-color:#dfe4ea!important}
body.light-mode #screen-memory-game .memory-card-face,body.light #screen-memory-game .memory-card-face{background:linear-gradient(145deg,#f6f1ff,#eef8ff)!important;color:#754ed4!important;border-color:#ded6f2!important;box-shadow:0 5px 14px rgba(70,65,95,.07)!important}
body.light-mode .solo-game-screen .solo-stat,body.light .solo-game-screen .solo-stat{background:#f7f9fc!important;border-color:#e0e5ec!important}
body.light-mode .solo-game-screen .solo-stat strong,body.light .solo-game-screen .solo-stat strong{color:#171921!important}
body.light-mode .solo-game-screen .solo-game-select,body.light .solo-game-screen .solo-game-select{background:#fff!important;color:#1f242d!important;border-color:#dce2e8!important}
body.light-mode .solo-game-screen .solo-result,body.light .solo-game-screen .solo-result{background:linear-gradient(135deg,#fff,#f5f7fb)!important;border-color:#dde3ea!important}

/* ======================================================================
   Responsive: no desktop layout should collapse into a broken phone card.
   ====================================================================== */
@media (min-width:960px){
  .solo-game-screen .solo-game-page,.solo-game-screen .mini-game-page{display:block!important}
  .solo-game-screen .game-header{width:min(calc(100% - 28px),var(--p31-game-rail))!important;max-width:var(--p31-game-rail)!important}
}
@media (max-width:959px){
  .solo-game-screen .solo-game-page,.solo-game-screen .mini-game-page{width:calc(100% - 22px)!important;max-width:none!important}
  .solo-game-screen .solo-game-hero,.solo-game-screen .mini-game-title-card{min-height:0!important;padding:18px!important;border-radius:22px!important}
  .solo-game-screen .solo-game-hero h2,.solo-game-screen .mini-game-title-card h2{font-size:24px!important}
  .solo-game-screen .setup-card{display:block!important;padding:16px!important;border-radius:20px!important}
  .solo-game-screen .setup-card h3{margin-bottom:6px!important}
  .solo-game-screen .setup-card>.solo-game-muted{margin-bottom:12px!important}
  .solo-game-screen .setup-card>.solo-game-config{margin:0 0 11px!important}
  .solo-game-screen .setup-card>.big-btn{width:100%!important;min-height:46px!important}
  .solo-game-screen .setup-card>.solo-game-best{transform:none!important;margin-top:10px!important;justify-content:center!important}
  #screen-memory-game .memory-board{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
  #screen-listen-pick .listen-game-card{display:block!important;text-align:center!important}
  #screen-listen-pick .listen-pulse-wrap{margin-bottom:14px!important}
  #screen-listen-pick .quiz-game-label{text-align:center!important;margin-bottom:9px!important}
}
@media (max-width:560px){
  #screen-word-match .match-board-wrap{grid-template-columns:1fr!important;gap:10px!important}
  #screen-word-match .match-board-wrap>.match-column{padding:10px!important}
  .solo-game-screen .solo-game-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .solo-game-screen .solo-game-stats.three{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .solo-game-screen .solo-stat{min-height:54px!important;padding:8px!important}
  .solo-game-screen .solo-stat strong{font-size:16px!important}
  #screen-memory-game .memory-card{aspect-ratio:1!important}
  #screen-memory-game .memory-card-face{border-radius:14px!important;font-size:19px!important}
  #screen-memory-game .memory-card.is-open .memory-card-face{font-size:10.5px!important}
  .solo-game-screen .quiz-options-grid{grid-template-columns:1fr!important}
  #screen-spelling-game .spelling-input-wrap{grid-template-columns:1fr!important}
  #screen-truefalse-game .tf-pair{grid-template-columns:1fr!important}
  #screen-truefalse-game .tf-link{transform:rotate(90deg)!important}
}
@media (max-width:390px){
  #screen-memory-game .memory-board{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .solo-game-screen .solo-game-hero,.solo-game-screen .mini-game-title-card{padding:16px 14px!important}
  .solo-game-screen .solo-game-hero h2,.solo-game-screen .mini-game-title-card h2{font-size:21px!important}
}
@media (prefers-reduced-motion:reduce){
  #screen-word-match .match-tile,#screen-memory-game .memory-card-face,.solo-game-screen .quiz-option-btn{transition:none!important}
}
