.rel-skip-to-content {
position: absolute;
left: -9999px;
top: auto;
width: 1px;
height: 1px;
overflow: hidden;
text-decoration: none;
}
.rel-skip-to-content:focus {
position: fixed;
top: 0;
left: 0;
width: auto;
height: auto;
padding: 8px 16px;
background-color: #a3a6ff;
color: #091328;
font-weight: bold;
z-index: 9999;
text-decoration: none;
outline: 2px solid #091328;
outline-offset: 2px;
}
*:focus-visible {
outline: 2px solid #a3a6ff;
outline-offset: 2px;
}
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [role="button"]:focus-visible, [role="menuitem"]:focus-visible {
outline: 2px solid #a3a6ff;
outline-offset: 2px;
box-shadow: 0 0 0 4px rgba(163,166,255,0.3);
}
button:focus:not(:focus-visible), a:focus:not(:focus-visible), input:focus:not(:focus-visible), select:focus:not(:focus-visible), textarea:focus:not(:focus-visible) {
outline: none;
}
[role="button"] {
cursor: pointer;
}
[role="button"]:focus-visible {
outline: 2px solid #a3a6ff;
outline-offset: 2px;
box-shadow: 0 0 0 4px rgba(163,166,255,0.3);
}
[role="dialog"] {
isolation: isolate;
}

.announcement-banner {
width: 100%;
padding: 10px 20px;
display: flex;
align-items: center;
justify-content: center;
gap: 12px;
font-size: 14px;
font-weight: 500;
position: relative;
z-index: 100;
}
.announcement-banner--info {
background-color: #3b82f6;
color: #fff;
}
.announcement-banner--warning {
background-color: #f59e0b;
color: #1a1a1a;
}
.announcement-banner--error {
background-color: #ef4444;
color: #fff;
}
.announcement-banner--success {
background-color: #10b981;
color: #fff;
}
.announcement-banner__text {
flex: 1;
text-align: center;
}
.announcement-banner__link {
color: inherit;
font-weight: 700;
text-decoration: underline;
}
.announcement-banner__dismiss {
background-color: transparent;
border: none;
color: inherit;
font-size: 18px;
cursor: pointer;
opacity: 0.7;
padding: 0 4px;
line-height: 1;
}
.announcement-banner__dismiss:hover {
opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
}