/* ========================================================================== ANOMALOUS UI GLOBAL DESIGN SYSTEM (Design Tokens & Semantic Colors) ========================================================================== */ :root { --c-amber: #d97706; --c-amber-glow: rgba(217, 119, 6, 0.25); --c-cyan: #06b6d4; --c-cyan-glow: rgba(6, 182, 212, 0.25); --c-purple: #8b5cf6; --c-purple-glow: rgba(139, 92, 246, 0.25); --c-silver: #9ca3af; --c-silver-glow: rgba(156, 163, 175, 0.2); --c-blue: #9ca3af; --c-blue-glow: rgba(156, 163, 175, 0.2); --c-crimson: #ef4444; --c-crimson-glow: rgba(239, 68, 68, 0.25); --c-wine: #4b5563; --c-wine-glow: rgba(75, 85, 99, 0.2); --c-emerald: #10b981; --c-emerald-glow: rgba(16, 185, 129, 0.25); /* AMB Base Design System Tokens - Normal Mode (Neutral Dark Charcoal & Obsidian Studio) */ --amb-bg-page: #131315; --amb-bg-panel: #1a1a1d; --amb-bg-card: #202024; --amb-bg-card-hover: #28282d; --amb-bg-input: #151517; --amb-text-main: #f3f4f6; --amb-text-muted: #9ca3af; --amb-border: rgba(255, 255, 255, 0.08); --amb-border-hover: rgba(255, 255, 255, 0.16); --amb-btn-primary-bg: #e5e7eb; --amb-btn-primary-hover: #ffffff; --amb-btn-primary-text: #111827; --amb-accent-gold: rgba(234, 179, 8, 0.65); --amb-accent-line: rgba(229, 231, 235, 0.35); --amb-accent: #f59e0b; --amb-radius-control: 6px; --amb-radius-card: 8px; --amb-radius-panel: 10px; } /* Abyssal Scarlet Gothic Theme Overrides */ .theme-abyssal-scarlet, html.theme-abyssal-scarlet, #anomalous-container.theme-abyssal-scarlet { --amb-bg-page: #161014; --amb-bg-panel: #21171D; --amb-bg-card: #2B1E26; --amb-bg-card-hover: #362530; --amb-bg-input: #1c1319; --amb-text-main: #ECE4E8; --amb-text-muted: #B9A7B0; --amb-border: rgba(255, 245, 247, 0.10); --amb-border-hover: rgba(220, 20, 60, 0.35); --amb-btn-primary-bg: #87384E; --amb-btn-primary-hover: #9c425b; --amb-btn-primary-text: #FFF5F7; --amb-accent-gold: #b38728; --amb-accent-line: #dc143c; } /* Skeleton Shimmer Loading Placeholder */ .anomalous-skeleton-shimmer { background: linear-gradient(90deg, #15171e 25%, #232733 50%, #15171e 75%) !important; background-size: 200% 100% !important; animation: anomalousSkeletonShimmer 1.8s infinite ease-in-out !important; } @keyframes anomalousSkeletonShimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } } #anomalous-trigger-btn { --anomalous-trigger-size: 60px; --anomalous-trigger-font-size: 28px; --anomalous-trigger-pill-padding: 18px; position: fixed; top: 80px; left: 80px; right: auto; bottom: auto; width: var(--anomalous-trigger-size); height: var(--anomalous-trigger-size); border-radius: 50%; background: rgba(18, 21, 30, 0.85); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); color: var(--fg-color, #f1f5f9); border: 1px solid rgba(255, 255, 255, 0.16); font-size: var(--anomalous-trigger-font-size); cursor: pointer; z-index: 2147483000 !important; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.12); display: flex !important; visibility: visible !important; opacity: 1; align-items: center !important; justify-content: center !important; user-select: none; transition: opacity 0.18s ease-out, transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease; gap: 8px; white-space: nowrap; } #anomalous-trigger-btn.anomalous-trigger-initializing { opacity: 0 !important; pointer-events: none !important; } #anomalous-trigger-btn .anomalous-trigger-icon { display: flex; align-items: center; justify-content: center; line-height: 1; font-size: var(--anomalous-trigger-font-size); flex-shrink: 0; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), filter 0.3s ease; } #anomalous-trigger-btn .anomalous-trigger-icon svg { width: 1em; height: 1em; display: block; stroke: currentColor; } html.theme-abyssal-scarlet #anomalous-trigger-btn { background: rgba(28, 10, 18, 0.88) !important; border: 1px solid rgba(220, 20, 60, 0.45) !important; color: #ffe4e6 !important; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(220, 20, 60, 0.2) !important; } html.theme-abyssal-scarlet #anomalous-trigger-btn:hover { border-color: #dc143c !important; background: rgba(45, 12, 26, 0.95) !important; box-shadow: 0 12px 32px rgba(0, 0, 0, 0.7), 0 0 20px rgba(220, 20, 60, 0.4) !important; color: #ffffff !important; } #anomalous-trigger-btn[data-size="small"] { --anomalous-trigger-size: 44px; --anomalous-trigger-font-size: 20px; --anomalous-trigger-pill-padding: 13px; } #anomalous-trigger-btn[data-size="large"] { --anomalous-trigger-size: 76px; --anomalous-trigger-font-size: 34px; --anomalous-trigger-pill-padding: 22px; } #anomalous-trigger-btn .anomalous-trigger-label { display: none; font-size: 14px; font-weight: 600; letter-spacing: 0.01em; } #anomalous-trigger-btn[data-style="pill"] { width: auto; min-width: calc(var(--anomalous-trigger-size) * 1.8); padding: 0 var(--anomalous-trigger-pill-padding); border-radius: 999px; } #anomalous-trigger-btn[data-style="pill"] .anomalous-trigger-label { display: inline; } #anomalous-trigger-btn:hover { transform: scale(1.08) translateY(-4px); background: rgba(25, 29, 42, 0.94); border-color: rgba(100, 200, 255, 0.45); box-shadow: 0 12px 32px rgba(0, 0, 0, 0.55), 0 0 18px rgba(80, 190, 255, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.2); color: #ffffff; } #anomalous-trigger-btn:hover .anomalous-trigger-icon { transform: rotate(12deg) scale(1.06); filter: drop-shadow(0 0 6px rgba(100, 200, 255, 0.6)); } html.theme-abyssal-scarlet #anomalous-trigger-btn:hover .anomalous-trigger-icon { filter: drop-shadow(0 0 6px rgba(220, 20, 60, 0.7)) !important; } #anomalous-trigger-btn.anomalous-trigger-hidden, body.anomalous-prompt-studio-open #anomalous-trigger-btn, body:has(.anomalous-prompt-studio-drawer) #anomalous-trigger-btn { visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; display: none !important; transform: scale(0.7); } #anomalous-trigger-btn.anomalous-trigger-error { border-color: #ff9f43; box-shadow: none; } .anomalous-topbar-entry, button:has(.anomalous-topbar-entry), [data-testid="anomalous-topbar-entry"], .side-bar-button:has(.anomalous-topbar-entry) { display: none !important; visibility: hidden !important; width: 0 !important; height: 0 !important; padding: 0 !important; margin: 0 !important; border: none !important; pointer-events: none !important; overflow: hidden !important; } html.anomalous-topbar-entry-enabled .anomalous-topbar-entry, html.anomalous-topbar-entry-enabled button:has(.anomalous-topbar-entry), html.anomalous-topbar-entry-enabled .side-bar-button:has(.anomalous-topbar-entry) { display: inline-flex !important; visibility: visible !important; width: auto !important; height: auto !important; pointer-events: auto !important; overflow: visible !important; } html:not(.anomalous-floating-entry-enabled) [data-setting-id="Anomalous.ModelBrowser.FloatingTriggerSize"], html:not(.anomalous-floating-entry-enabled) [data-setting-id="Anomalous.ModelBrowser.FloatingTriggerStyle"] { display: none !important; } .anomalous-shortcut-setting { display: flex; align-items: center; justify-content: flex-end; gap: 0.5rem; } .anomalous-shortcut-current { min-width: 8.5rem; padding: 0.38rem 0.65rem; border: 1px solid var(--border-default, #4b5563); border-radius: 0.4rem; background: var(--comfy-input-bg, #101113); color: var(--fg-color, #f3f4f6); font: 600 0.78rem/1.2 ui-monospace, SFMono-Regular, Consolas, monospace; text-align: center; white-space: nowrap; } .anomalous-shortcut-customize { padding: 0.42rem 0.72rem; border: 1px solid var(--border-default, #4b5563); border-radius: 0.4rem; background: var(--comfy-input-bg, #24262b); color: var(--fg-color, #f3f4f6); cursor: pointer; } .anomalous-shortcut-customize:hover:not(:disabled) { border-color: var(--p-primary-color, #60a5fa); } .anomalous-shortcut-customize:disabled { cursor: wait; opacity: 0.6; } #anomalous-modal { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; pointer-events: none; z-index: 10000; display: none; filter: drop-shadow(0 20px 50px rgba(0, 0, 0, 0.85)); } #anomalous-modal.visible { display: block; } #anomalous-container { width: 90%; height: 90%; background-color: var(--amb-bg-page, #131315); border: 1px solid rgba(255, 255, 255, 0.09); border-radius: 8px; display: flex; flex-direction: row; overflow: hidden; pointer-events: auto; position: absolute; left: 5%; top: 5%; container-type: inline-size; font-size: calc(16px * var(--anomalous-scale, 1)); box-shadow: 0 16px 48px rgba(0, 0, 0, 0.7); } #anomalous-container::before { display: none; content: ''; position: absolute; inset: 0; background-image: radial-gradient(ellipse 95% 85% at 50% 35%, rgba(19, 19, 21, 0.2) 0%, rgba(19, 19, 21, 0.75) 100%), url('assets/archive_library_bg.webp'); background-size: cover; background-position: center 25%; filter: grayscale(100%) brightness(0.55) contrast(1.15); opacity: var(--anomalous-bg-opacity, 0.08); transition: opacity 0.3s ease; pointer-events: none; z-index: 0; } #anomalous-container.view-mode-aesthetic::before { display: block; } /* Only the main columns sit above the decorative background. Keep overlays and resize handles in their own positioning and stacking layers. */ #anomalous-container > #anomalous-sidebar-wrapper, #anomalous-container > #anomalous-content { position: relative; z-index: 1; } .anomalous-docked { left: 0 !important; top: 0 !important; height: 100% !important; width: 660px !important; border-radius: 0 !important; clip-path: none !important; transition: all 0.3s ease; } #anomalous-header { height: 48px; background: var(--comfy-menu-bg, #333); display: flex; align-items: center; padding: 0 50px 0 20px; border-bottom: 1px solid var(--border-color, #555); cursor: move; position: relative; } #anomalous-settings-panel { display: none; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.85); z-index: 9999; align-items: center; justify-content: center; } #anomalous-settings-box { background: var(--comfy-menu-bg, #2a2a2a); border: 1px solid var(--border-color, #444); padding: 30px; border-radius: 12px; display: flex; flex-direction: column; gap: 15px; min-width: 300px; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.8); } .anomalous-resize-handle { position: absolute; bottom: 0; right: 0; width: 20px; height: 20px; cursor: se-resize; z-index: 10000; } .anomalous-resize-handle::after { content: ''; position: absolute; bottom: 4px; right: 4px; width: 10px; height: 10px; border-right: 2px solid #666; border-bottom: 2px solid #666; } .anomalous-header-group { display: flex; align-items: center; gap: 6px; } #anomalous-header button { margin-right: 0; padding: 0 10px; height: 28px; box-sizing: border-box; background: rgba(255, 255, 255, 0.04); color: #c0c4cc; border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 6px; cursor: pointer; white-space: nowrap; display: inline-flex; align-items: center; justify-content: center; gap: 5px; font-size: 11.5px; font-weight: 500; letter-spacing: 0.2px; transition: all 0.15s cubic-bezier(0.16, 1, 0.3, 1); } #anomalous-header button:hover { background: rgba(255, 255, 255, 0.09); border-color: rgba(255, 255, 255, 0.2); color: #ffffff; transform: translateY(-1px); box-shadow: none; } #anomalous-header button.active { background: rgba(255, 255, 255, 0.14) !important; border-color: rgba(255, 255, 255, 0.28) !important; color: #ffffff !important; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35) !important; } #anomalous-close { width: 28px; height: 28px; box-sizing: border-box; font-size: 18px; cursor: pointer; color: var(--error-text, #ff5555); line-height: 1; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; border-radius: 6px; border: 1px solid transparent; transition: all 0.15s ease; } #anomalous-close:hover { color: #ff6b6b; background: rgba(255, 85, 85, 0.12); border-color: rgba(255, 85, 85, 0.25); transform: scale(1.05); } #anomalous-grid { flex: 1; padding: 20px; overflow-y: auto; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 25px; row-gap: 40px; align-content: flex-start; background: transparent; } #anomalous-grid::-webkit-scrollbar { width: 8px; } #anomalous-grid::-webkit-scrollbar-track { background: rgba(20, 20, 26, 0.8); } #anomalous-grid::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.16); border-radius: 4px; border: 1px solid rgba(255, 255, 255, 0.08); } #anomalous-grid::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, 0.3); box-shadow: 0 0 6px rgba(255, 255, 255, 0.18); } .anomalous-card { position: relative; background: var(--amb-bg-card, #202024); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 8px; overflow: hidden; display: flex; flex-direction: column; height: 340px; box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.04); transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease; will-change: transform, box-shadow; cursor: pointer; } .anomalous-card:hover { transform: translateY(-2px); border-color: rgba(255, 255, 255, 0.2); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.58), inset 0 1px 0 rgba(255, 255, 255, 0.08); } .theme-abyssal-scarlet .anomalous-card { border-color: rgba(220, 20, 60, 0.22); background: linear-gradient(180deg, rgba(25, 12, 20, 0.9) 0%, rgba(14, 6, 14, 0.98) 100%); box-shadow: 0 6px 22px rgba(0, 0, 0, 0.6); } .theme-abyssal-scarlet .anomalous-card:hover { border-color: #dc143c; box-shadow: 0 12px 32px rgba(0, 0, 0, 0.9), inset 0 0 12px rgba(0, 0, 0, 0.7); } .anomalous-card img, .anomalous-card video { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), filter 0.3s ease; } .anomalous-card:hover img, .anomalous-card:hover video { transform: scale(1.02); } #anomalous-container.anomalous-sidebar-closed #anomalous-grid { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 16px; row-gap: 24px; } #anomalous-container.anomalous-sidebar-closed .anomalous-card { height: 320px; } /* ========================================================================== Display Modes: Standard, Compact, Aesthetic ========================================================================== */ /* Mode 2: Compact (Primary / Default / High Density) */ #anomalous-container.view-mode-compact #anomalous-grid, #anomalous-container:not(.view-mode-standard):not(.view-mode-aesthetic) #anomalous-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)) !important; gap: 10px !important; row-gap: 14px !important; padding: 12px !important; } #anomalous-container.view-mode-compact .anomalous-card, #anomalous-container:not(.view-mode-standard):not(.view-mode-aesthetic) .anomalous-card { height: 220px !important; border-radius: 6px !important; } #anomalous-container.view-mode-compact .anomalous-card-labels, #anomalous-container:not(.view-mode-standard):not(.view-mode-aesthetic) .anomalous-card-labels { padding: 18px 8px 6px !important; } #anomalous-container.view-mode-compact .anomalous-card-title, #anomalous-container:not(.view-mode-standard):not(.view-mode-aesthetic) .anomalous-card-title { font-size: 0.82em !important; line-height: 1.25 !important; margin-bottom: 2px !important; } #anomalous-container.view-mode-compact .anomalous-card-filename, #anomalous-container:not(.view-mode-standard):not(.view-mode-aesthetic) .anomalous-card-filename { font-size: 0.72em !important; opacity: 0.85 !important; } #anomalous-container.view-mode-compact .anomalous-card-badge, #anomalous-container:not(.view-mode-standard):not(.view-mode-aesthetic) .anomalous-card-badge { top: 6px !important; left: 6px !important; max-width: 55px !important; font-size: 0.65em !important; padding: 1px 4px !important; border-radius: 3px !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; } #anomalous-container.view-mode-compact .anomalous-card-action-btn, #anomalous-container:not(.view-mode-standard):not(.view-mode-aesthetic) .anomalous-card-action-btn { width: 24px !important; height: 24px !important; top: 6px !important; font-size: 11px !important; border-radius: 5px !important; } #anomalous-container.view-mode-compact .anomalous-card-action-btn.action-apply, #anomalous-container:not(.view-mode-standard):not(.view-mode-aesthetic) .anomalous-card-action-btn.action-apply { right: 6px !important; } #anomalous-container.view-mode-compact .anomalous-card-action-btn.action-edit, #anomalous-container:not(.view-mode-standard):not(.view-mode-aesthetic) .anomalous-card-action-btn.action-edit { right: 34px !important; } #anomalous-container.view-mode-compact .anomalous-card-action-btn.action-scan, #anomalous-container:not(.view-mode-standard):not(.view-mode-aesthetic) .anomalous-card-action-btn.action-scan { right: 62px !important; } #anomalous-container.view-mode-compact .anomalous-folder-item, #anomalous-container:not(.view-mode-standard):not(.view-mode-aesthetic) .anomalous-folder-item { padding: 5px 12px !important; font-size: 0.86em !important; } #anomalous-container.view-mode-compact .anomalous-type-header, #anomalous-container:not(.view-mode-standard):not(.view-mode-aesthetic) .anomalous-type-header { padding: 6px 12px !important; font-size: 0.85em !important; } /* Mode 1: Standard - Clean, balanced, 8px architectural geometry */ #anomalous-container.view-mode-standard #anomalous-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 20px; row-gap: 28px; padding: 20px; } #anomalous-container.view-mode-standard .anomalous-card { height: 340px; border-radius: 8px; } /* Mode 3: Aesthetic (Subtle Ambient Depth) */ #anomalous-container.view-mode-aesthetic #anomalous-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 24px; row-gap: 36px; padding: 24px; } #anomalous-container.view-mode-aesthetic .anomalous-card { height: 360px; border-radius: 8px; background: rgba(28, 28, 32, 0.85); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, 0.09); } #anomalous-container.view-mode-aesthetic .anomalous-card:hover { background: rgba(34, 34, 38, 0.92); border-color: rgba(255, 255, 255, 0.22); box-shadow: 0 12px 32px rgba(0, 0, 0, 0.65); } /* Model Card Labels: Always visible at rest, crisp non-blurry gradient mask */ .anomalous-card-labels { position: absolute; bottom: 0; left: 0; right: 0; padding: 26px 10px 8px; background: linear-gradient(to top, rgba(16, 16, 18, 0.96) 0%, rgba(16, 16, 18, 0.7) 65%, transparent 100%); display: flex; flex-direction: column; gap: 3px; text-align: left; z-index: 5; pointer-events: none; box-sizing: border-box; transition: background 0.2s ease; } .anomalous-card:hover .anomalous-card-labels { background: linear-gradient(to top, rgba(16, 16, 18, 0.98) 0%, rgba(16, 16, 18, 0.82) 75%, transparent 100%); } .theme-abyssal-scarlet .anomalous-card-labels { background: linear-gradient(to top, rgba(18, 5, 14, 0.97) 0%, rgba(18, 5, 14, 0.72) 65%, transparent 100%); } .theme-abyssal-scarlet .anomalous-card:hover .anomalous-card-labels { background: linear-gradient(to top, rgba(20, 6, 16, 0.99) 0%, rgba(20, 6, 16, 0.85) 75%, transparent 100%); } .anomalous-card-title { font-size: 0.88rem; font-weight: 600; color: #f3f4f6; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; line-height: 1.3; } .anomalous-card-filename { font-size: 0.72rem; color: #9ca3af; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; opacity: 0.8; } /* Card Base Model Badges - Normal Mode (Neutral & Clean) */ .anomalous-card-badge { position: absolute; top: 8px; left: 8px; padding: 3px 8px; border-radius: 5px; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.4px; background: rgba(18, 20, 26, 0.85); color: #cbd5e1; border: 1px solid rgba(255, 255, 255, 0.15); box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); pointer-events: none; z-index: 10; text-transform: uppercase; transition: all 0.25s ease; } .anomalous-card:hover .anomalous-card-badge { border-color: rgba(255, 255, 255, 0.3); color: #ffffff; } .anomalous-card-badge.badge-gold { color: #e2e8f0; background: rgba(30, 32, 40, 0.9); border-color: rgba(255, 255, 255, 0.2); } .anomalous-card-badge.badge-amber { color: #cbd5e1; background: rgba(30, 32, 40, 0.9); border-color: rgba(255, 255, 255, 0.18); } .anomalous-card-badge.badge-flux { color: #cbd5e1; background: rgba(30, 32, 40, 0.9); border-color: rgba(255, 255, 255, 0.18); } .anomalous-card-badge.badge-rose { color: #cbd5e1; background: rgba(30, 32, 40, 0.9); border-color: rgba(255, 255, 255, 0.18); } /* Card Action Buttons - Normal Mode (Neutral Glass) */ .anomalous-card-action-btn { position: absolute !important; top: 8px; right: 8px; width: 28px; height: 28px; padding: 0; display: inline-flex; align-items: center; justify-content: center; background: rgba(20, 22, 28, 0.88); color: #e2e8f0; border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 6px; cursor: pointer; font-size: 13px; opacity: 0; transform: scale(0.88); transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1); z-index: 25; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); pointer-events: none; } .anomalous-card-action-btn.action-apply { right: 8px; } .anomalous-card-action-btn.action-edit { right: 40px; } .anomalous-card-action-btn.action-scan { right: 72px; } .anomalous-card:hover .anomalous-card-action-btn { opacity: 1 !important; transform: scale(1) !important; pointer-events: auto !important; } .anomalous-card-action-btn:hover { background: rgba(255, 255, 255, 0.2); border-color: rgba(255, 255, 255, 0.4); color: #ffffff; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4); } .anomalous-card-action-btn.action-apply:hover { background: rgba(37, 99, 235, 0.9) !important; border-color: rgba(96, 165, 250, 0.85) !important; color: #ffffff !important; box-shadow: 0 2px 10px rgba(37, 99, 235, 0.5) !important; } .anomalous-card-action-btn.action-scan:hover { background: rgba(245, 158, 11, 0.9) !important; border-color: rgba(251, 191, 36, 0.85) !important; color: #ffffff !important; box-shadow: 0 2px 10px rgba(245, 158, 11, 0.4) !important; } .anomalous-scan-progress { position: fixed; right: 24px; bottom: 104px; z-index: 1000000; width: min(380px, calc(100vw - 32px)); box-sizing: border-box; padding: 16px; border: 1px solid rgba(138, 180, 248, 0.35); border-radius: 12px; background: rgba(24, 24, 27, 0.96); color: #f1f3f4; box-shadow: 0 14px 38px rgba(0, 0, 0, 0.42); backdrop-filter: blur(12px); } .anomalous-scan-progress-title, .anomalous-scan-progress-detail, .anomalous-scan-progress-item { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .anomalous-scan-progress-title { margin-bottom: 10px; font-size: 14px; } .anomalous-scan-progress-track { position: relative; height: 6px; overflow: hidden; border-radius: 999px; background: rgba(255, 255, 255, 0.12); } .anomalous-scan-progress-fill { height: 100%; border-radius: inherit; background: #10b981; transition: width 180ms ease; } .anomalous-scan-progress-fill.is-indeterminate { animation: anomalous-scan-progress-slide 1.2s ease-in-out infinite; } .anomalous-scan-progress-detail { margin-top: 10px; color: #d7dde8; font-size: 12px; } .anomalous-scan-progress-item { margin-top: 4px; color: #9aa0a6; font-size: 11px; } .anomalous-scan-progress.is-complete .anomalous-scan-progress-fill { background: #81c995; } .anomalous-scan-progress.is-error { border-color: rgba(242, 139, 130, 0.5); } .anomalous-scan-progress.is-error .anomalous-scan-progress-fill { background: #f28b82; } @keyframes anomalous-scan-progress-slide { from { transform: translateX(-120%); } to { transform: translateX(340%); } } .anomalous-card-title { color: var(--fg-color, #fff); font-size: 0.9em; font-weight: 650; line-height: 1.25; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; overflow-wrap: anywhere; } .anomalous-card-filename { color: rgba(255, 255, 255, 0.55); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 0.72em; line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } #anomalous-content { display: flex; flex-direction: column; flex: 1; overflow: hidden; background: transparent; position: relative; } #anomalous-content::before { display: none; } #anomalous-content > * { position: relative; z-index: 1; } #anomalous-container { flex-direction: row; }