/* "Add to Home Screen" banner (js/install-prompt.js), Noir Couture: near-black glass, ivory text, champagne gold. Oct 8, 2026 */
.a2hs{position:fixed;z-index:90;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));
  display:flex;align-items:center;gap:11px;padding:10px 8px 10px 10px;border-radius:16px;
  background:rgba(26,20,12,.96);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border:1px solid rgba(224,154,58,.38);box-shadow:0 14px 40px rgba(0,0,0,.55),0 0 0 1px rgba(0,0,0,.4);
  font-family:'Montserrat',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;color:#F8F0DC;line-height:1.35;
  opacity:0;transform:translateY(14px);transition:opacity .25s ease,transform .25s ease;pointer-events:none}
.a2hs.on{opacity:1;transform:none;pointer-events:auto}
.a2hs.a2hs-over-nav{bottom:calc(var(--a2hs-nav,0px) + 8px)}
.a2hs-icon{width:40px;height:40px;border-radius:10px;flex:none;box-shadow:0 0 0 1px rgba(224,154,58,.3)}
.a2hs-txt{flex:1;min-width:0}
.a2hs-txt b{display:block;font-size:13.5px;font-weight:600;letter-spacing:.01em;color:#F8F0DC}
.a2hs-txt>span{display:block;font-size:12px;color:#A89F90;margin-top:2px}
.a2hs-txt em{font-style:normal;font-weight:600;color:#F0C060}
.a2hs-glyph{display:inline-block;width:16px;height:16px;vertical-align:-3px;color:#F0C060}
.a2hs-more{display:inline-block;padding:0 4px;border-radius:6px;background:rgba(230,207,155,.14);color:#F0C060;font-weight:700;letter-spacing:1px;line-height:1.2}
.a2hs-go{flex:none;border:0;cursor:pointer;padding:9px 16px;border-radius:999px;font:700 13px/1 'Montserrat',ui-sans-serif,system-ui,sans-serif;
  color:#0C0A06;background:linear-gradient(135deg,#F0C060,#E09A3A 55%,#C47A20);box-shadow:0 4px 16px rgba(224,154,58,.35)}
.a2hs-go:active{transform:scale(.97)}
.a2hs-x{flex:none;width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:#A89F90;cursor:pointer;display:grid;place-items:center;padding:0}
.a2hs-x:hover{color:#F8F0DC;background:rgba(255,255,255,.06)}
.a2hs-x svg{width:16px;height:16px}
.a2hs-inapp{padding:8px 6px 8px 14px}
.a2hs-inapp .a2hs-txt>span{margin:0}
/* room at the end of the page while the banner is up, so nothing (Chat / Tip, footer links) stays hidden behind it */
html.a2hs-pad #app::after{content:'';display:block;height:calc(var(--a2hs-h,64px) + 18px)}
html.a2hs-pad #app.fan-shell::after{display:none}   /* spacer goes on the scroller, not below the flex nav */
html.a2hs-pad #app.fan-shell > .app-scroll{padding-bottom:calc(var(--a2hs-h,64px) + 18px)}
@media (min-width:721px){.a2hs{left:auto;right:20px;bottom:20px;width:390px}}
@media (prefers-reduced-motion:reduce){.a2hs{transition:none}}
