/* Viewport shell: only main scrolls; header/nav are ordinary fixed-size flex items. */
body.sortirumba-page{--app-gutter:22px;--app-header-size:60px;--app-header-gutter:12px;--app-nav-size:56px;--app-nav-icon-size:28px;display:flex;flex-direction:column;width:100%;height:100vh;height:100dvh;min-height:0;margin:0;overflow:hidden}
body.sortirumba-page>.topbar{position:static;inset:auto;flex:0 0 calc(var(--app-header-size) + env(safe-area-inset-top,0px));height:calc(var(--app-header-size) + env(safe-area-inset-top,0px));min-height:0;max-height:calc(var(--app-header-size) + env(safe-area-inset-top,0px));width:100%;max-width:480px;margin:0 auto;padding:calc(8px + env(safe-area-inset-top,0px)) var(--app-header-gutter) 8px;background:var(--bg);overflow:visible}
body.sortirumba-page>main.page{flex:1 1 0;min-height:0;min-width:0;width:100%;max-width:480px;height:auto;margin:0 auto;padding:8px var(--app-gutter) 24px;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scroll-padding-top:12px;scrollbar-width:none;-ms-overflow-style:none}
body.sortirumba-page>main.page::-webkit-scrollbar{display:none;width:0;height:0}
/* Reserve the safe area in nav height, not padding. */
body.sortirumba-page>.nav{position:static;inset:auto;flex:0 0 calc(var(--app-nav-size) + env(safe-area-inset-bottom,0px));height:calc(var(--app-nav-size) + env(safe-area-inset-bottom,0px));min-height:0;max-height:calc(var(--app-nav-size) + env(safe-area-inset-bottom,0px));width:100%;max-width:480px;margin:0 auto;padding:0;border:0;border-radius:0;box-shadow:none;gap:0;align-items:flex-start}
body.sortirumba-page>.nav>a{display:flex;flex:1 1 0;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:0;height:var(--app-nav-size);margin:0;padding:0;gap:2px;border:0;border-radius:0;box-shadow:none;line-height:14px}
body.sortirumba-page>.nav>a :is(svg,.home-nav-icon,.league-nav-icon){display:block;position:static;flex:0 0 var(--app-nav-icon-size);width:var(--app-nav-icon-size);height:var(--app-nav-icon-size);margin:0;padding:0;border:0;border-radius:0;object-fit:contain}
@media(max-width:370px){body.sortirumba-page{--app-gutter:18px}}
