/* Invisible hit targets keep the chosen traffic lights and window design. */
body .fm-window {box-sizing:border-box;}
/* Decorative icons may be redrawn during a press. Keep the button itself as
   the pointer target so its entire visible area completes the same click. */
body button :is(svg,svg *,i[data-lucide]) {pointer-events:none;}
body #win-player .fmp-transport button {
  box-sizing:border-box;width:44px;height:44px;min-width:44px;min-height:44px;
  flex:0 0 44px;padding:10px;touch-action:manipulation;
}
body #win-player .fmp-transport button :is(i,svg) {width:20px;height:20px;}
/* Scaling the element also moves its hit boundary during a click. */
body #win-player .fmp-play-btn:is(:hover,:active) {transform:none;}
body .fm-window .fm-resize-handle {position:absolute;display:block;z-index:20;touch-action:none;user-select:none;background:transparent;border:0;}
body .fm-window > .titlebar > .window-actions {z-index:30 !important;}
body .fm-window .fm-resize-n {top:0;left:28px;right:28px;height:7px;cursor:n-resize;}
body .fm-window .fm-resize-s {bottom:0;left:28px;right:28px;height:12px;cursor:s-resize;}
body .fm-window .fm-resize-e {right:0;top:28px;bottom:28px;width:10px;cursor:e-resize;}
body .fm-window .fm-resize-w {left:0;top:28px;bottom:28px;width:10px;cursor:w-resize;}
body .fm-window :is(.fm-resize-nw,.fm-resize-ne,.fm-resize-sw,.fm-resize-se) {width:28px;height:28px;z-index:21;}
body .fm-window .fm-resize-nw {top:0;left:0;cursor:nw-resize;}
body .fm-window .fm-resize-ne {top:0;right:0;cursor:ne-resize;}
body .fm-window .fm-resize-sw {bottom:0;left:0;cursor:sw-resize;}
body .fm-window .fm-resize-se {bottom:0;right:0;cursor:se-resize;}
body .fm-window:is(.maximized,.tahoe-maximized) .fm-resize-handle {display:none;}
body .fm-window .fm-resize-se::after {content:'';position:absolute;right:7px;bottom:7px;width:8px;height:8px;border-right:2px solid var(--fm-menu-muted);border-bottom:2px solid var(--fm-menu-muted);border-radius:0 0 3px;opacity:0;transition:opacity .12s;}
body .fm-window:is(:hover,.interact-resizing) .fm-resize-se::after {opacity:.65;}
/* The separate Sounds window used fixed white labels on light panels. */
body.fm-horizon-theme #win-sounds {background:var(--horizon-surface) !important;color:var(--fm-menu-text) !important;}
body.fm-horizon-theme #win-sounds > .titlebar {background:var(--horizon-chrome) !important;}
body.fm-horizon-theme #win-sounds > .titlebar > div:first-child {background:var(--horizon-dark);color:#fff !important;padding:2px 9px;border-radius:6px;}
body.fm-horizon-theme #win-sounds .fm-sounds-body {background:var(--horizon-surface) !important;}
body.fm-horizon-theme #win-sounds :is(.fm-sounds-tabs,.fm-sounds-tab-panel) {background:var(--fm-menu-bg) !important;}
body.fm-horizon-theme #win-sounds :is(.fm-sounds-preset-btn,.fm-sounds-preview,.fm-sounds-custom-row,.fm-voice-tab-section,.fm-voice-toggle) {background:var(--fm-menu-card) !important;border-color:transparent !important;}
body.fm-horizon-theme #win-sounds :is(.fm-sounds-preset-btn span,.fm-sounds-row span,.fm-sounds-row label,.fm-sounds-tab,.fm-voice-tab-label,.fm-voice-toggle span,.fm-voice-volume-value) {color:var(--fm-menu-text) !important;opacity:1;}
body.fm-horizon-theme #win-sounds :is(small,.fm-sounds-hint,.fm-voice-tab-hint) {color:var(--fm-menu-muted) !important;opacity:1 !important;}
body.fm-horizon-theme #win-sounds :is(.fm-sounds-preset-btn.active,.fm-sounds-tab.active) {background:var(--fm-blue-action) !important;color:var(--fm-menu-on-action) !important;}
body.fm-horizon-theme #win-sounds .fm-sounds-preset-btn.active :is(span,small,i,svg) {color:var(--fm-menu-on-action) !important;}
body.fm-horizon-theme #win-sounds :is(.fm-sound-preview-btn,.fm-voice-test-btn) {background:var(--fm-menu-selected) !important;color:var(--fm-menu-text) !important;border-color:transparent !important;}
body.fm-horizon-theme #win-sounds :is(select,option) {background:var(--fm-menu-field) !important;color:var(--fm-menu-text) !important;}
body.fm-horizon-theme #win-sounds :is(.fm-sounds-preset-btn:not(.active),.fm-voice-tab-label) :is(i,svg) {color:var(--fm-menu-text) !important;}
@media(prefers-reduced-motion:reduce){body .fm-window .fm-resize-se::after {transition:none;}}
