.connection-overlay{position:fixed;inset:0;z-index:95000;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));box-sizing:border-box;background:#17383fc4;font-family:Nunito,sans-serif;overscroll-behavior:contain}
.connection-card{box-sizing:border-box;width:min(100%,390px);max-height:100%;overflow:auto;padding:26px 24px 20px;border:1px solid #e7ddc5;border-radius:28px;background:#faf4e7;box-shadow:0 7px 0 #17383f30,0 20px 60px #102c3c40;text-align:center;color:#234e50;animation:connection-enter .18s ease-out}
.connection-symbol{display:grid;place-items:center;width:80px;height:80px;margin:0 auto 14px;background:#e3efe2;border-radius:26px;box-shadow:inset 0 -4px 0 #cbded0}
.connection-symbol svg{width:52px;height:52px;fill:none;stroke:#4ca991;stroke-width:3;stroke-linecap:round}.connection-symbol .connection-slash{stroke:#e59375;stroke-width:4}
.connection-card h2{font-size:25px;font-weight:900;line-height:1.12;margin:0 0 12px}.connection-card p{font-size:15px;line-height:1.5;margin:0;color:#607970;white-space:pre-line}.connection-card .connection-status{font-size:13px;color:#9b634c;margin:12px 0;min-height:0}.connection-status:empty{display:none}
.connection-card button{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin:10px 0 0;font:800 17px Nunito,sans-serif;border-radius:17px;cursor:pointer}.connection-card .connection-retry{margin-top:22px;background:#ffda58;border:1px solid #efba31;color:#365640;box-shadow:0 4px 0 #dda729}.connection-card .connection-cancel{background:#e6eee2;border:1px solid #d4dfcf;color:#567465;box-shadow:0 3px 0 #d0ddca}.connection-card button:disabled{cursor:wait;opacity:.65}.connection-card button[hidden]{display:none}.connection-card button:focus-visible{outline:3px solid #49b69d;outline-offset:3px}.is-checking .connection-symbol{animation:connection-breathe .9s ease-in-out infinite}.is-checking .connection-slash{opacity:0}
@keyframes connection-enter{from{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes connection-breathe{50%{opacity:.5}}
@media(max-height:480px) and (orientation:landscape){.connection-card{width:min(100%,550px);padding:18px 24px;display:grid;grid-template-columns:68px 1fr;column-gap:18px}.connection-symbol{grid-row:1/4;width:64px;height:64px;margin:0;align-self:center}.connection-card h2,.connection-card p{grid-column:2;text-align:left}.connection-card h2{font-size:22px;margin-bottom:6px}.connection-card p{font-size:14px}.connection-card button{grid-column:2;min-height:44px;margin-top:10px}.connection-card .connection-retry{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.connection-card,.is-checking .connection-symbol{animation:none}}
