/* RUNQUEST 35 / mobile-first full-screen shell. Desktop retains V34 layout. */
.rq-mobile-tabs,.rq-pager{display:none}
@media (max-width:700px), (orientation:landscape) and (max-height:540px) and (pointer:coarse){
 :root{--rq-nav:70px;--rq-header:54px}
 html,body{width:100%;height:100%;height:100dvh;min-height:0!important;max-width:100vw;overflow:hidden!important;overscroll-behavior:none;touch-action:manipulation}
 *,*::before,*::after{box-sizing:border-box}
 .app{position:relative;display:flex;flex-direction:column;width:100%;max-width:100vw;height:100%;height:100dvh;min-height:0!important;margin:0!important;padding:max(7px,env(safe-area-inset-top)) 12px calc(var(--rq-nav) + env(safe-area-inset-bottom) + 9px)!important;overflow:hidden!important;isolation:isolate}
 .topbar{height:var(--rq-header);min-height:var(--rq-header);margin:0 0 5px!important;flex-shrink:0;gap:8px}
 .mobileBrand img{width:132px!important;max-height:42px}
 .topbarRight{gap:7px}.cloudBadge{display:none}.topBell{width:38px;height:38px}.installBtn{white-space:nowrap;padding:9px}
 #appBody{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;min-width:0;height:100%;overflow:hidden;isolation:isolate}
 #appBody.hidden{display:none!important}
 .view:not(.hidden){display:flex;flex-direction:column;flex:1 1 auto;min-height:0;width:100%;max-width:100%;overflow:hidden;gap:7px}
 .view>*{min-width:0;flex-shrink:0}
 .sidebar:not(.hidden){position:fixed!important;inset:auto 8px max(6px,env(safe-area-inset-bottom)) 8px!important;width:auto!important;height:var(--rq-nav)!important;display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;padding:6px!important;border:1px solid rgba(108,181,255,.20);border-radius:21px!important;background:rgba(7,20,39,.97)!important;backdrop-filter:blur(22px);overflow:hidden!important;z-index:90;box-shadow:0 12px 40px rgba(0,0,0,.49)}
 .sidebar button{min-width:0!important;min-height:0!important;width:100%;height:100%;font-size:9px!important;line-height:1.1;padding:5px 1px!important;gap:3px!important;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border-radius:15px!important}
 .sidebar button::before{font-size:20px!important;line-height:1.05;width:auto!important}
 .sidebar button[data-view="rewards"]{display:flex!important}
 .sidebar button[data-view="admin"]{display:none!important}
 .sidebar button.active{background:rgba(40,114,243,.23);box-shadow:inset 0 0 0 1px rgba(67,156,255,.18);color:#eaf6ff}
 .sidebarFoot,.sideLogo{display:none!important}
 .rq-mobile-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:center;gap:3px;flex-shrink:0;height:37px;padding:3px;border:1px solid rgba(106,164,226,.15);background:#0a1c34;border-radius:14px}
 .rq-mobile-tabs button{min-width:0;width:100%;height:100%;padding:3px 5px;font-size:11px;font-weight:850;border-radius:10px;color:#8ba9c8;background:transparent;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
 .rq-mobile-tabs button.active{color:#f4faff;background:linear-gradient(120deg,#176cff,#247dc8);box-shadow:0 3px 10px rgba(16,100,230,.20)}
 .rq-mobile-pane.rq-page-off,.rq-page-off{display:none!important}
 .rq-pager{display:flex;align-items:center;justify-content:center;gap:16px;height:41px;min-height:41px;flex-shrink:0;margin:0;padding:0}
 .rq-pager button{display:grid;place-items:center;border:1px solid rgba(91,164,250,.25);background:rgba(23,74,138,.55);border-radius:13px;color:#fff;font-size:22px;line-height:1;padding:0;width:49px;height:37px;min-width:49px;touch-action:manipulation}
 .rq-pager .rq-count{color:#bbd7f5;font-size:11px;font-weight:850;min-width:52px;text-align:center;letter-spacing:1px;font-variant-numeric:tabular-nums}
 .rq-pager button:disabled{opacity:.25}
 .rq-pager-empty{visibility:hidden;height:0;min-height:0;margin:0}
 button,input,label{touch-action:manipulation}button{min-height:35px}button:focus-visible,[tabindex]:focus-visible{outline:2px solid #73c7ff;outline-offset:2px}
 .pageHead{display:flex;flex-direction:row;align-items:center;gap:8px;min-height:43px;max-height:58px;overflow:hidden;margin:0!important}
 .pageHead h1{font-size:clamp(20px,5.7vw,25px)!important;line-height:1.05;letter-spacing:-1.1px;margin:3px 0 1px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .pageHead .eyebrow{font-size:8px;letter-spacing:1.1px}.pageHead .muted{display:none}
 .pageHead > button,.pageHead > .btns{flex-shrink:0}.pageHead > button{font-size:10px;padding:8px 10px;min-height:34px}
 .pageHead .scorePill{white-space:nowrap;font-size:10px}
 .notice:not(.hidden){position:absolute;z-index:95;top:calc(var(--rq-header) + 10px);left:10px;right:10px;margin:0;max-height:108px;overflow:hidden;box-shadow:0 15px 32px rgba(0,0,0,.55)}
 /* Login: one contained panel, never a webpage scrolling behind keyboard. */
 #authCard:not(.hidden){display:flex;flex:1;min-height:0;width:100%;margin:0!important;border-radius:24px;overflow:hidden}
 #authCard .authVisual{display:none}
 #authCard .authPanel{width:100%;padding:clamp(17px,5vh,36px) 19px;justify-content:center;overflow:auto;overscroll-behavior:contain}
 #authCard .authPanelBrand{margin-bottom:14px}#authCard .authPanelBrand img{width:156px}
 #authCard .authPanel h2{font-size:28px}#authCard .form{gap:10px}
 input,select,textarea,.form input,.form textarea{font-size:16px!important;max-width:100%;min-width:0}
 /* Home = deliberate dashboard, not an infinite feed. */
 #view-home .homeHero{display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:7px;min-height:102px;max-height:113px;height:clamp(102px,15dvh,113px);margin:0!important}
 #view-home .heroMain{min-height:0;padding:15px 12px;border-radius:18px;box-shadow:none}
 #view-home .heroMain::after{width:150px;height:70px;right:-55px;bottom:-40px;border-width:12px}
 #view-home .heroMain .eyebrow{font-size:7px;letter-spacing:.9px}
 #view-home .heroMain h1{font-size:clamp(20px,6vw,28px)!important;letter-spacing:-1.2px;line-height:1.1;margin:7px 0!important;overflow:hidden;max-width:100%;max-height:62px;overflow-wrap:anywhere}
 #view-home .heroMain p,#view-home .heroActions{display:none}
 #view-home .weekCard{min-width:0;padding:10px 7px;border-radius:18px;display:flex;align-items:center;justify-content:center;gap:3px}
 #view-home .weekTop .weekDate,#view-home .weekTop .live,#view-home .weekCard>.weekDate{display:none}
 #view-home .weekTop{justify-content:center}.weekTop .eyebrow{font-size:8px;white-space:nowrap}
 #view-home .weekScore{padding:0}.weekRing{width:64px;height:64px}.weekRing::after{inset:6px}.weekRingInner b{font-size:20px}.weekRingInner span{font-size:6px;letter-spacing:0}
 #view-home .setupBanner{padding:8px 10px;margin:0;gap:7px;border-radius:14px}
 #view-home .setupBanner span{display:none}#view-home .setupBanner strong{font-size:10px}#view-home .setupBanner button{padding:6px 8px;font-size:9px}
 #view-home .focusBar{margin:0;min-height:51px;padding:8px 11px;border-radius:15px;gap:5px}
 #view-home .focusCopy span{font-size:7px}#view-home .focusCopy strong{font-size:clamp(11px,3.5vw,15px);line-height:1.2;margin-top:1px;max-height:34px;overflow:hidden}#view-home .focusCopy small{display:none}#view-home .focusMetric b{font-size:22px}
 #view-home .quickGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:0;min-height:54px;height:54px}
 #view-home .quick{padding:7px 5px;border-radius:13px;text-align:center;min-width:0}#view-home .quick span{font-size:7px;letter-spacing:0}#view-home .quick b{font-size:18px;margin:3px 0 0}#view-home .quick small{display:none}
 #view-home .homeLayout{display:flex;flex:1 1 0;min-height:0;margin:0;gap:0}
 #view-home .homeLayout>.panel{display:flex;flex-direction:column;flex:1 1 0;min-height:0;width:100%;padding:9px;border-radius:19px;margin:0;overflow:hidden;box-shadow:none}
 #view-home .homeLayout>.panel:nth-child(2){display:none}
 #view-home .homeLayout .panelTitle{margin:1px 2px 7px;gap:6px}
 #view-home .panelTitle h2{font-size:15px;white-space:nowrap}#view-home .panelTitle .eyebrow{font-size:7px}
 #view-home .panelTitle .pill{font-size:7px;padding:4px}
 #view-home .panelTitle button{padding:6px 8px;min-height:29px;font-size:9px}
 #view-home #homeSegments{min-height:0;flex:1 1 0;display:flex;flex-direction:column}
 #view-home .featuredQuest{flex:1 1 0;min-height:0;height:auto!important;border-radius:14px}
 #view-home .featuredOverlay{padding:10px 12px}#view-home .featuredBottom h3{font-size:clamp(16px,4.7vw,23px);line-height:1.08;max-width:230px}
 #view-home .featuredBottom{gap:6px}#view-home .featuredMeta{font-size:9px}#view-home .rewardStrip{gap:4px}
 #view-home .rewardStrip span{font-size:7px;padding:5px}
 #view-home #homeSegments>.compactQuest{display:none}
 #view-home .weekLifecycle{display:none}
 #view-home[data-rq-home="week"] .homeHero,#view-home[data-rq-home="week"] .focusBar,#view-home[data-rq-home="week"] .homeLayout{display:none!important}
 #view-home[data-rq-home="week"] .weekLifecycle{display:flex;flex-direction:column;gap:9px;margin:0;flex:1;min-height:0}
 #view-home[data-rq-home="week"] .weekLifecycle>.lifecycleCard{display:flex;flex:1 1 0;flex-direction:column;min-height:0;justify-content:space-between;padding:12px;border-radius:17px;margin:0}
 #view-home[data-rq-home="week"] .weekMiniStats{gap:6px}#view-home[data-rq-home="week"] .weekMini{padding:10px 5px;border-radius:10px}#view-home[data-rq-home="week"] .weekMini b{font-size:21px}
 #view-home[data-rq-home="week"] #nextQuestPreview{flex:1;min-height:0;overflow:hidden}
 #view-home[data-rq-home="week"] .weekLifecycle .rq-pager{height:32px;min-height:32px}#view-home[data-rq-home="week"] .weekLifecycle .rq-pager button{height:30px}
 /* Quest: one card and explicit prev/next; no vertical feed. */
 #view-segments .weekSummary{display:none}
 #view-segments .questFilters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;flex-wrap:nowrap;margin:0;height:35px;min-height:35px}
 #view-segments .questFilters button{width:100%;padding:4px 1px;font-size:9px;min-width:0;border-radius:11px;white-space:nowrap}
 #view-segments .nearbyControls{display:flex;align-items:center;flex-direction:row;min-height:31px;max-height:31px;margin:0;gap:5px}
 #view-segments #nearbyToggle{width:auto;min-height:30px;max-height:30px;padding:5px 10px;font-size:10px;border-radius:9px}
 #view-segments #nearbyStatus{display:none}
 #view-segments #segmentsList{display:flex;flex-direction:column;min-height:0;flex:1 1 0;gap:0;overflow:hidden}
 #view-segments #segmentsList>.segment{display:flex;flex-direction:column;flex:1 1 0;min-height:0;max-height:100%;width:100%;padding:0;margin:0;overflow:hidden}
 #view-segments .segmentMap{flex:1 1 0;min-height:95px;height:auto!important;border-radius:16px 16px 0 0;overflow:hidden}
 #view-segments .segmentBody{display:flex;flex:0 0 auto;flex-direction:column;gap:6px;padding:10px 11px!important;min-height:0;max-height:54%;overflow:hidden}
 #view-segments .segmentBody h3{font-size:clamp(14px,4vw,18px);line-height:1.1;margin:3px 0}
 #view-segments .segmentBody .meta{font-size:9px}
 #view-segments .segmentBody .routeAccuracy{font-size:7px;margin:3px 0 0}
 #view-segments .segmentBody .questStatus{font-size:7px;padding:4px 6px}
 #view-segments .scorePill{font-size:9px;padding:7px}
 #view-segments .questRules{display:flex;gap:4px;flex-wrap:nowrap;margin:0;min-width:0}
 #view-segments .questRules span{font-size:8px;padding:5px;flex:1;min-width:0;white-space:nowrap;text-align:center}
 #view-segments .segmentActions{display:flex;flex-direction:row;gap:7px;margin:0}
 #view-segments .segmentActions>*{flex:1;min-width:0;min-height:38px!important;height:38px!important;padding:6px 3px;font-size:9px;display:flex;align-items:center;justify-content:center;white-space:nowrap}
 #view-segments .segmentActions .uploadQuest span{font-size:8px}
 #view-segments .segmentMap .mapTag{font-size:8px}.segmentMap .speedTag,.segmentMap .standardTag{font-size:8px}
 #view-segments .nextWeekPanel{display:none}
 #view-segments[data-rq-quests="next"] .questFilters,#view-segments[data-rq-quests="next"] .nearbyControls,#view-segments[data-rq-quests="next"] #segmentsList,#view-segments[data-rq-quests="next"] #rq-pager-segmentsList{display:none!important}
 #view-segments[data-rq-quests="next"] .nextWeekPanel{display:flex;flex:1 1 0;min-height:0;flex-direction:column;gap:8px;margin:0;padding:12px;border-radius:18px;overflow:hidden}
 #view-segments .nextWeekPanel .panelTitle{margin:0}.nextWeekPanel .panelTitle h3{font-size:17px}.nextWeekPanel>.muted{font-size:10px;margin:0}
 #view-segments #nextWeekGrid{display:flex;flex:1 1 0;min-height:0;flex-direction:column;overflow:hidden;gap:0}
 #view-segments #nextWeekGrid>*:not(.rq-page-off){display:flex;flex:1 1 0;min-height:0;flex-direction:column;justify-content:center}
 #view-segments .nextWeekPanel .rq-pager{height:39px;min-height:39px}
 /* Ranking: compact podium and paged rows */
 #view-ranking>.panel{display:flex;flex:1 1 0;min-height:0;flex-direction:column;gap:8px;padding:11px;margin:0;overflow:hidden}
 #view-ranking .scopeBtns{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;flex:0 0 35px;max-height:35px;padding:0;margin:0;overflow:hidden}
 #view-ranking .scopeBtns button{width:100%;min-width:0;font-size:8px;padding:3px 1px;white-space:nowrap;min-height:32px;border-radius:10px}
 #view-ranking #rankingPodium{flex:0 0 auto;max-height:clamp(110px,21dvh,154px);min-height:0;overflow:hidden}
 #view-ranking .podiumWrap{height:100%;gap:5px;margin:0}.podiumCard{height:100%;min-height:0;padding:7px 3px!important;border-radius:12px}.podiumCard.winner{padding-top:5px!important}.podiumCard .podiumAvatar{width:30px;height:30px;font-size:12px}.podiumCard strong{font-size:9px;line-height:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.podiumCard small{font-size:7px}.podiumCard b{font-size:13px;margin-top:3px}.podiumCard .podiumNumber{font-size:8px}
 #view-ranking #rankingList{display:flex;flex:1 1 0;flex-direction:column;min-height:0;gap:6px;overflow:hidden}
 #view-ranking .rankRow{min-height:0;flex:1 1 0;max-height:65px;margin:0;padding:5px 7px;grid-template-columns:24px 27px 1fr auto;gap:7px;border-radius:13px}
 #view-ranking .rankRow .avatar{width:27px;height:27px;font-size:11px}.rankWho strong{font-size:11px}.rankWho span{font-size:8px}.rankScore{font-size:14px}
 #view-ranking .rq-pager{height:39px;min-height:39px}
 /* App sub-screens for tabs that previously formed long vertical documents. */
 #view-friends>.homeLayout,#view-rewards>.homeLayout,#view-profile>.homeLayout{display:contents}
 #view-friends>.panel,#view-friends .homeLayout>.panel,#view-rewards .homeLayout>.panel,#view-profile .homeLayout>.panel,#view-admin>.panel{display:flex;flex:1 1 0;min-height:0;flex-direction:column;gap:8px;overflow:hidden;margin:0;padding:13px;border-radius:18px}
 #view-friends .panelTitle{margin:0}.panelTitle h3{font-size:15px}
 #view-friends .form{gap:9px}#view-friends #searchResults,#view-friends #requestList,#view-friends #friendList,#view-rewards #rewardsList,#view-rewards #redemptionsList,#view-profile #myActivities,#view-admin #adminSegments,#view-admin #pendingActivities{display:flex;flex:1 1 0;flex-direction:column;min-height:0;overflow:hidden;gap:8px}
 #view-friends #searchResults>*:not(.rq-page-off),#view-friends #requestList>*:not(.rq-page-off),#view-friends #friendList>*:not(.rq-page-off),#view-rewards #rewardsList>*:not(.rq-page-off),#view-rewards #redemptionsList>*:not(.rq-page-off),#view-profile #myActivities>*:not(.rq-page-off),#view-admin #adminSegments>*:not(.rq-page-off),#view-admin #pendingActivities>*:not(.rq-page-off){min-height:0;flex:0 1 auto}
 #view-friends .item,#view-rewards .reward,#view-profile .item,#view-admin .item{margin:0;padding:10px;border-radius:14px}
 #view-rewards .reward p{font-size:11px;line-height:1.5}
 #view-profile .pageHead{max-height:71px;min-height:54px}#view-profile .pageHead h1{font-size:21px}#view-profile .pageHead #profileProvince,#view-profile .pageHead #userEmail{font-size:8px}
 #view-profile .pageHead>.btns{gap:3px}#view-profile .pageHead>.btns button{padding:7px;font-size:9px;white-space:nowrap}
 #view-profile .profileStats{height:58px;min-height:58px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0}
 #view-profile .profileStat{padding:6px 3px;border-radius:10px;text-align:center}.profileStat span{font-size:7px}.profileStat b{font-size:17px;margin-top:3px}
 #view-profile #profileForm{gap:8px;min-height:0}#view-profile #profileForm .grid2{grid-template-columns:1fr 1fr;gap:6px}#view-profile #profileForm label{font-size:10px;gap:3px}#view-profile #profileForm input{padding:9px;font-size:16px;border-radius:10px}#view-profile #profileForm button{margin-top:4px}
 #view-admin>.panel .form{gap:7px;overflow:auto;overscroll-behavior:contain}#view-admin>.panel .form textarea{max-height:80px}#view-admin>.panel .form .grid2{gap:5px}
 /* Quest detail is itself a three-screen interaction, never a tall sheet. */
 .questBackdrop:not(.hidden){inset:0!important;padding:0!important;display:flex;align-items:stretch;justify-content:stretch;z-index:120;overflow:hidden}
 .questBackdrop>.questSheet{display:flex;flex:1 1 0;flex-direction:column;gap:8px;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;min-height:0;overflow:hidden!important;border-radius:0!important;padding:max(13px,env(safe-area-inset-top)) 13px max(13px,env(safe-area-inset-bottom))!important;background:linear-gradient(180deg,#10294b,#071325 78%)}
 #questBackdrop .sheetTop{order:0;flex:0 0 37px;margin:0}
 #questBackdrop .detailHeader{order:1;flex:0 0 auto;max-height:89px;overflow:hidden}
 #questBackdrop .detailHeader h2{font-size:clamp(20px,5.6vw,27px);line-height:1.12;margin:4px 0!important}
 #questBackdrop .detailHeader p{font-size:10px;max-height:25px;overflow:hidden}
 #questBackdrop .rq-mobile-tabs{order:2}
 #questBackdrop .detailMap{order:3;display:block;flex:1 1 0;min-height:145px;height:auto!important;margin:0;border-radius:18px}
 #questBackdrop #detailRouteNotice{order:4;margin:0;padding:8px 10px;font-size:10px;flex:0 0 auto;max-height:52px;overflow:hidden}
 #questBackdrop .routeTools{order:5;display:grid;grid-template-columns:1fr 1fr;flex:0 0 auto;gap:7px;margin:0}
 #questBackdrop .routeTools button{font-size:10px;min-height:41px;padding:6px 3px}
 #questBackdrop .detailStats{order:6;display:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0}
 #questBackdrop .detailStat{padding:13px 8px}.detailStat b{font-size:19px}
 #questBackdrop .detailRules{order:7;display:none;gap:7px;margin:0;flex:1 1 0;min-height:0;overflow:hidden}
 #questBackdrop .detailRule{min-height:0;flex:1 1 0;padding:12px 10px;align-items:center;font-size:11px}
 #questBackdrop .detailUpload{order:8;display:none;flex:1 1 0;min-height:0;margin:0;align-content:center;gap:11px;padding:15px;border-radius:16px}
 #questBackdrop .detailUpload span{font-size:12px}#questBackdrop .detailUpload input{font-size:16px!important}
 #questBackdrop[data-rq-detail="points"] .detailMap,#questBackdrop[data-rq-detail="points"] #detailRouteNotice,#questBackdrop[data-rq-detail="points"] .routeTools{display:none!important}
 #questBackdrop[data-rq-detail="points"] .detailStats{display:grid!important}
 #questBackdrop[data-rq-detail="points"] .detailRules{display:flex!important;flex-direction:column}
 #questBackdrop[data-rq-detail="upload"] .detailMap,#questBackdrop[data-rq-detail="upload"] #detailRouteNotice,#questBackdrop[data-rq-detail="upload"] .routeTools{display:none!important}
 #questBackdrop[data-rq-detail="upload"] .detailUpload{display:grid!important}
 #uploadBackdrop>.uploadSheet,#reviewBackdrop>.reviewSheet{overflow:auto!important;overscroll-behavior:contain}
 #uploadBackdrop .uploadRoutePreview{height:clamp(100px,21dvh,155px)}
 .activityDrawer{max-width:100vw!important;width:100vw!important;overflow:auto!important;padding-bottom:max(20px,env(safe-area-inset-bottom))}
 .offlineBar{bottom:calc(var(--rq-nav) + env(safe-area-inset-bottom) + 9px)!important;left:10px;right:10px;z-index:92}
 /* Portrait short-height devices retain usable forms and a smaller map, never overflow the viewport. */
 @media(max-height:710px){
  :root{--rq-nav:61px;--rq-header:44px}
  .app{padding-left:9px!important;padding-right:9px!important;gap:0}
  .sidebar:not(.hidden){border-radius:16px!important;padding:4px!important}.sidebar button::before{font-size:17px!important}
  .rq-mobile-tabs{height:32px}.rq-mobile-tabs button{font-size:10px}
  .view:not(.hidden){gap:5px}.pageHead{min-height:37px;max-height:42px}
  #view-home .homeHero{height:88px;min-height:88px;max-height:88px}#view-home .focusBar{min-height:44px}
  #view-home .quickGrid{height:44px;min-height:44px}#view-home .quick b{font-size:15px}
  #view-segments .segmentBody{gap:4px;padding:7px 9px!important;max-height:57%}
  #view-segments .segmentMap{min-height:70px}#view-segments .questRules span{font-size:7px;padding:3px}
  #view-segments .segmentActions>*{min-height:34px!important;height:34px!important}
  #view-segments .questFilters{height:31px;min-height:31px}
  .rq-pager{height:34px;min-height:34px}.rq-pager button{height:31px}
  #questBackdrop .detailMap{min-height:100px}#questBackdrop .detailHeader{max-height:65px}
  #questBackdrop .routeTools button{min-height:35px}
 }
 @media(orientation:landscape) and (max-height:540px){
  .app{padding-bottom:calc(53px + env(safe-area-inset-bottom))!important}.sidebar:not(.hidden){height:49px!important;--rq-nav:49px}
  .sidebar button{flex-direction:row;font-size:9px!important}.sidebar button::before{font-size:16px!important}
  #view-home .homeHero{display:none}.rq-mobile-tabs{height:29px}
  #view-segments .segmentBody{max-height:58%}.pageHead{min-height:30px}
 }
 body.rq-keyboard .sidebar:not(.hidden){display:none!important}
 body.rq-keyboard .app{padding-bottom:env(safe-area-inset-bottom)!important}
 body.rq-keyboard #appBody .view:not(.hidden) .rq-mobile-pane:not(.rq-page-off){overflow:auto;overscroll-behavior:contain}
 body.rq-keyboard #authCard .authPanel{overflow:auto}
}
@media (max-width:700px), (orientation:landscape) and (max-height:540px) and (pointer:coarse){
 /* Modal must sit above the sibling bottom navigation; no parent stacking context. */
 .app{isolation:auto!important}
 #appBody{isolation:auto!important}
 #view-segments .segmentActions .uploadQuest{white-space:normal!important;flex-direction:column;line-height:1.1;gap:1px;overflow-wrap:normal;font-size:9px!important}
 #view-segments .segmentActions .uploadQuest span{display:block;font-size:8px!important;line-height:1}
 .segmentMap .rq-map-status{top:auto!important;bottom:4px;left:5px;max-width:52%;font-size:7px;padding:3px 4px;line-height:1.15}
 .featuredQuest .rq-map-status{display:none}
 .featuredQuest .featuredOverlay{background:linear-gradient(180deg,rgba(3,12,29,.40),transparent 33%,rgba(2,12,27,.86) 100%)}
}
