/* SPDX-License-Identifier: AGPL-3.0-or-later */ .headerContainer { display: flex; flex-direction: column; gap: var(--spacing-3); } .scroller { padding-top: var(--spacing-2); } .filterList { display: flex; gap: var(--spacing-2); flex-wrap: wrap; } .filterPill { display: flex; align-items: center; gap: 0.25rem; flex: none; border-radius: var(--radius-md); padding: var(--spacing-1) var(--spacing-2); font-weight: 600; font-size: 0.75rem; line-height: 1.25rem; background-color: transparent; color: var(--text-primary-muted); cursor: pointer; transition-property: color, background-color; transition-duration: 200ms; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } .filterPill:hover { background-color: var(--background-modifier-hover); color: var(--text-primary); } .filterPillActive { background-color: var(--background-modifier-selected); color: var(--text-primary); } .filterPillIcon { width: 0.875rem; height: 0.875rem; } .mobileHeaderContainer { display: flex; flex-direction: column; gap: var(--spacing-3); } .mobileHeaderContainerStandalone { composes: mobileHeaderContainer; padding-block: var(--spacing-2); padding-inline: var(--spacing-4); } .columnContainerOverflow .grid { padding: 0; } .fullHeightRelative { position: relative; height: 100%; } .columnContainer { display: flex; height: 100%; flex-direction: column; } .columnContainerOverflow { composes: columnContainer; overflow: hidden; } .bodyWrapper { position: relative; flex: 1; min-height: 0; overflow: hidden; } .scrollerFull { height: 100%; width: 100%; } @media (max-width: 768px) { .scrollerFull { scrollbar-width: none; } .scrollerFull::-webkit-scrollbar { display: none; } } .centeredContent { display: flex; flex: 1; align-items: center; justify-content: center; padding: 2rem 1rem; } .slate { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; text-align: center; } .slateIcon { height: 3.5rem; width: 3.5rem; color: var(--text-primary-muted); } .slateTitle { font-size: 1.25rem; font-weight: 600; color: var(--text-primary); } .slateDescription { font-size: 1rem; color: var(--text-primary-muted); } .gifBadge { position: absolute; top: 0.5rem; left: 0.5rem; z-index: 10; padding: 0.125rem 0.25rem; border-radius: 0.375rem; background-color: rgba(0, 0, 0, 0.6); font-size: 0.875rem; font-weight: 600; line-height: 1; color: white; } .fullSize { height: 100%; width: 100%; } .audioCard { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.75rem; height: 100%; width: 100%; padding: 1rem; border-radius: 0.5rem; background-color: var(--brand-primary); } .audioIcon { height: 3rem; width: 3rem; color: white; flex-shrink: 0; } .audioMeta { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; width: 100%; } .audioDuration { font-family: var(--font-mono); font-size: 1.125rem; color: white; } .audioFilename { width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: center; font-weight: 600; font-size: 0.875rem; color: rgba(255, 255, 255, 0.9); } .audioBadge { padding: 0.125rem 0.5rem; border-radius: 0.375rem; background-color: rgba(0, 0, 0, 0.2); font-weight: 700; font-size: 0.75rem; color: white; } .actionBar { position: absolute; top: 0.5rem; right: 0.5rem; display: flex; gap: 0.5rem; z-index: 10; opacity: 0; transform: translateY(-0.25rem); pointer-events: none; } .actionButton { composes: item roundItem from '@app/features/ui/action_toolbar/ActionToolbar.module.css'; --action-toolbar-item-size: 2.25rem; --action-toolbar-item-background: var(--background-primary); --action-toolbar-item-color: var(--text-primary); border: none; backdrop-filter: blur(0.375rem); opacity: 0.8; transition: none; } .actionButton:hover { opacity: 1; } .actionButtonDanger { composes: actionButton; } .actionButtonDanger:hover { background-color: var(--status-danger); color: white; } .actionButtonIcon { height: 1rem; width: 1rem; }