#mobileStart{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:24px;background:#152640;color:#fff;text-align:center;overflow:auto}
#mobileStart[hidden]{display:none!important}
.mobile-start-card{max-width:460px}
.phone-turn{font-size:64px;line-height:1;color:#9de7d2;margin-bottom:28px}
#mobileStart h2{font-size:30px;line-height:1.3;margin:0 0 18px}
#mobileStart p{font-size:18px;line-height:1.6;margin:0 0 24px;word-break:keep-all}
#mobileStart button{width:100%;min-height:58px;padding:16px 20px;border:0;border-radius:8px;background:#9de7d2;color:#153e3c;font:800 20px/1.3 Paper,sans-serif}
#mobileStart .mobile-help{margin:22px 0 0;color:#bdcce0;font-size:14px;line-height:1.7}
body.mobile-course{background:#152640}
.mobile-course #stage{box-shadow:none}
.mobile-course .footer .tabs,.mobile-course .footer .shortcut{display:none}
.mobile-course .footer{justify-content:center;gap:18px}
.mobile-course .footer button{font-size:25px;min-width:76px}
.mobile-course #pageSelect{font-size:26px}
.mobile-rotated #overview,.mobile-rotated .dialog{position:fixed;inset:auto;top:50%;left:50%;width:var(--landscape-width);height:var(--landscape-height);transform:translate(-50%,-50%) rotate(90deg);transform-origin:center}

/* Auto margins center a short card, and collapse to zero when it needs scrolling. */
#mobileStart{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;box-sizing:border-box;height:100%;height:100dvh;max-height:100dvh;overflow-x:hidden;overflow-y:auto;padding: max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}
.mobile-start-card{width:min(100%,460px);flex:0 0 auto;margin-block:auto}
@media(max-height:520px){.phone-turn{font-size:42px;margin-bottom:16px}#mobileStart h2{font-size:26px;margin-bottom:12px}#mobileStart p{font-size:16px;margin-bottom:16px}#mobileStart button{min-height:52px;padding:12px 16px}#mobileStart .mobile-help{font-size:13px;margin-top:14px}}
