.fc-install[hidden],.fc-launch[hidden]{display:none!important}
.fc-install{position:fixed;z-index:12010;bottom:max(16px,env(safe-area-inset-bottom));left:16px;right:16px;max-width:410px;margin-left:auto;padding:18px;background:#0f1115;color:#e5e7eb;border:1px solid #343941;border-top:2px solid #ea580c;border-radius:12px;box-shadow:0 12px 40px #0009;font:14px/1.5 Inter,system-ui,sans-serif}
.fc-install-top{display:flex;gap:14px;align-items:center;padding-right:25px}
.fc-install-icon{width:64px;height:64px;border-radius:14px;flex:none}
.fc-install h2{margin:0 0 3px;font-size:18px;color:#fff;line-height:1.3}
.fc-install p{margin:0;font-size:14px;line-height:1.5;color:#b8c0cb}
.fc-install-close{position:absolute;right:10px;top:8px;border:0;background:transparent;color:#b8c0cb;font-size:24px;cursor:pointer;padding:3px 9px}
.fc-install-action{margin-top:15px;border:1px solid #ea580c;border-radius:7px;padding:10px 16px;background:#ea580c;color:#fff;font:700 14px/1.3 Inter,system-ui,sans-serif;cursor:pointer}
.fc-install button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.fc-install ol{margin:14px 0 0;padding-left:22px;color:#e5e7eb;line-height:1.7}
.fc-launch{position:fixed;inset:0;z-index:20000;display:grid;place-items:center;background:#0a0c0f;pointer-events:none}
.fc-launch img{width:min(42vw,220px);height:auto}
/* Keep pull-to-refresh suppression on the actual page scroller.
   Mobile body overflow-x:hidden makes body a separate scroll container;
   suppressing its scroll chaining can trap vertical swipes in installed apps. */
@media(display-mode:standalone){html{overscroll-behavior-y:none}body{overscroll-behavior-y:auto}.fc-install{display:none!important}}
@media(prefers-reduced-motion:no-preference){.fc-launch img{animation:fc-arrive .3s ease-out}@keyframes fc-arrive{from{opacity:.5;transform:scale(.97)}to{opacity:1;transform:scale(1)}}}
