/* v5.4: teen Launch branding, panoramic hero and balanced mission tiles. */
:root{--cockpit-sidebar:244px}
.drawerWordmark{display:block;width:100%;max-width:218px;height:auto;object-fit:contain}
.drawerHead{display:flex!important;align-items:center;gap:6px}.drawerHead .drawerWordmark{min-width:0;flex:1}.drawerClose{flex:0 0 32px}
.studyTile.gatMissionMode{background:linear-gradient(145deg,#202c44,#192137)!important;border:1px solid #3d4862!important;color:#f5ece5!important}
.studyTile.gatMissionMode:nth-child(2n){background:linear-gradient(145deg,#302b45,#1e233a)!important}
.studyTile.gatMissionMode:hover{border-color:#cba770!important}
.gatMissionMode .tileSub{color:#b7b4c8!important}
#drawerBackdrop{visibility:hidden}
#drawerBackdrop.open{visibility:visible}
.studyGrid .studyTile.gatMissionMode .tileCopy{width:100%!important;max-width:none!important;padding:0!important}
.studyGrid .studyTile.gatMissionMode .tileTitle{max-width:none!important;width:100%!important;font-size:14px!important;white-space:normal!important}
.gatMenuBtn img{width:32px;height:32px;object-fit:contain}
.gatRankBadge{width:38px!important;height:38px!important;border-radius:0;object-fit:contain}
.drawerRank{display:grid;grid-template-columns:44px 1fr;column-gap:10px;align-items:center;text-align:left;border:1px solid #37415d;border-radius:12px;background:#172038;color:#eee6e4;padding:10px;cursor:pointer}
.drawerRank .gatRankBadge{grid-row:1/3;width:44px!important;height:44px!important}
.drawerRank .gatRankTitle{font-size:12px}.drawerRank .gatRankLevel{font-size:10px}
.drawerItem .ico.t{background:none;border:0;border-radius:0}
.drawerItem .ico img,.drawerGroupToggle img{width:36px;height:36px}
.drawerGroupToggle{grid-template-columns:38px 1fr 18px}
.drawerGroupToggle:focus-visible,.drawerItem:focus-visible,.gatTrack:focus-visible,.studyTile:focus-visible{outline:2px solid #e2bb7b;outline-offset:2px}
.navIcon img{width:32px;height:32px}
.mockHero{height:auto!important;min-height:0!important;aspect-ratio:3/1!important}
.mockHero img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
.studyGrid[hidden]{display:none!important}
.gatMissionMode .tileTitle{white-space:normal!important;overflow-wrap:normal!important;line-height:1.2!important}
.gatMissionMode .tileSub{font-size:11px!important;line-height:1.35!important}
.gatMissionMode .gatModeIcon,.gatMissionMode .gatModeIcon img{width:104px!important;height:104px!important;max-width:100%;object-fit:contain}
.gatMissionMode .gatModeIcon img{position:static!important}
.gatTrack{min-width:0}.gatTrack b{overflow-wrap:normal}
.missionTitle{line-height:1.15!important}.missionSub{line-height:1.4!important;width:auto!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important}
.saveGlyph img{width:24px;height:24px;object-fit:contain;display:block}
#saveBtn.saved{border-color:#d9b474;background:#3c3150}
.gatMapHead img{width:50px;height:50px;flex:0 0 50px}
.v42NodeTop>span:last-child{min-width:0}.v42NodeName{overflow-wrap:normal;word-break:normal;line-height:1.25}
.v42Node .v42Planet img{width:52px!important;height:52px!important}
.v42Node .v42Planet{width:52px;height:52px;flex:0 0 52px}
.verbalWorld{display:block;object-fit:contain;margin:0 auto 12px}
#home[data-track="verbal"] .gatVerbalMissions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media(min-width:1021px), (min-width:760px) and (orientation:landscape){
  #home[data-track="verbal"] .gatVerbalMissions{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  html,body{height:100%;overflow:hidden}
  .gatTopbar,#desktopNav{display:none!important}
  #drawerBackdrop{visibility:visible!important;opacity:1!important;pointer-events:none!important;background:transparent!important;inset:0 auto 0 0!important;width:var(--cockpit-sidebar)!important;height:100dvh!important}
  #drawerBackdrop #drawer{position:fixed!important;inset:0 auto 0 0!important;width:var(--cockpit-sidebar)!important;height:100dvh!important;transform:none!important;pointer-events:auto!important;background:#10192d!important;padding:12px!important;border-right:1px solid #343b56!important;box-shadow:none!important;overflow-y:auto!important;overscroll-behavior:contain}
  .drawerClose{display:none!important}
  .drawerHead{padding:0 4px 10px!important;margin-bottom:0!important}
  .drawerTitle b{font-size:14px!important}.drawerTitle small{font-size:10px!important}
  .drawerLogo{width:36px!important;height:36px!important}
  .drawerGroup{margin-top:2px!important;padding-top:4px!important}
  .drawerGroupToggle{padding:6px!important;grid-template-columns:34px 1fr 18px;gap:7px}
  .drawerGroupToggle img{width:32px!important;height:32px!important}
  .drawerItem{padding:6px!important;grid-template-columns:34px 1fr!important;gap:8px!important;font-size:12px!important}
  .drawerItem .ico,.drawerItem .ico img{width:32px!important;height:32px!important}
  .drawerItem small{font-size:9px!important;line-height:1.3}
  #appStage{width:calc(100% - var(--cockpit-sidebar))!important;margin-left:var(--cockpit-sidebar)!important;padding:0!important;height:100dvh!important;min-height:100dvh!important;overflow:hidden!important}
  main{width:100%!important;max-width:none!important;height:100dvh!important;margin:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding:12px!important}
  #home.mockHome.active{height:auto!important;min-height:0!important;max-height:none!important;max-width:1440px!important;margin:0 auto!important;padding:0!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto 56px 88px clamp(176px,26vh,230px)!important;grid-template-areas:"hero" "tracks" "daily" "missions"!important;gap:12px!important;overflow:visible!important}
  .mockHero{height:auto!important;max-height:245px!important;aspect-ratio:6/1!important;border-radius:16px!important}
  .mockHero img{object-fit:cover!important}
  .gatTrackChooser{height:100%!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:1fr!important;gap:10px!important}
  .gatTrack{min-height:0!important;height:100%!important;padding:8px 16px!important;gap:10px!important}
  .gatTrack img{width:38px!important;height:38px!important;flex-basis:38px!important}
  .gatTrack b{font-size:14px!important}.gatTrack small{display:none!important}
  .missionCard{height:88px!important;min-height:0!important;margin:0!important;padding:6px 18px!important;grid-template-columns:76px 1fr 76px!important;border-radius:14px!important}
  .missionRing,.missionArt{width:64px!important;height:64px!important}
  .missionTitle{font-size:25px!important}.missionSub{font-size:11px!important}
  .studyGrid{height:100%!important;min-height:0!important;margin:0!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-auto-rows:1fr!important;gap:10px!important;overflow:visible!important}
  .studyTile.gatMissionMode{display:flex!important;flex-direction:column!important;justify-content:center!important;min-height:0!important;height:100%!important;padding:10px 6px!important;gap:0!important}
  .gatMissionMode .gatModeIcon,.gatMissionMode .gatModeIcon img{width:clamp(88px,13vh,112px)!important;height:clamp(88px,13vh,112px)!important;margin:0 auto 8px!important}
  .gatMissionMode .tileCopy{width:100%!important;padding:0!important}
  .gatMissionMode .tileTitle{font-size:14px!important}
  .gatMissionMode .tileSub{font-size:10px!important;margin-top:5px!important}
  .mockHome .details{position:fixed!important;z-index:170!important;left:calc(var(--cockpit-sidebar) + 12px)!important;right:12px!important;bottom:12px!important;max-height:80dvh!important;overflow:auto!important}
}
@media(min-width:760px) and (max-width:1020px) and (orientation:landscape){
  :root{--cockpit-sidebar:196px}
  .drawerItem small,.drawerGroupToggle small{display:none!important}
  .drawerRank{padding:6px}.drawerRank .gatRankBadge{width:34px!important;height:34px!important}
  .drawerItem{padding:4px 6px!important;font-size:11px!important}
  .drawerGroupToggle{padding:4px!important;font-size:12px!important}
  #home.mockHome.active{min-height:0!important;grid-template-rows:auto 42px 68px 108px!important;gap:8px!important}
  main{padding:8px!important}
  .gatTrack img{width:38px!important;height:38px!important;flex-basis:38px!important}
  .gatTrack b{font-size:13px!important}.gatTrack small{display:none!important}
  .missionCard{height:68px!important}.missionRing,.missionArt{width:52px!important;height:52px!important}
  .missionTitle{font-size:20px!important}.missionSub{font-size:10px!important}
  .studyGrid{gap:6px!important}
  .gatMissionMode .gatModeIcon,.gatMissionMode .gatModeIcon img{width:60px!important;height:60px!important;margin-bottom:4px!important}
  .gatMissionMode .tileTitle{font-size:11px!important}.gatMissionMode .tileSub{display:none!important}
  .studyGrid .studyTile.gatMissionMode .tileTitle{font-size:11px!important}
}
@media(max-width:759px), (max-width:1020px) and (orientation:portrait){
  .mockHero{height:auto!important;aspect-ratio:3/1!important}
  .studyTile.gatMissionMode{min-height:165px!important}
  .gatMissionMode .gatModeIcon,.gatMissionMode .gatModeIcon img{width:100px!important;height:100px!important}
  .gatTrack{padding:10px!important;gap:8px!important}.gatTrack img{width:48px!important;height:48px!important;flex-basis:48px!important}.gatTrack b{font-size:15px!important}
}

@media(min-width:1021px) and (max-height:650px){#home.mockHome.active{grid-template-rows:auto 48px 76px 150px!important;gap:8px!important}.mockHero{max-height:155px!important}.missionCard{height:76px!important}.gatMissionMode .gatModeIcon,.gatMissionMode .gatModeIcon img{width:76px!important;height:76px!important}}

.gatTopBrand img.topWordmark{width:150px!important;height:auto!important;max-height:42px!important;object-fit:contain!important}

/* Star Map: undiscovered worlds stay dark; planet art unlocks after practice. */
.gatMapSections{grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);align-items:start}
.gatMapSection .v42StarMap{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.gatMapSection .v42Node{box-sizing:border-box;min-width:0;min-height:160px;padding:16px 15px 27px;overflow:hidden;display:flex;flex-direction:column;gap:7px}
.gatMapSection .v42NodeTop{min-width:0;align-items:center}
.gatMapSection .v42NodeMeta{margin-top:auto;font-size:11px;line-height:1.35}
.gatMapSection .v42NodeBar{width:100%;margin-top:2px;margin-bottom:3px}
.gatMapSection .v42Node::after{bottom:9px;right:14px}
.gatMapSection .v42Node.mapLocked{background:#0b1020;opacity:.76}
.gatMapSection .v42Node.mapLocked .v42Planet{background:#050811;border:1px solid #252d40;border-radius:50%;overflow:hidden}
.gatMapSection .v42Node.mapLocked .v42Planet img{visibility:hidden}
.gatMapSection .v42Node.mapLocked .v42Stars{color:#596074}
.gatMapSection .v42Node.mapUnlocked .v42Planet img{visibility:visible}
.gatMapSection .mapUnlockStatus{font-size:10px;color:#999fb5;line-height:1.3;padding-right:50px}
@media(max-width:900px){.gatMapSections{grid-template-columns:1fr}}
@media(max-width:540px){.gatMapSection .v42StarMap{grid-template-columns:1fr!important}.gatMapSection .v42Node{min-height:135px}}

/* Sidebar hierarchy: distinguish destinations from grouped study tools. */
#drawer .drawerGroup{border-top:1px solid #35415e!important;margin-top:10px!important;padding-top:10px!important}
#drawer .drawerGroupToggle{background:#1b2842!important;border-left:3px solid #bd9556!important;border-radius:4px!important;padding:10px 9px!important;color:#f6e5c7!important}
#drawer .drawerGroup.open .drawerGroupToggle{background:#24324d!important;border-left-color:#e4b65e!important}
#drawer .drawerGroupBody{margin:5px 0 3px 16px!important;padding-left:11px!important;border-left:1px solid #3d4a67!important}
#drawer .drawerGroupBody .drawerItem{border-bottom:1px solid rgba(130,145,177,.14)!important;border-radius:3px!important;padding:8px 7px!important;color:#e4e8f4!important}
#drawer .drawerGroupBody .drawerItem:last-child{border-bottom:0!important}
#drawer .drawerGroupBody .drawerItem:hover,#drawer .drawerGroupBody .drawerItem:focus-visible{background:#263651!important}
#drawer>.drawerItem{margin-top:5px!important;border-left:3px solid transparent!important}
#drawer>.drawerItem:hover{border-left-color:#b99a68!important}
#drawer .drawerGroup:nth-of-type(3) .drawerGroupToggle{border-left-color:#8b92cb!important}
@media (min-width:760px) and (max-width:1020px) and (orientation:landscape){#drawer .drawerGroupToggle{padding:6px!important}#drawer .drawerGroupBody{margin-left:7px!important;padding-left:6px!important}#drawer .drawerGroupBody .drawerItem{padding:5px!important}}

/* Always-visible English verbal entry on the main mission row. */
#home .tileVerbal{background:linear-gradient(145deg,#292442,#1a253c)!important;border:2px solid #8e80bd!important;box-shadow:inset 0 0 0 1px rgba(177,157,228,.14)}
#home .tileVerbal .tileTitle{color:#f2eaff!important;font-weight:950}
#home .tileVerbal .tileSub{color:#c8bce6!important}
#home .tileVerbal img{object-fit:contain}
#home .tileVerbal:hover,#home .tileVerbal:focus-visible{border-color:#d4bbf5!important;background:#362f52!important}
