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