
/* ISRP shared connection/error screen */
.isrp-error-overlay[hidden]{display:none!important}
.isrp-error-overlay{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;overflow:auto;padding:28px;background:#041a29;color:#f6fbff;font-family:Inter,Arial,sans-serif}
.isrp-error-backdrop{position:fixed;inset:0;background:radial-gradient(ellipse at 18% 20%,#164766 0%,#09334f 48%,#041a29 100%)}
.isrp-error-backdrop:before{content:"";position:absolute;inset:0;opacity:.12;background-image:linear-gradient(#9edcff 1px,transparent 1px),linear-gradient(90deg,#9edcff 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,black,transparent)}
.isrp-error-panel{position:relative;display:flex;align-items:center;justify-content:center;gap:clamp(10px,3vw,52px);width:min(1120px,100%);min-height:min(650px,calc(100vh - 56px));padding:clamp(18px,4vw,48px);border:1px solid #ffffff20;border-radius:24px;background:linear-gradient(135deg,#ffffff0c,#ffffff03);box-shadow:0 32px 100px #0007;backdrop-filter:blur(10px)}
.isrp-error-art{flex:0 1 52%;min-width:0;display:flex;align-items:center;justify-content:center;animation:isrp-yeti-float 4s ease-in-out infinite}
.isrp-error-art #isrpOfflineYetiSVG{position:relative!important;inset:auto!important;display:block;width:100%!important;height:auto!important;max-width:600px;max-height:64vh;overflow:visible}
.isrp-error-copy{position:relative;z-index:1;flex:1 1 420px;max-width:470px}
.isrp-error-kicker{display:flex;align-items:center;gap:10px;color:#9fdcff;font-size:11px;font-weight:800;letter-spacing:.2em}
.isrp-error-pulse{width:8px;height:8px;border-radius:50%;background:#ffc107;box-shadow:0 0 0 5px #ffc10720;animation:isrp-pulse 1.8s infinite}
.isrp-error-copy h2{margin:18px 0 16px;color:#fff;font-size:clamp(36px,5vw,64px);font-weight:900;letter-spacing:-.055em;line-height:.99}
.isrp-error-copy h2 em{font-style:normal;color:#ffc107}
.isrp-error-copy p{margin:0;color:#c1d4e0;font-size:15px;line-height:1.75}
.isrp-error-status{display:flex;align-items:center;gap:9px;margin-top:22px;color:#ffd36b;font-size:12px;font-weight:700;letter-spacing:.04em}
.isrp-status-dot{width:7px;height:7px;border-radius:50%;background:#ffb020;box-shadow:0 0 12px #ffb020}
.isrp-error-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.isrp-error-actions button,.isrp-error-actions a{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:0 19px;border-radius:8px;font-size:11px;font-weight:900;letter-spacing:.1em;text-decoration:none;cursor:pointer;transition:transform .2s,background .2s,border-color .2s}
.isrp-error-actions button{border:1px solid #ffc107;background:#ffc107;color:#101820}
.isrp-error-actions a{border:1px solid #ffffff35;background:#ffffff08;color:#fff}
.isrp-error-actions button:hover,.isrp-error-actions a:hover{transform:translateY(-2px)}
.isrp-error-actions button span,.isrp-error-actions a span{font-size:18px}
.isrp-error-footnote{margin-top:18px!important;font-size:11px!important;color:#8ca9ba!important}
@keyframes isrp-yeti-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-12px) rotate(1deg)}}
@keyframes isrp-pulse{0%,100%{box-shadow:0 0 0 4px #ffc10720}50%{box-shadow:0 0 0 9px #ffc10708}}
@media(max-width:820px){.isrp-error-overlay{padding:14px}.isrp-error-panel{min-height:calc(100vh - 28px);flex-direction:column;gap:0;padding:22px 20px;border-radius:18px;text-align:center}.isrp-error-art{flex:0 1 auto;width:min(100%,400px);max-height:36vh}.isrp-error-art #isrpOfflineYetiSVG{max-height:35vh}.isrp-error-copy{flex:0 1 auto;max-width:560px}.isrp-error-kicker,.isrp-error-status{justify-content:center}.isrp-error-copy h2{font-size:clamp(34px,8vw,48px);margin:12px 0}.isrp-error-copy p{font-size:14px}.isrp-error-actions{justify-content:center}.isrp-error-footnote{margin-top:12px!important}}
@media(max-width:420px){.isrp-error-art{max-height:28vh}.isrp-error-art #isrpOfflineYetiSVG{max-height:27vh}.isrp-error-copy h2{font-size:34px}.isrp-error-actions{flex-direction:column}.isrp-error-actions button,.isrp-error-actions a{width:100%}}
@media(prefers-reduced-motion:reduce){.isrp-error-art,.isrp-error-pulse{animation:none!important}.isrp-error-actions button,.isrp-error-actions a{transition:none!important}}
