/* 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-figure { display: flex; flex-direction: column; gap: 4px; margin: 0; min-width: 0; } .vk-media-media { position: relative; display: flex; align-items: center; justify-content: center; 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); cursor: pointer; } .vk-media-media img, .vk-media-media video { width: 100%; height: 100%; object-fit: cover; } .vk-media-banner { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 400 10px/1.3 ui-monospace, Menlo, monospace; color: var(--color-neutral-400); } .vk-media-play { position: absolute; top: 4px; 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); cursor: pointer; } .vk-media-prompt { grid-column: 1 / -1; display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 40px 0; } .vk-media-load { padding: 10px 22px; font-size: 13px; } .vk-media-meta { position: relative; display: inline-flex; } .vk-media-meta-menu { position: absolute; top: 140%; left: 0; z-index: 5; display: flex; flex-direction: column; gap: 4px; padding: 8px 10px; border-radius: var(--radius-sm, 6px); background: var(--color-bg); box-shadow: inset 0 0 0 1px var(--color-neutral-800); } .vk-media-viewer-box { width: min(1000px, 94vw); height: min(86vh, 860px); } .vk-media-viewer { display: flex; flex: 1; gap: 12px; min-height: 0; } .vk-media-viewer.wide { flex-direction: column; } .vk-media-viewer.vertical { flex-direction: row; } .vk-media-viewer-media { display: flex; flex: 1; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-height: 0; } .vk-media-viewer-media img, .vk-media-viewer-media video { max-width: 100%; max-height: 100%; border-radius: var(--radius-sm, 6px); } .vk-media-viewer-media iframe { width: min(880px, 100%); aspect-ratio: 16 / 9; border: 0; border-radius: var(--radius-sm, 6px); } .vk-media-viewer.vertical .vk-media-viewer-media { max-width: 45%; } .vk-media-viewer-meta { display: flex; flex-direction: column; gap: 4px; overflow-y: auto; font: 400 11px/1.5 ui-monospace, Menlo, monospace; color: var(--color-neutral-300); } .vk-media-viewer.vertical .vk-media-viewer-meta { flex: 1; } .vk-media-meta-key { color: var(--color-neutral-500); } .vk-media-link { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 0; border: none; background: none; color: var(--color-accent-400, #7aa2ff); font: inherit; text-align: left; cursor: pointer; } .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; /* Above the settings slide-over (1000): Clean media and other dialogs open from Settings. */ z-index: 1050; 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; }