.install-card{display:flex;align-items:center;gap:14px;margin:24px 0 16px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--paper);}
.install-card img{width:42px;height:42px;object-fit:contain;flex-shrink:0;}
.install-card-copy{flex:1;min-width:0;}
.install-card strong{display:block;font-size:14px;}
.install-card p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.5;}
.install-card.install-popup{position:fixed;right:calc(20px + env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:90;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:14px;width:min(420px,calc(100% - 40px));max-height:calc(100dvh - 40px);overflow-y:auto;margin:0;padding:24px;color:var(--ink);box-shadow:0 12px 40px #18302D24;}
.install-popup .install-card-copy{padding-right:26px;}
.install-popup .install-popup-action{grid-column:1/-1;width:100%;}
.install-popup .install-popup-dismiss{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:10px;border-color:transparent;background:transparent;}
.install-popup-dismiss svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;}
.install-popup:not([hidden]){animation:install-popup-enter 1.2s ease-in-out both;}
.install-popup.is-dismissing{animation:install-popup-exit 1s ease-in-out forwards;pointer-events:none;}
@keyframes install-popup-enter{from{opacity:0;filter:blur(5px);transform:translateY(14px);}to{opacity:1;filter:blur(0);transform:translateY(0);}}
@keyframes install-popup-exit{from{opacity:var(--install-dismiss-opacity,1);filter:var(--install-dismiss-filter,blur(0));transform:var(--install-dismiss-transform,translateY(0));}to{opacity:0;filter:blur(10px);transform:translateY(6px);}}
@keyframes install-popup-fade-in{from{opacity:0;}to{opacity:1;}}
@keyframes install-popup-fade-out{from{opacity:var(--install-dismiss-opacity,1);}to{opacity:0;}}
@media(prefers-reduced-motion:reduce){
  .install-popup:not([hidden]){animation:install-popup-fade-in 1.2s ease-in-out both!important;}
  .install-popup.is-dismissing{animation:install-popup-fade-out 1s ease-in-out forwards!important;}
}
.install-dialog{width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink);font-family:inherit;box-shadow:0 20px 70px #18302d33;}
.install-dialog::backdrop{background:#18302d66;}
.install-dialog h2{margin:0 0 12px;font-size:23px;line-height:1.2;}
.install-dialog p,.install-dialog li{font-size:14px;line-height:1.6;}
.install-dialog ul{padding-left:20px;}
.install-dialog li+li{margin-top:10px;}
.install-dialog .install-note{padding:12px;background:var(--teal-dim);border-radius:9px;}
.install-dialog .row{margin-top:18px;justify-content:flex-end;}
.install-dialog button:focus-visible,.install-card button:focus-visible{outline:3px solid var(--teal);outline-offset:3px;}
@media(max-width:480px){.install-card{flex-wrap:wrap;}.install-card>button{width:100%;}.install-dialog{padding:20px;}}
@media(display-mode:standalone){.install-card{display:none;}}
