PluginProbe
OpenStation: Desktop Windows, Dock & Virtual Desktops for WP Admin / 1.1.10
OpenStation: Desktop Windows, Dock & Virtual Desktops for WP Admin v1.1.10
1.1.10 1.1.9 1.1.8 1.1.7 1.1.6 1.1.5 1.1.4 1.1.3 1.1.2 1.1.1 1.1.0 1.0.1 1.0.0 0.9.8 0.9.7 0.9.6 0.9.4 0.9.5 0.9.3 0.9.2 0.9.1 0.9.0 0.8.9 0.8.8 0.8.7 All 34 releases
desktop-mode / assets / css / deactivation-feedback.css

deactivation-feedback.css in OpenStation: Desktop Windows, Dock & Virtual Desktops for WP Admin 1.1.10, at assets/css/deactivation-feedback.css

255 lines 5.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /*
2 * Deactivation feedback dialog.
3 *
4 * One optional question asked when an admin deactivates OpenStation.
5 * Renders on the classic `plugins.php`, inside a chromeless window and
6 * over the native Plugins app, so it is plain classed DOM under the
7 * `.os-deactivation-feedback` namespace rather than `<os-*>` components:
8 * the kit is not loaded on the classic screen, and one renderer that
9 * works everywhere beats two.
10 *
11 * The scrim and card follow `assets/css/announce.css`, quieter: this is
12 * a form, not a poster. Colours are literals for the same reason that
13 * file gives — the sheet loads where `variables.css` does not.
14 */
15
16 .os-deactivation-feedback,
17 .os-deactivation-feedback * {
18 box-sizing: border-box;
19 }
20
21 .os-deactivation-feedback {
22 position: fixed;
23 inset: 0;
24 /* Above every window, the dock and the welcome dialog's own layer. */
25 z-index: 100001;
26 display: flex;
27 align-items: center;
28 justify-content: center;
29 padding: 24px;
30 background: rgba(12, 11, 15, 0.62);
31 backdrop-filter: blur(10px) saturate(130%);
32 -webkit-backdrop-filter: blur(10px) saturate(130%);
33 animation: os-deactivation-feedback-fade 240ms ease-out;
34 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
35 "Helvetica Neue", Arial, sans-serif;
36 -webkit-font-smoothing: antialiased;
37 -moz-osx-font-smoothing: grayscale;
38 }
39
40 @keyframes os-deactivation-feedback-fade {
41 from {
42 opacity: 0;
43 }
44 to {
45 opacity: 1;
46 }
47 }
48
49 @keyframes os-deactivation-feedback-pop {
50 0% {
51 opacity: 0;
52 transform: translateY(10px) scale(0.98);
53 }
54 100% {
55 opacity: 1;
56 transform: translateY(0) scale(1);
57 }
58 }
59
60 .os-deactivation-feedback__card {
61 position: relative;
62 width: 100%;
63 max-width: 520px;
64 max-height: calc(100vh - 48px);
65 overflow: auto;
66 padding: 28px 32px 24px;
67 border-radius: 18px;
68 background: #fffbff;
69 color: #1a1721;
70 box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85) inset,
71 0 30px 60px -20px rgba(26, 23, 33, 0.55),
72 0 18px 36px -18px rgba(242, 82, 252, 0.35);
73 animation: os-deactivation-feedback-pop 320ms cubic-bezier(0.22, 1, 0.36, 1) both;
74 }
75
76 /* Holographic hairline, as on the announcement card. */
77 .os-deactivation-feedback__card::before {
78 content: "";
79 position: absolute;
80 inset: -1px;
81 border-radius: inherit;
82 padding: 1px;
83 background: linear-gradient(
84 135deg,
85 rgba(242, 82, 252, 0.65),
86 rgba(236, 155, 255, 0.55),
87 rgba(147, 240, 198, 0.55)
88 );
89 -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
90 mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
91 -webkit-mask-composite: xor;
92 mask-composite: exclude;
93 pointer-events: none;
94 }
95
96 .os-deactivation-feedback__title {
97 margin: 0 0 6px;
98 font-size: 20px;
99 line-height: 1.25;
100 font-weight: 700;
101 letter-spacing: -0.01em;
102 color: #0c0b0f;
103 }
104
105 .os-deactivation-feedback__subtitle {
106 margin: 0 0 18px;
107 font-size: 13.5px;
108 line-height: 1.5;
109 color: #6b6771;
110 }
111
112 .os-deactivation-feedback__reasons {
113 display: flex;
114 flex-direction: column;
115 gap: 6px;
116 margin: 0 0 14px;
117 }
118
119 .os-deactivation-feedback__reason {
120 display: flex;
121 align-items: center;
122 gap: 10px;
123 padding: 9px 12px;
124 border: 1px solid rgba(26, 23, 33, 0.12);
125 border-radius: 10px;
126 font-size: 14px;
127 line-height: 1.3;
128 color: #1a1721;
129 cursor: pointer;
130 transition: border-color 120ms ease, background 120ms ease;
131 }
132
133 .os-deactivation-feedback__reason:hover {
134 border-color: rgba(242, 82, 252, 0.45);
135 background: rgba(242, 82, 252, 0.04);
136 }
137
138 .os-deactivation-feedback__reason:has(input:checked) {
139 border-color: #f252fc;
140 background: rgba(242, 82, 252, 0.08);
141 }
142
143 .os-deactivation-feedback__reason:has(input:focus-visible) {
144 outline: 2px solid #f252fc;
145 outline-offset: 2px;
146 }
147
148 .os-deactivation-feedback__reason input {
149 margin: 0;
150 accent-color: #f252fc;
151 }
152
153 .os-deactivation-feedback__details {
154 display: block;
155 width: 100%;
156 min-height: 72px;
157 margin: 0 0 14px;
158 padding: 10px 12px;
159 border: 1px solid rgba(26, 23, 33, 0.16);
160 border-radius: 10px;
161 background: #fff;
162 color: #1a1721;
163 font: inherit;
164 font-size: 14px;
165 line-height: 1.45;
166 resize: vertical;
167 }
168
169 .os-deactivation-feedback__details:focus-visible {
170 outline: 2px solid #f252fc;
171 outline-offset: 1px;
172 border-color: transparent;
173 }
174
175 .os-deactivation-feedback__disclosure {
176 margin: 0 0 18px;
177 font-size: 12px;
178 line-height: 1.5;
179 color: #6b6771;
180 }
181
182 .os-deactivation-feedback__actions {
183 display: flex;
184 align-items: center;
185 justify-content: flex-end;
186 gap: 10px;
187 }
188
189 .os-deactivation-feedback__btn {
190 display: inline-flex;
191 align-items: center;
192 justify-content: center;
193 min-height: 38px;
194 padding: 8px 18px;
195 font: inherit;
196 font-size: 14px;
197 font-weight: 600;
198 line-height: 1;
199 border-radius: 10px;
200 border: 1px solid transparent;
201 cursor: pointer;
202 transition: transform 120ms ease, box-shadow 120ms ease,
203 background 120ms ease, color 120ms ease;
204 }
205
206 .os-deactivation-feedback__btn:focus-visible {
207 outline: 2px solid #f252fc;
208 outline-offset: 2px;
209 }
210
211 .os-deactivation-feedback__btn[disabled] {
212 opacity: 0.6;
213 cursor: default;
214 }
215
216 .os-deactivation-feedback__btn--ghost {
217 background: transparent;
218 color: #6b6771;
219 }
220
221 .os-deactivation-feedback__btn--ghost:hover {
222 color: #1a1721;
223 background: rgba(26, 23, 33, 0.06);
224 }
225
226 .os-deactivation-feedback__btn--primary,
227 .os-deactivation-feedback__btn--primary:hover,
228 .os-deactivation-feedback__btn--primary:focus {
229 color: #fffbff;
230 }
231
232 .os-deactivation-feedback__btn--primary {
233 background: linear-gradient(135deg, #2a2533, #a12bb0 45%, #f252fc);
234 background-size: 180% 180%;
235 box-shadow: 0 10px 24px -10px rgba(242, 82, 252, 0.75);
236 }
237
238 .os-deactivation-feedback__btn--primary:hover:not([disabled]) {
239 background-position: 100% 50%;
240 transform: translateY(-1px);
241 }
242
243 /* Reduced motion stops the movement, never the paint. */
244 @media (prefers-reduced-motion: reduce) {
245 .os-deactivation-feedback,
246 .os-deactivation-feedback__card {
247 animation: none;
248 }
249
250 .os-deactivation-feedback__btn,
251 .os-deactivation-feedback__reason {
252 transition: none;
253 }
254 }
255