:root{--hi-pwa-red:#c91826;--hi-pwa-navy:#163b60;--hi-pwa-ink:#20242b;--hi-pwa-cream:#fff8f1;--hi-pwa-surface:#fffdfa;--hi-pwa-border:#e6ddd5;--hi-pwa-gold:#f2b84b;--hi-pwa-shadow:0 28px 90px rgba(10,31,51,.24)}
.hi-pwa-install[hidden],.hi-pwa-dialog[hidden],.hi-pwa-status[hidden],.hi-pwa-update[hidden],.hi-pwa-appbar,.hi-pwa-bottom-nav{display:none!important}
.hi-pwa-install{position:fixed;z-index:99980;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));left:auto;display:grid;grid-template-columns:82px minmax(0,1fr);gap:16px;width:min(620px,calc(100vw - 44px));padding:22px;overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:28px;background:radial-gradient(circle at 8% 12%,rgba(242,184,75,.22),transparent 29%),linear-gradient(135deg,#fffdfa 0%,#fff7ef 54%,#f5f8fc 100%);color:var(--hi-pwa-ink);box-shadow:var(--hi-pwa-shadow);animation:hi-pwa-rise .45s cubic-bezier(.22,1,.36,1)}
.hi-pwa-install::before{position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--hi-pwa-red),var(--hi-pwa-gold),var(--hi-pwa-navy));content:""}.hi-pwa-install__visual{display:grid;align-content:center;justify-items:center;gap:7px;align-self:stretch;padding:10px 7px;border:1px solid rgba(22,59,96,.1);border-radius:20px;background:rgba(255,255,255,.72)}.hi-pwa-install__visual img{width:62px;height:62px;border-radius:17px;box-shadow:0 12px 28px rgba(22,59,96,.2)}.hi-pwa-install__visual span{color:var(--hi-pwa-navy);font-size:.68rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.hi-pwa-install__content{min-width:0;align-self:center}.hi-pwa-install__eyebrow{display:block;margin-bottom:5px;color:var(--hi-pwa-red);font-size:.72rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.hi-pwa-install__content strong{display:block;color:var(--hi-pwa-navy);font-size:clamp(1.18rem,2.5vw,1.48rem);line-height:1.15}.hi-pwa-install__content p{margin:7px 0 0;color:#46515d;font-size:.94rem;line-height:1.48}.hi-pwa-install__actions{grid-column:2;display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-start}
.hi-pwa-button,.hi-pwa-device button,.hi-pwa-update button{min-height:44px;padding:9px 16px;border:2px solid var(--hi-pwa-red);border-radius:999px;background:#fff;color:var(--hi-pwa-red);font:inherit;font-weight:760;cursor:pointer}.hi-pwa-install__actions button{white-space:nowrap}.hi-pwa-button--primary{background:var(--hi-pwa-red);color:#fff}.hi-pwa-button--quiet{border-color:transparent;color:var(--hi-pwa-ink);background:transparent}.hi-pwa-button:disabled{opacity:.55;cursor:wait}
.hi-pwa-dialog{width:min(560px,calc(100vw - 32px));padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:28px;background:linear-gradient(145deg,#fffdfa,#f7f9fc);color:var(--hi-pwa-ink);box-shadow:var(--hi-pwa-shadow)}.hi-pwa-dialog::backdrop{background:rgba(8,22,36,.7);backdrop-filter:blur(6px)}.hi-pwa-dialog form{position:relative;padding:34px}.hi-pwa-dialog h2{margin:0 42px 16px 0;color:var(--hi-pwa-navy);font-size:clamp(1.6rem,5vw,2.2rem)}.hi-pwa-dialog ol{display:grid;gap:10px;padding-left:24px}.hi-pwa-dialog li{padding-left:5px}.hi-pwa-dialog__reassurance{padding:12px 14px;border-radius:14px;background:#eef4fa;color:#33495e;font-size:.9rem}.hi-pwa-dialog__close{position:absolute;top:14px;right:14px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(22,59,96,.08);color:var(--hi-pwa-navy);font-size:1.8rem;cursor:pointer}.hi-pwa-dialog__actions{display:flex;justify-content:flex-end;margin-top:22px}.hi-pwa-noscript{padding:14px;background:var(--hi-pwa-cream);color:var(--hi-pwa-ink)}
.hi-pwa-status{position:fixed;z-index:99995;top:max(12px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);max-width:min(620px,calc(100vw - 32px));padding:11px 16px;border-radius:999px;background:var(--hi-pwa-navy);color:#fff;box-shadow:var(--hi-pwa-shadow);text-align:center}.hi-pwa-status[data-kind=error],.hi-pwa-status[data-kind=offline]{background:#8d1e2a}.hi-pwa-status[data-kind=success]{background:#17623a}
.hi-pwa-update{position:fixed;z-index:99990;right:max(18px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));left:max(18px,env(safe-area-inset-left));display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;max-width:760px;margin:auto;padding:16px 18px;border:1px solid rgba(255,255,255,.18);border-radius:22px;background:linear-gradient(135deg,#102f4c,#1a466f);color:#fff;box-shadow:var(--hi-pwa-shadow);animation:hi-pwa-rise .4s cubic-bezier(.22,1,.36,1)}.hi-pwa-update__icon{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:linear-gradient(145deg,var(--hi-pwa-red),#99131e);font-weight:900}.hi-pwa-update strong{display:block;font-size:1rem}.hi-pwa-update p{margin:3px 0 0;color:#dbe7f2;font-size:.84rem}.hi-pwa-update__actions{display:flex;align-items:center;gap:6px}.hi-pwa-update button{min-height:40px;padding:7px 14px}.hi-pwa-update button:first-of-type{background:#fff}.hi-pwa-update button:last-of-type{border-color:transparent;background:transparent;color:#fff}
.hi-pwa-settings{padding:clamp(42px,7vw,90px) 0;background:linear-gradient(180deg,var(--hi-pwa-cream),#fff)}.hi-pwa-settings__header{max-width:760px;margin-bottom:28px}.hi-pwa-settings__header h1{margin:.2em 0;color:var(--hi-pwa-navy);font-size:clamp(2rem,6vw,3.4rem)}.hi-pwa-settings__notice,.hi-pwa-settings__panel{margin:16px 0;padding:22px;border:1px solid var(--hi-pwa-border);border-radius:20px;background:var(--hi-pwa-surface);box-shadow:0 10px 32px rgba(22,59,96,.08)}.hi-pwa-settings__panel h2{margin-top:0;color:var(--hi-pwa-navy)}.hi-pwa-settings__actions{display:flex;flex-wrap:wrap;gap:10px}.hi-pwa-settings__help{max-width:760px}.hi-pwa-device,.hi-pwa-preference{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;border-top:1px solid var(--hi-pwa-border)}.hi-pwa-device:first-child,.hi-pwa-preference:first-child{border-top:0}.hi-pwa-device div:first-child,.hi-pwa-preference span{display:grid;gap:3px}.hi-pwa-device div:last-child{display:flex;flex-wrap:wrap;gap:8px}.hi-pwa-device span,.hi-pwa-device small,.hi-pwa-preference small{color:#59616c}.hi-pwa-preference strong,.hi-pwa-preference select{color:var(--hi-pwa-ink);-webkit-text-fill-color:var(--hi-pwa-ink)}.hi-pwa-preference select{min-width:100px;min-height:44px;padding:8px;border:1px solid #76808b;border-radius:10px;background:#fff}
.hi-pwa-appbar{position:fixed;z-index:99970;top:0;right:0;left:0;align-items:center;justify-content:space-between;min-height:calc(60px + env(safe-area-inset-top));padding:calc(8px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) 8px calc(16px + env(safe-area-inset-left));border-bottom:1px solid var(--hi-pwa-border);background:rgba(255,253,250,.96);backdrop-filter:blur(18px)}.hi-pwa-appbar a{display:flex;align-items:center;gap:9px;min-height:44px;color:var(--hi-pwa-navy);font-weight:800;text-decoration:none}.hi-pwa-appbar img{border-radius:10px}.hi-pwa-bottom-nav{position:fixed;z-index:99970;right:0;bottom:0;left:0;grid-template-columns:repeat(auto-fit,minmax(58px,1fr));min-height:calc(66px + env(safe-area-inset-bottom));padding:6px calc(6px + env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) calc(6px + env(safe-area-inset-left));border-top:1px solid var(--hi-pwa-border);background:rgba(255,253,250,.97);backdrop-filter:blur(18px)}.hi-pwa-bottom-nav a{display:grid;place-items:center;gap:2px;min-width:0;min-height:52px;padding:4px;border-radius:12px;color:#56616e;text-decoration:none}.hi-pwa-bottom-nav a[aria-current=page]{background:var(--hi-pwa-cream);color:var(--hi-pwa-red)}.hi-pwa-bottom-nav span{font-size:.72rem;font-weight:800}.hi-pwa-bottom-nav small{max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:.7rem;font-weight:720;white-space:nowrap}
@media(max-width:720px){.hi-pwa-install{right:0;bottom:0;left:0;grid-template-columns:58px minmax(0,1fr);gap:12px;width:auto;padding:17px max(16px,env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));border-radius:24px 24px 0 0}.hi-pwa-install__visual{padding:5px 3px;border-radius:16px}.hi-pwa-install__visual img{width:48px;height:48px;border-radius:14px}.hi-pwa-install__visual span{display:none}.hi-pwa-install__content p{font-size:.88rem;line-height:1.4}.hi-pwa-install__actions{grid-column:1/-1;justify-content:stretch}.hi-pwa-install__actions button{flex:1}.hi-pwa-device,.hi-pwa-preference{align-items:flex-start;flex-direction:column}.hi-pwa-device div:last-child{width:100%}.hi-pwa-device button{flex:1}.hi-pwa-update{grid-template-columns:auto 1fr}.hi-pwa-update__actions{grid-column:1/-1;justify-content:flex-end}}
html.hi-pwa-standalone body{overscroll-behavior-y:contain}html.hi-pwa-standalone .hi-pwa-install{display:none!important}
@keyframes hi-pwa-rise{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.hi-pwa-install,.hi-pwa-status,.hi-pwa-update{animation:none!important;transition:none!important}}
@media(forced-colors:active){.hi-pwa-install,.hi-pwa-dialog,.hi-pwa-settings__panel,.hi-pwa-bottom-nav,.hi-pwa-appbar{border:2px solid CanvasText}.hi-pwa-button,.hi-pwa-device button{border:2px solid ButtonText}}
.hi-pwa-button:focus-visible,.hi-pwa-dialog button:focus-visible,.hi-pwa-device button:focus-visible,.hi-pwa-preference select:focus-visible,.hi-pwa-bottom-nav a:focus-visible,.hi-pwa-appbar a:focus-visible{outline:3px solid #f5b700;outline-offset:3px}
