* { line-height: 1.9em; font-family: sans-serif; font-size: 13px; } #controller:hover #controls, #controller:focus-within #controls, :host(:hover) #controls { display: inline; } #controller { position: absolute; top: 0; left: 0; transform: translate(0, 0); pointer-events: auto; background: black; color: white; border-radius: 5px; padding: 5px; margin: 0; cursor: default; /* Stay above the local video surface without overtaking page-level dialogs. */ z-index: 1; transition: top 160ms ease, left 160ms ease, transform 160ms ease, opacity 160ms ease; } #controller:hover { opacity: 0.7; } #controller:hover > .draggable { margin-right: 0.8em; } /* For center positions, override transform to expand from left edge instead of center. Exclude manual mode so dragging can freely reposition the controller. */ #controller[data-location="top-center"]:not([data-position-mode="manual"]), #controller[data-location="bottom-center"]:not([data-position-mode="manual"]) { transform: translate(0, 0) !important; left: calc(50% - 30px) !important; } #controller[data-location="bottom-center"]:not([data-position-mode="manual"]) { transform: translate(0, -100%) !important; } #controls { display: none; } #controls > * + * { margin-left: 3px; } /* Standalone flash indicator next to speed text — hidden by default, briefly shown when nudge is toggled via N key or click */ #nudge-flash-indicator { display: none; vertical-align: middle; align-items: center; justify-content: center; margin-left: 0.3em; padding: 3px 6px; border-radius: 5px; font-size: 14px; line-height: 14px; font-weight: bold; font-family: "Lucida Console", Monaco, monospace; box-sizing: border-box; } #nudge-flash-indicator.visible { display: inline-flex; } /* Hide flash indicator when hovering — the one in #controls is visible instead */ #controller:hover #nudge-flash-indicator, :host(:hover) #nudge-flash-indicator { display: none !important; width: 0; height: 0; margin: 0; padding: 0; border: 0; overflow: hidden; } #nudge-flash-indicator[data-enabled="true"] { color: #fff; background: #4b9135; border: 1px solid #6ec754; } #nudge-flash-indicator[data-enabled="false"] { color: #fff; background: #943e3e; border: 1px solid #c06060; } #nudge-indicator { display: inline-flex; align-items: center; justify-content: center; padding: 3px 6px; border-radius: 5px; font-size: 14px; line-height: 14px; font-weight: bold; font-family: "Lucida Console", Monaco, monospace; box-sizing: border-box; cursor: pointer; margin-bottom: 2px; } #nudge-indicator[data-enabled="true"] { color: #fff; background: #4b9135; border: 1px solid #6ec754; } #nudge-indicator[data-enabled="false"] { color: #fff; background: #943e3e; border: 1px solid #c06060; } #nudge-indicator[data-supported="false"] { opacity: 0.6; } #controller.dragging { cursor: -webkit-grabbing; cursor: -moz-grabbing; opacity: 0.7; transition: none; } #controller.dragging #controls { display: inline; } .draggable { cursor: -webkit-grab; cursor: -moz-grab; } .draggable:active { cursor: -webkit-grabbing; cursor: -moz-grabbing; } button { cursor: pointer; color: black; background: white; font-weight: bold; border-radius: 5px; padding: 3px 6px 3px 6px; font-size: 14px; line-height: 14px; border: 1px solid white; font-family: "Lucida Console", Monaco, monospace; margin-bottom: 2px; } button:focus { outline: 0; } button:hover { opacity: 1; } button:active { background: #ccc; } button.rw { opacity: 0.65; } button.hideButton { opacity: 0.65; margin-right: 2px; }