/* Programmatic navigation focus is silent; interactive keyboard focus stays visible. */
:is(h1, main)[tabindex="-1"]:focus { outline: none; }
.connection-status, #blazor-error-ui {
    position: fixed; z-index: 10000; left: 50%; bottom: 24px; transform: translateX(-50%);
    width: max-content; max-width: calc(100% - 32px); padding: 14px 18px;
    border: 1px solid #cbbbdc; border-radius: 10px; background: #fff; color: #242137;
    box-shadow: 0 4px 22px #24213718; font: 500 13px/1.65 "Noto Sans KR", sans-serif;
    align-items: center; gap: 14px; flex-wrap: wrap;
}
.connection-status { display: flex; }
.connection-status[hidden] { display: none; }
.connection-status button, .connection-status a, #blazor-error-ui a {
    min-height: 36px; display: inline-flex; align-items: center; padding: 6px 10px;
    border: 1px solid #cbbbdc; border-radius: 6px; background: #f7f4fb; color: #65449d; white-space: nowrap;
}
#blazor-error-ui { display: none; }
#blazor-error-ui a { margin-left: 12px; }
@media(max-width:760px) {
    .connection-status, #blazor-error-ui { bottom: calc(78px + env(safe-area-inset-bottom)); gap: 8px; }
    .connection-status span { flex-basis: 100%; }
}
