.tp-pwa-banner,.tp-pwa-page { font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.tp-pwa-banner { box-sizing:border-box; display:flex; align-items:center; justify-content:center; gap:10px; padding:10px 14px; background:#0b1724; color:#effaf7; border-bottom:1px solid #2a4b51; position:relative; z-index:1; line-height:1.35; }
.tp-pwa-banner img { width:38px; height:38px; border-radius:9px; flex-shrink:0; }
.tp-pwa-banner-copy { min-width:0; flex:1; max-width:380px; }
.tp-pwa-banner strong { display:block; font-size:13px; color:#fff; }
.tp-pwa-banner small { display:block; font-size:11px; color:#bfced1; }
.tp-pwa-banner button { border:0; font:inherit; cursor:pointer; }
.tp-pwa-banner .tp-pwa-add { background:#77f3da; color:#102721; padding:10px 12px; border-radius:8px; font-weight:650; font-size:12px; min-height:44px; flex-shrink:0; }
.tp-pwa-banner .tp-pwa-dismiss { background:transparent; color:#bfced1; min-width:36px; min-height:44px; font-size:23px; padding:4px; }
.tp-pwa-banner button:focus-visible,.tp-pwa-page a:focus-visible,.tp-pwa-page button:focus-visible { outline:3px solid #20d4ad; outline-offset:3px; }
.tp-pwa-page { margin:0; min-height:100vh; background:#0b1724; color:#edf7fb; line-height:1.6; color-scheme:dark; }
.tp-pwa-page * { box-sizing:border-box; }
.tp-pwa-page main { max-width:580px; margin:auto; padding:32px 22px 48px; padding-top:max(32px,env(safe-area-inset-top)); padding-bottom:max(48px,env(safe-area-inset-bottom)); }
.tp-pwa-page .tp-pwa-top { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-bottom:38px; }
.tp-pwa-page a { color:#77f3da; text-decoration:none; }
.tp-pwa-page .tp-pwa-languages { display:flex; gap:4px; }
.tp-pwa-page .tp-pwa-languages button { cursor:pointer; border:1px solid #2c4655; background:transparent; color:#b3c5cf; padding:8px 10px; min-height:44px; border-radius:8px; font:inherit; font-size:13px; }
.tp-pwa-page .tp-pwa-languages button[aria-pressed="true"] { border-color:#77f3da; color:#77f3da; background:#173633; }
.tp-pwa-page .tp-pwa-app-icon { width:88px; height:88px; border-radius:22px; border:1px solid #29414b; }
.tp-pwa-page h1 { font-size:30px; line-height:1.2; letter-spacing:-.7px; margin:20px 0 12px; }
.tp-pwa-page p { color:#afc2cc; margin:12px 0; }
.tp-pwa-page .tp-pwa-primary { display:block; width:100%; padding:14px 18px; margin:26px 0 12px; border:0; border-radius:12px; background:#77f3da; color:#102721; text-align:center; font:inherit; font-weight:650; cursor:pointer; }
.tp-pwa-page .tp-pwa-primary:disabled { cursor:wait; opacity:.65; }
.tp-pwa-page .tp-pwa-steps { margin:26px 0 16px; background:#122331; border:1px solid #29414b; border-radius:16px; padding:22px; scroll-margin-top:24px; }
.tp-pwa-page h2 { font-size:17px; line-height:1.4; margin:0 0 16px; }
.tp-pwa-page ol { margin:0; padding-left:22px; }
.tp-pwa-page li { padding-left:5px; margin:12px 0; color:#d5e2e8; }
.tp-pwa-page .tp-pwa-note { font-size:13px; }
.tp-pwa-page .tp-pwa-status { color:#77f3da; min-height:26px; font-size:14px; }
.tp-pwa-page .tp-pwa-divider { border:0; border-top:1px solid #29414b; margin:28px 0; }
.tp-pwa-page [hidden],.tp-pwa-banner[hidden] { display:none !important; }
@media (max-width:350px) { .tp-pwa-banner { gap:7px; padding:8px; } .tp-pwa-banner img { width:32px; height:32px; } .tp-pwa-banner small { font-size:10px; } .tp-pwa-banner .tp-pwa-add { padding:8px; } .tp-pwa-page main { padding-left:16px; padding-right:16px; } }
