/* Installed-app (PWA) additions: safe areas, install button, offline banner. */
.shell{padding-left:max(34px,env(safe-area-inset-left));padding-right:max(34px,env(safe-area-inset-right));padding-bottom:max(20px,env(safe-area-inset-bottom))}
html.standalone .shell{padding-top:max(20px,calc(env(safe-area-inset-top) + 10px))}
html.standalone body{overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}
html.standalone .board,html.standalone button{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.install-app{margin-left:auto;border:0;background:#ffffff2b;color:#fff;border-radius:999px;padding:8px 14px;font:700 12px var(--font);cursor:pointer;white-space:nowrap;box-shadow:inset 0 0 0 2px #ffffff40}
.install-app:not([hidden])+.profile{margin-left:0}
.install-app[hidden],.pwa-hint[hidden],.net-banner[hidden]{display:none}
.pwa-hint{position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:50;display:flex;gap:12px;align-items:center;padding:12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px #0008;font-size:13px}
.pwa-hint p{margin:0;flex:1}
.pwa-hint button{border:0;background:var(--yellow);color:#6b3400;border-radius:10px;padding:8px 12px;font-weight:700;cursor:pointer}
.net-banner{position:fixed;left:0;right:0;top:0;z-index:60;padding:calc(env(safe-area-inset-top) + 6px) 16px 6px;background:#e0302a;color:#fff;text-align:center;font:700 12px var(--font);letter-spacing:.5px}
@media(max-width:640px){.shell{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));padding-bottom:max(12px,env(safe-area-inset-bottom))}html.standalone .shell{padding-top:max(12px,calc(env(safe-area-inset-top) + 6px))}.install-app{padding:6px 10px;font-size:11px}}
@media(max-width:360px){.shell{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}}
