/* Small footer action; installation help uses a native modal above the game. */
.mobile-install { display:none; flex:none; text-align:center; margin:0; padding:0; color:var(--ink,#45382c); }
.mobile-install[hidden] { display:none !important; }
.mobile-install-button { appearance:none; display:inline-flex; align-items:center; justify-content:center; gap:5px; width:auto; min-height:28px; margin:0; padding:4px 10px; border:1px solid currentColor; border-radius:20px; box-shadow:none; background:transparent; color:inherit; font:600 11px/1.2 system-ui,sans-serif; letter-spacing:0; text-transform:none; cursor:pointer; touch-action:manipulation; }
.mobile-install-button:focus-visible,.mobile-install-close:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.mobile-install-button:disabled { opacity:.5; }
.mobile-install-dialog { box-sizing:border-box; width:min(360px,calc(100vw - 32px)); max-height:calc(100dvh - 48px); margin:auto; padding:23px; overflow:auto; overscroll-behavior:contain; touch-action:pan-y; border:2px solid #45382c; border-radius:16px; background:#fff8e8; color:#45382c; box-shadow:0 16px 70px #0005; text-align:left; font:14px/1.55 system-ui,sans-serif; letter-spacing:normal; user-select:text; -webkit-user-select:text; }
.mobile-install-dialog:not([open]) { display:none; }
.mobile-install-dialog::backdrop { background:#0009; }
.mobile-install-dialog h2 { margin:0 0 14px; color:inherit; font:800 21px/1.2 system-ui,sans-serif; letter-spacing:normal; text-shadow:none; -webkit-text-stroke:0; }
.mobile-install-dialog p { margin:0 0 12px; color:inherit; font:inherit; }
.mobile-install-dialog ol { margin:0 0 18px; padding-left:21px; }
.mobile-install-dialog li { margin:0 0 10px; }
.mobile-install-close { width:100%; min-height:44px; padding:10px; border:0; border-radius:9px; background:#45382c; color:#fff8e8; box-shadow:none; font:700 14px/1.3 system-ui,sans-serif; cursor:pointer; touch-action:manipulation; }
#startScreen .mobile-install { color:#c4cfdd; margin-top:8px; }
@media (max-width:950px), (pointer:coarse) and (max-height:500px) {
 .mobile-install:not([hidden]) { display:block; }
 .app:has(> .mobile-install:not([hidden])) { grid-template-rows:68px minmax(0,1fr) auto; }
}
@media (max-width:790px) and (max-height:540px), (max-width:950px) and (max-height:500px) {
 .app:has(> .mobile-install:not([hidden])) { grid-template-rows:38px minmax(0,1fr) auto; }
}
@media (display-mode:standalone), (display-mode:fullscreen) {
 .mobile-install { display:none !important; }
}
