/* Artwork status stays available to assistive technology without becoming an extra
 * grid/flex item whenever scrolling defers or reloads a protected image. */
.frontier-art-status{position:absolute!important;top:0!important;left:0!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;pointer-events:none!important}
/* Actual errors remain readable on touchscreens, without creating a new layout row. */
.frontier-art-status[data-frontier-art-state="unavailable"],.frontier-art-status[data-frontier-art-state="disposed"]{top:auto!important;left:auto!important;width:max-content!important;max-width:min(16rem,calc(100% - 8px))!important;height:auto!important;padding:4px 6px!important;margin:0!important;clip:auto!important;clip-path:none!important;white-space:normal!important;box-sizing:border-box!important;font:12px/1.35 system-ui,sans-serif!important;color:#fff3d8!important;background:#10262f!important;border:1px solid #d8bc78!important;border-radius:4px}
.frontier-art-status[hidden]{display:none!important}
:root{--pwa-ink:#071a13;--pwa-gold:#edd19c}
.pwa-actions{display:flex;align-items:center;justify-content:center;gap:16px;min-height:44px}
.pwa-install{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border:0;background:none;color:var(--pwa-gold);padding:0 6px;font:600 12px/1.2 system-ui,sans-serif;letter-spacing:0;cursor:pointer;touch-action:manipulation}
.pwa-install svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6}
.pwa-install:focus-visible,.pwa-dialog button:focus-visible{outline:2px solid #f8dda2;outline-offset:3px}
.pwa-dialog{box-sizing:border-box;width:calc(100% - 36px);max-width:360px;max-height:calc(100dvh - 48px);overflow:auto;padding:26px 24px 22px;border:1px solid #c6aa6755;border-radius:24px;background:#0b211c;color:#f8f0dc;box-shadow:0 24px 80px #000a;font:14px/1.6 system-ui,sans-serif}
.pwa-dialog::backdrop{background:#020e0bd9;backdrop-filter:blur(8px)}
.pwa-dialog img{display:block;width:72px;height:72px;border-radius:18px;margin:0 auto 14px}
.pwa-dialog h2{margin:0 0 10px;color:#f4d7a4;text-align:center;font:600 23px/1.2 Georgia,serif}
.pwa-dialog p{margin:0 0 16px;color:#c1cfc4}
.pwa-dialog ol{padding-left:20px;margin:0 0 16px}.pwa-dialog li{padding:3px 0}
.pwa-dialog .pwa-status{font-size:12px;color:#9db8a8}
.pwa-dialog button{appearance:none;min-height:44px;border-radius:12px;border:1px solid #d6b77a55;background:#173c2f;color:#f5dcae;font:600 14px system-ui,sans-serif;cursor:pointer;padding:10px 16px}
.pwa-dialog .pwa-primary{background:#e6c38c;border-color:#e6c38c;color:#1e291e;flex:1}
.pwa-dialog-actions{display:flex;gap:10px;align-items:center;margin-top:20px}
.pwa-update{display:block;margin:14px auto;min-height:44px;padding:10px 18px;border:1px solid #d6b77a70;border-radius:12px;background:#0b2a20;color:#f1d39e;font:600 12px system-ui,sans-serif;cursor:pointer}
/* Fill the installed phone viewport, including larger Android phones. */
@media(max-width:600px){
 html.pwa-standalone,html.pwa-standalone body{overscroll-behavior-y:none}
 html.pwa-standalone body{padding:0!important}
 /* Stronger selectors also override the title screen's later inline stylesheet. */
 html.pwa-standalone body .auth-screen,html.pwa-standalone body .screen{position:fixed;inset:0;width:100%;max-width:none;height:auto;max-height:none;min-height:0;margin:0;border:0;border-radius:0;box-shadow:none}
 html.pwa-standalone body .auth-world-map{position:fixed;inset:0;height:100%;width:100%}
 /* Shrink controls for the keyboard, while the background remains edge to edge. */
 html.pwa-standalone body .auth-screen.keyboard-open{top:var(--auth-viewport-top,0px);left:0;right:0;bottom:auto;transform:none;height:var(--auth-viewport-height,100dvh);max-height:var(--auth-viewport-height,100dvh)}
 html.pwa-standalone .hub,html.pwa-standalone .frontier-screen{max-width:none;border-inline:0}
 html.pwa-standalone .bottom-nav,html.pwa-standalone .frontier-navigation{max-width:none}
}
@media(prefers-reduced-motion:reduce){.pwa-dialog{scroll-behavior:auto}}
