/* Shared mobile web/app header. Native iOS already insets its web view;
   Android's existing white status-bar strip is retained above the sticky header. */
@media (max-width:760px){
  html{--tt-header-position:sticky;--tt-compact-row:64px;--tt-header-inset:env(safe-area-inset-top,0px);--tt-header-top:0px;--tt-header-clearance:calc(65px + var(--tt-header-inset) + var(--tt-header-top));--tt-panel-top:100%;--tt-nav-position:absolute;--tt-panel-height:calc(100dvh - var(--tt-header-clearance) - var(--tt-bar,0px) - env(safe-area-inset-bottom,0px) - 12px)}
}
html.tt-app-page{--tt-header-position:sticky;--tt-compact-row:64px;--tt-header-inset:0px;--tt-header-top:0px;--tt-header-clearance:calc(65px + var(--tt-header-top));--tt-panel-top:100%;--tt-nav-position:absolute;--tt-panel-height:calc(100dvh - var(--tt-header-clearance) - var(--tt-bar,0px) - env(safe-area-inset-bottom,0px) - 12px)}
html.tt-app-page.tt-android{--tt-header-top:env(safe-area-inset-top,0px)}
html{scroll-padding-top:var(--tt-header-clearance,0px)}
.app-header,.platform-header{position:var(--tt-header-position,relative);top:var(--tt-header-top,auto);padding-top:var(--tt-header-inset,0px)}
.app-header__row{height:var(--tt-compact-row,68px)}
.platform-header .shell{min-height:var(--tt-compact-row,76px)}
.app-header .account-panel,.platform-header .account-panel{top:var(--tt-panel-top,64px);max-height:var(--tt-panel-height,none);overflow-y:auto;overscroll-behavior:contain}
.app-header .mobile-nav{position:var(--tt-nav-position,static);top:100%;left:0;right:0;max-height:var(--tt-panel-height,none);overflow-y:auto;overscroll-behavior:contain}
.event-jump{top:calc(8px + var(--tt-header-clearance,0px))}
.settings-preview{top:calc(22px + var(--tt-header-clearance,0px))}
.how-to-nav{top:calc(20px + var(--tt-header-clearance,0px))}
