:focus-visible{
outline:2px solid var(--color-focus);
outline-offset:2px;
border-radius:var(--radius-xs);
}

.adv-btn:focus-visible,
.adv-header__toggle:focus-visible,
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible{
outline:2px solid var(--color-focus);
outline-offset:2px;
}

a:focus:not(:focus-visible),
button:focus:not(:focus-visible){
outline:none;
}

@media (prefers-contrast: more){
:root{
--color-muted:#1e293b;
--color-muted-soft:#334155;
--color-line:#94a3b8;
--color-line-strong:#475569;
}
a{text-decoration:underline}
.adv-btn{border-width:2px}
}

@media (prefers-reduced-motion: reduce){
*,
*::before,
*::after{
animation-duration:.001ms!important;
animation-iteration-count:1!important;
transition-duration:.001ms!important;
scroll-behavior:auto!important;
}
.adv-skeleton{animation:none;background:var(--color-bg-muted)}
}

@media (prefers-reduced-transparency: reduce){
.adv-header{
background:var(--color-bg);
backdrop-filter:none;
-webkit-backdrop-filter:none;
}
}

@media (forced-colors: active){
.adv-btn,
.adv-card,
.adv-chip,
.adv-alert,
.adv-empty,
.adv-field input,
.adv-field select,
.adv-field textarea,
.adv-header__toggle{
border:1px solid CanvasText;
}
.adv-btn--primary{
background:ButtonFace;
color:ButtonText;
border-color:ButtonText;
}
a{color:LinkText}
a:visited{color:VisitedText}
:focus-visible{outline:2px solid Highlight}
}

.skip-to-main{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-to-main:focus{
position:fixed;
left:var(--space-5);
top:var(--space-5);
width:auto;
height:auto;
padding:var(--space-4) var(--space-5);
background:var(--color-bg);
color:var(--color-ink);
border:2px solid var(--color-primary);
border-radius:var(--radius-md);
z-index:var(--z-skip);
font-weight:var(--weight-semibold);
box-shadow:var(--shadow-md);
text-decoration:none;
}

[aria-busy="true"]{cursor:progress}
[aria-disabled="true"]{cursor:not-allowed}

[role="alert"],
[aria-live="assertive"],
[aria-live="polite"]{
position:relative;
}

@media print{
[role="alert"],
[aria-live]{
position:static;
}
}