* { 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 */ #controller[data-location="top-center"], #controller[data-location="bottom-center"] { transform: translate(0, 0) !important; left: calc(50% - 30px) !important; } #controller[data-location="bottom-center"] { transform: translate(0, -100%) !important; } #controls { display: none; } /* 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; min-width: 1.35em; height: 1.35em; margin-left: 0.3em; padding: 0 0.25em; border-radius: 999px; border: 1px solid rgba(255, 255, 255, 0.28); font-size: 12px; font-weight: bold; line-height: 1; 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 { display: none; } #nudge-flash-indicator[data-enabled="true"] { color: #bff3a2; background: rgba(75, 145, 53, 0.28); border-color: rgba(126, 199, 104, 0.7); } #nudge-flash-indicator[data-enabled="false"] { color: #ffb8b8; background: rgba(164, 73, 73, 0.24); border-color: rgba(214, 118, 118, 0.65); } #nudge-indicator { display: inline-flex; vertical-align: middle; align-items: center; justify-content: center; min-width: 1.35em; height: 1.35em; margin-left: 0.45em; padding: 0 0.25em; border-radius: 999px; border: 1px solid rgba(255, 255, 255, 0.28); font-size: 12px; font-weight: bold; line-height: 1; box-sizing: border-box; cursor: pointer; } #nudge-indicator[data-enabled="true"] { color: #bff3a2; background: rgba(75, 145, 53, 0.28); border-color: rgba(126, 199, 104, 0.7); } #nudge-indicator[data-enabled="false"] { color: #ffb8b8; background: rgba(164, 73, 73, 0.24); border-color: rgba(214, 118, 118, 0.65); } #nudge-indicator[data-supported="false"] { opacity: 0.75; } #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; }