/* Media archive and slopbot views. Scoped to the media-* classes. */ .vk-media-overlay { position: fixed; left: 0; right: 0; top: var(--media-top, 50px); bottom: 0; /* Below the settings slide-over (80); media modals stay above it. */ z-index: 70; display: flex; background: var(--color-bg); } .vk-media-overlay[hidden] { display: none; } .vk-media-panel { display: flex; flex-direction: column; gap: 10px; width: 100%; height: 100%; margin: 0; padding: 14px 18px; overflow: hidden; border-radius: 0; background: var(--color-bg); box-shadow: none; } .vk-media-head { display: flex; align-items: center; gap: 10px; } .vk-media-title { flex: 1; font-weight: 600; } .vk-media-toolbar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; } .vk-media-status { font: 400 11px/1.5 ui-monospace, Menlo, monospace; color: var(--color-neutral-400); white-space: pre-wrap; } .vk-media-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; overflow-y: auto; flex: 1; align-content: start; } .vk-media-card { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; aspect-ratio: 1; overflow: hidden; border-radius: var(--radius-sm, 6px); background: var(--color-neutral-900); box-shadow: inset 0 0 0 1px var(--color-neutral-800); color: var(--color-neutral-300); text-decoration: none; } .vk-media-card img { width: 100%; height: 100%; object-fit: cover; } .vk-media-card-kind { font: 600 10px/1 ui-monospace, Menlo, monospace; letter-spacing: 0.08em; color: var(--color-accent-400, var(--color-neutral-300)); } .vk-media-card-name { max-width: 90%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 400 11px/1 ui-monospace, Menlo, monospace; color: var(--color-neutral-400); } .vk-media-scrapes { display: flex; flex-direction: column; gap: 4px; max-height: 140px; overflow-y: auto; } .vk-media-scrape { display: flex; align-items: center; gap: 8px; font: 400 11px/1.4 ui-monospace, Menlo, monospace; color: var(--color-neutral-400); } .vk-media-scrape button { flex: none; } .vk-info { display: inline-flex; align-items: center; justify-content: center; width: 13px; height: 13px; margin-left: 4px; border-radius: 50%; background: var(--color-neutral-800); color: var(--color-neutral-300); font: 600 9px/1 ui-monospace, Menlo, monospace; cursor: help; } .vk-media-input { width: 90px; padding: 3px 6px; border: none; border-radius: var(--radius-sm, 6px); background: var(--color-neutral-900); color: var(--color-neutral-200); box-shadow: inset 0 0 0 1px var(--color-neutral-800); font: 400 11px/1 ui-monospace, Menlo, monospace; } .vk-media-usage { display: flex; height: 10px; margin-top: 8px; overflow: hidden; border-radius: 5px; background: var(--color-neutral-900); box-shadow: inset 0 0 0 1px var(--color-neutral-800); } .vk-media-usage-seg { height: 100%; } .vk-seg-image { background: #4f8cff; } .vk-seg-gif { background: #8a6cff; } .vk-seg-video { background: #ff7a45; } .vk-seg-audio { background: #2fbf71; } .vk-seg-other { background: #6b7280; } .vk-media-modal { position: fixed; inset: 0; z-index: 95; display: flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--color-neutral-900) 70%, transparent); } .vk-media-modal[hidden] { display: none; } .vk-media-modal-box { display: flex; flex-direction: column; gap: 10px; width: min(520px, 92vw); padding: 14px; border-radius: var(--radius-lg, 12px); background: var(--color-bg); box-shadow: inset 0 0 0 1px var(--color-neutral-800); } .vk-media-modal-box.vk-media-wide { width: min(760px, 94vw); height: min(80vh, 720px); } .vk-media-modal-list { max-height: 220px; overflow-y: auto; font: 400 11px/1.5 ui-monospace, Menlo, monospace; color: var(--color-neutral-400); } .vk-media-wide .vk-media-modal-list { max-height: none; flex: 1; } .vk-media-history-row { display: flex; flex-direction: column; gap: 2px; padding: 7px 0; border-bottom: 1px solid var(--color-neutral-900); } .vk-media-tree { display: flex; flex-direction: column; gap: 6px; flex: 1; overflow-y: auto; } .vk-media-tree-head { padding: 6px 8px; border: none; border-radius: var(--radius-sm, 6px); background: var(--color-neutral-900); color: var(--color-neutral-200); font: 500 12px/1.2 inherit; text-align: left; cursor: pointer; } .vk-media-tree-children { display: flex; flex-direction: column; gap: 3px; margin: 4px 0 4px 14px; } .vk-media-channel { display: flex; align-items: center; gap: 6px; } .vk-media-channel-name { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 400 11px/1.4 ui-monospace, Menlo, monospace; color: var(--color-neutral-300); } @keyframes vk-media-pulse { 0%, 100% { opacity: 0.25; } 50% { opacity: 1; } } .vk-media-pulse { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--color-accent-400, #4f8cff); animation: vk-media-pulse 1.2s ease-in-out infinite; } .vk-media-spacer { flex: 1; } .vk-media-check { display: flex; align-items: center; gap: 6px; font: 400 11px/1.4 ui-monospace, Menlo, monospace; color: var(--color-neutral-300); } .vk-media-dest { width: 100%; } .vk-media-error { color: #ff8080; } .vk-media-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 14px; height: 14px; margin-left: 4px; padding: 0 4px; border-radius: 7px; background: #e5484d; color: #fff; font: 600 9px/1 ui-monospace, Menlo, monospace; }