#pwa-install-banner {position:fixed;z-index:var(--z-install);top:calc(env(safe-area-inset-top,0px) + 12px);left:50%;transform:translate(calc(-50% + var(--swipe-x,0px)),var(--swipe-y,0px));width:min(440px,calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 24px));display:flex;align-items:center;gap:10px;padding:12px;background:#182a24f5;border:1px solid #d7b98066;border-radius:14px;box-shadow:0 6px 24px #0006;backdrop-filter:blur(12px);touch-action:none;user-select:none;-webkit-user-select:none}
#pwa-install-banner[hidden] {display:none}
#pwa-install-banner img {border-radius:10px;flex:0 0 44px;pointer-events:none}
.pwa-banner-copy {flex:1;min-width:0;display:grid;gap:3px;line-height:1.5}
.pwa-banner-copy strong {font-size:13px;color:#f5e7c9}
.pwa-banner-copy span {font-size:11px;color:#b8c7b9}
#pwa-mobile-install {min-height:44px;padding:8px 12px;border-radius:8px;background:#385740;color:#fff1c5;font-weight:bold;touch-action:manipulation}
#pwa-install-dismiss {flex:0 0 44px;width:44px;height:44px;border:0;border-radius:8px;background:transparent;font-size:24px;color:#b8c7b9;touch-action:manipulation}
body:has(#pwa-install-banner:not([hidden])) #class-screen {padding-top:calc(env(safe-area-inset-top,0px) + 120px)}
#pwa-install-dialog {width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto}
#pwa-install-dialog li {padding:8px 0;line-height:1.65}
#pwa-install-dialog .primary {width:100%;min-height:44px}
@media (max-width:360px) {#pwa-install-banner {gap:6px;padding:10px}#pwa-install-banner img {display:none}}

#pwa-install-dialog {box-sizing:border-box;padding:18px;width:min(460px,calc(100vw - 24px))}
#pwa-install-dialog .dialog-heading {position:sticky;top:-18px;background:#182a24;z-index:1;padding:10px 0}
.pwa-platforms {display:flex;gap:8px;margin:12px 0}
.pwa-platforms button {flex:1;min-height:44px;border:1px solid #b99a5960;border-radius:8px;background:#14221d;color:#d6dbc8}
.pwa-platforms button[aria-pressed="true"] {background:#385740;border-color:#e0c17c;color:#fff1c5}
#pwa-install-dialog .pwa-example-note {font-size:11px;line-height:1.5;color:#b8c7b9;margin:8px 0}
#pwa-install-steps {padding-left:24px;margin:0}
#pwa-install-steps li {padding:0}
#pwa-install-steps p {min-height:3.3em;margin:8px 0;font-size:14px;line-height:1.65}
#pwa-install-steps img {display:block;width:100%;height:auto;border-radius:12px;background:#f2f5fa}
.pwa-step-nav {display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0}
.pwa-step-nav button {min-height:44px;padding:8px 12px;border-radius:8px}
.pwa-step-nav button:disabled {opacity:.4}
#pwa-step-progress {font-size:12px;white-space:nowrap;color:#e0c17c}
#pwa-install-dialog button:focus-visible {outline:2px solid #ffe2a0;outline-offset:2px}
@media(max-height:500px) {#pwa-install-steps img {max-height:180px;object-fit:contain}#pwa-install-steps p {min-height:0}}
