.connection-banner-slot{z-index:1000;visibility:hidden;grid-template-rows:0fr;transition:grid-template-rows .26s,visibility .26s;display:grid;position:sticky;top:0}.connection-banner-slot[data-visible=true]{visibility:visible;grid-template-rows:1fr}.connection-banner{color:#67420a;opacity:0;background:#fff3d8;justify-content:center;align-items:center;gap:12px;min-height:0;padding:0 20px;transition:transform .32s cubic-bezier(.16,1,.3,1),opacity .18s,padding .26s;display:flex;overflow:hidden;transform:translateY(-100%);box-shadow:0 3px 14px #00000014}.connection-banner-slot[data-visible=true] .connection-banner{padding:calc(12px + env(safe-area-inset-top,0px)) max(16px, env(safe-area-inset-right,0px)) 12px max(16px, env(safe-area-inset-left,0px));opacity:1;transform:translateY(0)}.connection-banner[data-mode=restored]{color:#185833;background:#e6f6eb}.connection-banner>svg{flex-shrink:0}.connection-banner-copy{min-width:0;max-width:760px}.connection-state-copy{flex-direction:column;gap:2px;animation:.18s ease-out connection-copy-in;display:flex}.connection-state-copy strong{font-size:14px;line-height:1.4}.connection-state-copy span{font-size:12px;line-height:1.5}.connection-retry{min-width:44px;min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:12px;display:flex}.connection-retry:focus-visible{outline-offset:3px;outline:2px solid}.connection-retry:active{scale:.96}.connection-spinner{animation:1s linear infinite connection-spin}@keyframes connection-spin{to{rotate:360deg}}@keyframes connection-copy-in{0%{opacity:.35;translate:0 -3px}to{opacity:1;translate:0}}@media (max-width:520px){.connection-retry>span:last-child{display:none}}@media (prefers-color-scheme:dark){.connection-banner{color:#ffe3a8;background:#382d16}.connection-banner[data-mode=restored]{color:#baf2cb;background:#163622}}@media (prefers-reduced-motion:reduce){.connection-banner-slot,.connection-banner{transition:none;transform:none}.connection-state-copy,.connection-spinner{animation:none}.connection-retry:active{scale:1}}.connection-retry[hidden]{display:none!important}.topnav{top:var(--connection-banner-height,0px)}
