/* Transparent hit areas remain transparent, including Windows contrast mode. */
#handheld-unit :is(.direction-pad button,.scan-button,.back-button,.console-deck nav button,.audio-toggle,.power-button,.bumper-control,.brightness-step,.analog-stick){appearance:none;-webkit-appearance:none;forced-color-adjust:none;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;filter:none!important;border:0;-webkit-tap-highlight-color:transparent}
#handheld-unit .console-deck nav button:not(:focus-visible){outline:none!important}
#handheld-unit .console-deck nav button:before,#handheld-unit .console-deck nav button:after{content:none!important;display:none!important}
#handheld-unit button:focus-visible{outline:2px solid #9fecff;outline-offset:1px}
/* Depress the original button artwork, without a tinted hit-target overlay. */
#handheld-unit .control-face{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:hidden;border-radius:inherit;pointer-events:none;visibility:visible;forced-color-adjust:none;transform-origin:center}
#handheld-unit button[data-control-press="held"] .control-face{visibility:visible;transform:translateY(1px) scale(.975)}
#handheld-unit button[data-control-press^="pulse-"] .control-face{visibility:visible;animation:cap-tap-a .18s ease-out both}
#handheld-unit button[data-control-press="pulse-b"] .control-face{animation-name:cap-tap-b}
/* Actual recessed lenses carry state; the complete face covers baked-in cyan spill. */
#handheld-unit .hardware-led{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible;color:var(--led-color,#67e6f4);pointer-events:none;forced-color-adjust:none}
#handheld-unit .bumper-control .hardware-led{width:calc(178.068 * var(--px));height:calc(81.6 * var(--px))}
#handheld-unit .bumper-top-mark{z-index:1}
#haptic-toggle[aria-pressed="false"],#device-power[aria-pressed="true"]{--led-color:#f28a54}
#layout-mode[data-mode="auto"]{--led-color:#67e6f4}
#layout-mode[data-mode="desktop"]{--led-color:#f5d563}
#layout-mode[data-mode="mobile"]{--led-color:#f16c61}
#handheld-unit .led-emitter{opacity:1}
#handheld-unit button[data-control-press="held"] .led-emitter{opacity:0}
#handheld-unit button[data-control-press^="pulse-"] .led-emitter{animation:led-blink-a .18s steps(1,end) both}
#handheld-unit button[data-control-press="pulse-b"] .led-emitter{animation-name:led-blink-b}
@keyframes led-blink-a{0%,49%{opacity:0}50%,100%{opacity:1}}
@keyframes led-blink-b{0%,49%{opacity:0}50%,100%{opacity:1}}
/* Axis translation stays on the wrapper; only this analog cap depresses. */
.analog-cap>img{transform-origin:center;transition:transform .08s ease-out}
.analog-stick[data-control-press="held"] .analog-cap>img{transform:scale(.94)}
.analog-stick[data-control-press^="pulse-"] .analog-cap>img{animation:cap-tap-a .18s ease-out both}
.analog-stick[data-control-press="pulse-b"] .analog-cap>img{animation-name:cap-tap-b}
@keyframes cap-tap-a{from{transform:translateY(1px) scale(.975)}to{transform:translateY(0) scale(1)}}
@keyframes cap-tap-b{from{transform:translateY(1px) scale(.975)}to{transform:translateY(0) scale(1)}}
.screen-ui button{transform-origin:center;transition:transform .08s ease-out}
.screen-ui button[data-control-press="held"]{transform:translateY(1px) scale(.985)}
.screen-ui button[data-control-press^="pulse-"]{animation:lcd-tap-a .18s ease-out both}
.screen-ui button[data-control-press="pulse-b"]{animation-name:lcd-tap-b}
@keyframes lcd-tap-a{from{transform:translateY(1px) scale(.985)}to{transform:translateY(0) scale(1)}}
@keyframes lcd-tap-b{from{transform:translateY(1px) scale(.985)}to{transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){
  #handheld-unit button[data-control-press] .led-emitter{animation:none;opacity:1}
  #handheld-unit button[data-control-press] .control-face,.analog-stick[data-control-press] .analog-cap>img,.screen-ui button[data-control-press]{animation:none;transition:none;transform:none}
}

/* The audio switch face contains a recessed physical lens, with a fixed on/off position. */
#handheld-unit .audio-toggle:before,#handheld-unit .audio-toggle:after{content:none!important;display:none!important}
#handheld-unit .audio-led{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;forced-color-adjust:none}
.audio-lens-on,.audio-lens-highlight{opacity:0}
.audio-toggle[aria-pressed="true"] .audio-lens-on{opacity:1}
.audio-toggle[aria-pressed="true"] .audio-lens-highlight{opacity:.9}
.pns-lookup-link{font-size:9px;margin:8px 0;color:#91dce7}
.pns-lookup-link a{text-decoration:underline;text-underline-offset:2px}
