.connection-banner{position:fixed;top:12px;left:50%;z-index:10060;transform:translateX(-50%);max-width:calc(100vw - 32px);padding:9px 16px;border:1px solid hsla(0,0%,100%,.2);border-radius:999px;background:#0b0b0c;color:#f6f2ea;font:600 12.5px/1.3 var(--font-jakarta,"Plus Jakarta Sans"),system-ui,sans-serif;text-align:center;box-shadow:0 10px 26px rgba(0,0,0,.32);animation:connection-banner-in .3s ease both}.connection-banner.is-back{background:#1f3a2c}@keyframes connection-banner-in{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.connection-banner{animation:none}}.app-error{display:grid;place-content:center;justify-items:center;grid-gap:14px;gap:14px;min-height:100svh;padding:32px 16px;text-align:center;background:#14110f;color:#f6f2ea;font-family:var(--font-jakarta,"Plus Jakarta Sans"),system-ui,sans-serif}.app-error h1{margin:0;font:600 clamp(1.8rem,5vw,2.8rem)/1.1 var(--font-jakarta,"Plus Jakarta Sans"),sans-serif;letter-spacing:-.03em}.app-error p{margin:0;max-width:34rem;color:hsla(40,40%,94%,.78);font-size:1rem;line-height:1.5}.app-error-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:6px}.app-error button{padding:12px 22px;border:1px solid hsla(40,40%,94%,.35);border-radius:999px;background:transparent;color:inherit;cursor:pointer;font:650 .9rem/1 var(--font-jakarta,"Plus Jakarta Sans"),sans-serif;transition:background-color .3s ease}.app-error button:hover{background:hsla(40,40%,94%,.1)}.app-error button.is-primary{background:#f6f2ea;color:#14110f;border-color:#f6f2ea}.app-error button.is-primary:hover{background:#fff}