/* All selectors are scoped to Tessirve's installation controls. */
.tsvpwa-button,.tsvpwa-dialog,.tsvpwa-floating,.tsvpwa-card{box-sizing:border-box;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.tsvpwa-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:10px 18px;border:1px solid #65cbf3;border-radius:12px;background:#42b8e8;color:#071726;font:700 15px/1.25 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-decoration:none;cursor:pointer;box-shadow:0 4px 18px #03111d26;transition:background .15s ease,transform .15s ease}
.tsvpwa-button img{display:block;flex:0 0 26px;width:26px;height:26px;object-fit:contain;margin:0;padding:0;border:0}
.tsvpwa-button:hover{background:#76cff1;color:#071726}
.tsvpwa-button:active{transform:translateY(1px)}
.tsvpwa-button:disabled{cursor:default;opacity:.7;transform:none}
.tsvpwa-button:focus-visible,.tsvpwa-dismiss:focus-visible,.tsvpwa-close:focus-visible,.tsvpwa-site-link:focus-visible{outline:3px solid #bceaff;outline-offset:4px}
.tsvpwa-button[hidden],.tsvpwa-floating[hidden],#tsvpwa-ui [hidden],.tsvpwa-card [hidden]{display:none!important}
.tsvpwa-inline{display:inline-flex;margin:6px 0}
.tsvpwa-floating{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:1px;padding:3px;border:1px solid #36566c;border-radius:15px;background:#0c1624;box-shadow:0 8px 28px #0004;z-index:9990}
.tsvpwa-button-small{min-height:40px;padding:7px 12px;border:0;border-radius:11px;font-size:13px;box-shadow:none}
.tsvpwa-button-small img{width:24px;height:24px;flex-basis:24px}
.tsvpwa-dismiss,.tsvpwa-close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:40px;min-height:40px;padding:0;border:0;border-radius:9px;background:transparent;color:#cad8e7;font:400 25px/1 system-ui,sans-serif;cursor:pointer;box-shadow:none}
.tsvpwa-dismiss:hover,.tsvpwa-close:hover{background:#ffffff0d;color:#fff}
.tsvpwa-dialog{position:fixed;inset:0;width:min(430px,calc(100% - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:30px 26px 24px;border:1px solid #344a60;border-radius:22px;background:#0c1624;color:#fff;box-shadow:0 18px 70px #0008;overflow:auto;text-align:center}
.tsvpwa-dialog:not([open]){display:none}
.tsvpwa-dialog::backdrop{background:#020711b3;backdrop-filter:blur(3px)}
.tsvpwa-close{position:absolute;top:8px;right:8px}
.tsvpwa-dialog-icon{display:block;width:80px;height:80px;object-fit:contain;margin:2px auto 18px;border:0}
.tsvpwa-dialog h2{margin:0 0 12px;color:#fff;font:750 23px/1.2 system-ui,sans-serif;letter-spacing:-.5px}
.tsvpwa-copy{margin:0 0 20px;color:#bdcbd9;font:400 15px/1.5 system-ui,sans-serif}
.tsvpwa-steps{margin:0;padding:0 0 0 24px;text-align:left;color:#e6edf5;font:400 14px/1.5 system-ui,sans-serif}
.tsvpwa-steps li{padding-left:4px;margin:0 0 12px}
.tsvpwa-steps strong{color:#fff;font-weight:700}
.tsvpwa-hint{margin:14px 0 0;padding:12px;border:1px solid #263d53;border-radius:10px;color:#afc2d5;text-align:left;font:400 12px/1.5 system-ui,sans-serif}
.tsvpwa-dialog-install{width:100%;margin-top:18px}
.tsvpwa-footnote{margin:20px 0 0;color:#8da1b6;font:400 12px/1.5 system-ui,sans-serif;text-align:center}
.tsvpwa-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tsvpwa-install-page{box-sizing:border-box;min-height:100vh;min-height:100dvh;margin:0;padding:36px 20px;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 0%,#143447 0,transparent 62%),#08111e;color:#fff;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.tsvpwa-card{width:min(100%,430px);padding:36px 30px 28px;border:1px solid #294052;border-radius:26px;background:#0c1624eb;box-shadow:0 18px 65px #0004;text-align:center}
.tsvpwa-brand{display:block;width:112px;height:112px;margin:0 auto 24px;object-fit:contain}
.tsvpwa-kicker{margin:0 0 12px;color:#73cdee;font:750 10px/1.4 system-ui,sans-serif;letter-spacing:2px}
.tsvpwa-card h1{margin:0;color:#fff;font:780 clamp(27px,7vw,34px)/1.13 system-ui,sans-serif;letter-spacing:-1.1px}
.tsvpwa-lead{margin:18px 0 26px;color:#b9c9d8;font:400 16px/1.6 system-ui,sans-serif}
.tsvpwa-primary{width:100%;min-height:52px;font-size:16px}
.tsvpwa-site-link{display:inline-block;margin:19px 0 0;color:#b4cfe2;font:550 14px/1.4 system-ui,sans-serif;text-underline-offset:4px}
.tsvpwa-installed-note{margin:16px 0 0;color:#a5e2c2;font:500 14px/1.5 system-ui,sans-serif}
.tsvpwa-test-badge{display:inline-block;margin:0 0 18px;padding:4px 10px;border:1px solid #6a582e;border-radius:20px;color:#f3d388;font:600 11px/1.4 system-ui,sans-serif}
@media(max-width:380px){.tsvpwa-card{padding:30px 20px 24px}.tsvpwa-dialog{padding:28px 20px 22px}.tsvpwa-floating{right:12px;bottom:max(14px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.tsvpwa-button{transition:none}}
