/* Bottom-Sheet für FolderTree Long-Press (Mobile). */ @keyframes _slideUp { from { transform: translateY(100%); } to { transform: translateY(0); } } @keyframes _fadeIn { from { opacity: 0; } to { opacity: 1; } } .backdrop { position: fixed; inset: 0; z-index: 1000; background: rgba(0, 0, 0, 0.45); animation: _fadeIn 0.15s ease-out; } .sheet { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1001; background: var(--color-bg-elevated, #ffffff); border-top-left-radius: 16px; border-top-right-radius: 16px; box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.18); padding: 8px 0 calc(8px + env(safe-area-inset-bottom, 0px)); max-height: 80vh; overflow-y: auto; animation: _slideUp 0.18s ease-out; } .handle { width: 36px; height: 4px; border-radius: 2px; background: var(--color-border, rgba(0, 0, 0, 0.18)); margin: 4px auto 8px; } .title { padding: 4px 16px 12px; font-size: 13px; font-weight: 600; color: var(--color-text-primary, #222); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border-bottom: 1px solid var(--color-border, rgba(0, 0, 0, 0.06)); margin-bottom: 4px; } .item { display: flex; align-items: center; gap: 14px; width: 100%; min-height: 48px; padding: 12px 16px; border: none; background: none; cursor: pointer; color: var(--color-text-primary, #222); text-align: left; font-size: 15px; line-height: 1.2; } .item:active { background: var(--color-bg-hover, rgba(25, 118, 210, 0.10)); } .item.danger { color: var(--color-error, #d32f2f); } .icon { display: inline-flex; align-items: center; justify-content: center; width: 20px; font-size: 17px; flex-shrink: 0; } .label { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .empty { padding: 16px; text-align: center; font-size: 13px; color: var(--color-text-secondary, #999); font-style: italic; }