-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathoptions.css
More file actions
204 lines (189 loc) · 6.16 KB
/
Copy pathoptions.css
File metadata and controls
204 lines (189 loc) · 6.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
:root {
--bg: #0f1419;
--panel: #1a2029;
--panel-2: #212a35;
--border: #2b3644;
--text: #e6edf3;
/* Secondary text. Lightened so that even the smallest hints stay above the
WCAG AA 4.5:1 ratio on every background used here (panel and panel-2). */
--muted: #9aa9bb;
/* Interactive blue. --accent stays reserved for borders and fills (non-text,
3:1 threshold); text on a blue surface uses --accent-strong, and blue text
on a dark surface uses --link. */
--accent: #3b82f6;
--accent-strong: #2563eb;
--link: #93c5fd;
--good: #22c55e;
--bad: #ef4444;
/* Red as TEXT: #ef4444 only reaches 4.35:1 on the panel. Dots and borders
keep --bad (3:1 is enough for non-text), labels use --bad-text. */
--bad-text: #f87171;
}
* { box-sizing: border-box; }
body {
margin: 0;
background: var(--bg);
color: var(--text);
font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
font-size: 14px;
}
.wrap { max-width: 900px; margin: 0 auto; padding: 28px 22px 80px; }
header h1 { margin: 0 0 4px; font-size: 22px; }
.muted { color: var(--muted); }
.card {
background: var(--panel);
border: 1px solid var(--border);
border-radius: 12px;
padding: 20px;
margin: 18px 0;
}
.card h2 { margin: 0 0 14px; font-size: 16px; }
.section-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.field { display: flex; flex-direction: column; margin-bottom: 14px; }
.field label { font-size: 13px; margin-bottom: 5px; color: var(--muted); font-weight: 600; }
.field small { color: var(--muted); font-size: 11.5px; margin-top: 4px; }
/* Base rule for every link in the page: the browser default (#0000EE) is
unreadable on a dark background (1.7:1). Links are never distinguished by
color alone either, so they are underlined — except those styled as buttons. */
a { color: var(--link); text-decoration: underline; }
a:hover { color: #bfdbfe; }
a.btn { color: var(--text); text-decoration: none; }
a.btn.btn-primary { color: #ffffff; }
input, select {
font: inherit;
color: var(--text);
background: var(--panel-2);
border: 1px solid var(--border);
border-radius: 8px;
padding: 9px 11px;
width: 100%;
}
/* Visible focus (WCAG 2.4.7): the removed native outline is replaced by a ring
that contrasts with every background in the page. */
input:focus, select:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.45); }
.btn:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible {
outline: 2px solid #93c5fd;
outline-offset: 2px;
}
.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.grid3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 14px; }
.grid4 { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 14px; margin-top: 12px; }
.row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.btn {
font: inherit;
cursor: pointer;
color: var(--text);
background: var(--panel-2);
border: 1px solid var(--border);
border-radius: 8px;
padding: 9px 14px;
transition: background 0.15s, border-color 0.15s;
}
.btn:hover { background: #2a3543; border-color: var(--accent); }
.btn-primary { background: var(--accent-strong); border-color: var(--accent-strong); color: #ffffff; font-weight: 600; }
.btn-primary:hover { background: #1d4ed8; border-color: #1d4ed8; }
.btn-ghost { background: transparent; }
.btn-danger { background: transparent; border-color: rgba(239,68,68,0.5); color: var(--bad-text); padding: 6px 10px; }
.btn-danger:hover { background: rgba(239,68,68,0.12); }
.project {
border: 1px solid var(--border);
border-radius: 10px;
padding: 14px;
margin-bottom: 14px;
background: var(--panel-2);
}
.project-head { display: flex; gap: 10px; margin-bottom: 12px; }
.project-head .p-name { font-weight: 600; }
.save-bar {
position: sticky;
bottom: 0;
display: flex;
align-items: center;
gap: 14px;
padding: 14px 0 4px;
background: linear-gradient(0deg, var(--bg) 70%, transparent);
}
.test-result { font-size: 13px; }
.test-result.ok { color: var(--good); }
.test-result.err { color: var(--bad-text); }
/* Issue types loaded from JIRA: checkbox list */
.hidden { display: none !important; }
.types-box {
display: flex;
flex-wrap: wrap;
gap: 6px 14px;
margin: 8px 0;
padding: 10px 12px;
border: 1px solid var(--border);
border-radius: 8px;
background: var(--panel-2, transparent);
}
.types-box label {
display: flex;
align-items: center;
gap: 6px;
margin: 0;
font-weight: 400;
cursor: pointer;
}
.types-box input { width: auto; margin: 0; }
@media (max-width: 680px) {
.wrap { padding: 18px 14px 80px; }
.grid2, .grid3, .grid4 { grid-template-columns: 1fr; }
.section-head { align-items: flex-start; gap: 10px; flex-wrap: wrap; }
.project-head { align-items: stretch; }
.save-bar { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
scroll-behavior: auto !important;
transition-duration: 0.01ms !important;
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
}
}
/* Conditional display of fields depending on Build / Run mode */
.project[data-mode="build"] .mode-run { display: none; }
.project[data-mode="run"] .mode-build { display: none; }
/* Checkbox aligned with its label (settings export/import) */
label.inline {
display: flex;
align-items: center;
gap: 8px;
font-weight: 500;
}
label.inline input[type="checkbox"] { width: auto; margin: 0; }
small.hint {
display: block;
margin-top: 2px;
color: var(--muted);
font-size: 12px;
}
/* Update section: amber dot next to the heading, plus the assisted steps. */
.update-dot {
display: inline-block;
width: 9px;
height: 9px;
margin-left: 8px;
border-radius: 50%;
background: #facc15;
box-shadow: 0 0 0 2px rgba(250, 204, 21, 0.25);
vertical-align: 3px;
}
.update-panel {
margin-top: 10px;
padding: 12px;
border: 1px solid rgba(250, 204, 21, 0.35);
border-radius: 8px;
background: rgba(250, 204, 21, 0.06);
}
.update-steps {
margin: 12px 0 4px;
padding-left: 20px;
line-height: 1.7;
}
.update-steps code {
padding: 1px 5px;
border-radius: 4px;
background: rgba(255, 255, 255, 0.08);
}