Apply the Nocturne fidelity pass to the web UI
This commit is contained in:
+134
-73
@@ -6,7 +6,7 @@
|
||||
right: 0;
|
||||
top: var(--media-top, 50px);
|
||||
bottom: 0;
|
||||
/* Below the settings slide-over (80); media modals stay above it. */
|
||||
/* Chrome 40 · media 70 · settings 1000 · settings dialogs 1050 · toasts 1100 */
|
||||
z-index: 70;
|
||||
display: flex;
|
||||
background: var(--color-bg);
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
.vk-media-title {
|
||||
flex: 1;
|
||||
font-weight: 600;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.vk-media-toolbar {
|
||||
@@ -71,7 +71,7 @@
|
||||
gap: 6px;
|
||||
aspect-ratio: 1;
|
||||
overflow: hidden;
|
||||
border-radius: var(--radius-sm, 6px);
|
||||
border-radius: var(--radius-sm);
|
||||
background: var(--color-neutral-900);
|
||||
box-shadow: inset 0 0 0 1px var(--color-neutral-800);
|
||||
color: var(--color-neutral-300);
|
||||
@@ -99,7 +99,7 @@
|
||||
justify-content: center;
|
||||
aspect-ratio: 1;
|
||||
overflow: hidden;
|
||||
border-radius: var(--radius-sm, 6px);
|
||||
border-radius: var(--radius-sm);
|
||||
background: var(--color-neutral-900);
|
||||
box-shadow: inset 0 0 0 1px var(--color-neutral-800);
|
||||
cursor: pointer;
|
||||
@@ -124,10 +124,10 @@
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
left: 6px;
|
||||
font: 600 10px/1 ui-monospace, Menlo, monospace;
|
||||
font: 500 10px/1 ui-monospace, Menlo, monospace;
|
||||
letter-spacing: 0.08em;
|
||||
color: rgba(255, 255, 255, 0.75);
|
||||
text-shadow: 0 0 3px rgba(0, 0, 0, 0.8);
|
||||
color: var(--color-neutral-100);
|
||||
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
@@ -137,8 +137,8 @@
|
||||
right: 6px;
|
||||
font-size: 20px;
|
||||
line-height: 1;
|
||||
color: rgba(255, 255, 255, 0.72);
|
||||
text-shadow: 0 0 3px rgba(0, 0, 0, 0.8);
|
||||
color: var(--color-neutral-100);
|
||||
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
@@ -149,7 +149,7 @@
|
||||
max-height: 46vh;
|
||||
overflow-y: auto;
|
||||
padding: 10px 12px;
|
||||
border-radius: var(--radius-sm, 6px);
|
||||
border-radius: var(--radius-sm);
|
||||
background: var(--color-neutral-900);
|
||||
box-shadow: inset 0 0 0 1px var(--color-neutral-800);
|
||||
}
|
||||
@@ -212,7 +212,7 @@
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
padding: 8px 10px;
|
||||
border-radius: var(--radius-sm, 6px);
|
||||
border-radius: var(--radius-sm);
|
||||
background: var(--color-bg);
|
||||
box-shadow: inset 0 0 0 1px var(--color-neutral-800);
|
||||
}
|
||||
@@ -258,14 +258,14 @@
|
||||
.vk-media-viewer-media video {
|
||||
max-width: 100%;
|
||||
max-height: 100%;
|
||||
border-radius: var(--radius-sm, 6px);
|
||||
border-radius: var(--radius-sm);
|
||||
}
|
||||
|
||||
.vk-media-viewer-media iframe {
|
||||
width: min(880px, 100%);
|
||||
aspect-ratio: 16 / 9;
|
||||
border: 0;
|
||||
border-radius: var(--radius-sm, 6px);
|
||||
border-radius: var(--radius-sm);
|
||||
}
|
||||
|
||||
.vk-media-viewer.vertical .vk-media-viewer-media {
|
||||
@@ -297,7 +297,7 @@
|
||||
padding: 0;
|
||||
border: none;
|
||||
background: none;
|
||||
color: var(--color-accent-400, #7aa2ff);
|
||||
color: var(--color-accent-300);
|
||||
font: inherit;
|
||||
text-align: left;
|
||||
cursor: pointer;
|
||||
@@ -310,9 +310,9 @@
|
||||
}
|
||||
|
||||
.vk-media-card-kind {
|
||||
font: 600 10px/1 ui-monospace, Menlo, monospace;
|
||||
font: 500 10px/1 ui-monospace, Menlo, monospace;
|
||||
letter-spacing: 0.08em;
|
||||
color: var(--color-accent-400, var(--color-neutral-300));
|
||||
color: var(--color-accent-300);
|
||||
}
|
||||
|
||||
.vk-media-card-name {
|
||||
@@ -354,7 +354,7 @@
|
||||
border-radius: 50%;
|
||||
background: var(--color-neutral-800);
|
||||
color: var(--color-neutral-300);
|
||||
font: 600 9px/1 ui-monospace, Menlo, monospace;
|
||||
font: 500 9px/1 ui-monospace, Menlo, monospace;
|
||||
cursor: help;
|
||||
}
|
||||
|
||||
@@ -362,7 +362,7 @@
|
||||
width: 90px;
|
||||
padding: 3px 6px;
|
||||
border: none;
|
||||
border-radius: var(--radius-sm, 6px);
|
||||
border-radius: var(--radius-sm);
|
||||
background: var(--color-neutral-900);
|
||||
color: var(--color-neutral-200);
|
||||
box-shadow: inset 0 0 0 1px var(--color-neutral-800);
|
||||
@@ -384,23 +384,23 @@
|
||||
}
|
||||
|
||||
.vk-seg-image {
|
||||
background: #4f8cff;
|
||||
background: var(--color-data-1);
|
||||
}
|
||||
|
||||
.vk-seg-gif {
|
||||
background: #8a6cff;
|
||||
background: var(--color-data-2);
|
||||
}
|
||||
|
||||
.vk-seg-video {
|
||||
background: #ff7a45;
|
||||
background: var(--color-data-3);
|
||||
}
|
||||
|
||||
.vk-seg-audio {
|
||||
background: #2fbf71;
|
||||
background: var(--color-data-4);
|
||||
}
|
||||
|
||||
.vk-seg-other {
|
||||
background: #6b7280;
|
||||
background: var(--color-data-5);
|
||||
}
|
||||
|
||||
.vk-media-modal {
|
||||
@@ -424,7 +424,7 @@
|
||||
gap: 10px;
|
||||
width: min(520px, 92vw);
|
||||
padding: 14px;
|
||||
border-radius: var(--radius-lg, 12px);
|
||||
border-radius: var(--radius-lg);
|
||||
background: var(--color-bg);
|
||||
box-shadow: inset 0 0 0 1px var(--color-neutral-800);
|
||||
}
|
||||
@@ -465,7 +465,8 @@
|
||||
.vk-media-tree-head {
|
||||
padding: 6px 8px;
|
||||
border: none;
|
||||
border-radius: var(--radius-sm, 6px);
|
||||
border-radius: var(--radius-sm);
|
||||
cursor: pointer;
|
||||
background: var(--color-neutral-900);
|
||||
color: var(--color-neutral-200);
|
||||
font: 500 12px/1.2 inherit;
|
||||
@@ -510,7 +511,7 @@
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
border-radius: 50%;
|
||||
background: var(--color-accent-400, #4f8cff);
|
||||
background: var(--color-accent-400);
|
||||
animation: vk-media-pulse 1.2s ease-in-out infinite;
|
||||
}
|
||||
|
||||
@@ -531,21 +532,22 @@
|
||||
}
|
||||
|
||||
.vk-media-error {
|
||||
color: #ff8080;
|
||||
color: var(--color-danger-300);
|
||||
}
|
||||
|
||||
/* Tinted, not flooded — and 10px so the count is actually readable. */
|
||||
.vk-media-badge {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-width: 14px;
|
||||
height: 14px;
|
||||
min-width: 16px;
|
||||
height: 16px;
|
||||
margin-left: 4px;
|
||||
padding: 0 4px;
|
||||
border-radius: 7px;
|
||||
background: #e5484d;
|
||||
color: #fff;
|
||||
font: 600 9px/1 ui-monospace, Menlo, monospace;
|
||||
border-radius: 8px;
|
||||
background: var(--color-danger-800);
|
||||
color: var(--color-danger-200);
|
||||
font: 500 10px/1 ui-monospace, Menlo, monospace;
|
||||
}
|
||||
|
||||
/* Bot tab: backfill jobs, stats, and settings. */
|
||||
@@ -565,11 +567,11 @@
|
||||
|
||||
.vk-bot-limited {
|
||||
padding: 8px 10px;
|
||||
border-radius: 6px;
|
||||
font: 500 11px/1.4 ui-monospace, Menlo, monospace;
|
||||
color: #ffb0b0;
|
||||
background: color-mix(in srgb, #ff5555 14%, transparent);
|
||||
border: 1px solid color-mix(in srgb, #ff5555 35%, transparent);
|
||||
border-radius: var(--radius-sm);
|
||||
font: 400 11px/1.4 ui-monospace, Menlo, monospace;
|
||||
color: var(--color-danger-200);
|
||||
background: var(--color-danger-900);
|
||||
box-shadow: inset 0 0 0 1px var(--color-danger-700);
|
||||
}
|
||||
|
||||
.vk-bot-limited[hidden] {
|
||||
@@ -577,8 +579,8 @@
|
||||
}
|
||||
|
||||
.vk-bot-section {
|
||||
border: 1px solid var(--color-divider);
|
||||
border-radius: 6px;
|
||||
box-shadow: inset 0 0 0 1px var(--color-neutral-800);
|
||||
border-radius: var(--radius-md);
|
||||
padding: 8px 10px;
|
||||
background: var(--color-surface);
|
||||
}
|
||||
@@ -592,7 +594,7 @@
|
||||
}
|
||||
|
||||
.vk-bot-title {
|
||||
font-weight: 600;
|
||||
font-weight: 500;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
@@ -625,8 +627,8 @@
|
||||
}
|
||||
|
||||
.vk-bot-job {
|
||||
border: 1px solid var(--color-neutral-800);
|
||||
border-radius: 5px;
|
||||
box-shadow: inset 0 0 0 1px var(--color-neutral-800);
|
||||
border-radius: var(--radius-sm);
|
||||
padding: 6px 8px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@@ -634,7 +636,7 @@
|
||||
}
|
||||
|
||||
.vk-bot-job-running {
|
||||
border-color: color-mix(in srgb, var(--color-accent, #4f8cff) 45%, transparent);
|
||||
box-shadow: inset 0 0 0 1px var(--color-accent-700);
|
||||
}
|
||||
|
||||
.vk-bot-job-head {
|
||||
@@ -646,7 +648,7 @@
|
||||
|
||||
.vk-bot-job-title {
|
||||
flex: 1;
|
||||
font-weight: 600;
|
||||
font-weight: 500;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
@@ -656,27 +658,28 @@
|
||||
}
|
||||
|
||||
.vk-bot-state {
|
||||
font: 600 10px/1.4 ui-monospace, Menlo, monospace;
|
||||
font: 500 10px/1.4 ui-monospace, Menlo, monospace;
|
||||
letter-spacing: 0.06em;
|
||||
text-transform: uppercase;
|
||||
padding: 0 5px;
|
||||
border-radius: 3px;
|
||||
padding: 1px 6px;
|
||||
border-radius: var(--radius-sm);
|
||||
background: var(--color-neutral-800);
|
||||
color: var(--color-neutral-300);
|
||||
}
|
||||
|
||||
.vk-bot-state-running {
|
||||
background: color-mix(in srgb, var(--color-accent, #4f8cff) 25%, transparent);
|
||||
color: var(--color-accent-300, #9fc1ff);
|
||||
background: var(--color-accent-900);
|
||||
color: var(--color-accent-200);
|
||||
}
|
||||
|
||||
.vk-bot-state-paused {
|
||||
background: color-mix(in srgb, #ffaa33 20%, transparent);
|
||||
color: #ffc880;
|
||||
background: var(--color-warn-900);
|
||||
color: var(--color-warn-200);
|
||||
}
|
||||
|
||||
.vk-bot-state-done {
|
||||
background: color-mix(in srgb, #44cc88 20%, transparent);
|
||||
color: #8fe0b8;
|
||||
background: var(--color-ok-900);
|
||||
color: var(--color-ok-200);
|
||||
}
|
||||
|
||||
.vk-bot-job-member {
|
||||
@@ -687,14 +690,14 @@
|
||||
|
||||
.vk-bot-progress {
|
||||
height: 4px;
|
||||
border-radius: 2px;
|
||||
border-radius: var(--radius-sm);
|
||||
background: var(--color-neutral-800);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.vk-bot-progress-fill {
|
||||
height: 100%;
|
||||
background: var(--color-accent-400, #4f8cff);
|
||||
background: var(--color-accent-400);
|
||||
}
|
||||
|
||||
.vk-bot-job-actions {
|
||||
@@ -710,7 +713,7 @@
|
||||
|
||||
.vk-bot-group-title {
|
||||
cursor: pointer;
|
||||
font: 600 11px/1.6 ui-monospace, Menlo, monospace;
|
||||
font: 500 11px/1.6 ui-monospace, Menlo, monospace;
|
||||
color: var(--color-neutral-300);
|
||||
}
|
||||
|
||||
@@ -739,11 +742,11 @@
|
||||
}
|
||||
|
||||
.vk-media-limited {
|
||||
color: #ff8080;
|
||||
color: var(--color-danger-300);
|
||||
}
|
||||
|
||||
.vk-media-done-note {
|
||||
color: color-mix(in srgb, var(--color-neutral-400) 55%, transparent);
|
||||
color: var(--color-neutral-500);
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
@@ -754,7 +757,7 @@
|
||||
|
||||
.vk-bot-eta {
|
||||
cursor: help;
|
||||
text-decoration: underline dotted color-mix(in srgb, var(--color-neutral-400) 60%, transparent);
|
||||
text-decoration: underline dotted var(--color-neutral-600);
|
||||
}
|
||||
|
||||
/* Stream buffer: scrollable room while the next page loads. */
|
||||
@@ -778,7 +781,7 @@
|
||||
/* Advanced drawer: the "Do not include" group. */
|
||||
.vk-media-exclude-title {
|
||||
cursor: pointer;
|
||||
font: 600 11px/1.6 ui-monospace, Menlo, monospace;
|
||||
font: 500 11px/1.6 ui-monospace, Menlo, monospace;
|
||||
color: var(--color-neutral-300);
|
||||
}
|
||||
|
||||
@@ -800,8 +803,8 @@
|
||||
|
||||
/* The YouTube title catch-up lane, inside the Bot tab backfill section. */
|
||||
.vk-bot-lane {
|
||||
border: 1px dashed var(--color-neutral-700);
|
||||
border-radius: 5px;
|
||||
box-shadow: inset 0 0 0 1px var(--color-neutral-800);
|
||||
border-radius: var(--radius-sm);
|
||||
padding: 6px 8px;
|
||||
margin-bottom: 8px;
|
||||
display: flex;
|
||||
@@ -814,15 +817,15 @@
|
||||
}
|
||||
|
||||
.vk-bot-progress-cached {
|
||||
background: var(--color-accent-400, #4f8cff);
|
||||
background: var(--color-accent-400);
|
||||
}
|
||||
|
||||
.vk-bot-progress-pending {
|
||||
background: var(--color-neutral-700);
|
||||
background: var(--color-neutral-800);
|
||||
}
|
||||
|
||||
.vk-bot-progress-failed {
|
||||
background: #c04040;
|
||||
background: var(--color-danger-700);
|
||||
}
|
||||
|
||||
.vk-bot-history {
|
||||
@@ -830,20 +833,20 @@
|
||||
}
|
||||
|
||||
.vk-bot-history-title {
|
||||
font: 600 11px/1.6 ui-monospace, Menlo, monospace;
|
||||
font: 500 11px/1.6 ui-monospace, Menlo, monospace;
|
||||
color: var(--color-neutral-300);
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
.vk-bot-history-entry {
|
||||
font: 400 10px/1.5 ui-monospace, Menlo, monospace;
|
||||
color: var(--color-neutral-500);
|
||||
color: var(--color-neutral-400);
|
||||
}
|
||||
|
||||
.vk-bot-hint {
|
||||
margin-top: 8px;
|
||||
font: 400 10px/1.5 ui-monospace, Menlo, monospace;
|
||||
color: var(--color-neutral-500);
|
||||
color: var(--color-neutral-400);
|
||||
}
|
||||
|
||||
/* Infinite/page toggle and pager. */
|
||||
@@ -856,7 +859,7 @@
|
||||
.vk-media-toggle {
|
||||
display: inline-flex;
|
||||
border: 1px solid var(--color-divider);
|
||||
border-radius: 5px;
|
||||
border-radius: var(--radius-md);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
@@ -870,8 +873,14 @@
|
||||
}
|
||||
|
||||
.vk-toggle-half.vk-toggle-on {
|
||||
background: var(--color-accent-400, #4f8cff);
|
||||
color: #fff;
|
||||
background: var(--color-accent-900);
|
||||
color: var(--color-accent-200);
|
||||
box-shadow: inset 0 0 0 1px var(--color-accent-700);
|
||||
}
|
||||
|
||||
.vk-toggle-half:focus-visible {
|
||||
outline: 2px solid var(--color-accent);
|
||||
outline-offset: -2px;
|
||||
}
|
||||
|
||||
.vk-media-page-nav {
|
||||
@@ -893,7 +902,59 @@
|
||||
}
|
||||
|
||||
.vk-media-viewer-title {
|
||||
font: 600 13px/1.5 ui-monospace, Menlo, monospace;
|
||||
font: 500 13px/1.5 ui-monospace, Menlo, monospace;
|
||||
color: var(--color-text);
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
/* ── Focus: these controls are bare <button>s with background and border
|
||||
reset, so they need the accent ring pinned back on. ───────────────────── */
|
||||
|
||||
.vk-media-link:focus-visible,
|
||||
.vk-media-tree-head:focus-visible,
|
||||
.vk-media-play:focus-visible,
|
||||
.vk-media-media:focus-visible,
|
||||
.vk-bot-group-title:focus-visible,
|
||||
.vk-media-exclude-title:focus-visible,
|
||||
.vk-media-advanced summary:focus-visible {
|
||||
outline: 2px solid var(--color-accent);
|
||||
outline-offset: 2px;
|
||||
border-radius: var(--radius-sm);
|
||||
}
|
||||
|
||||
/* ── Storage bar legend: hue is never the only channel. Render one of these
|
||||
per segment beside the bar so the categories survive a colour-blind
|
||||
reader, a projector, and a screenshot. ────────────────────────────────── */
|
||||
|
||||
.vk-media-usage-legend {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 4px 12px;
|
||||
margin-top: 6px;
|
||||
}
|
||||
|
||||
.vk-media-usage-key {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
font: 400 10px/1.4 ui-monospace, Menlo, monospace;
|
||||
color: var(--color-neutral-400);
|
||||
}
|
||||
|
||||
.vk-media-usage-key i {
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
flex: none;
|
||||
border-radius: 2px;
|
||||
background: var(--color-data-5);
|
||||
}
|
||||
|
||||
.vk-media-usage-key.image i { background: var(--color-data-1); }
|
||||
.vk-media-usage-key.gif i { background: var(--color-data-2); }
|
||||
.vk-media-usage-key.video i { background: var(--color-data-3); }
|
||||
.vk-media-usage-key.audio i { background: var(--color-data-4); }
|
||||
|
||||
/* Over the warn threshold the bar itself should say so. */
|
||||
.vk-media-usage.over {
|
||||
box-shadow: inset 0 0 0 1px var(--color-warn-700);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user