:root{
  --game-bg:#0b1325;
  --game-panel:#141c31;
  --game-panel2:#171f36;
  --game-gold:#e0b466;
  --game-cream:#f6eee4;
  --game-muted:#aaa4b6;
  --game-lav:#5c5476;
  --game-plum:#765064;
  --game-teal:#315b5d;
  --game-blue:#3c4f70;
}
body{background:var(--game-bg)!important}
.gameHud,.gameMenuBackdrop,.gameCardBadge,.v29Rail,.v29DrawerBackdrop{display:none!important}

/* One adaptive layout system */
main{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(10px,1.4vw,22px) clamp(8px,2vw,40px) calc(42px + env(safe-area-inset-bottom))!important;
}
#home.mockHome{
  width:min(100%,1500px)!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:0!important;
}
#home.mockHome.active{
  display:grid!important;
  grid-template-columns:minmax(0,1.7fr) minmax(280px,.72fr)!important;
  grid-template-areas:
    "hero daily"
    "missions missions"
    "stats target"
    "details details"!important;
  gap:clamp(8px,1vw,16px)!important;
  align-items:stretch!important;
}

.mockHero{
  grid-area:hero;
  position:relative;
  width:100%!important;
  height:clamp(190px,22vw,340px)!important;
  min-height:190px!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:clamp(10px,1vw,13px)!important;
  background:#11182d!important;
  box-shadow:none!important;
}
.mockHero img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center 45%!important;
}

.missionCard{
  grid-area:daily;
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-height:clamp(190px,22vw,340px)!important;
  margin:0!important;
  padding:clamp(13px,1.2vw,18px)!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:clamp(10px,1vw,12px)!important;
  background:#171f36!important;
  box-shadow:none!important;
}
.missionCard::before{
  content:"DAILY MISSION"!important;
  position:absolute!important;
  left:clamp(13px,1.2vw,18px)!important;
  top:clamp(13px,1.2vw,18px)!important;
  color:var(--game-gold)!important;
  font-size:9px!important;
  font-weight:1000!important;
  letter-spacing:.13em!important;
  border:0!important;
  background:none!important;
  padding:0!important;
}
.missionCopy{
  position:absolute!important;
  left:clamp(13px,1.2vw,18px)!important;
  top:clamp(40px,4.1vw,58px)!important;
  width:min(58%,250px)!important;
  max-width:none!important;
  z-index:3!important;
}
.missionTitle{
  font-size:clamp(20px,1.7vw,31px)!important;
  line-height:1.04!important;
  color:#f5e8d6!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.missionSub{
  max-width:190px!important;
  margin-top:6px!important;
  font-size:clamp(10px,.85vw,12px)!important;
  line-height:1.35!important;
  color:#c9bfce!important;
}
.missionRing{
  position:absolute!important;
  left:clamp(13px,1.2vw,18px)!important;
  bottom:clamp(12px,1.2vw,18px)!important;
  width:clamp(46px,4vw,58px)!important;
  height:clamp(46px,4vw,58px)!important;
  margin:0!important;
  border:5px solid #343750!important;
  border-top-color:#d991ad!important;
  border-right-color:#d991ad!important;
  font-size:clamp(10px,.8vw,12px)!important;
  z-index:4!important;
}
.missionArt{
  position:absolute!important;
  right:clamp(8px,1vw,14px)!important;
  bottom:clamp(8px,1vw,12px)!important;
  width:clamp(72px,8vw,122px)!important;
  height:clamp(72px,8vw,122px)!important;
  object-fit:contain!important;
  opacity:.82!important;
  z-index:1!important;
}
.missionArrow{display:none!important}
.v42TamerLaunch{
  position:absolute!important;
  left:clamp(68px,6vw,88px)!important;
  bottom:clamp(13px,1.6vw,23px)!important;
  z-index:5!important;
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  border:1px solid rgba(226,190,110,.34)!important;
  border-radius:9px!important;
  background:#2c2630!important;
  color:#edd09a!important;
  padding:6px 8px!important;
  font-size:clamp(8.5px,.7vw,9px)!important;
  font-weight:950!important;
}
.v42TamerLaunch span{
  width:21px;height:21px;border-radius:50%;display:grid;place-items:center;
  background:#b9872d;color:#fff;border:1px solid #e5c57c;font-family:Georgia,serif
}

.studyGrid{
  grid-area:missions!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))!important;
  gap:clamp(7px,.8vw,10px)!important;
  margin:0!important;
  align-items:stretch!important;
}
.studyTile{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-height:clamp(106px,10vw,166px)!important;
  height:100%!important;
  padding:clamp(10px,1vw,15px)!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:10px!important;
  box-shadow:none!important;
  transition:transform .14s ease,filter .14s ease!important;
}
.studyTile:hover{transform:translateY(-2px)!important;filter:brightness(1.04)}
.studyTile:active{transform:scale(.99)!important}
.studyTile .tileCopy{
  position:relative!important;
  z-index:3!important;
  width:calc(100% - clamp(44px,5vw,72px))!important;
  max-width:none!important;
}
.studyTile .tileTitle{
  font-size:clamp(15px,1.15vw,22px)!important;
  line-height:1.08!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  white-space:normal!important;
}
.studyTile .tileSub{
  max-width:150px!important;
  margin-top:5px!important;
  font-size:clamp(9px,.72vw,11px)!important;
  line-height:1.25!important;
}
.studyTile img{
  position:absolute!important;
  right:clamp(7px,.7vw,10px)!important;
  bottom:clamp(7px,.7vw,10px)!important;
  width:clamp(40px,4.6vw,66px)!important;
  height:clamp(40px,4.6vw,66px)!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  opacity:.8!important;
}
.tileQuick{background:var(--game-lav)!important}
.tileMock{background:var(--game-plum)!important}
.tilePractice{background:var(--game-teal)!important}
.tileProgress{background:var(--game-blue)!important}

.progressStrip{
  grid-area:stats!important;
  width:100%!important;
  min-height:118px!important;
  height:100%!important;
  margin:0!important;
  padding:clamp(12px,1vw,16px)!important;
  border:0!important;
  border-radius:11px!important;
  background:#121a2e!important;
  box-shadow:none!important;
}
.stripTitle{font-size:13px!important;margin-bottom:10px!important;color:var(--game-gold)!important}
.stripStats{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(6px,.8vw,10px)!important;
  align-items:center!important;
}
.stripDivider{display:none!important}
.stripItem{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  gap:clamp(6px,.7vw,10px)!important;
}
.accuracyRing{
  width:clamp(48px,4vw,54px)!important;
  height:clamp(48px,4vw,54px)!important;
  border-width:5px!important;
  font-size:13px!important;
}
.stripIcon{
  width:clamp(32px,3vw,40px)!important;
  height:clamp(32px,3vw,40px)!important;
  flex:0 0 auto!important;
  font-size:clamp(17px,1.5vw,20px)!important;
}
.stripItem b{font-size:clamp(12px,1vw,13px)!important}
.stripItem small{font-size:clamp(8.5px,.7vw,9px)!important}

.focusCard{
  grid-area:target!important;
  width:100%!important;
  min-height:118px!important;
  height:100%!important;
  margin:0!important;
  padding:clamp(12px,1vw,15px)!important;
  border:0!important;
  border-radius:11px!important;
  background:#121a2e!important;
  box-shadow:none!important;
  grid-template-columns:minmax(0,1fr) clamp(58px,5vw,74px)!important;
  gap:10px!important;
}
.focusEyebrow{font-size:13px!important;color:var(--game-gold)!important}
.focusText{font-size:11px!important;line-height:1.35!important}
.focusBtn{margin-top:8px!important;font-size:10px!important;padding:8px 10px!important;border-radius:8px!important}
.focusPlanet{
  width:clamp(58px,5vw,66px)!important;
  height:clamp(50px,4vw,54px)!important;
  font-size:clamp(29px,2.5vw,33px)!important;
}

.mockHome .details{
  grid-area:details!important;
  width:100%!important;
  margin:0!important;
  border:0!important;
  border-radius:11px!important;
  background:#121a2e!important;
  box-shadow:none!important;
}
.mockHome .details::before{
  content:"MISSION BUILDER";
  display:block;
  color:var(--game-gold);
  font-size:9px;
  font-weight:1000;
  letter-spacing:.12em;
  margin-bottom:12px
}
.v42SourceField{margin-top:12px}
.v42SourceField label{display:block;margin-bottom:7px;font-weight:900;color:#ded5df;font-size:12px}
.v42SourceField select{width:100%;background:#18223a;color:#f1ebe5;border:1px solid #34405e;border-radius:9px;padding:10px 11px;font-weight:800}

/* level + game feedback */
.v42LevelCard{
  position:absolute;right:12px;top:12px;z-index:5;display:flex;align-items:center;gap:9px;
  padding:7px 9px;border:0;border-radius:9px;background:rgba(12,18,33,.84);backdrop-filter:blur(8px);
  color:#f0e7df;font-size:9px;font-weight:900
}
.v42LevelStar{width:26px;height:26px;display:grid;place-items:center;color:#e3b664;font-size:13px}
.v42LevelCopy b{display:block;font-size:10px}
.v42XpTrack{width:76px;height:4px;border-radius:99px;background:#283149;margin-top:4px;overflow:hidden}
.v42XpFill{height:100%;background:#e0b466}
.v42Streak{padding-left:9px;border-left:1px solid rgba(255,255,255,.12);color:#e8c889;white-space:nowrap}
.v42Toast{
  position:fixed;left:50%;bottom:28px;z-index:500;transform:translate(-50%,12px);
  padding:9px 13px;border-radius:999px;background:rgba(18,26,46,.97);color:#f4e8d7;
  box-shadow:0 12px 30px rgba(0,0,0,.28);font-size:11px;font-weight:900;
  opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease
}
.v42Toast.show{opacity:1;transform:translate(-50%,0)}
.v42Burst{position:fixed;z-index:490;pointer-events:none;font-size:14px;animation:v42burst .75s ease-out forwards}
@keyframes v42burst{0%{opacity:0;transform:translateY(0) scale(.6)}20%{opacity:1}100%{opacity:0;transform:translateY(-38px) scale(1.2)}}

/* quiz */
#quiz{width:min(100%,980px)!important;margin:0 auto!important}
.quizWrap{width:min(100%,850px)!important;margin:0 auto!important;padding:8px 0 30px!important}
.quizTop{display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:10px!important;margin:0 0 7px!important}
.backHome{border:0!important;background:transparent!important;padding:7px 1px!important;border-radius:0!important;color:#aaa4b5!important;font-size:11px!important}
.counter{justify-self:center!important;color:#d8b06d!important;font-size:11px!important}
.timer{margin:0!important;border:0!important;background:transparent!important;padding:7px 1px!important;color:#aaa4b5!important;font-size:11px!important}
.v42QuestTrack{height:4px;background:#222b43;border-radius:99px;overflow:hidden;margin-bottom:11px}
.v42QuestFill{height:100%;background:#d8aa61;border-radius:inherit}
.questionCard{width:100%!important;background:#141c31!important;border:0!important;border-radius:14px!important;padding:clamp(14px,1.5vw,18px)!important;box-shadow:none!important}
.questionMeta{margin-bottom:12px!important}
.topicLabel{padding:5px 8px!important;border-radius:7px!important;font-size:10px!important;background:#242c47!important}
.qtext{font-size:clamp(20px,2.3vw,28px)!important;line-height:1.3!important;margin:0 0 16px!important}
.options{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))!important;gap:9px!important}
.opt{min-height:58px!important;border-width:1px!important;border-radius:10px!important;padding:12px 13px!important;font-size:13px!important;transform:none!important;box-shadow:none!important}
.opt:hover{transform:none!important;background:#1b2741!important}
.feedback{margin-top:11px!important;padding:11px 12px!important;border-radius:10px!important;font-size:11px!important}
.navRow{margin-top:12px!important}
.navRow .btn{min-height:40px!important;padding:8px 11px!important;border-radius:9px!important;font-size:11px!important}
#saveBtn{background:transparent!important;color:#aaa4b5!important}
#nextBtn{min-width:84px!important}
#nextBtn:disabled{opacity:0!important;pointer-events:none!important}

/* Star Map */
#progress .card{width:min(100%,1120px);margin:0 auto;border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important}
#progress .h2{font-size:clamp(24px,2vw,28px)!important;margin-bottom:4px!important}
.v42MapIntro{color:#9f98ad;font-size:12px;margin-bottom:18px}
.v42StarMap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px}
.v42Node{
  position:relative;border:0;background:#141c31;color:#f4ede6;text-align:left;padding:15px;border-radius:11px;
  min-height:122px;cursor:pointer;overflow:hidden;transition:transform .14s ease,background .14s ease
}
.v42Node:hover{transform:translateY(-2px);background:#19223a}
.v42NodeTop{display:flex;align-items:center;gap:9px}
.v42Planet{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#2d3150;color:#e0b466}
.v42NodeName{font-weight:950;font-size:14px}
.v42Stars{color:#e4b969;font-size:11px;letter-spacing:2px;margin-top:3px}
.v42NodeMeta{font-size:10px;color:#9d96aa;margin-top:10px}
.v42NodeBar{height:5px;background:#273149;border-radius:99px;overflow:hidden;margin-top:9px}
.v42NodeBar>span{display:block;height:100%;background:#d9a960}
.v42Node::after{content:"Launch";position:absolute;right:12px;bottom:12px;color:#bdb6c8;font-size:9px;font-weight:900}

/* Only one structural breakpoint: when the two-column home no longer fits */
@media(max-width:780px){
  main{padding-bottom:calc(92px + env(safe-area-inset-bottom))!important}
  #home.mockHome.active{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "hero"
      "daily"
      "missions"
      "stats"
      "target"
      "details"!important;
  }
  .mockHero{height:clamp(136px,42vw,176px)!important;min-height:136px!important}
  .missionCard{min-height:128px!important}
  .missionCopy{top:38px!important;width:calc(100% - 132px)!important}
  .missionArt{width:clamp(68px,20vw,84px)!important;height:clamp(68px,20vw,84px)!important}
  .studyGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v42LevelCard{right:8px;top:8px;padding:6px 7px}
  .v42XpTrack{width:54px}
  .v42Streak{display:none}
  .options{grid-template-columns:1fr!important}
  .v42Toast{bottom:82px}
}

/* Phone bottom navigation is the same app navigation, just repositioned */
@media(max-width:1020px){
  .bottomMockNav{
    left:0!important;right:0!important;bottom:0!important;transform:none!important;
    width:100%!important;max-width:none!important;
    border-left:0!important;border-right:0!important;border-radius:18px 18px 0 0!important;
    padding:7px 6px calc(8px + env(safe-area-inset-bottom))!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
  }
  .bottomMockNav button{
    min-width:0!important;width:100%!important;padding:3px 1px!important;
    justify-content:center!important;text-align:center!important;
  }
  .bottomMockNav img{width:23px!important;height:23px!important}
  .navGlyph{font-size:22px!important;line-height:23px!important}
}

@media(max-width:420px){
  main{padding-left:8px!important;padding-right:8px!important}
  .studyTile .tileTitle{font-size:14px!important}
  .studyTile .tileSub{font-size:8.5px!important}
  .bottomMockNav button{font-size:9px!important}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}


/* v4.6 Tamer paper question style
   Recreates the clean printed exam layout without showing solved annotations. */
.questionCard.paperQuestion{
  background:#fbfaf7!important;
  color:#151515!important;
  border:0!important;
  border-radius:4px!important;
  padding:clamp(20px,3vw,34px)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.22)!important;
  font-family:"Times New Roman",Georgia,serif!important;
}
.paperQuestion .questionMeta{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0 0 22px!important;
  padding:0 0 10px!important;
  border-bottom:1px solid #d9d5cf!important;
}
.paperQuestion .topicLabel{
  margin-left:auto!important;
  order:3!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#2a2a2a!important;
  font-family:"Times New Roman",Georgia,serif!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.03em!important;
  text-transform:uppercase!important;
}
.paperQuestion .sourceText{
  color:#4b4b4b!important;
  font-family:Arial,sans-serif!important;
  font-size:10px!important;
  line-height:1.2!important;
}
.paperQuestion .sourceBadge{
  flex:0 0 auto!important;
  width:26px!important;height:26px!important;
  border:1px solid #ba8a29!important;
  background:#c7952d!important;
  color:#fff!important;
  font-family:Georgia,serif!important;
  font-size:13px!important;
}
.paperQuestion .qtext{
  display:flex!important;
  align-items:flex-start!important;
  gap:9px!important;
  margin:0 0 22px!important;
  color:#111!important;
  font-family:"Times New Roman",Georgia,serif!important;
  font-size:clamp(20px,2vw,27px)!important;
  line-height:1.34!important;
  font-weight:600!important;
}
.paperQuestionNumber{
  flex:0 0 auto;
  color:#b02b30;
  font-weight:700;
}
.paperQuestionText{
  min-width:0;
  color:#111;
}
.paperQuestion .options{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  column-gap:clamp(24px,5vw,64px)!important;
  row-gap:14px!important;
  margin-top:4px!important;
}
.paperQuestion .paperOption{
  min-height:42px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:100%!important;
  padding:7px 9px!important;
  border:1.5px solid transparent!important;
  border-radius:4px!important;
  background:transparent!important;
  color:#111!important;
  text-align:left!important;
  font-family:"Times New Roman",Georgia,serif!important;
  font-size:clamp(17px,1.55vw,21px)!important;
  font-weight:600!important;
  line-height:1.25!important;
  box-shadow:none!important;
}
.paperQuestion .paperOption:hover{
  background:#f1efeb!important;
  border-color:#d8d2ca!important;
}
.paperQuestion .paperOption.correct{
  background:#fff!important;
  border:2px solid #202020!important;
  color:#111!important;
}
.paperQuestion .paperOption.wrong{
  background:#fff5f5!important;
  border:2px solid #b24848!important;
  color:#111!important;
}
.paperOptionLetter{
  flex:0 0 auto;
  min-width:24px;
  color:#111;
  font-weight:700;
}
.paperOptionText{min-width:0}
.paperQuestion .feedback{
  margin-top:24px!important;
  padding:13px 14px!important;
  border:1px solid #ddd7cf!important;
  border-radius:4px!important;
  background:#f4f1eb!important;
  color:#242424!important;
  font-family:Arial,sans-serif!important;
}
.paperQuestion .feedback h3{color:#1d1d1d!important}
.paperQuestion .feedback p{color:#333!important}
.paperQuestion .navRow{
  margin-top:18px!important;
  padding-top:14px!important;
  border-top:1px solid #ded9d2!important;
}
.paperQuestion .navRow .btn{
  border-radius:4px!important;
  font-family:Arial,sans-serif!important;
}
.paperQuestion #saveBtn,
.paperQuestion #explainBtn{
  background:#f3efe8!important;
  border:1px solid #d8d0c5!important;
  color:#383838!important;
}
.paperQuestion #nextBtn{
  background:#292929!important;
  color:#fff!important;
}

@media(max-width:620px){
  .questionCard.paperQuestion{
    padding:18px 15px!important;
  }
  .paperQuestion .qtext{
    font-size:20px!important;
    gap:7px!important;
    margin-bottom:18px!important;
  }
  .paperQuestion .options{
    grid-template-columns:1fr 1fr!important;
    column-gap:12px!important;
    row-gap:10px!important;
  }
  .paperQuestion .paperOption{
    font-size:16px!important;
    padding:7px 6px!important;
    min-height:40px!important;
  }
}
@media(max-width:390px){
  .paperQuestion .options{grid-template-columns:1fr!important}
}
