mirror of
https://github.com/SoPat712/videospeed.git
synced 2026-04-24 21:42:53 -04:00
186 lines
3.5 KiB
CSS
186 lines
3.5 KiB
CSS
* {
|
|
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;
|
|
}
|