:root{--pwa-gold:#d9b85f;--pwa-cream:#f6eed9;--pwa-black:#09080c}

.pwa-install-card{position:fixed;left:16px;bottom:82px;z-index:74;width:min(296px,calc(100vw - 104px));display:flex;align-items:center;gap:12px;padding:11px 42px 11px 11px;border:1px solid rgba(217,184,95,.48);border-radius:17px;background:rgba(9,8,12,.94);box-shadow:0 18px 54px rgba(0,0,0,.56);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:var(--pwa-cream);font-family:'Outfit','Avenir Next','Helvetica Neue',sans-serif;transform:translateY(18px);opacity:0;visibility:hidden;transition:opacity .35s,transform .35s,visibility .35s}
.pwa-install-card.show{opacity:1;visibility:visible;transform:translateY(0)}
.pwa-install-icon{width:48px;height:48px;border-radius:12px;flex:0 0 48px;box-shadow:0 4px 18px rgba(0,0,0,.45)}
.pwa-install-copy{min-width:0}
.pwa-install-copy strong{display:block;margin:0 0 3px;color:#f8edcf;font:500 15px/1.15 'Cormorant Garamond',Georgia,serif;letter-spacing:.02em}
.pwa-install-copy span{display:block;color:rgba(246,238,217,.62);font-size:9px;line-height:1.35;letter-spacing:.08em;text-transform:uppercase}
.pwa-install-action{appearance:none;border:0;background:none;color:inherit;padding:0;text-align:left;cursor:pointer;display:flex;align-items:center;gap:12px;width:100%}
.pwa-install-action::after{content:'→';color:var(--pwa-gold);font-size:17px;margin-left:auto}
.pwa-install-close{position:absolute;right:8px;top:7px;width:27px;height:27px;border:0;background:none;color:rgba(246,238,217,.45);font-size:15px;cursor:pointer}

.pwa-sheet{position:fixed;inset:0;z-index:120;display:flex;align-items:flex-end;justify-content:center;background:rgba(4,3,6,.78);opacity:0;visibility:hidden;transition:.25s}
.pwa-sheet.show{opacity:1;visibility:visible}
.pwa-sheet-panel{position:relative;width:min(520px,100%);padding:27px 24px calc(32px + env(safe-area-inset-bottom));border:1px solid rgba(217,184,95,.42);border-bottom:0;border-radius:24px 24px 0 0;background:linear-gradient(180deg,#17131b,#09080c);color:var(--pwa-cream);font-family:'Outfit','Avenir Next','Helvetica Neue',sans-serif;transform:translateY(18px);transition:transform .28s}
.pwa-sheet.show .pwa-sheet-panel{transform:translateY(0)}
.pwa-sheet-mark{width:70px;height:70px;border-radius:17px;margin-bottom:17px}
.pwa-sheet-kicker{display:block;color:var(--pwa-gold);font:500 9px/1.2 'IBM Plex Mono',monospace;letter-spacing:.22em;text-transform:uppercase}
.pwa-sheet h2{margin:8px 42px 12px 0;color:#f8edcf;font:500 32px/1.05 'Cormorant Garamond',Georgia,serif}
.pwa-sheet p{margin:0 0 20px;color:rgba(246,238,217,.66);font-size:13px;line-height:1.6}
.pwa-sheet ol{list-style:none;counter-reset:pwa;margin:0;padding:0;display:grid;gap:10px}
.pwa-sheet li{counter-increment:pwa;display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(217,184,95,.2);background:rgba(217,184,95,.05);font-size:13px;line-height:1.35}
.pwa-sheet li::before{content:counter(pwa);display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px;border:1px solid rgba(217,184,95,.52);border-radius:50%;color:var(--pwa-gold);font:10px 'IBM Plex Mono',monospace}
.pwa-sheet-x{position:absolute;right:18px;top:18px;width:36px;height:36px;border:1px solid rgba(217,184,95,.25);border-radius:50%;background:none;color:var(--pwa-cream);cursor:pointer}
.pwa-native-install{width:100%;margin-top:18px;min-height:52px;border:0;border-radius:2px;background:linear-gradient(100deg,#b88f3a,#f0db97,#b88f3a);color:#171006;font:500 10px 'Outfit','Avenir Next','Helvetica Neue',sans-serif;letter-spacing:.2em;text-transform:uppercase;cursor:pointer}

.pwa-connection{position:fixed;top:calc(12px + env(safe-area-inset-top));left:50%;z-index:125;transform:translate(-50%,-16px);padding:9px 13px;border:1px solid rgba(217,184,95,.35);border-radius:999px;background:#0b0a0e;color:#f6eed9;font:500 9px 'IBM Plex Mono',monospace;letter-spacing:.1em;text-transform:uppercase;opacity:0;visibility:hidden;transition:.25s;white-space:nowrap}
.pwa-connection.show{opacity:1;visibility:visible;transform:translate(-50%,0)}
.pwa-connection.online{border-color:rgba(116,190,143,.48);color:#b9edc8}

@media(min-width:700px){.pwa-sheet{align-items:center}.pwa-sheet-panel{border-bottom:1px solid rgba(217,184,95,.42);border-radius:24px}.pwa-install-card{bottom:24px}}
@media(max-width:430px){.pwa-install-card{left:12px;bottom:82px;width:calc(100vw - 118px)}.pwa-install-copy strong{font-size:14px}.pwa-install-icon{width:44px;height:44px;flex-basis:44px}}
@media(prefers-reduced-motion:reduce){.pwa-install-card,.pwa-sheet,.pwa-sheet-panel,.pwa-connection{transition:none}}
