|
31 | 31 |
|
32 | 32 | /* Dialog styles with light default + .dark overrides */ |
33 | 33 | .browser-login-waiting-dialog, .pro-upgrade-dialog{ |
34 | | - /* ---- Layout ---- */ |
35 | | - .features-grid { |
36 | | - display: grid; |
37 | | - grid-template-columns: repeat(2, 1fr); |
38 | | - gap: 16px; |
| 34 | + .modal-header .dialog-title { |
| 35 | + color: @bc-text-emphasized; |
| 36 | + .dark & { color: @dark-bc-text-alt; } |
39 | 37 | } |
40 | 38 |
|
41 | | - /* ---- Cards ---- */ |
42 | | - .feature-card { |
43 | | - background: @bc-panel-bg-alt; // light surface |
44 | | - border: 1px solid @bc-panel-border; // subtle light border |
45 | | - border-radius: @bc-border-radius-large; // 5px |
46 | | - overflow: hidden; |
47 | | - display: flex; |
48 | | - flex-direction: column; |
49 | | - transition: background 0.15s ease, border-color 0.15s ease; |
| 39 | + .waiting-content-container > p { |
| 40 | + margin-bottom: 20px; |
| 41 | + font-size: 14px; |
| 42 | + color: @bc-text-medium; |
| 43 | + .dark & { color: @dark-bc-text-medium; } |
| 44 | + } |
50 | 45 |
|
51 | | - .dark & { |
52 | | - background: @dark-bc-panel-bg-alt; // #313131 |
53 | | - border: 1px solid @dark-bc-highlight; // rgba(255,255,255,0.06) |
54 | | - border-radius: @dark-bc-border-radius-large; |
55 | | - } |
| 46 | + a { |
| 47 | + color: @bc-text-link; |
| 48 | + text-decoration: none; |
| 49 | + .dark & { color: @dark-bc-text-link; } |
56 | 50 | } |
| 51 | + a:hover { text-decoration: underline; } |
| 52 | +} |
57 | 53 |
|
58 | | - .feature-card:hover { |
59 | | - background: @bc-panel-bg; // hover lift |
60 | | - border-color: @bc-shadow-small; // rgba(0,0,0,0.06) |
| 54 | +.pro-upgrade-dialog.modal { |
| 55 | + width: 880px; |
61 | 56 |
|
62 | | - .dark & { |
63 | | - background: @dark-bc-panel-bg; // #2c2c2c |
64 | | - border-color: @dark-bc-panel-bg-hover;// rgba(255,255,255,0.12) |
65 | | - } |
| 57 | + .modal-header { |
| 58 | + padding-bottom: 12px; |
66 | 59 | } |
67 | 60 |
|
68 | | - .feature-card:focus-within { |
69 | | - outline: 2px solid @bc-btn-border-focused; // #2893ef (light) |
70 | | - outline-offset: 2px; |
| 61 | + .dialog-subtitle { |
| 62 | + margin: 6px 0 0; |
| 63 | + font-size: 13px; |
| 64 | + color: @bc-text-medium; |
| 65 | + .dark & { color: @dark-bc-text-medium; } |
| 66 | + } |
71 | 67 |
|
72 | | - .dark & { |
73 | | - outline: 2px solid @dark-bc-btn-border-focused;// #2893ef (dark var) |
74 | | - } |
| 68 | + .modal-body { |
| 69 | + padding: 0; |
| 70 | + max-height: none; |
75 | 71 | } |
76 | 72 |
|
77 | | - /* ---- Media wrapper for image + video hover ---- */ |
78 | | - .feature-media-wrap { |
| 73 | + .feature-carousel { |
79 | 74 | position: relative; |
80 | 75 | width: 100%; |
81 | | - height: 120px; |
| 76 | + user-select: none; |
| 77 | + } |
| 78 | + |
| 79 | + /* ---- Media stage: video area with arrows + dots (16:9 at 880 wide) ---- */ |
| 80 | + .feature-stage { |
| 81 | + position: relative; |
| 82 | + width: 100%; |
| 83 | + height: 495px; |
82 | 84 | overflow: hidden; |
83 | | - background: @bc-bg-inline-widget; // #e6e9e9 |
| 85 | + background: #1b1b1b; |
| 86 | + } |
84 | 87 |
|
85 | | - .dark & { |
86 | | - background: @dark-bc-bg-inline-widget;// #1b1b1b |
87 | | - } |
| 88 | + .feature-slide { |
| 89 | + position: absolute; |
| 90 | + inset: 0; |
| 91 | + opacity: 0; |
| 92 | + pointer-events: none; |
| 93 | + transition: opacity 0.35s ease; |
| 94 | + } |
| 95 | + |
| 96 | + .feature-slide.is-active { |
| 97 | + opacity: 1; |
| 98 | + pointer-events: auto; |
88 | 99 | } |
89 | 100 |
|
90 | | - /* ---- Media thumb ---- */ |
91 | 101 | .feature-thumb { |
| 102 | + position: absolute; |
| 103 | + inset: 0; |
92 | 104 | width: 100%; |
93 | | - height: 120px; |
94 | | - object-fit: cover; |
95 | | - background: @bc-bg-inline-widget; // #e6e9e9 |
96 | | - transition: opacity 0.3s ease; |
97 | | - |
98 | | - .dark & { |
99 | | - background: @dark-bc-bg-inline-widget;// #1b1b1b |
100 | | - } |
| 105 | + height: 100%; |
| 106 | + object-fit: contain; |
| 107 | + background: #1b1b1b; |
101 | 108 | } |
102 | 109 |
|
103 | | - /* ---- Feature video (hidden by default, layered on top of image) ---- */ |
104 | 110 | .feature-video { |
105 | 111 | position: absolute; |
106 | | - top: 0; |
107 | | - left: 0; |
| 112 | + inset: 0; |
108 | 113 | width: 100%; |
109 | 114 | height: 100%; |
110 | | - object-fit: cover; |
| 115 | + object-fit: contain; |
111 | 116 | opacity: 0; |
112 | | - transition: opacity 0.3s ease; |
| 117 | + transition: opacity 0.4s ease; |
113 | 118 | } |
114 | 119 |
|
115 | | - /* ---- Hover state: show video on top of image (image stays as fallback for offline) ---- */ |
116 | | - .feature-card:hover .feature-video { |
| 120 | + .feature-video.is-ready { |
117 | 121 | opacity: 1; |
118 | 122 | } |
119 | 123 |
|
120 | | - /* ---- Card body ---- */ |
121 | | - .feature-body { |
122 | | - padding: 12px; |
| 124 | + /* ---- Subtle bottom gradient so dots stay legible on bright frames ---- */ |
| 125 | + .feature-stage::after { |
| 126 | + content: ''; |
| 127 | + position: absolute; |
| 128 | + left: 0; |
| 129 | + right: 0; |
| 130 | + bottom: 0; |
| 131 | + height: 56px; |
| 132 | + background: linear-gradient(to top, rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0)); |
| 133 | + pointer-events: none; |
| 134 | + z-index: 1; |
123 | 135 | } |
124 | 136 |
|
125 | | - .feature-body h2 { |
126 | | - margin: 0 0 6px; |
127 | | - font-size: 15px; |
128 | | - color: @bc-text-emphasized; // #111 |
129 | | - |
130 | | - .dark & { |
131 | | - color: @dark-bc-text-alt; // #fff |
132 | | - } |
| 137 | + /* ---- Edge hover zones: only these reveal arrows on hover ---- */ |
| 138 | + .carousel-hover-zone { |
| 139 | + position: absolute; |
| 140 | + top: 0; |
| 141 | + bottom: 0; |
| 142 | + width: 25%; |
| 143 | + z-index: 2; |
133 | 144 | } |
134 | 145 |
|
135 | | - .feature-body p { |
136 | | - margin: 0; |
137 | | - font-size: 13px; |
138 | | - color: @bc-text-medium; // #606060 |
139 | | - line-height: 1.35; |
| 146 | + .carousel-hover-zone-left { left: 0; } |
| 147 | + .carousel-hover-zone-right { right: 0; } |
140 | 148 |
|
141 | | - .dark & { |
142 | | - color: @dark-bc-text-quiet; // #9a9a9a |
| 149 | + .carousel-arrow { |
| 150 | + position: absolute; |
| 151 | + top: 50%; |
| 152 | + transform: translateY(-50%); |
| 153 | + width: 42px; |
| 154 | + height: 42px; |
| 155 | + padding: 0; |
| 156 | + border: none; |
| 157 | + border-radius: 50%; |
| 158 | + background: rgba(0, 0, 0, 0.55); |
| 159 | + color: #fff; |
| 160 | + cursor: pointer; |
| 161 | + display: flex; |
| 162 | + align-items: center; |
| 163 | + justify-content: center; |
| 164 | + opacity: 1; |
| 165 | + transition: opacity 0.2s ease, background-color 0.15s ease, transform 0.15s ease; |
| 166 | + z-index: 3; |
| 167 | + |
| 168 | + &:hover { background: rgba(0, 0, 0, 0.78); } |
| 169 | + &:active { transform: translateY(-50%) scale(0.95); } |
| 170 | + &:focus { outline: none; } |
| 171 | + &:focus-visible { |
| 172 | + outline: 2px solid @bc-btn-border-focused; |
| 173 | + outline-offset: 2px; |
| 174 | + } |
| 175 | + |
| 176 | + &:disabled { |
| 177 | + opacity: 0; |
| 178 | + pointer-events: none; |
143 | 179 | } |
144 | 180 | } |
145 | 181 |
|
146 | | - /* ---- Header title ---- */ |
147 | | - .modal-header .dialog-title { |
148 | | - color: @bc-text-emphasized; // #111 on light |
| 182 | + .carousel-arrow-prev { left: 16px; } |
| 183 | + .carousel-arrow-next { right: 16px; } |
149 | 184 |
|
150 | | - .dark & { |
151 | | - color: @dark-bc-text-alt; // #fff on dark |
| 185 | + .carousel-dots { |
| 186 | + position: absolute; |
| 187 | + left: 50%; |
| 188 | + bottom: 16px; |
| 189 | + transform: translateX(-50%); |
| 190 | + display: flex; |
| 191 | + gap: 8px; |
| 192 | + z-index: 3; |
| 193 | + } |
| 194 | + |
| 195 | + .carousel-dot { |
| 196 | + width: 8px; |
| 197 | + height: 8px; |
| 198 | + padding: 0; |
| 199 | + border: none; |
| 200 | + border-radius: 50%; |
| 201 | + background: rgba(255, 255, 255, 0.45); |
| 202 | + cursor: pointer; |
| 203 | + transition: background-color 0.15s ease, transform 0.15s ease; |
| 204 | + |
| 205 | + &:hover { background: rgba(255, 255, 255, 0.8); } |
| 206 | + &:focus { outline: none; } |
| 207 | + &:focus-visible { |
| 208 | + outline: 2px solid @bc-btn-border-focused; |
| 209 | + outline-offset: 2px; |
152 | 210 | } |
153 | 211 | } |
154 | 212 |
|
155 | | - /* ---- Body copy ---- */ |
156 | | - .waiting-content-container > p { |
157 | | - margin-bottom: 20px; |
158 | | - font-size: 14px; |
159 | | - color: @bc-text-medium; // #606060 |
| 213 | + .carousel-dot.is-active { |
| 214 | + background: #fff; |
| 215 | + transform: scale(1.25); |
| 216 | + } |
160 | 217 |
|
| 218 | + /* ---- Info panel below the stage ---- */ |
| 219 | + .feature-info { |
| 220 | + position: relative; |
| 221 | + height: 70px; |
| 222 | + background: @bc-panel-bg-alt; |
| 223 | + border-top: 1px solid @bc-panel-border; |
| 224 | + overflow: hidden; |
161 | 225 | .dark & { |
162 | | - color: @dark-bc-text-medium; // #ccc |
| 226 | + background: @dark-bc-panel-bg-alt; |
| 227 | + border-top-color: @dark-bc-highlight; |
163 | 228 | } |
164 | 229 | } |
165 | 230 |
|
166 | | - /* ---- Links ---- */ |
167 | | - a { |
168 | | - color: @bc-text-link; // #0083e8 |
169 | | - text-decoration: none; |
| 231 | + .feature-info-slide { |
| 232 | + position: absolute; |
| 233 | + inset: 0; |
| 234 | + padding: 10px 28px; |
| 235 | + opacity: 0; |
| 236 | + pointer-events: none; |
| 237 | + transition: opacity 0.35s ease; |
| 238 | + font-feature-settings: "kern" 1, "liga" 1, "calt" 1; |
| 239 | + -webkit-font-smoothing: antialiased; |
| 240 | + -moz-osx-font-smoothing: grayscale; |
| 241 | + } |
170 | 242 |
|
171 | | - .dark & { |
172 | | - color: @dark-bc-text-link; // #6bbeff |
173 | | - } |
| 243 | + .feature-info-slide.is-active { |
| 244 | + opacity: 1; |
| 245 | + pointer-events: auto; |
174 | 246 | } |
175 | 247 |
|
176 | | - a:hover { |
177 | | - text-decoration: underline; |
| 248 | + .feature-info-slide h2 { |
| 249 | + margin: 0 0 3px; |
| 250 | + font-size: 18px; |
| 251 | + line-height: 1.25; |
| 252 | + letter-spacing: 0.02em; |
| 253 | + color: @bc-text-emphasized; |
| 254 | + .dark & { color: @dark-bc-text-alt; } |
| 255 | + } |
| 256 | + |
| 257 | + .feature-info-slide p { |
| 258 | + margin: 0; |
| 259 | + font-size: 14px; |
| 260 | + line-height: 1.45; |
| 261 | + letter-spacing: 0.02em; |
| 262 | + word-spacing: 0.08em; |
| 263 | + color: @bc-text-medium; |
| 264 | + max-width: 780px; |
| 265 | + .dark & { color: @dark-bc-text-medium; } |
178 | 266 | } |
179 | 267 | } |
180 | 268 |
|
|
0 commit comments