/* This named important layer is the single owner above legacy ID !important rules.
   Ordinary component colours, borders and card lighting keep their own cascade. */
@layer site-focus-intent{
/* Reading anchors retain semantic focus without outlining an entire article. */
html body [data-site-focus="anchor"]:focus,
html body :is(h1,h2,h3,h4,h5,h6,main,article,section)[tabindex="-1"]:not([role]):focus{
 outline:none!important;outline-offset:0!important;
}
/* Mouse/touch activation and restored entry focus do not leave a keyboard frame. */
html[data-site-input="pointer"] body :is(a,button,select,input,textarea,summary,[tabindex]):focus{
 outline:none!important;
}
/* Keyboard intent also covers programmatic focus after a keyboard close/return. */
html[data-site-input="keyboard"] body :is(a,button,select,input,textarea,summary,[tabindex]):not([data-site-focus="anchor"]):focus{
 outline:2px solid #91d6ef!important;outline-offset:3px!important;
}
/* Search is one editable field: its existing enclosing border is the indicator. */
html body #siteHeader .site-search>input:focus{
 outline:none!important;box-shadow:none!important;
}
html[data-site-input="pointer"] body #siteHeader .site-display-settings label:focus-within{outline:none!important}
html[data-site-input="keyboard"] body #siteHeader .site-display-settings label:focus-within{outline:2px solid #91d6ef;outline-offset:2px}
html[data-site-input="pointer"] body #playerDetail :is(.tab,.compare-btn,.evo-stage):focus{box-shadow:none!important}
}
