html{-webkit-tap-highlight-color:transparent}
body *{-webkit-tap-highlight-color:transparent}
html[data-input-method=pointer] :focus,html[data-input-method=pointer] :focus-visible{outline:none!important}
html[data-input-method=pointer] .dial:has(:focus-visible),html[data-input-method=pointer] input:focus-visible+span{outline:none!important}
button,a,summary,[role=button],label:has(input[type=radio]),label:has(input[type=checkbox]){-webkit-user-select:none;user-select:none}
input,textarea{caret-color:var(--accent,#3c6857)}
@media(max-width:600px){
 button,a,summary{transition-timing-function:cubic-bezier(.22,.68,.25,1)}
 button:active,a:active,summary:active{background-color:color-mix(in srgb,var(--accent,#3c6857) 10%,transparent)}
 .picker-trigger,.region-trigger,.wheel-actions button,.solo-layer{transition:background-color 280ms cubic-bezier(.22,.68,.25,1),border-color 280ms cubic-bezier(.22,.68,.25,1),color 280ms cubic-bezier(.22,.68,.25,1)}
}
@media(prefers-reduced-motion:reduce){button,a,summary{transition:none!important}}
/* Keyboard navigation uses the soundscape palette, never the browser blue. */
html[data-input-method=keyboard] :focus-visible{outline:2px solid var(--element-ink,var(--accent,#3c6857));outline-offset:3px}

/* Floating notices share the functional bars' progressive glass surface. */
#feedback,#memberFeedback,.mobile-scene-announcement,.layer-visual-notice{
 isolation:isolate;overflow:hidden;background:color-mix(in srgb,var(--bg,var(--paper,#eee9da)) 72%,transparent);color:var(--text,var(--ink,#233f39));border:1px solid var(--line,#b9bfac);box-shadow:0 4px 18px #233f3910;
 -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
}
#feedback::before,#memberFeedback::before,.mobile-scene-announcement::before,.layer-visual-notice::before{
 content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;
 -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
 -webkit-mask-image:linear-gradient(transparent,#000 80%);mask-image:linear-gradient(transparent,#000 80%);
}
