/* Mobile app shell. Existing public pages and server forms stay unchanged. */
[hidden]{display:none!important}
.app-tabs{display:none}
.pwa-install-card{display:flex;align-items:center;gap:18px;margin:0 auto 40px;padding:24px;border:1px solid var(--line);background:var(--paper-dim);max-width:1092px}
.pwa-install-card img{width:52px;height:52px;border-radius:12px;flex-shrink:0}
.pwa-install-card div{flex:1}.pwa-install-card h2{font-size:22px;margin-bottom:6px}.pwa-install-card p{font-size:14px;color:var(--muted)}
.pwa-intro{max-width:760px;margin:auto;text-align:center}.pwa-intro>img{width:104px;height:104px;border-radius:24px;margin:0 auto 24px}
.pwa-intro h1{font-size:clamp(34px,6vw,54px);margin:16px 0}.pwa-intro p{max-width:52ch;margin:16px auto;color:var(--muted)}
.pwa-features{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:24px 0}.pwa-features span{padding:7px 14px;border:1px solid var(--line);border-radius:24px;font-size:13px}
.pwa-instructions{max-width:760px;margin:36px auto 0}.pwa-instructions details{background:#fff;border:1px solid var(--line);margin:12px 0;border-radius:12px;overflow:hidden}
.pwa-instructions summary{font-weight:700;padding:20px;cursor:pointer}.pwa-instructions ol{padding:0 26px 24px 44px}.pwa-instructions li{padding:5px 0}.pwa-instructions .pwa-note{padding:0 22px 22px;font-size:14px;color:var(--muted)}
.pwa-status{min-height:1.6em;font-size:14px}.pwa-install-card a{white-space:nowrap}
@media(max-width:760px){
  body{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
  body>nav{padding-top:env(safe-area-inset-top,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
  #main-content{padding-top:env(safe-area-inset-top,0px)}
  .app-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:44;background:var(--paper);border-top:1px solid var(--line);padding:6px max(8px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));box-shadow:0 -6px 24px #0a1f1b08}
  .app-tabs a,.app-tabs button{min-height:54px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;border:0;border-radius:10px;background:transparent;color:var(--muted);font:600 11px/1.2 'Karla',sans-serif;cursor:pointer}
  .app-tabs svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .app-tabs [aria-current=page],.app-tabs [aria-expanded=true]{background:#c6a15b26;color:var(--pine)}
  .app-tabs button:focus-visible{outline:2px solid var(--gold-deep)}
  .nav-links{padding-top:calc(88px + env(safe-area-inset-top,0px));padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}
  #waBtn,#aiFab{bottom:calc(86px + env(safe-area-inset-bottom,0px));width:48px;height:48px}
  #waBtn{left:max(16px,env(safe-area-inset-left,0px))}#aiFab{right:max(16px,env(safe-area-inset-right,0px))}
  #waBtn svg,#aiFab svg{width:26px;height:26px}
  .background-music-toggle{bottom:calc(146px + env(safe-area-inset-bottom,0px));left:16px}
  #aiPanel{bottom:calc(144px + env(safe-area-inset-bottom,0px));height:min(520px,calc(100dvh - 230px));max-height:calc(100dvh - 230px)}
  #toast{bottom:calc(88px + env(safe-area-inset-bottom,0px));width:max-content;max-width:calc(100vw - 32px)}
  body.menu-open #waBtn,body.menu-open #aiFab,body.menu-open #aiPanel,body.menu-open .background-music-toggle{visibility:hidden}
  .pwa-install-card{margin:0 20px 28px;flex-wrap:wrap;padding:20px;gap:14px}.pwa-install-card .btn{width:100%;justify-content:center}.pwa-install-card h2{font-size:20px}
  input,select,textarea{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.nav-links{transition:none}}

.nav-links>.mobile-install-link{display:none}
@media(max-width:1280px){.nav-links>.mobile-install-link{display:block}body.menu-open{overflow:hidden}}
