/* Shared focus treatment for platform UI, including dialogs loaded later. */
:root{--focus-neutral:#ADADB5;--focus-field:#82828C}
:root[data-mode=light]{--focus-neutral:#686872;--focus-field:#85858F}

/* Pointer interactions do not create a colored ring or glow. */
html body :is(button,a,summary,input,textarea,select,video,[role=button],[tabindex],[contenteditable=true]):focus{outline:none!important}
html body :is(input,textarea,select):is(:focus,:focus-visible){box-shadow:none!important}

/* Keyboard navigation keeps a small neutral indicator on actionable controls. */
html body :is(button,a,summary,video,input[type=range],input[type=checkbox],input[type=radio],[role=button],[tabindex],[contenteditable=true]):focus-visible{outline:1px solid var(--focus-neutral)!important;outline-offset:2px!important}

/* Fields use their own border; inset search fields rely on the outer wrapper. */
html body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select):focus:not([aria-invalid=true]){outline:none!important;box-shadow:none!important;border-color:var(--focus-field)!important}
html body :is(label,.public-search,.streams-search-box,.audio-search,.game-center-search,.live-favorites-search,.gifts-search,.home-gift-catalog-search,.si-search,.studio-quick-search):focus-within{border-color:var(--focus-field)!important;box-shadow:none!important}

/* Selected tabs use text and a quiet surface, never an accent underline.
   The Studio rail indicator intentionally keeps its own treatment. */
html body :is(.template-navigation>button,.gifts-view-tabs>button,#studio-test-tabs>button)::after{content:none!important;display:none!important}
html body :is(#studio-test-tabs>button,.account-tabs button){border-bottom-color:transparent!important;box-shadow:none!important}
