vidply 1.0.6 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/vidply.css CHANGED
@@ -60,7 +60,7 @@
60
60
 
61
61
  /* UI Background Colors */
62
62
  --vidply-primary-dark-rgb: 8, 51, 88;
63
- --vidply-primary-light: #60a5fa;
63
+ --vidply-primary-light: #71b7e2;
64
64
  --vidply-primary-rgb: 10, 64, 110;
65
65
  --vidply-shadow-lg: 0 12px 48px var(--vidply-black-80);
66
66
  --vidply-shadow-md: 0 4px 12px var(--vidply-black-40);
@@ -105,7 +105,7 @@
105
105
  display: flex;
106
106
  flex-direction: column;
107
107
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
108
- font-size: 14px;
108
+ font-size: 16px;
109
109
  line-height: 1.5;
110
110
  max-width: 100%;
111
111
  overflow: visible;
@@ -1661,7 +1661,7 @@
1661
1661
  .vidply-transcript-time {
1662
1662
  color: var(--vidply-primary-light);
1663
1663
  font-family: 'Courier New', monospace;
1664
- font-size: 14px;
1664
+ font-size: 100%;
1665
1665
  font-weight: 600;
1666
1666
  margin-bottom: 4px;
1667
1667
  margin-right: 8px;
@@ -1669,7 +1669,7 @@
1669
1669
 
1670
1670
  .vidply-transcript-text {
1671
1671
  color: var(--vidply-white-90);
1672
- font-size: 14px;
1672
+ font-size: 100%;
1673
1673
  line-height: 1.6;
1674
1674
  }
1675
1675
 
@@ -1683,6 +1683,42 @@
1683
1683
  text-decoration: underline;
1684
1684
  }
1685
1685
 
1686
+ /* Transcript entry types */
1687
+ .vidply-transcript-description {
1688
+ background: rgb(100 149 237 / 8%); /* Subtle blue tint for descriptions */
1689
+ border-left: 3px solid rgb(100 149 237 / 60%);
1690
+ }
1691
+
1692
+ .vidply-transcript-description .vidply-transcript-text {
1693
+ color: rgb(135 206 250 / 95%); /* Light sky blue for description text */
1694
+ font-style: italic;
1695
+ opacity: 0.9;
1696
+ }
1697
+
1698
+ .vidply-transcript-description .vidply-transcript-time {
1699
+ color: rgb(100 149 237 / 80%); /* Matching blue for timestamp */
1700
+ }
1701
+
1702
+ .vidply-transcript-description:hover,
1703
+ .vidply-transcript-description:focus {
1704
+ background: rgb(100 149 237 / 14%);
1705
+ }
1706
+
1707
+ .vidply-transcript-description:hover .vidply-transcript-text,
1708
+ .vidply-transcript-description:focus .vidply-transcript-text {
1709
+ opacity: 1;
1710
+ }
1711
+
1712
+ .vidply-transcript-description.vidply-transcript-entry-active {
1713
+ background: rgb(100 149 237 / 18%);
1714
+ border-left-color: #6495ed;
1715
+ }
1716
+
1717
+ .vidply-transcript-description.vidply-transcript-entry-active .vidply-transcript-text {
1718
+ color: rgb(135 206 250); /* Brighter on active */
1719
+ opacity: 1;
1720
+ }
1721
+
1686
1722
  /* Transcript Scrollbar */
1687
1723
  .vidply-transcript-content::-webkit-scrollbar {
1688
1724
  width: 8px;
@@ -1701,44 +1737,623 @@
1701
1737
  background: var(--vidply-border-hover);
1702
1738
  }
1703
1739
 
1704
- /* Sign Language Video */
1705
- .vidply-sign-language-video {
1706
- background: var(--vidply-black);
1707
- border: 2px solid var(--vidply-white-30);
1740
+ /* Transcript Header Left Side (Settings Button + Title) */
1741
+ .vidply-transcript-header-left {
1742
+ align-items: center;
1743
+ display: flex;
1744
+ gap: 8px;
1745
+ position: relative;
1746
+ }
1747
+
1748
+ /* Transcript Settings Button */
1749
+ .vidply-transcript-settings {
1750
+ align-items: center;
1751
+ background: transparent;
1752
+ border: none;
1708
1753
  border-radius: 4px;
1709
- box-shadow: 0 4px 12px var(--vidply-black-60);
1710
- height: auto !important;
1754
+ color: var(--vidply-text-muted);
1755
+ cursor: pointer;
1756
+ display: flex;
1757
+ height: 28px;
1758
+ justify-content: center;
1759
+ padding: 4px;
1760
+ position: relative;
1761
+ transition: all 0.2s ease;
1762
+ width: 28px;
1763
+ }
1764
+
1765
+ .vidply-transcript-settings:hover {
1766
+ background: var(--vidply-white-10);
1767
+ color: var(--vidply-white);
1768
+ }
1769
+
1770
+ .vidply-transcript-settings:focus {
1771
+ outline: 2px solid var(--vidply-primary-light);
1772
+ outline-offset: 2px;
1773
+ }
1774
+
1775
+ .vidply-transcript-settings .vidply-icon {
1776
+ height: 18px;
1777
+ width: 18px;
1778
+ }
1779
+
1780
+ /* Transcript Settings Menu */
1781
+ .vidply-transcript-settings-menu {
1782
+ background: var(--vidply-bg-menu);
1783
+ border: 1px solid var(--vidply-border);
1784
+ border-radius: 6px;
1785
+ box-shadow: var(--vidply-shadow-lg);
1786
+ display: none;
1787
+ left: 0;
1788
+ min-width: 240px;
1789
+ padding: 6px;
1790
+ position: absolute;
1791
+ top: calc(100% + 4px);
1792
+ z-index: 100;
1793
+ }
1794
+
1795
+ .vidply-transcript-settings-menu::after {
1796
+ border-bottom: 6px solid var(--vidply-bg-menu);
1797
+ border-left: 6px solid transparent;
1798
+ border-right: 6px solid transparent;
1799
+ bottom: 100%;
1800
+ content: '';
1801
+ height: 0;
1802
+ left: 14px;
1803
+ position: absolute;
1804
+ width: 0;
1805
+ }
1806
+
1807
+ /* Transcript Settings Menu Items */
1808
+ .vidply-transcript-settings-item {
1809
+ align-items: flex-start;
1810
+ background: transparent;
1811
+ border: none;
1812
+ border-radius: 4px;
1813
+ color: var(--vidply-white);
1814
+ cursor: pointer;
1815
+ display: flex;
1816
+ font-size: 13px;
1817
+ gap: 8px;
1818
+ padding: 8px 10px;
1819
+ text-align: left;
1820
+ transition: all 0.15s ease;
1821
+ width: 100%;
1822
+ }
1823
+
1824
+ .vidply-transcript-settings-item:hover {
1825
+ background: var(--vidply-primary-20);
1826
+ }
1827
+
1828
+ .vidply-transcript-settings-item:hover span {
1829
+ text-decoration: underline;
1830
+ }
1831
+
1832
+ .vidply-transcript-settings-item:focus {
1833
+ background: var(--vidply-primary-25);
1834
+ outline: none;
1835
+ }
1836
+
1837
+ .vidply-transcript-settings-item:focus span {
1838
+ text-decoration: underline;
1839
+ }
1840
+
1841
+ .vidply-transcript-settings-item:active span {
1842
+ text-decoration: underline;
1843
+ }
1844
+
1845
+ .vidply-transcript-settings-item .vidply-icon {
1846
+ flex-grow: 0.2;
1847
+ height: 20px;
1848
+ opacity: 0.9;
1849
+ width: 20px;
1850
+ }
1851
+
1852
+ .vidply-transcript-settings-item span {
1853
+ flex: 1;
1854
+ }
1855
+
1856
+ /* Move Mode Visual Feedback */
1857
+ .vidply-transcript-move-mode {
1858
+ animation: transcriptPulse 0.5s ease-in-out 2;
1859
+ box-shadow: 0 0 0 3px var(--vidply-primary-light), 0 10px 40px var(--vidply-black-60);
1860
+ }
1861
+
1862
+ @keyframes transcriptPulse {
1863
+ 0%, 100% {
1864
+ box-shadow: 0 0 0 3px var(--vidply-primary-light), 0 10px 40px var(--vidply-black-60);
1865
+ }
1866
+
1867
+ 50% {
1868
+ box-shadow: 0 0 0 6px var(--vidply-primary-light), 0 10px 40px var(--vidply-black-60);
1869
+ }
1870
+ }
1871
+
1872
+ /* Resize Handles */
1873
+ .vidply-transcript-resize-handle {
1874
+ position: absolute;
1875
+ z-index: 10;
1876
+ }
1877
+
1878
+ /* Corner handles - larger hit area */
1879
+ .vidply-transcript-resize-ne,
1880
+ .vidply-transcript-resize-nw,
1881
+ .vidply-transcript-resize-se,
1882
+ .vidply-transcript-resize-sw {
1883
+ height: 16px;
1884
+ width: 16px;
1885
+ }
1886
+
1887
+ /* Edge handles */
1888
+ .vidply-transcript-resize-n,
1889
+ .vidply-transcript-resize-s {
1890
+ cursor: ns-resize;
1891
+ height: 8px;
1892
+ left: 16px;
1893
+ right: 16px;
1894
+ }
1895
+
1896
+ .vidply-transcript-resize-e,
1897
+ .vidply-transcript-resize-w {
1898
+ bottom: 16px;
1899
+ cursor: ew-resize;
1900
+ top: 16px;
1901
+ width: 8px;
1902
+ }
1903
+
1904
+ /* Position each handle */
1905
+ .vidply-transcript-resize-n {
1906
+ top: -4px;
1907
+ }
1908
+
1909
+ .vidply-transcript-resize-s {
1910
+ bottom: -4px;
1911
+ }
1912
+
1913
+ .vidply-transcript-resize-e {
1914
+ right: -4px;
1915
+ }
1916
+
1917
+ .vidply-transcript-resize-w {
1918
+ left: -4px;
1919
+ }
1920
+
1921
+ .vidply-transcript-resize-ne {
1922
+ cursor: nesw-resize;
1923
+ right: -8px;
1924
+ top: -8px;
1925
+ }
1926
+
1927
+ .vidply-transcript-resize-nw {
1928
+ cursor: nwse-resize;
1929
+ left: -8px;
1930
+ top: -8px;
1931
+ }
1932
+
1933
+ .vidply-transcript-resize-se {
1934
+ bottom: -8px;
1935
+ cursor: nwse-resize;
1936
+ right: -8px;
1937
+ }
1938
+
1939
+ .vidply-transcript-resize-sw {
1940
+ bottom: -8px;
1941
+ cursor: nesw-resize;
1942
+ left: -8px;
1943
+ }
1944
+
1945
+ /* Visual indicator for resize handles when active */
1946
+ .vidply-transcript-resizable .vidply-transcript-resize-handle::after {
1947
+ background: var(--vidply-primary-light);
1948
+ border-radius: 50%;
1949
+ content: '';
1950
+ height: 6px;
1951
+ left: 50%;
1952
+ opacity: 0;
1953
+ position: absolute;
1954
+ top: 50%;
1955
+ transform: translate(-50%, -50%);
1956
+ transition: opacity 0.2s ease;
1957
+ width: 6px;
1958
+ }
1959
+
1960
+ .vidply-transcript-resizable:hover .vidply-transcript-resize-handle::after {
1961
+ opacity: 0.8;
1962
+ }
1963
+
1964
+ .vidply-transcript-resizable .vidply-transcript-resize-handle:hover::after {
1965
+ opacity: 1;
1966
+ }
1967
+
1968
+ /* Resizing State */
1969
+ .vidply-transcript-resizing {
1970
+ box-shadow: 0 0 0 2px var(--vidply-primary-light), 0 10px 40px var(--vidply-black-60);
1971
+ transition: none !important;
1972
+ }
1973
+
1974
+ .vidply-transcript-resizing .vidply-transcript-content {
1975
+ pointer-events: none;
1976
+ }
1977
+
1978
+ /* Keyboard Drag Mode */
1979
+ .vidply-transcript-keyboard-drag {
1980
+ box-shadow: 0 0 0 3px var(--vidply-primary-light), 0 10px 40px var(--vidply-black-60);
1981
+ }
1982
+
1983
+ .vidply-transcript-drag-indicator {
1984
+ background: linear-gradient(135deg, var(--vidply-primary) 0%, var(--vidply-primary-light) 100%);
1985
+ border-radius: 0 0 6px 6px;
1986
+ color: var(--vidply-white);
1987
+ font-size: 12px;
1988
+ font-weight: 600;
1989
+ left: 0;
1990
+ padding: 8px 12px;
1991
+ position: absolute;
1992
+ right: 0;
1993
+ text-align: center;
1994
+ top: 100%;
1995
+ z-index: 1000;
1996
+ }
1997
+
1998
+ /* Move Mode Tooltip */
1999
+ .vidply-transcript-move-tooltip {
2000
+ animation: fadeInDown 0.3s ease;
2001
+ background: var(--vidply-black-90);
2002
+ border-radius: 4px;
2003
+ color: var(--vidply-white);
2004
+ font-size: 12px;
2005
+ left: 50%;
2006
+ padding: 6px 12px;
2007
+ position: absolute;
2008
+ text-align: center;
2009
+ top: 100%;
2010
+ transform: translateX(-50%);
2011
+ white-space: nowrap;
2012
+ z-index: 1000;
2013
+ }
2014
+
2015
+ @keyframes fadeInDown {
2016
+ from {
2017
+ opacity: 0;
2018
+ transform: translateX(-50%) translateY(-10px);
2019
+ }
2020
+
2021
+ to {
2022
+ opacity: 1;
2023
+ transform: translateX(-50%) translateY(0);
2024
+ }
2025
+ }
2026
+
2027
+ /* Transcript Style Dialog - Dropdown Menu Style */
2028
+ .vidply-transcript-style-dialog {
2029
+ background: var(--vidply-bg-menu);
2030
+ border: 1px solid var(--vidply-border);
2031
+ border-radius: 8px;
2032
+ box-shadow: var(--vidply-shadow-lg);
2033
+ display: none;
2034
+ left: 0;
2035
+ max-height: 500px;
2036
+ min-width: 280px;
2037
+ overflow-y: auto;
2038
+ padding: 12px;
2039
+ position: absolute;
2040
+ top: 100%;
2041
+ width: auto;
2042
+ z-index: 100;
2043
+ }
2044
+
2045
+ /* Arrow pointing up to settings button */
2046
+ .vidply-transcript-style-dialog::after {
2047
+ border-color: transparent transparent var(--vidply-bg-menu) transparent;
2048
+ border-style: solid;
2049
+ border-width: 0 8px 8px;
2050
+ content: '';
2051
+ height: 0;
2052
+ left: 12px;
2053
+ position: absolute;
2054
+ top: -8px;
2055
+ width: 0;
2056
+ }
2057
+
2058
+ .vidply-transcript-style-title {
2059
+ border-bottom: 1px solid var(--vidply-border);
2060
+ color: var(--vidply-white);
2061
+ font-size: 14px;
2062
+ font-weight: 600;
2063
+ margin: 0 0 12px;
2064
+ padding-bottom: 8px;
2065
+ }
2066
+
2067
+ .vidply-transcript-style-group {
2068
+ margin-bottom: 12px;
2069
+ }
2070
+
2071
+ .vidply-transcript-style-group:last-child {
2072
+ margin-bottom: 0;
2073
+ }
2074
+
2075
+ .vidply-transcript-style-group label {
2076
+ color: var(--vidply-white-90);
2077
+ display: block;
2078
+ font-size: 12px;
2079
+ font-weight: 500;
2080
+ margin-bottom: 6px;
2081
+ }
2082
+
2083
+ /* Style Select */
2084
+ .vidply-transcript-style-select {
2085
+ background: var(--vidply-white-10);
2086
+ border: 1px solid var(--vidply-border);
2087
+ border-radius: 4px;
2088
+ color: var(--vidply-white);
2089
+ cursor: pointer;
2090
+ font-size: 13px;
2091
+ outline: none;
2092
+ padding: 6px 10px;
2093
+ transition: all 0.2s ease;
2094
+ width: 100%;
2095
+ }
2096
+
2097
+ .vidply-transcript-style-select:hover {
2098
+ background: var(--vidply-white-15);
2099
+ border-color: var(--vidply-border-hover);
2100
+ }
2101
+
2102
+ .vidply-transcript-style-select:focus {
2103
+ background: var(--vidply-white-15);
2104
+ border-color: var(--vidply-primary-light);
2105
+ box-shadow: 0 0 0 2px var(--vidply-primary-20);
2106
+ }
2107
+
2108
+ .vidply-transcript-style-select option {
2109
+ background: #1a1a1a;
2110
+ color: #fff;
2111
+ }
2112
+
2113
+ /* Style Color Input */
2114
+ .vidply-transcript-style-color {
2115
+ border: 1px solid var(--vidply-border);
2116
+ border-radius: 4px;
2117
+ cursor: pointer;
2118
+ height: 32px;
2119
+ outline: none;
2120
+ padding: 4px;
2121
+ transition: all 0.2s ease;
2122
+ width: 100%;
2123
+ }
2124
+
2125
+ .vidply-transcript-style-color:hover {
2126
+ border-color: var(--vidply-border-hover);
2127
+ }
2128
+
2129
+ .vidply-transcript-style-color:focus {
2130
+ border-color: var(--vidply-primary-light);
2131
+ box-shadow: 0 0 0 2px var(--vidply-primary-20);
2132
+ }
2133
+
2134
+ /* Style Range Slider */
2135
+ .vidply-transcript-style-range-container {
2136
+ align-items: center;
2137
+ display: flex;
2138
+ gap: 12px;
2139
+ }
2140
+
2141
+ .vidply-transcript-style-range {
2142
+ -webkit-appearance: none;
2143
+ appearance: none;
2144
+ background: var(--vidply-white-20);
2145
+ border-radius: 3px;
2146
+ cursor: pointer;
2147
+ flex: 1;
2148
+ height: 6px;
2149
+ outline: none;
2150
+ }
2151
+
2152
+ .vidply-transcript-style-range::-webkit-slider-thumb {
2153
+ -webkit-appearance: none;
2154
+ appearance: none;
2155
+ background: var(--vidply-primary-light);
2156
+ border: 2px solid var(--vidply-white);
2157
+ border-radius: 50%;
2158
+ box-shadow: var(--vidply-shadow-sm);
2159
+ cursor: pointer;
2160
+ height: 16px;
2161
+ transition: all 0.15s ease;
2162
+ width: 16px;
2163
+ }
2164
+
2165
+ .vidply-transcript-style-range::-webkit-slider-thumb:hover {
2166
+ background: var(--vidply-primary);
2167
+ transform: scale(1.15);
2168
+ }
2169
+
2170
+ .vidply-transcript-style-range::-moz-range-thumb {
2171
+ background: var(--vidply-primary-light);
2172
+ border: 2px solid var(--vidply-white);
2173
+ border-radius: 50%;
2174
+ box-shadow: var(--vidply-shadow-sm);
2175
+ cursor: pointer;
2176
+ height: 16px;
2177
+ transition: all 0.15s ease;
2178
+ width: 16px;
2179
+ }
2180
+
2181
+ .vidply-transcript-style-range::-moz-range-thumb:hover {
2182
+ background: var(--vidply-primary);
2183
+ transform: scale(1.15);
2184
+ }
2185
+
2186
+ .vidply-transcript-style-value {
2187
+ color: var(--vidply-text-muted);
2188
+ font-size: 13px;
2189
+ font-weight: 600;
2190
+ min-width: 40px;
2191
+ text-align: right;
2192
+ }
2193
+
2194
+ /* Style Close Button */
2195
+ .vidply-transcript-style-close {
2196
+ background: var(--vidply-primary);
2197
+ border: none;
2198
+ border-radius: 4px;
2199
+ color: var(--vidply-white);
2200
+ cursor: pointer;
2201
+ font-size: 13px;
2202
+ font-weight: 600;
2203
+ margin-top: 12px;
2204
+ padding: 8px 16px;
2205
+ transition: all 0.2s ease;
2206
+ width: 100%;
2207
+ }
2208
+
2209
+ .vidply-transcript-style-close:hover {
2210
+ background: var(--vidply-primary-light);
2211
+ transform: translateY(-1px);
2212
+ }
2213
+
2214
+ .vidply-transcript-style-close:active {
2215
+ transform: translateY(0);
2216
+ }
2217
+
2218
+ .vidply-transcript-style-close:focus {
2219
+ box-shadow: 0 0 0 3px var(--vidply-primary-20);
2220
+ outline: none;
2221
+ }
2222
+
2223
+ /* Sign Language Video Wrapper */
2224
+ .vidply-sign-language-wrapper {
2225
+ background: transparent;
2226
+ height: auto;
1711
2227
  max-width: 400px;
2228
+ min-height: 100px;
1712
2229
  min-width: 150px;
1713
2230
  position: absolute;
1714
2231
  transition: opacity 0.3s ease;
1715
- width: 35% !important;
2232
+ width: 280px;
1716
2233
  z-index: 3;
1717
2234
  }
1718
2235
 
1719
- .vidply-fullscreen .vidply-sign-language-video {
2236
+ .vidply-fullscreen .vidply-sign-language-wrapper {
1720
2237
  max-width: 600px;
1721
2238
  }
1722
2239
 
1723
- /* Sign Language Video Positions */
1724
- .vidply-sign-position-bottom-right {
1725
- bottom: 16px; /* Above controls */
1726
- right: 16px;
2240
+ .vidply-sign-language-wrapper:focus {
2241
+ outline: 2px solid var(--vidply-primary);
2242
+ outline-offset: 2px;
1727
2243
  }
1728
2244
 
1729
- .vidply-controls-visible + .vidply-sign-position-bottom-right,
1730
- .vidply-controls-visible + .vidply-captions + .vidply-sign-position-bottom-right {
1731
- bottom: 95px; /* Above controls */
2245
+ /* Sign Language Video */
2246
+ .vidply-sign-language-video {
2247
+ background: var(--vidply-black);
2248
+ border: 2px solid var(--vidply-white-30);
2249
+ border-radius: 4px;
2250
+ box-shadow: 0 4px 12px var(--vidply-black-60);
2251
+ cursor: move;
2252
+ display: block;
2253
+ height: auto;
2254
+ pointer-events: auto;
2255
+ width: 100%;
1732
2256
  }
1733
2257
 
1734
- .vidply-sign-position-bottom-left {
1735
- bottom: 16px; /* Above controls */
1736
- left: 16px;
2258
+ /* Dragging and Resizing States */
2259
+ .vidply-sign-dragging .vidply-sign-language-video {
2260
+ cursor: grabbing !important;
2261
+ opacity: 0.9;
2262
+ }
2263
+
2264
+ .vidply-sign-resizing .vidply-sign-language-video {
2265
+ cursor: nwse-resize !important;
1737
2266
  }
1738
2267
 
1739
- .vidply-controls-visible + .vidply-sign-position-bottom-left,
1740
- .vidply-controls-visible + .vidply-captions + .vidply-sign-position-bottom-left {
2268
+ /* Keyboard Drag/Resize Modes */
2269
+ .vidply-sign-keyboard-drag,
2270
+ .vidply-sign-keyboard-resize {
2271
+ box-shadow: 0 0 0 3px var(--vidply-primary), 0 4px 12px var(--vidply-black-60);
2272
+ }
2273
+
2274
+ .vidply-sign-keyboard-drag::after,
2275
+ .vidply-sign-keyboard-resize::after {
2276
+ align-items: center;
2277
+ background: var(--vidply-primary);
2278
+ border-radius: 4px;
2279
+ color: var(--vidply-white);
2280
+ display: flex;
2281
+ font-size: 12px;
2282
+ font-weight: 600;
2283
+ justify-content: center;
2284
+ left: 50%;
2285
+ padding: 4px 8px;
2286
+ pointer-events: none;
2287
+ position: absolute;
2288
+ top: -28px;
2289
+ transform: translateX(-50%);
2290
+ white-space: nowrap;
2291
+ z-index: 10;
2292
+ }
2293
+
2294
+ .vidply-sign-keyboard-drag::after {
2295
+ content: 'DRAG MODE (Arrow keys to move, ESC to exit)';
2296
+ }
2297
+
2298
+ .vidply-sign-keyboard-resize::after {
2299
+ content: 'RESIZE MODE (Arrow keys to resize, ESC to exit)';
2300
+ }
2301
+
2302
+ /* Resize Handles */
2303
+ .vidply-sign-resize-handle {
2304
+ background: var(--vidply-white);
2305
+ border: 1px solid var(--vidply-black-30);
2306
+ border-radius: 50%;
2307
+ height: 12px;
2308
+ opacity: 0;
2309
+ position: absolute;
2310
+ transition: opacity 0.2s ease, background 0.2s ease;
2311
+ width: 12px;
2312
+ z-index: 10;
2313
+ }
2314
+
2315
+ .vidply-sign-language-wrapper:hover .vidply-sign-resize-handle,
2316
+ .vidply-sign-language-wrapper:focus .vidply-sign-resize-handle {
2317
+ opacity: 1;
2318
+ }
2319
+
2320
+ .vidply-sign-resize-handle:hover {
2321
+ background: var(--vidply-primary);
2322
+ }
2323
+
2324
+ .vidply-sign-resize-nw {
2325
+ cursor: nwse-resize;
2326
+ left: -6px;
2327
+ top: -6px;
2328
+ }
2329
+
2330
+ .vidply-sign-resize-ne {
2331
+ cursor: nesw-resize;
2332
+ right: -6px;
2333
+ top: -6px;
2334
+ }
2335
+
2336
+ .vidply-sign-resize-sw {
2337
+ bottom: -6px;
2338
+ cursor: nesw-resize;
2339
+ left: -6px;
2340
+ }
2341
+
2342
+ .vidply-sign-resize-se {
2343
+ bottom: -6px;
2344
+ cursor: nwse-resize;
2345
+ right: -6px;
2346
+ }
2347
+
2348
+ /* Sign Language Video Positions */
2349
+ .vidply-sign-position-bottom-right {
1741
2350
  bottom: 95px; /* Above controls */
2351
+ right: 16px;
2352
+ }
2353
+
2354
+ .vidply-sign-position-bottom-left {
2355
+ bottom: 95px; /* Above controls */
2356
+ left: 16px;
1742
2357
  }
1743
2358
 
1744
2359
  .vidply-sign-position-top-right {
@@ -1753,7 +2368,7 @@
1753
2368
 
1754
2369
  /* Responsive Sign Language Video */
1755
2370
  @media (width <= 640px) {
1756
- .vidply-sign-language-video {
2371
+ .vidply-sign-language-wrapper {
1757
2372
  min-width: 120px;
1758
2373
  width: 35%;
1759
2374
  }