/* Installation and release controls share the app's existing palette and type. */
body { padding-top:env(safe-area-inset-top,0px); padding-left:env(safe-area-inset-left,0px); padding-right:env(safe-area-inset-right,0px); padding-bottom:env(safe-area-inset-bottom,0px); }
.pwa-entry { margin-top:24px; padding-top:19px; border-top:1px solid #364c8426; display:flex; align-items:center; justify-content:space-between; gap:15px; }
.pwa-entry p { margin:0; font-size:13px; line-height:1.55; color:#364C84; }
.pwa-install-button,.pwa-button { font:700 14px/1.4 'Quicksand',sans-serif; cursor:pointer; border:1px solid #364c8440; border-radius:999px; padding:11px 18px; background:#E7F1A8; color:#364C84; }
.pwa-install-button:hover,.pwa-button:hover { filter:brightness(.97); }
.pwa-install-button:focus-visible,.pwa-button:focus-visible,.pwa-close:focus-visible,.pwa-tabs button:focus-visible { outline:3px solid #95B1EE; outline-offset:4px; }
.pwa-install-button[hidden],.pwa-entry[hidden],.pwa-update[hidden],.pwa-native[hidden],.pwa-steps[hidden] { display:none!important; }
.account-controls .pwa-install-button { background:#E7F1A8; border-color:#364c8430; white-space:nowrap; }
.pwa-about { margin-top:25px; padding:25px; border-radius:22px; background:#E7F1A8; display:flex; gap:20px; align-items:center; }
.pwa-about img { width:72px; height:72px; border-radius:18px; flex-shrink:0; }
.pwa-about h2 { margin:0 0 8px; font:700 23px/1.35 'Quicksand',sans-serif; }
.pwa-about p { margin:0 0 13px; line-height:1.6; }
.pwa-about .pwa-button { background:#FFFDF5; }
.pwa-dialog { width:min(520px,calc(100% - 28px)); max-height:calc(100dvh - 36px); margin:auto; padding:30px; border:1px solid #364c8426; border-radius:28px; background:#FFFDF5; color:#364C84; box-shadow:0 24px 80px #1b2b5140; font:500 15px/1.6 'Quicksand',sans-serif; overflow-y:auto; overscroll-behavior:contain; }
.pwa-dialog::backdrop { background:#16274888; backdrop-filter:blur(4px); }
.pwa-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:20px; }
.pwa-dialog-head img { width:66px; height:66px; border-radius:18px; }
.pwa-close { border:1px solid #364c8433; border-radius:50%; width:38px; height:38px; background:transparent; color:inherit; font:500 25px/1 'Quicksand',sans-serif; cursor:pointer; }
.pwa-dialog .eyebrow { margin:0 0 8px; font-size:11px; letter-spacing:.13em; }
.pwa-dialog h2 { margin:0 0 15px; font:400 35px/1.4 'Pacifico',cursive; }
.pwa-dialog p { margin:0 0 16px; }
.pwa-native { margin:20px 0; padding:17px; border-radius:18px; background:#E7F1A8; }
.pwa-native .pwa-button { width:100%; background:#364C84; color:#FFFDF5; border-color:#364C84; }
.pwa-tabs { display:flex; flex-wrap:wrap; gap:7px; margin:22px 0 17px; }
.pwa-tabs button { flex:1 1 auto; border:1px solid #364c8430; border-radius:999px; background:transparent; padding:9px 12px; color:inherit; font:700 13px/1.3 'Quicksand',sans-serif; cursor:pointer; }
.pwa-tabs button[aria-pressed="true"] { background:#364C84; color:#FFFDF5; }
.pwa-steps ol { margin:0 0 17px; padding-left:25px; }
.pwa-steps li { padding-left:4px; margin-bottom:11px; }
.pwa-steps small { display:block; line-height:1.6; }
.pwa-notes { margin-top:20px; padding:17px; border-radius:18px; background:#95b1ee26; font-size:13px; }
.pwa-notes p:last-child { margin-bottom:0; }
.pwa-dialog-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:19px; }
.pwa-dialog-actions .pwa-button { background:transparent; font-size:12px; }
.pwa-feedback { min-height:20px; margin:14px 0 0!important; font-size:13px; }
.pwa-update { position:fixed; bottom:max(20px,env(safe-area-inset-bottom,0px)); right:max(20px,env(safe-area-inset-right,0px)); z-index:1500; width:min(420px,calc(100% - 32px)); border:1px solid #364c8440; border-radius:22px; padding:21px; background:#FFFDF5; color:#364C84; box-shadow:0 10px 45px #15254b33; font:500 14px/1.55 'Quicksand',sans-serif; }
.pwa-update h2 { margin:0 0 8px; font:700 19px/1.35 'Quicksand',sans-serif; }
.pwa-update p { margin:0 0 14px; }
.pwa-update-actions { display:flex; flex-wrap:wrap; gap:8px; }
.pwa-update .pwa-later { background:transparent; }
.pwa-update-status { margin:13px 0 0!important; font-size:13px; }
.pwa-button:disabled { cursor:wait; opacity:.65; }
@media(max-width:620px) {
 .topbar { flex-wrap:wrap; gap:12px; }
 .account-controls { margin-left:auto; flex-wrap:wrap; justify-content:flex-end; }
 .pwa-entry { align-items:flex-start; flex-direction:column; gap:10px; }
 .pwa-entry .pwa-install-button { width:100%; }
 .pwa-about { align-items:flex-start; padding:20px; gap:13px; }
 .pwa-about img { width:52px; height:52px; border-radius:14px; }
 .pwa-about h2 { font-size:20px; }
 .pwa-dialog { padding:23px; }
 .pwa-dialog h2 { font-size:31px; }
 .pwa-update { right:16px; bottom:max(16px,env(safe-area-inset-bottom,0px)); }
}
@media(display-mode:standalone) { [data-pwa-entry],[data-pwa-install] { display:none!important; } }
