| 211 |
211 |
|
--radius-md: 0; /* containers: cards, panels, dropdowns */
|
| 212 |
212 |
|
--radius-round: 50%;
|
| 213 |
213 |
|
|
|
214 |
+ |
/* Syntax highlighting for the git source browser: base16 Tomorrow, used
|
|
215 |
+ |
whole rather than assembled colour by colour. It stays fixed across all
|
|
216 |
+ |
31 themes on purpose, the same argument as the diff add/del pair above:
|
|
217 |
+ |
a reader recognises a highlighting palette, and re-tinting it per theme
|
|
218 |
+ |
costs that recognition to gain nothing. Named so it is legible as one
|
|
219 |
+ |
palette instead of seven hex literals scattered through the git rules. */
|
|
220 |
+ |
--syntax-keyword: #8959a8;
|
|
221 |
+ |
--syntax-string: #718c00;
|
|
222 |
+ |
--syntax-comment: #8e908c;
|
|
223 |
+ |
--syntax-constant: #f5871f;
|
|
224 |
+ |
--syntax-entity: #4271ae;
|
|
225 |
+ |
--syntax-variable: #c82829;
|
|
226 |
+ |
--syntax-support: #3e999f;
|
|
227 |
+ |
|
| 214 |
228 |
|
/* Stacking order, named for what floats over what. Local rather than
|
| 215 |
229 |
|
generated: this is a claim about MNW's own furniture, not an invariant
|
| 216 |
230 |
|
like spacing. The numbers are spaced so a value can be slotted between
|
| 2171 |
2185 |
|
.article-page .article-body a {
|
| 2172 |
2186 |
|
color: var(--action);
|
| 2173 |
2187 |
|
text-decoration: underline;
|
| 2174 |
|
- |
text-decoration-color: rgba(108, 92, 231, 0.4);
|
|
2188 |
+ |
text-decoration-color: color-mix(in oklch, var(--action) 40%, transparent);
|
| 2175 |
2189 |
|
text-underline-offset: 2px;
|
| 2176 |
2190 |
|
}
|
| 2177 |
2191 |
|
|
| 4121 |
4135 |
|
color: var(--content-muted);
|
| 4122 |
4136 |
|
}
|
| 4123 |
4137 |
|
|
| 4124 |
|
- |
.layer-health-card.layer-ok { border-left-color: var(--success, #527a3e); }
|
|
4138 |
+ |
.layer-health-card.layer-ok { border-left-color: var(--success); }
|
| 4125 |
4139 |
|
.layer-health-card.layer-degraded { border-left-color: var(--warning); }
|
| 4126 |
4140 |
|
.layer-health-card.layer-down { border-left-color: var(--danger); }
|
| 4127 |
4141 |
|
|
| 4143 |
4157 |
|
line-height: 1.4;
|
| 4144 |
4158 |
|
}
|
| 4145 |
4159 |
|
|
| 4146 |
|
- |
.layer-chip-pass { background: #e6f0dc; border-color: #c4d8a8; color: #3a5a2a; }
|
|
4160 |
+ |
.layer-chip-pass { background: color-mix(in oklch, var(--success) 12%, var(--surface-page)); border-color: var(--success); color: var(--success); }
|
| 4147 |
4161 |
|
.layer-chip-skip { background: var(--surface-page); border-color: var(--border); color: var(--content-muted); }
|
| 4148 |
4162 |
|
.layer-chip-fail { background: color-mix(in oklch, var(--danger) 10%, var(--surface-page)); border-color: var(--danger); color: var(--danger); font-weight: 600; }
|
| 4149 |
4163 |
|
.layer-chip-error { background: color-mix(in oklch, var(--warning) 14%, var(--surface-page)); border-color: var(--warning); color: var(--warning); font-weight: 600; }
|
| 4869 |
4883 |
|
padding: var(--gap-section);
|
| 4870 |
4884 |
|
font-family: var(--font-mono);
|
| 4871 |
4885 |
|
font-size: var(--text-note);
|
| 4872 |
|
- |
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
|
4886 |
+ |
box-shadow: var(--shadow-3);
|
| 4873 |
4887 |
|
animation: toast-in 0.3s ease-out;
|
| 4874 |
4888 |
|
max-width: 300px;
|
| 4875 |
4889 |
|
display: flex;
|
| 4922 |
4936 |
|
}
|
| 4923 |
4937 |
|
|
| 4924 |
4938 |
|
.toast-retry-btn:hover {
|
| 4925 |
|
- |
background: rgba(255, 255, 255, 0.15);
|
|
4939 |
+ |
background: color-mix(in oklch, var(--primary-light) 15%, transparent);
|
| 4926 |
4940 |
|
}
|
| 4927 |
4941 |
|
|
| 4928 |
4942 |
|
.toast.fade-out {
|
| 6465 |
6479 |
|
.doc-body a {
|
| 6466 |
6480 |
|
color: var(--action);
|
| 6467 |
6481 |
|
text-decoration: underline;
|
| 6468 |
|
- |
text-decoration-color: rgba(108, 92, 231, 0.4);
|
|
6482 |
+ |
text-decoration-color: color-mix(in oklch, var(--action) 40%, transparent);
|
| 6469 |
6483 |
|
text-underline-offset: 2px;
|
| 6470 |
6484 |
|
}
|
| 6471 |
6485 |
|
|
| 6648 |
6662 |
|
max-height: 300px;
|
| 6649 |
6663 |
|
overflow-y: auto;
|
| 6650 |
6664 |
|
z-index: var(--z-dropdown);
|
| 6651 |
|
- |
box-shadow: 0 4px 8px rgba(0,0,0,0.08);
|
|
6665 |
+ |
box-shadow: var(--shadow-2);
|
| 6652 |
6666 |
|
}
|
| 6653 |
6667 |
|
.docs-search-result {
|
| 6654 |
6668 |
|
display: flex;
|
| 6930 |
6944 |
|
/* Syntax highlighting (syntect class-based) */
|
| 6931 |
6945 |
|
.git-file-content .source { color: var(--content); }
|
| 6932 |
6946 |
|
.git-file-content .keyword,
|
| 6933 |
|
- |
.git-file-content .storage { color: #8959a8; }
|
| 6934 |
|
- |
.git-file-content .string { color: #718c00; }
|
| 6935 |
|
- |
.git-file-content .comment { color: #8e908c; font-style: italic; }
|
|
6947 |
+ |
.git-file-content .storage { color: var(--syntax-keyword); }
|
|
6948 |
+ |
.git-file-content .string { color: var(--syntax-string); }
|
|
6949 |
+ |
.git-file-content .comment { color: var(--syntax-comment); font-style: italic; }
|
| 6936 |
6950 |
|
.git-file-content .constant,
|
| 6937 |
|
- |
.git-file-content .constant.numeric { color: #f5871f; }
|
| 6938 |
|
- |
.git-file-content .entity.name { color: #4271ae; }
|
| 6939 |
|
- |
.git-file-content .variable { color: #c82829; }
|
| 6940 |
|
- |
.git-file-content .support { color: #3e999f; }
|
| 6941 |
|
- |
.git-file-content .meta.preprocessor { color: #8959a8; }
|
|
6951 |
+ |
.git-file-content .constant.numeric { color: var(--syntax-constant); }
|
|
6952 |
+ |
.git-file-content .entity.name { color: var(--syntax-entity); }
|
|
6953 |
+ |
.git-file-content .variable { color: var(--syntax-variable); }
|
|
6954 |
+ |
.git-file-content .support { color: var(--syntax-support); }
|
|
6955 |
+ |
.git-file-content .meta.preprocessor { color: var(--syntax-keyword); }
|
| 6942 |
6956 |
|
|
| 6943 |
6957 |
|
/* Commit list */
|
| 6944 |
6958 |
|
.git-commit-list { list-style: none; }
|
| 7042 |
7056 |
|
border-radius: 2px;
|
| 7043 |
7057 |
|
line-height: 1.4;
|
| 7044 |
7058 |
|
}
|
| 7045 |
|
- |
.diff-status-added { background: #d4edda; color: #155724; }
|
| 7046 |
|
- |
.diff-status-deleted { background: #f8d7da; color: #721c24; }
|
|
7059 |
+ |
.diff-status-added { background: color-mix(in oklch, var(--success) 14%, var(--surface-page)); color: var(--success); }
|
|
7060 |
+ |
.diff-status-deleted { background: color-mix(in oklch, var(--danger) 14%, var(--surface-page)); color: var(--danger); }
|
| 7047 |
7061 |
|
.diff-status-modified { background: color-mix(in oklch, var(--warning) 14%, var(--surface-page)); color: var(--warning); }
|
| 7048 |
|
- |
.diff-status-renamed { background: #d1ecf1; color: #0c5460; }
|
|
7062 |
+ |
.diff-status-renamed { background: color-mix(in oklch, var(--info) 14%, var(--surface-page)); color: var(--info); }
|
| 7049 |
7063 |
|
.git-diff-table {
|
| 7050 |
7064 |
|
width: 100%;
|
| 7051 |
7065 |
|
border-collapse: collapse;
|
| 7825 |
7839 |
|
.collection-picker {
|
| 7826 |
7840 |
|
position: absolute; left: 0; right: 0; top: 100%; z-index: var(--z-picker);
|
| 7827 |
7841 |
|
background: var(--surface-page); border: 1px solid var(--border);
|
| 7828 |
|
- |
box-shadow: 0 2px 8px rgba(0,0,0,0.12); min-width: 220px;
|
|
7842 |
+ |
box-shadow: var(--shadow-2); min-width: 220px;
|
| 7829 |
7843 |
|
}
|
| 7830 |
7844 |
|
.collection-picker-list { max-height: 200px; overflow-y: auto; padding: var(--gap-bound) 0; }
|
| 7831 |
7845 |
|
.collection-picker-item {
|
| 7849 |
7863 |
|
.grid-card-save {
|
| 7850 |
7864 |
|
position: absolute; top: 0.4rem; right: 0.4rem; z-index: var(--z-raised);
|
| 7851 |
7865 |
|
background: var(--surface-page); border-radius: 3px; padding: var(--gap-bound) var(--gap-peer);
|
| 7852 |
|
- |
box-shadow: 0 1px 3px rgba(0,0,0,0.15); opacity: 0;
|
|
7866 |
+ |
box-shadow: var(--shadow-1); opacity: 0;
|
| 7853 |
7867 |
|
}
|
| 7854 |
7868 |
|
.grid-card:hover .grid-card-save { opacity: 0.7; }
|
| 7855 |
7869 |
|
.grid-card-save:hover { opacity: 1; }
|
| 7866 |
7880 |
|
.tag-suggest-list {
|
| 7867 |
7881 |
|
display: none; position: absolute; left: 0; right: 0; top: 100%; z-index: var(--z-picker);
|
| 7868 |
7882 |
|
background: var(--surface-page); border: 1px solid var(--border); border-top: none;
|
| 7869 |
|
- |
box-shadow: 0 4px 12px rgba(0,0,0,0.1); max-height: 280px; overflow-y: auto;
|
|
7883 |
+ |
box-shadow: var(--shadow-3); max-height: 280px; overflow-y: auto;
|
| 7870 |
7884 |
|
}
|
| 7871 |
7885 |
|
.suggestion-item {
|
| 7872 |
7886 |
|
display: flex; justify-content: space-between; align-items: center;
|
| 11168 |
11182 |
|
inset: auto 0 0 0;
|
| 11169 |
11183 |
|
display: flex;
|
| 11170 |
11184 |
|
justify-content: space-between;
|
| 11171 |
|
- |
background: rgba(0, 0, 0, 0.55);
|
|
11185 |
+ |
background: var(--overlay);
|
| 11172 |
11186 |
|
}
|
| 11173 |
11187 |
|
|
| 11174 |
11188 |
|
.gallery-tile-btn {
|
| 11175 |
11189 |
|
flex: 1;
|
| 11176 |
11190 |
|
border: none;
|
| 11177 |
11191 |
|
background: transparent;
|
| 11178 |
|
- |
color: #fff;
|
|
11192 |
+ |
color: var(--primary-light);
|
| 11179 |
11193 |
|
cursor: pointer;
|
| 11180 |
11194 |
|
font-size: var(--text-note);
|
| 11181 |
11195 |
|
line-height: 1.4;
|
| 11330 |
11344 |
|
.cp-editor { max-width: 1200px; margin: 0 auto; padding: var(--gap-section); }
|
| 11331 |
11345 |
|
.cp-editor-head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--gap-section); flex-wrap: wrap; }
|
| 11332 |
11346 |
|
.cp-editor-actions { display: flex; gap: var(--gap-section); }
|
| 11333 |
|
- |
.cp-intro { color: var(--muted, #666); margin: var(--gap-bound) 0 var(--gap-section); }
|
|
11347 |
+ |
.cp-intro { color: var(--content-muted); margin: var(--gap-bound) 0 var(--gap-section); }
|
| 11334 |
11348 |
|
.cp-editor-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap-section); align-items: start; }
|
| 11335 |
11349 |
|
.cp-editor-form { display: flex; flex-direction: column; gap: var(--gap-peer); }
|
| 11336 |
11350 |
|
.cp-code { width: 100%; min-height: 220px; font-family: var(--font-mono, ui-monospace, monospace); font-size: var(--text-note); line-height: 1.4; resize: vertical; }
|
| 11337 |
11351 |
|
.cp-editor-buttons { display: flex; align-items: center; gap: var(--gap-section); margin-top: var(--gap-peer); }
|
| 11338 |
|
- |
.cp-preview-pane { border: 1px solid var(--detail, #ccc); border-radius: 4px; overflow: hidden; }
|
| 11339 |
|
- |
.cp-preview-bar { font-size: var(--text-fine); padding: var(--gap-bound) var(--gap-group); background: var(--light-background, #f2f2f2); border-bottom: 1px solid var(--detail, #ccc); }
|
| 11340 |
|
- |
.cp-preview { width: 100%; height: 520px; border: 0; background: #fff; display: block; }
|
|
11352 |
+ |
.cp-preview-pane { border: 1px solid var(--border); border-radius: 4px; overflow: hidden; }
|
|
11353 |
+ |
.cp-preview-bar { font-size: var(--text-fine); padding: var(--gap-bound) var(--gap-group); background: var(--surface-sunken); border-bottom: 1px solid var(--border); }
|
|
11354 |
+ |
.cp-preview { width: 100%; height: 520px; border: 0; background: var(--primary-light); display: block; }
|
| 11341 |
11355 |
|
.cp-blocked { margin-top: var(--gap-section); }
|
| 11342 |
11356 |
|
.cp-blocked-title { font-weight: 600; margin-bottom: var(--gap-peer); }
|
| 11343 |
|
- |
.cp-blocked-empty { color: var(--muted, #666); }
|
|
11357 |
+ |
.cp-blocked-empty { color: var(--content-muted); }
|
| 11344 |
11358 |
|
.cp-blocked-list { list-style: none; padding: 0; margin: 0; }
|
| 11345 |
|
- |
.cp-blocked-list li { padding: var(--gap-peer) 0; border-bottom: 1px solid var(--detail, #eee); font-size: var(--text-note); display: flex; gap: var(--gap-peer); flex-wrap: wrap; align-items: baseline; }
|
|
11359 |
+ |
.cp-blocked-list li { padding: var(--gap-peer) 0; border-bottom: 1px solid var(--border); font-size: var(--text-note); display: flex; gap: var(--gap-peer); flex-wrap: wrap; align-items: baseline; }
|
| 11346 |
11360 |
|
.cp-blocked-kind { font-weight: 600; }
|
| 11347 |
|
- |
.cp-blocked-loc { color: var(--muted, #666); }
|
| 11348 |
|
- |
.cp-blocked-val { background: var(--light-background, #f2f2f2); padding: 0 var(--gap-bound); }
|
| 11349 |
|
- |
.cp-status.cp-ok { color: var(--success, #2a7); }
|
| 11350 |
|
- |
.cp-status.cp-err { color: var(--warning, #b00); }
|
|
11361 |
+ |
.cp-blocked-loc { color: var(--content-muted); }
|
|
11362 |
+ |
.cp-blocked-val { background: var(--surface-sunken); padding: 0 var(--gap-bound); }
|
|
11363 |
+ |
.cp-status.cp-ok { color: var(--success); }
|
|
11364 |
+ |
.cp-status.cp-err { color: var(--warning); }
|
| 11351 |
11365 |
|
.cp-reset { margin-top: var(--gap-pane); }
|
| 11352 |
|
- |
.cp-locked-banner { margin: var(--gap-peer) 0 var(--gap-section); padding: var(--gap-section); border: 1px solid var(--warning, #b00); border-radius: 4px; background: var(--light-background, #fbeaea); }
|
|
11366 |
+ |
.cp-locked-banner { margin: var(--gap-peer) 0 var(--gap-section); padding: var(--gap-section); border: 1px solid var(--warning); border-radius: 4px; background: color-mix(in oklch, var(--warning) 12%, var(--surface-page)); }
|
| 11353 |
11367 |
|
@media (max-width: 800px) { .cp-editor-grid { grid-template-columns: 1fr; } }
|
| 11354 |
11368 |
|
|
| 11355 |
11369 |
|
/* Layout-shift fix (audit Run 17 Frontend): reserve space for a cover image
|